feat: intake reconcile mode — flag shipped-but-stale backlog prompts - #53
Merged
Conversation
A prompt's Status: header is not a completeness signal (formalise preserves an existing Status verbatim, so shipped work can still read Status: planned — the PyAutoHeart M0-M5 cluster sat exactly like that). reconcile makes the manual audit repeatable: per backlog prompt it collects four Mind-local signals — complete.md path references (follow-up wording downgrades to likely-open), duplicate basenames in issued/, token overlap with completed task headers, and hand-set Status values — then ranks suspects high/medium/low with the evidence shown. Always read-only, even under --apply: the final verification (target repo git log / merged PRs) and the retirement to issued/ stay human. Closes #52. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016ttFH96vcXuCVZfSBZEytf
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds
intake reconcile— the fourth backlog mode (census → dashboard → formalise → reconcile). A prompt'sStatus:header is not a completeness signal:formalisepreserves an existing Status verbatim, so shipped work can still readStatus: planned(the PyAutoHeart M0–M5 release-validation cluster sat exactly like that until today's manual audit caught it). Reconcile makes that audit repeatable: per backlog prompt it collects four Mind-local signals and prints a confidence-ranked suspect list for a human to retire. Always read-only, even under--apply— the final verification (target repo git log / merged PRs) and the retirement toissued/stay human.Closes #52.
API Changes
CLI surface only — no Python API consumed downstream.
bin/pyauto-brain intake reconcile [prefix]— ranked shipped-but-stale suspects;--jsonfor full records;--applyprints a read-only note and is otherwise ignored.See full details below.
Test Plan
prompt:path reference (high), follow-up-worded reference (low),issued/duplicate basename (high), completed-header topic overlap (medium), hand-setStatus: planned(low), clean prompt excluded; prefix filter +--applystderr note.nnls_gpu_bottleneck,jax_substructure/5,6referenced by a retroactive close-out note) and correctly downgraded known-open follow-ups; "next step" wording added to the follow-up downgrade list after the live run caught it ranking a follow-up high.bash -n+py_compileclean; help renders fully.Full API Changes (for automation & release notes)
Removed
Added
_intake.py::reconcile(mind, prefix="")— census-driven, four Mind-local signals, confidence-ranked suspects (high:prompt:-style reference or issued-duplicate; medium: topic overlap; low: follow-up reference / stale status only)._intake.py::_tokens(s)+_STOPWORDS/_FOLLOWUP_WORDS— token overlap and follow-up-wording downgrade vocabulary._intake.py::emit_reconcile(result)— ranked report with evidence lines (truncated at 160 chars;--jsonkeeps full text).intake.sh—reconcilesubcommand routed; help updated.Migration
🤖 Generated with Claude Code
https://claude.ai/code/session_016ttFH96vcXuCVZfSBZEytf