~bigbes/sr-ht-spec · parade

main · last commit 18 hours ago · 8tmadfpi

← Back to the parade

spec-ejq spec.sr.ht — reviewable document storage for humans and agents epic Lined Up

status: open P1 epic
bd update spec-ejq --claim bd close spec-ejq
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-07-23T04:08:44Z
Updated2026-07-23T04:08:44Z
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.

Subtasks 8 of 11 done

  • 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

Depends on

No outgoing dependencies.

Depended on by

  • 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

Unblocks — everything waiting on this, transitively

  • 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

No comments.

  • Eugene Blikh created the issue · 2026-07-23T07:08:43Z
  • Eugene Blikh added subtask spec-zqb · 2026-07-23T07:09:24Z
  • Eugene Blikh added subtask spec-3vz · 2026-07-23T07:09:25Z
  • Eugene Blikh added subtask spec-by6 · 2026-07-23T07:09:26Z
  • Eugene Blikh added subtask spec-wcr · 2026-07-23T07:09:52Z
  • Eugene Blikh added subtask spec-ar4 · 2026-07-23T07:09:53Z
  • Eugene Blikh added subtask spec-43w · 2026-07-23T07:09:54Z
  • Eugene Blikh added subtask spec-jjo · 2026-07-23T08:29:28Z
  • Eugene Blikh added subtask spec-mfm · 2026-07-23T09:52:54Z
  • Eugene Blikh added subtask spec-ejq.1 · 2026-07-24T19:45:15Z
  • Eugene Blikh added subtask spec-ejq.2 · 2026-07-25T00:16:35Z
  • Eugene Blikh added subtask spec-ejq.3 · 2026-08-05T06:41:49Z
Stored rows — what this pane was built from, as read
issues 1 row
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
dependencies 11 rows
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
events 1 row
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