fix(bin): fail loudly for queued-unsubmitted steers - #1593
Open
sparkus wants to merge 2 commits into
Open
Conversation
* fix(send): fail loud when a steer stays queued-unsubmitted Parked lanes (especially grok on herdr) can accept typed text into a numbered composer queue without submitting it. The composer row then reads empty, so fm-send exited 0 while the steer never landed. After each Enter that would report delivery, scan the pane for a numbered `#N [fm-from-firstmate]` item. Retry Enter only within the existing budget; if the item remains, report queued-unsubmitted so fm-send exits non-zero. Preserve the opencode busy-queue exception. * no-mistakes(review): Captain, fail closed on unreadable queue verification * no-mistakes(document): Document queued-unsubmitted delivery failures
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
Fixes #1474:
fm-sendno longer exits 0 when a steer stays in a numbered#N [fm-from-firstmate]composer queue (stale composer in a parked lane).This is a fork-tested contribution of the fix that already landed as sparkus/firstmate#6, rebased cleanly onto upstream
main.What changed
#N [fm-from-firstmate]queue item.queued-unsubmittedsofm-sendexits non-zero.queued|clear|unknown):queued-unsubmitted(non-zero).Scope (honest)
Covered and exercised on our fork: the tmux (verified reference) and Herdr (live fleet) submit paths only.
Untouched: other backends, including Zellij, keep their existing behavior. We did not add a Zellij queue probe, and we have not tested this change on Zellij. Extending the same tri-state probe to Zellij (or a shared submit boundary) is a natural maintainer follow-up if desired - better a narrower fix that is honestly proven than a wider one that is partly speculative.
Accuracy in both directions
Testing
Focused local runs:
tests/fm-composer-lib.test.sh,tests/fm-tmux-submit-busy.test.sh,tests/fm-send-strict.test.sh,tests/fm-backend-herdr.test.sh, plus a deterministic full-CLI harness for all four outcomes.Risk note
A pipeline review finding asked to expand the probe to Zellij/shared submit. That was deliberately not done for this PR: the accepted deliverable is the fork-proven tmux+Herdr fix for #1474, not untested broader coverage.
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
✅ **Test** - passed
✅ Focused composer, tmux, fm-send, and Herdr tests passed; full-CLI evidence for all four required outcomes.
✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.