~bigbes/sr-ht-dolt · parade

main · last commit 5 hours ago · ti41arbu

← Back to the parade

sr-ht-dolt-0qf.5 mcpsrv: beads tools over the shared projection Past Stand

status: closed P2 task
bd reopen sr-ht-dolt-0qf.5
Created byEugene Blikh
Ownerbigbes@gmail.com
Created2026-08-12T20:11:46Z
Started2026-08-13T05:47:34Z
Updated2026-08-13T06:05:35Z
Closed2026-08-13T06:05:35Z
Description
list_issues, get_issue, list_milestones, list_memories over the extracted beads/ package. Lists carry identity and metadata and no long-text bodies; get_issue carries the bodies, both dependency directions, the transitive trees, subtasks with the rollup for an epic, comments and the merged history. The tool list is static per server, so a database without the fingerprint is refused per call, naming the generic tools as the way to read it anyway.
Design
docs/DESIGN.mcp.md §9.2. list_memories reports the revision each memory was last written at, sharing the walk with the Memory view.
Acceptance criteria
A non-beads database answers the beads tools with the explanatory refusal, not an error; list_issues carries no description/design/notes field at all.

Depends on

  • sr-ht-dolt-0qf.3 — mcpsrv: skeleton, Host allowlist, grant gate, list_databases blocks closed
  • sr-ht-dolt-0qf — MCP surface: a read-only agent door to hosted databases parent-child closed
  • sr-ht-dolt-0qf.1 — Extract the beads projection into a root beads/ package blocks closed

Depended on by

Prerequisite chain — everything this waits on, transitively

  • sr-ht-dolt-0qf.3 — mcpsrv: skeleton, Host allowlist, grant gate, list_databases blocks closed
  • sr-ht-dolt-0qf — MCP surface: a read-only agent door to hosted databases parent-child closed
  • sr-ht-dolt-0qf.2 — authn: the tokens.sr.ht bearer plane and core.GrantRead blocks closed
  • sr-ht-dolt-0qf.1 — Extract the beads projection into a root beads/ package blocks closed

No comments.

Close reason

Landed in e4bc922: list_issues, get_issue, list_milestones over beads.Build/BuildMilestones. The no-bodies rule is structural — the card JSON type has no field a body could arrive in, mutation-checked by adding an empty description field and watching the guard fire. A non-beads database gets an explanatory refusal distinguishable from both the mask and an internal error. 270 tests.
  • Eugene Blikh added under epic sr-ht-dolt-0qf · 2026-08-12T23:11:45Z
  • Eugene Blikh created the issue · 2026-08-12T23:11:45Z
  • Eugene Blikh added dependency on sr-ht-dolt-0qf.3 · 2026-08-12T23:12:55Z
  • Eugene Blikh added dependency on sr-ht-dolt-0qf.1 · 2026-08-12T23:12:56Z
  • Eugene Blikh sr-ht-dolt-0qf.6 now depends on this · 2026-08-12T23:12:57Z
  • Eugene Blikh changed status to in_progress · 2026-08-13T08:47:34Z
  • Eugene Blikh closed the issue · 2026-08-13T09:05:35Z
    Landed in e4bc922: list_issues, get_issue, list_milestones over beads.Build/BuildMilestones. The no-bodies rule is structural — the card JSON type has no field a body could arrive in, mutation-checked by adding an empty description field and watching the guard fire. A non-beads database gets an explanatory refusal distinguishable from both the mask and an internal error. 270 tests.
