Repository navigation
feat: autonomous orchestrators p3d — shift digest, proof packets, one comment - #569
Merged
Merged
Conversation
… comment The first tick after review-at writes the ## Digest (brief work vs backlog picks with the brief rule each was picked under, one proof packet per started task or an honest stub, every counter) into the record through the one Mind writer and posts it once on the brief's issue. digest.posted is created exclusively before the post: a crash leaves no comment, never two; nothing is read back. batch digest --record prints it; batch brief --check refuses a digest missing a section, counter, pick reason or packet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Nov 4, 2026
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.
Closes #568. Phase 3d of the autonomous-orchestrators epic — closes phase 3. Read with the PyAutoMind PR (merge that one first).
What changes
_digest.py(new):buildwrites the## Digestin thePyAutoMind/batches/AGENTS.mdformat. Brief work and backlog picks are kept apart, and each pick carries the brief rule it was picked under. Every started task gets one proof packet, quoted verbatim from<task>.proof.md, or a stub saying the worker wrote none. Every counter is printed, including zeros.validateis the digest half ofbatch brief --check.pr_healthmakes one read-onlygh pr checkscall per PR (exit 0 → HEALTHY, 8 → RUNNING, otherwise FAILED or NO-CHECKS)._brief.py:pick_reasonreturns one ofnamed task,scoped epic|tag|tier <x>orbacklog: fill-idle. The scoped match is factored into_scoped_match, whichscopenow uses as well.checknow validates any## Digestthe record carries._orchestrator.py:picks[task] = {prompt, why, tier}..donelines asoutcomesand moves itsproof.mdto<slot>/proofs/. Before this change the.donefile was deleted, taking the PR URLs with it.review-at:runsfinish_shift. It writesdigest.md, appends the digest to the record through the one Mind writer, and writesdigest.htmlonly underpacket: yes. It then exclusive-createsdigest.postedbefore making onegh issue commenton the brief'sissue:.STOPstill wins afterreview-at._mind_writer.queue_op:bin/shift_ledger.pynow uses it, and so does the orchestrator.batch digest --record <file>prints the digest and writes nothing.worker_template.md: workers write<task>.proof.mdand usemerged <url>lines.AGENTS.mdandskills/batch/batch.md.Departure from the approved plan:
mergesis counted from workers'merged <url>lines, not frombatch collect. The watcher's network surface only allowsgh pr checks, which cannot tell it whether a PR merged.API Changes
None to the libraries. Two new things inside the organ: the
batch digestverb, and the<task>.proof.mdandmerged <url>worker contract.Witness
Tier: judge — merge mode: human
/prm. Heart YELLOW (autofit_test MultiStartResumeNaNCounters.py timeout; no release rehearsal) acknowledged by the human at ship.🤖 Generated with Claude Code