j7e69rlf3r0u9opjoim7p1c1dq215k02 · 5 rows
| id | content_hash | title | description | design | acceptance_criteria | notes | status | priority | issue_type | assignee | estimated_minutes | created_at | created_by | owner | updated_at | closed_at | closed_by_session | external_ref | spec_id | compaction_level | compacted_at | compacted_at_commit | original_size | sender | ephemeral | wisp_type | pinned | is_template | mol_type | work_type | source_system | metadata | source_repo | close_reason | event_kind | actor | target | payload | await_type | await_id | timeout_ns | waiters | hook_bead | role_bead | agent_state | last_activity | role_type | rig | due_at | defer_until | no_history | started_at | is_blocked |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| sr-ht-ecore-1aj | c4c2ac5328e8bff0f19885800e9d66e8ee4425f78a823059b40864a4b17cec0d | chrome: remove the deprecated ExtraNav seam | chrome.Service.ExtraNav has no users left across the six services: bench and cov dropped it when the instance deployed a tokens.sr.ht and 'tokens' appeared in the navbar twice, and artifacts moved its three sections to Sections (ecore 514838a, artifacts 7584106). Both historical uses were the same mistake - a page of one service in the row that lists the instance's services - so there is no correct use to preserve. Removing it touches Service, Page and the srht-nav partial's second range block. | open | 3 | task | NULL | NULL | 2026-08-15T19:37:00Z | Eugene Blikh | bigbes@gmail.com | 2026-08-15T19:37:00Z | NULL | NULL | 0 | NULL | NULL | NULL | 0 | 0 | 0 | �{} | 0 | NULL | NULL | NULL | 0 | NULL | 0 | ||||||||||||||||||||||||
| sr-ht-ecore-g3r | 7bc634f8ff5276c0d7ed0606d98065dcab336835eeeb84293e5d62817317aa68 | Unify the GraphQL bearer plane: meta PAT beside the working token | Four services (cov, bench, spec, artifacts) accept only a tokens.sr.ht working token on /query, and publish an empty scope list in api-meta.json, so meta.sr.ht cannot mint a PAT for them at all. dolt already accepts both and publishes a scope. api.sr.ht forwards ONE client Authorization header to every service a federated query touches, so a GraphQL plane that refuses meta PATs cannot federate. Bring the four to dolt's shape: /query accepts meta PAT + working token; MCP and REST stay on tokens.sr.ht alone. | Shared half lands in a new sr-ht-ecore package, metapat, beside bearer: ClientID routing, the meta PAT resolve path (decode, username check, LookupUser, LookupTokenRevocation, positive cache) and the OAuth scope check. Each service keeps its own Principal, MetaBackend and error classification. dolt is not migrated in this epic: its PAT plane is entangled with the Basic clone path. Scopes are spelled upstream-style, upper case: cov.sr.ht/REPORTS, bench.sr.ht/RESULTS, spec.sr.ht/SPECS, artifacts.sr.ht/REPOS. | open | 1 | epic | NULL | NULL | 2026-08-16T18:27:30Z | Eugene Blikh | bigbes@gmail.com | 2026-08-16T18:27:30Z | NULL | NULL | 0 | NULL | NULL | NULL | 0 | 0 | 0 | �{} | 0 | NULL | NULL | NULL | 0 | NULL | 0 | |||||||||||||||||||||||
| sr-ht-ecore-g3r.1 | 6690b3b79f16709676dae3a6f0b93b38828402c0c8cd1e1e8ecca20c54419d2b | ecore/metapat: the shared meta.sr.ht PAT plane | A validator for meta.sr.ht personal access tokens beside bearer's working-token one: PlaneOf routing, decode/lookup/revocation with a bounded positive cache, and Allows for the OAuth scope gate. | open | 1 | feature | NULL | NULL | 2026-08-16T18:37:37Z | Eugene Blikh | bigbes@gmail.com | 2026-08-16T18:37:37Z | NULL | NULL | 0 | NULL | NULL | NULL | 0 | 0 | 0 | �{} | 0 | NULL | NULL | NULL | 0 | NULL | 0 | ||||||||||||||||||||||||
| sr-ht-ecore-g3r.2 | 5997c4e1476c5bf13968d86af31e1de96d4d785cd472868cf297aa31d77a69ec | cov.sr.ht accepts a meta PAT on /query (scope REPORTS) | Adopt ecore/metapat on the GraphQL endpoint: route by PlaneOf, keep the working-token arm, gate the meta PAT arm on the service's OAuth scope, and publish that scope in api-meta.json so meta.sr.ht can mint a token for it. MCP and REST stay on tokens.sr.ht alone. Rewrite the doc comments that currently state the opposite. | open | 1 | task | NULL | NULL | 2026-08-16T18:37:49Z | Eugene Blikh | bigbes@gmail.com | 2026-08-16T18:37:49Z | NULL | NULL | 0 | NULL | NULL | NULL | 0 | 0 | 0 | �{} | 0 | NULL | NULL | NULL | 0 | NULL | 0 | ||||||||||||||||||||||||
| sr-ht-ecore-g3r.3 | 66c7751f414cf0b90abe4ea13425406b477a790ecbe973c19d832d94e54f2f00 | bench.sr.ht accepts a meta PAT on /query (scope RESULTS) | Adopt ecore/metapat on the GraphQL endpoint: route by PlaneOf, keep the working-token arm, gate the meta PAT arm on the service's OAuth scope, and publish that scope in api-meta.json so meta.sr.ht can mint a token for it. MCP and REST stay on tokens.sr.ht alone. Rewrite the doc comments that currently state the opposite. | open | 1 | task | NULL | NULL | 2026-08-16T18:37:49Z | Eugene Blikh | bigbes@gmail.com | 2026-08-16T18:37:49Z | NULL | NULL | 0 | NULL | NULL | NULL | 0 | 0 | 0 | �{} | 0 | NULL | NULL | NULL | 0 | NULL | 0 |