Stored rows — what this pane was built from, as read
issues 1 row
id sr-ht-dolt-0qf.5
content_hash 4fcc9363da648c65592a42ad2216428ffa16a7f84c3e48e5c568583cfa3774a3
title mcpsrv: beads tools over the shared projection
description list_issues, get_issue, list_milestones, list_memories over the extracted beads/ package. Lists carry identity and metadata and no long-text bodies; get_issue carries the bodies, both dependency directions, the transitive trees, subtasks with the rollup for an epic, comments and the merged history. The tool list is static per server, so a database without the fingerprint is refused per call, naming the generic tools as the way to read it anyway.
design docs/DESIGN.mcp.md §9.2. list_memories reports the revision each memory was last written at, sharing the walk with the Memory view.
acceptance_criteria A non-beads database answers the beads tools with the explanatory refusal, not an error; list_issues carries no description/design/notes field at all.
notes
status closed
priority 2
issue_type task
assignee NULL
estimated_minutes NULL
created_at 2026-08-12T20:11:46Z
created_by Eugene Blikh
owner bigbes@gmail.com
updated_at 2026-08-13T06:05:35Z
closed_at 2026-08-13T06:05:35Z
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 Landed in e4bc922: list_issues, get_issue, list_milestones over beads.Build/BuildMilestones. The no-bodies rule is structural — the card JSON type has no field a body could arrive in, mutation-checked by adding an empty description field and watching the guard fire. A non-beads database gets an explanatory refusal distinguishable from both the mask and an internal error. 270 tests.
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-08-13T05:47:34Z
is_blocked 0
dependencies 4 rows
id 0692606e-5a8d-507c-8191-8c48d66330a3
issue_id sr-ht-dolt-0qf.5
type blocks
created_at 2026-08-12T23:12:55Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id sr-ht-dolt-0qf.3
depends_on_wisp_id NULL
depends_on_external NULL
id 29280a2b-2a4b-51cd-b4d9-6e170f1e1239
issue_id sr-ht-dolt-0qf.5
type parent-child
created_at 2026-08-12T23:11:45Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id sr-ht-dolt-0qf
depends_on_wisp_id NULL
depends_on_external NULL
id c7b6a153-008a-5100-8739-82f8756417d5
issue_id sr-ht-dolt-0qf.6
type blocks
created_at 2026-08-12T23:12:57Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id sr-ht-dolt-0qf.5
depends_on_wisp_id NULL
depends_on_external NULL
id f815c27c-9e81-55cf-a753-7e29bce1d87f
issue_id sr-ht-dolt-0qf.5
type blocks
created_at 2026-08-12T23:12:56Z
created_by Eugene Blikh
metadata �{}
thread_id
depends_on_issue_id sr-ht-dolt-0qf.1
depends_on_wisp_id NULL
depends_on_external NULL
events 3 rows
id 019ff79a-32e9-7ad5-bcfa-8f6ead1c5b98
issue_id sr-ht-dolt-0qf.5
event_type created
actor Eugene Blikh
old_value
new_value
comment NULL
created_at 2026-08-12T23:11:45Z
id 019ff9a9-5d21-714f-821d-3f45f0ab9266
issue_id sr-ht-dolt-0qf.5
event_type status_changed
actor Eugene Blikh
old_value {"id":"sr-ht-dolt-0qf.5","title":"mcpsrv: beads tools over the shared projection","description":"list_issues, get_issue, list_milestones, list_memories over the extracted beads/ package. Lists carry identity and metadata and no long-text bodies; get_issue carries the bodies, both dependency directions, the transitive trees, subtasks with the rollup for an epic, comments and the merged history. The tool list is static per server, so a database without the fingerprint is refused per call, naming the generic tools as the way to read it anyway.","design":"docs/DESIGN.mcp.md §9.2. list_memories reports the revision each memory was last written at, sharing the walk with the Memory view.","acceptance_criteria":"A non-beads database answers the beads tools with the explanatory refusal, not an error; list_issues carries no description/design/notes field at all.","status":"open","priority":2,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-08-12T20:11:46Z","created_by":"Eugene Blikh","updated_at":"2026-08-12T20:11:46Z"}
new_value {"status":"in_progress"}
comment NULL
created_at 2026-08-13T08:47:34Z
id 019ff9b9-dd66-7192-b94c-e98d571bd494
issue_id sr-ht-dolt-0qf.5
event_type closed
actor Eugene Blikh
old_value
new_value Landed in e4bc922: list_issues, get_issue, list_milestones over beads.Build/BuildMilestones. The no-bodies rule is structural — the card JSON type has no field a body could arrive in, mutation-checked by adding an empty description field and watching the guard fire. A non-beads database gets an explanatory refusal distinguishable from both the mask and an internal error. 270 tests.
comment NULL
created_at 2026-08-13T09:05:35Z