main · last commit
18 hours ago ·
8tmadfpi
spec-ejq spec.sr.ht — reviewable document storage for humans and agents
epic
Lined Up
bd update spec-ejq --claim
bd close spec-ejq
| Created by | Eugene Blikh |
| Owner | bigbes@gmail.com |
| Created | 2026-07-23T04:08:44Z |
| Updated | 2026-07-23T04:08:44Z |
A third custom Go service on the self-hosted SourceHut instance: agents propose documents, a human reviews and curates, agents read the approved text. One loop — bot produces, human curates, bots consume. Runs at https://spec.srht.bigb.es, deployed on phoebe as srht-spec-1. Code: git.sourcecraft.dev/bigbes/sr-ht-spec. Design: docs/DESIGN.md.
DONE and deployed (Phases 0-2): core domain, gitx (bare repos + id-keyed tree-splice merge), db (Postgres schema + global ID registry), authn (unified-login cookie + agent tokens + provenance), the three receive hooks + hook RPC + daemon, service layer + reconciler, doc (warren vault/render on git objects), search (one global bleve index, per-line ru/en routing), projects (saved filter, not container), web read UI, mcpsrv read tools, graph read schema, prosediff (Phase 0 gate PASSED), specsrht space create/list, push->reindex. Live corpus: ~bigbes/rfcs holds SPEC-0001 and NOTE-0001. Verified end-to-end: validating push path, fail-closed reads, id-addressing, bilingual search, GraphQL. NOT DONE: the agent half of the loop (write plane), review UI, comments.
spec-ar4
— Restart other SourceHut services so spec.sr.ht appears in their nav
P2
in_progress
@Eugene Blikh
spec-ejq.3
— Web: owner-only /tokens page for minting and revoking agent tokens
P2
open
spec-by6
— Phase 5: comments, webhooks, mutations, vector search
P3
open
spec-zqb
— Phase 3: write plane — agents propose
P1
closed
@Eugene Blikh
spec-3vz
— Phase 4: review plane — approve/reject in a browser
P2
closed
@Eugene Blikh
spec-43w
— Stale apk pins: paste.sr.ht 0.19.3-r0 and hub.sr.ht 0.29.4-r0 aged off the mirror
P2
closed
spec-ejq.2
— CI publish task fails: build secret apk-ci-s3 is missing
P2
closed
spec-jjo
— MCP read tools (/mcp) have no auth gate — reads are open behind the Host check
P3
closed
@Eugene Blikh
spec-mfm
— Digest should track 'since you last looked' via digest_mark, not just show recent policy-merges
P3
closed
@Eugene Blikh
spec-wcr
— Loose ends from Phases 1-2 (latent bugs, no user impact yet)
P3
closed
@Eugene Blikh
spec-ejq.1
— Consolidate owner+agents read predicate into one Principal.CanRead()
P4
closed
@Eugene Blikh
No outgoing dependencies.
spec-ar4
— Restart other SourceHut services so spec.sr.ht appears in their nav
parent-child
spec-mfm
— Digest should track 'since you last looked' via digest_mark, not just show recent policy-merges
parent-child
spec-3vz
— Phase 4: review plane — approve/reject in a browser
parent-child
spec-ejq.3
— Web: owner-only /tokens page for minting and revoking agent tokens
parent-child
spec-jjo
— MCP read tools (/mcp) have no auth gate — reads are open behind the Host check
parent-child
spec-by6
— Phase 5: comments, webhooks, mutations, vector search
parent-child
spec-wcr
— Loose ends from Phases 1-2 (latent bugs, no user impact yet)
parent-child
spec-43w
— Stale apk pins: paste.sr.ht 0.19.3-r0 and hub.sr.ht 0.29.4-r0 aged off the mirror
parent-child
spec-ejq.1
— Consolidate owner+agents read predicate into one Principal.CanRead()
parent-child
spec-ejq.2
— CI publish task fails: build secret apk-ci-s3 is missing
parent-child
spec-zqb
— Phase 3: write plane — agents propose
parent-child
spec-ar4
— Restart other SourceHut services so spec.sr.ht appears in their nav
parent-child
in_progress
spec-mfm
— Digest should track 'since you last looked' via digest_mark, not just show recent policy-merges
parent-child
closed
spec-3vz
— Phase 4: review plane — approve/reject in a browser
parent-child
closed
spec-by6
— Phase 5: comments, webhooks, mutations, vector search
blocks
open
spec-by6.3
— Phase 5b: inline comments on proposals
parent-child
closed
spec-by6.3.2
— service: comment API + policy auto-merge gate
parent-child
closed
spec-by6.3.4
— mcpsrv: spec_comment tool (read + reply, no resolve)
blocks
closed
spec-by6.3.3
— web: commentable diff — context blocks, anchor ids, comment UI
blocks
closed
spec-by6.3.1
— Comment anchors: core type + db schema
parent-child
closed
spec-by6.3.5
— Port review UI to a line-numbered unified prose diff
parent-child
closed
spec-3m9
— Phase 5a: webhooks + notifications on proposal lifecycle
parent-child
closed
spec-8y4
— Phase 5a-1: adopt core-go graph conventions (directives, database.Model, cursors, auth+user model)
parent-child
closed
spec-45j
— Phase 5a-2: webhook tables, SDL, resolvers, delivery on proposal open/merge/reject
parent-child
closed
spec-by6.2
— Attachments: image embeds render as visibly missing
parent-child
open
spec-by6.4
— A code fence whose only change is its info string renders as unchanged
parent-child
closed
spec-by6.1
— GraphQL complexity limit on the /query surface
parent-child
open
spec-by6.5
— prosediff: an equal span's Space flag is read from the old side only
parent-child
closed
spec-ejq.3
— Web: owner-only /tokens page for minting and revoking agent tokens
parent-child
open
spec-jjo
— MCP read tools (/mcp) have no auth gate — reads are open behind the Host check
parent-child
closed
spec-wcr
— Loose ends from Phases 1-2 (latent bugs, no user impact yet)
parent-child
closed
spec-43w
— Stale apk pins: paste.sr.ht 0.19.3-r0 and hub.sr.ht 0.29.4-r0 aged off the mirror
parent-child
closed
spec-ejq.1
— Consolidate owner+agents read predicate into one Principal.CanRead()
parent-child
closed
spec-ejq.2
— CI publish task fails: build secret apk-ci-s3 is missing
parent-child
closed
spec-zqb
— Phase 3: write plane — agents propose
parent-child
closed
| id | spec-ejq |
| content_hash | 102df983370943b985b602c02245055bc6077e30f60b82cc027d2d45e5dd7c00 |
| title | spec.sr.ht — reviewable document storage for humans and agents |
| description | A third custom Go service on the self-hosted SourceHut instance: agents propose documents, a human reviews and curates, agents read the approved text. One loop — bot produces, human curates, bots consume. Runs at https://spec.srht.bigb.es, deployed on phoebe as srht-spec-1. Code: git.sourcecraft.dev/bigbes/sr-ht-spec. Design: docs/DESIGN.md. |
| design | DONE and deployed (Phases 0-2): core domain, gitx (bare repos + id-keyed tree-splice merge), db (Postgres schema + global ID registry), authn (unified-login cookie + agent tokens + provenance), the three receive hooks + hook RPC + daemon, service layer + reconciler, doc (warren vault/render on git objects), search (one global bleve index, per-line ru/en routing), projects (saved filter, not container), web read UI, mcpsrv read tools, graph read schema, prosediff (Phase 0 gate PASSED), specsrht space create/list, push->reindex. Live corpus: ~bigbes/rfcs holds SPEC-0001 and NOTE-0001. Verified end-to-end: validating push path, fail-closed reads, id-addressing, bilingual search, GraphQL. NOT DONE: the agent half of the loop (write plane), review UI, comments. |
| acceptance_criteria | |
| notes | |
| status | open |
| priority | 1 |
| issue_type | epic |
| assignee | NULL |
| estimated_minutes | NULL |
| created_at | 2026-07-23T04:08:44Z |
| created_by | Eugene Blikh |
| owner | bigbes@gmail.com |
| updated_at | 2026-07-23T04:08:44Z |
| closed_at | NULL |
| closed_by_session | |
| external_ref | NULL |
| spec_id | |
| compaction_level | 0 |
| compacted_at | NULL |
| compacted_at_commit | NULL |
| original_size | NULL |
| sender | |
| ephemeral | 0 |
| wisp_type | |
| pinned | 0 |
| is_template | 0 |
| mol_type | |
| work_type | |
| source_system | |
| metadata | �{} |
| source_repo | |
| close_reason | |
| event_kind | |
| actor | |
| target | |
| payload | |
| await_type | |
| await_id | |
| timeout_ns | 0 |
| waiters | |
| hook_bead | |
| role_bead | |
| agent_state | |
| last_activity | NULL |
| role_type | |
| rig | |
| due_at | NULL |
| defer_until | NULL |
| no_history | 0 |
| started_at | NULL |
| is_blocked | 0 |
| id | 03ddacc7-0fcd-5925-af9e-5656112e1aa9 |
| issue_id | spec-ar4 |
| type | parent-child |
| created_at | 2026-07-23T07:09:53Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | spec-ejq |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 1b823837-c928-5aeb-a551-66cfc3fe0834 |
| issue_id | spec-mfm |
| type | parent-child |
| created_at | 2026-07-23T09:52:54Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | spec-ejq |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 2bc1d874-c706-5e56-abef-729376722ec7 |
| issue_id | spec-3vz |
| type | parent-child |
| created_at | 2026-07-23T07:09:25Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | spec-ejq |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 306bf8b6-9049-5f2f-85a2-4348acdda8de |
| issue_id | spec-ejq.3 |
| type | parent-child |
| created_at | 2026-08-05T06:41:49Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | spec-ejq |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 49a947ec-d0d5-5d70-ad27-643bcfbfc4f7 |
| issue_id | spec-jjo |
| type | parent-child |
| created_at | 2026-07-23T08:29:28Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | spec-ejq |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 7f760f0d-dcba-519d-a6f1-bb5d55ef0b8f |
| issue_id | spec-by6 |
| type | parent-child |
| created_at | 2026-07-23T07:09:26Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | spec-ejq |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 942e2413-03bf-539b-ac4a-a15e86560648 |
| issue_id | spec-wcr |
| type | parent-child |
| created_at | 2026-07-23T07:09:52Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | spec-ejq |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | bcd5555d-3758-5993-b17d-527ac1ea6d12 |
| issue_id | spec-43w |
| type | parent-child |
| created_at | 2026-07-23T07:09:54Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | spec-ejq |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | cf380fdd-be76-5892-b949-3cfb6db80b65 |
| issue_id | spec-ejq.1 |
| type | parent-child |
| created_at | 2026-07-24T19:45:15Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | spec-ejq |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | d89b7b8f-bd3e-5b47-84a1-c2fb58cfb8f5 |
| issue_id | spec-ejq.2 |
| type | parent-child |
| created_at | 2026-07-25T00:16:35Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | spec-ejq |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | e2a29145-51fa-53a4-bf1c-de0d086f56ed |
| issue_id | spec-zqb |
| type | parent-child |
| created_at | 2026-07-23T07:09:24Z |
| created_by | Eugene Blikh |
| metadata | �{} |
| thread_id | |
| depends_on_issue_id | spec-ejq |
| depends_on_wisp_id | NULL |
| depends_on_external | NULL |
| id | 019f8d29-5397-7e0d-b817-f81fc1ea0840 |
| issue_id | spec-ejq |
| event_type | created |
| actor | Eugene Blikh |
| old_value | |
| new_value | |
| comment | NULL |
| created_at | 2026-07-23T07:08:43Z |
No comments.