feat: brain_pending and brain_promote — close the curation loop for raw → wiki promotion #38
Closed
opened 2026-06-06 06:12:33 +00:00 by mathias
·
0 comments
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#38
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
Surfaced during the genesis session for the brain Hall taxonomy (claude.ai, 2026-05-06). The raw → wiki promotion step is the single biggest friction point in the human curation workflow and has no tooling.
Currently:
brain/raw/via theretrospectiveskillThis means the brain grows only as fast as you perform manual file operations. For a system with multiple parallel Claude Code sessions generating retrospectives, the review queue can back up quickly — and there's no visibility into it.
Two new MCP tools
brain_pendingLists files in
brain/raw/awaiting human review.Sorted by
created_atascending (oldest first — natural review order).brain_promoteMoves a file from
brain/raw/tobrain/wiki/<wing>/<hall>/, rewrites frontmatter, and triggers auto-tunnel detection.On promotion:
brain/raw/<filename>wing,hall,created_at,promoted_at; preserves any existing custom fieldsbrain/wiki/<wing>/<hall>/<slug>.mdbrain/raw/DetectTunnelson the promoted content — appends auto-detected cross-wing wikilinks_index.mdfor the target wingImplementation
Both tools follow the existing handler pattern in
ingestion/internal/mcp/.REST endpoints for completeness (useful for shell scripts):
GET /pending— same asbrain_pendingPOST /promote— same asbrain_promote, body{filename, wing, hall, slug?}Acceptance criteria
brain_pendingreturns all files inbrain/raw/with excerpt, sorted oldest-firstbrain_pendingreturns empty array (not error) whenbrain/raw/is empty or absentbrain_promotemoves file, rewrites frontmatter correctly, deletes sourcebrain_promotewith invalidhallreturns a clear error before touching the filesystembrain_promoteis idempotent on slug collision — returns error if target already exists (no silent overwrite)brain/raw/tunnel-candidates-<date>.md_index.mdregenerated for target wing after promotiontask checkpassesNotes
brain_promotemust be atomic from the caller's perspective: if the write fails, the source file must not be deleted. Use write-then-delete, not move.brain_write(agent-facing). Agents write directly towiki/with wing+hall; humans promote fromraw/.Related
DetectTunnelsconsumed here)knowledge/2026-05-03-parallelism-bottlenecked-by-review-attention.md(relevant insight)Created via git-mcp on behalf of @mathiasbq