feat: brain_pending + brain_promote tools — close the raw→wiki curation loop #37
Closed
opened 2026-06-06 06:10:30 +00:00 by mathias
·
1 comment
No Branch/Tag Specified
main
fix/pipeline-writes-158
fix/edit-path-io-192
fix/create-regular-188
fix/guard-special-179
fix/linkcheck-keeps-write-178
fix/write-dir-redirect-173
fix/tunnel-detect-174
fix/pipeline-root-157
w3/154-mcp-auth-wiring
fix/tunnel-traversal
test/in-brain-targets-171
fix/brain-scan-root-157
fix/graph-wiki-root-157
fix/vectorstore-root-157
fix/notes-root-157
fix/search-root-157
fix/brainwide-root-157
fix/raw-symlinks-153
feat/symlink-tripwire-157
fix/rest-auth-149
fix/123-brain-edit-envelope-check
feat/106-page-aware-extraction
fix/105-source-drift-on-main
fix/104-surface-merge-conflicts-on-main
agent/b1-compile-on-ingest
agent/104-surface-merge-conflicts
agent/105-source-drift
agent/107-loud-unconfigured-alerting
feat/brain-read-edit
fix/capture-i1-refusal-names-target
renovate/configure
feat/consolidate-single-harness
icebox/cmd-routing
feat/brain-pending-promote
fix/close-session-classification-refresh
fix/capture-summarywriter
v0.24.0
v0.23.1
v0.23.0
v0.22.0
v0.21.1
v0.21.0
v0.20.1
v0.20.0
v0.19.1
v0.19.0
v0.18.4
v0.18.3
v0.18.2
v0.18.1
v0.18.0
v0.17.0
v0.16.1
v0.16.0
v0.15.0
v0.14.0
v0.13.2
v0.13.1
v0.13.0
v0.12.1
v0.12.0
v0.11.2
icebox/cmd-routing-2026-07-01
v0.11.1
v0.11.0
v0.10.0
v0.9.0
v0.8.0
v0.7.0
v0.6.0
v0.5.0
v0.4.1
v0.4.0
v0.3.0
v0.2.0
v0.1.0
Labels
Clear labels
agent/ready
blocked/client
blocked/supplier
blocked/upstream
risk/high
risk/low
risk/medium
size/l
size/m
size/s
size/xs
status:dispatch
status:dispatched
status:review
status:reviewing
type/chore
type/decision
type/docs
type/feat
type/fix
type/ops
type/research
type/test
Meets the agent-ready contract; authorizes unattended execution
Waiting on the client
Waiting on a supplier
Waiting on an upstream project or vendor
Irreversible, security-relevant, or control plane
Reversible, local, test-covered
Touches shared state, deploys or data
Too big - split it
Under two days
Under half a day
Under an hour
Maintenance, no behaviour change
Human decision required; never agent/ready
Documentation only
New capability
Corrects broken behaviour
Infrastructure, deploy, runtime
Investigate; output is a finding, not code
Test coverage only
No labels
Milestone
No items
No Milestone
Projects
Clear projects
No projects
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: mathias/hyperguild#37
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Context
The brain write pipeline has a documented gap: notes written to
brain/raw/by theretrospectiveskill have no tooling to support the human review and promotion step. The only way to move a note fromraw/towiki/<wing>/<hall>/is to manually move the file, rename it, update frontmatter, and optionally add wikilinks.This is the single highest-friction step in the DIKW pipeline for a human curator. It was identified in the 2026-05-06 GitOps workflow session and never tracked as an issue.
Two tools needed
brain_pendingLists files currently sitting in
brain/raw/awaiting review.Returns per file:
filename,created_at,excerpt(first 200 chars of body after frontmatter). Sorted newest-first. Gives both the human and the agent visibility into the review queue without requiring a terminal.brain_promoteMoves a note from
brain/raw/tobrain/wiki/<wing>/<hall>/, rewrites frontmatter, and triggers auto-tunnel detection.Steps performed atomically:
brain/raw/<filename>.mdwing,hall,created_at(preserve original if present), remove raw-stage markersbrain/wiki/<wing>/<hall>/<slug>.mdbrain/raw/<filename>.mdbrain_write)_index.mdfor the target wingNon-destructive: if step 3 fails (e.g. slug already exists), the raw file is left untouched and an error is returned.
Implementation notes
ingestion/internal/mcp/following the existing tool patternGET /pendingandPOST /promoteon the ingestion HTTP API (for completeness, not required for MCP-first use)brain_pendingis read-only — LOW risk tierbrain_promoteis a move operation — MEDIUM risk tier (reversible only if you have the content; slug collision guard prevents data loss)Acceptance criteria
brain_pendingreturns list of files inbrain/raw/with excerptbrain_promotemoves file, rewrites frontmatter correctly, deletes source, triggers tunnel detectiontask checkpassesingestion/internal/mcp/server.goRelated
wiki/hyperguild/decisions/two-agent-gitops-handoff-via-pr-comments.mdClosing as duplicate of #38. Both were filed ~2 min apart in the same 2026-05-06 genesis session and spec the identical
brain_pending+brain_promotepair with the same five-step promote logic and risk tiers.Keeping #38 because it's strictly stronger:
brain_pendingsorts oldest-first (natural review order) vs. newest-first here[](not error), invalid-hallvalidated before any filesystem touchwiki/directly; humans promote fromraw/)Implementation note carried to #38: both issues assume the old
brain/raw/→brain/wiki/layout. Per #43 the current layout isknowledge/(unreviewed) →wiki/(promoted). Paths to be reconciled at implementation time.Tracked as the "promote half" of the broader interface problem in #43.