fix: restore automatic continuation for new Pi worker results - #3
Merged
Merged
Conversation
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.
Intent
The user reports that already-authorized work repeatedly stops after workers finish, until he asks Firstmate to continue. His current instructions are:
Restore the existing automatic completion-to-continuation behavior so a completed worker result reaches Firstmate for its required next action without another user message. Prefer the supported existing setting or trigger where that suffices; otherwise repair the demonstrated failure in the existing mechanism. This is not permission to bypass human-only approvals or silently perform destructive, access, production or merge actions.
What Changed
nextTurnsnapshots with fresh prompt-boundary injection so new worker results restart bounded automatic processing without another user message.Risk Assessment
✅ Low: The focused fix restores continuation for newly completed results while preserving bounded retries, ownership checks, exact acknowledgements, and approval boundaries.
Testing
The focused behavioral suite and all eight real-Pi scenarios passed; the baseline reproduced the stall. One unrelated renderer comparison skipped on the installed Pi version. Probe setup issues were corrected, native HTML/screenshot/transcript evidence was captured, and temporary files were removed.
Evidence: Real Pi session: continuation, deferred processing, and busy-main delivery
Source: Real Pi session: continuation, deferred processing, and busy-main delivery
Evidence: Recorded conversations and baseline comparison
Source: Recorded conversations and baseline comparison
Evidence: Target live scenario transcript
Source: Target live scenario transcript
Evidence: Pre-fix failure reproduction
Source: Pre-fix failure reproduction
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Review** - passed
✅ No issues found.
✅ **Test** - passed
✅ No issues found.
TMPDIR="$PWD/.test-continuation/tmp" bin/fm-test-run.sh tests/fm-pi-branch-extension.test.shpython3 ~/.no-mistakes/evidence/01M2M4Q98T8GD4KB6D1DX6RWE6/drive-continuation.py targetpython3 ~/.no-mistakes/evidence/01M2M4Q98T8GD4KB6D1DX6RWE6/drive-continuation.py baseRan real Pi 0.82.1 with a live provider, unchanged production extension, real outcome CLI, public dispatch interface, isolated receipt tools, and a drained 40×120 PTY.Parsed persisted session records to verify action and exact acknowledgement occurred before any user message, receipts were unique, and processed markers were target=7 versus baseline=0.Exported sessions withpi --export, opened the native HTML exports in Chrome, captured and visually inspected the screenshot.Removed temporary runtime state, copied credentials, caches, and browser profile; verified cleangit status --short.✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.