~bigbes/sr-ht-spec · parade

main · last commit 18 hours ago · 8tmadfpi

← Back to the parade

spec-by6.3.1 Comment anchors: core type + db schema Past Stand

status: closed P2 task @Eugene Blikh
bd reopen spec-by6.3.1
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-07-24T18:57:02Z
Started2026-07-24T18:57:37Z
Updated2026-07-24T19:08:45Z
Closed2026-07-24T19:08:45Z
Description
Foundation wave. core.CommentAnchor (doc_id, heading_path, ordinal, hash) plus the anchor-state vocabulary (anchored | moved | outdated) and the resolution function, kept free of a prosediff import so core stays dependency-free — resolution takes the block fields it needs, not the Block type. migrations/0004_comment.sql + schema.sql: the comment table storing the tuple, threading via parent_id, author identity + agent provenance (mirroring proposal's ck_proposal_provenance rule), and resolved timestamp. Anchor state is NOT a column — it is derived per revision at read time. db/comment.go with the insert/list/resolve queries and a test that a reflow keeps the comment and a deletion outdates it.

Depends on

  • spec-by6.3 — Phase 5b: inline comments on proposals parent-child closed

Depended on by

  • spec-by6.3.2 — service: comment API + policy auto-merge gate blocks

Prerequisite chain — everything this waits on, transitively

  • spec-by6.3 — Phase 5b: inline comments on proposals parent-child closed
  • spec-by6 — Phase 5: comments, webhooks, mutations, vector search parent-child open
  • spec-3vz — Phase 4: review plane — approve/reject in a browser blocks closed
  • spec-ejq — spec.sr.ht — reviewable document storage for humans and agents parent-child open
  • spec-zqb — Phase 3: write plane — agents propose blocks closed

Unblocks — everything waiting on this, transitively

  • spec-by6.3.2 — service: comment API + policy auto-merge gate blocks 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

No comments.

Close reason

core.CommentAnchor + ResolveAnchor with 9 tests; migrations/0004_comment.sql + schema.sql; db/comment.go with 8 Postgres-backed tests, all green against real PG 16.
  • Eugene Blikh added under epic spec-by6.3 · 2026-07-24T21:57:01Z
  • Eugene Blikh created the issue · 2026-07-24T21:57:01Z
  • Eugene Blikh spec-by6.3.2 now depends on this · 2026-07-24T21:57:28Z
  • Eugene Blikh claimed · 2026-07-24T21:57:37Z
  • Eugene Blikh closed the issue · 2026-07-24T22:08:44Z
    core.CommentAnchor + ResolveAnchor with 9 tests; migrations/0004_comment.sql + schema.sql; db/comment.go with 8 Postgres-backed tests, all green against real PG 16.
Stored rows — what this pane was built from, as read
issues 1 row
id spec-by6.3.1
content_hash 43fdfa8ce8f57113f87ef6446eaebab2f3b9552035d5343d06420eea3a45c0d5
title Comment anchors: core type + db schema
description Foundation wave. core.CommentAnchor (doc_id, heading_path, ordinal, hash) plus the anchor-state vocabulary (anchored | moved | outdated) and the resolution function, kept free of a prosediff import so core stays dependency-free — resolution takes the block fields it needs, not the Block type. migrations/0004_comment.sql + schema.sql: the comment table storing the tuple, threading via parent_id, author identity + agent provenance (mirroring proposal's ck_proposal_provenance rule), and resolved timestamp. Anchor state is NOT a column — it is derived per revision at read time. db/comment.go with the insert/list/resolve queries and a test that a reflow keeps the comment and a deletion outdates it.
design
acceptance_criteria
notes
status closed
priority 2
issue_type task
assignee Eugene Blikh
estimated_minutes NULL
created_at 2026-07-24T18:57:02Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-07-24T19:08:45Z
closed_at 2026-07-24T19:08:45Z
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 core.CommentAnchor + ResolveAnchor with 9 tests; migrations/0004_comment.sql + schema.sql; db/comment.go with 8 Postgres-backed tests, all green against real PG 16.
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 2026-07-24T18:57:37Z
is_blocked 0
dependencies 2 rows
id c760df6c-6c39-5284-b58a-ef91dbe63f01
issue_id spec-by6.3.1
type parent-child
created_at 2026-07-24T21:57:01Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id spec-by6.3
depends_on_wisp_id NULL
depends_on_external NULL
id d9befa05-1ff9-5d22-a31b-56610300cd06
issue_id spec-by6.3.2
type blocks
created_at 2026-07-24T21:57:28Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id spec-by6.3.1
depends_on_wisp_id NULL
depends_on_external NULL
events 3 rows
id 019f957c-f2ef-7b42-9bb0-df63e0227eb5
issue_id spec-by6.3.1
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-07-24T21:57:01Z
id 019f957d-7e8c-769b-889b-6339720107fa
issue_id spec-by6.3.1
event_type claimed
actor Eugene Blikh
old_value {"id":"spec-by6.3.1","title":"Comment anchors: core type + db schema","description":"Foundation wave. core.CommentAnchor (doc_id, heading_path, ordinal, hash) plus the anchor-state vocabulary (anchored | moved | outdated) and the resolution function, kept free of a prosediff import so core stays dependency-free — resolution takes the block fields it needs, not the Block type. migrations/0004_comment.sql + schema.sql: the comment table storing the tuple, threading via parent_id, author identity + agent provenance (mirroring proposal's ck_proposal_provenance rule), and resolved timestamp. Anchor state is NOT a column — it is derived per revision at read time. db/comment.go with the insert/list/resolve queries and a test that a reflow keeps the comment and a deletion outdates it.","status":"open","priority":2,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-07-24T18:57:02Z","created_by":"Eugene Blikh","updated_at":"2026-07-24T18:57:02Z"}
new_value {"assignee":"Eugene Blikh","status":"in_progress"}
comment NULL
created_at 2026-07-24T21:57:37Z
id 019f9587-ad9c-73ef-aa02-0ab05a8416c3
issue_id spec-by6.3.1
event_type closed
actor Eugene Blikh
old_value
new_value core.CommentAnchor + ResolveAnchor with 9 tests; migrations/0004_comment.sql + schema.sql; db/comment.go with 8 Postgres-backed tests, all green against real PG 16.
comment NULL
created_at 2026-07-24T22:08:44Z