feat(bin): sync upstream firstmate updates and restore fork docs#19
Merged
Conversation
…#555) * fix: make bearings use secondmate home state * test: anonymize bearings fixtures * no-mistakes(review): Bound parent activity evidence scans, captain * no-mistakes(review): Preserve structured secondmate authority and bounds, captain * no-mistakes(review): Preserve registry completeness and child inventory, captain * no-mistakes(review): Reconcile parent evidence by verb and key, captain * no-mistakes(review): Treat unkeyed parent evidence as inconclusive, captain * no-mistakes(document): Document bearings local snapshot and PR opt-in * no-mistakes(lint): Fix fleet snapshot ShellCheck findings * no-mistakes: apply CI fixes
* fix: restore stock macOS snapshot parsing * no-mistakes(document): Clarify Linux gate and macOS CI coverage
…d#587) * fix: close away-mode blocker supervision gap * no-mistakes(review): Gate teardown retries and verify U+2063 dedupe * no-mistakes(test): Fail closed on incomplete Pi composer separators * no-mistakes(document): Document Pi composer recognition and return gating
* support Pi max thinking profiles * no-mistakes(review): Captain, allow Pi max dispatch profiles
…nguid#595) * Clarify validation response ownership * no-mistakes(document): Clarify yolo response ownership
* Add instruction owners foundation * no-mistakes(document): Refresh project-management owner pointers
…kunchenguid#626) * docs: compress firstmate operating contract * docs: make delivery rigor single-owner PR B already removed personal and stacked review requirements, but it did not explicitly assign rigor to the selected delivery path or forbid risk-based manual clean gates. That gap still permitted the Hi Bit inversion. * no-mistakes(review): Honor configured merge authority across faster delivery paths * no-mistakes(document): Align docs with compressed operating contract
* Add durable captain decision holds * no-mistakes(review): Validate decision hold retries and origin paths * no-mistakes(review): Enforce durable decision lifecycle boundaries * no-mistakes(review): Harden decision display and partial retry recovery * no-mistakes(test): Update scout teardown fixtures for decision inventory * no-mistakes(document): Align decision lifecycle and scout teardown documentation * no-mistakes: apply CI fixes * no-mistakes(review): Reconcile terminal decision holds * no-mistakes(document): Align captain decision-hold documentation
* fix: harden PR check artifacts * fix: close PR check migration gaps * fix: close PR check retry gaps * fix: clarify migration outcomes and ESM boundary * fix: keep failed migrations authoritative * test: use inert PR validation fixtures * no-mistakes(review): Reserve noncanonical PR quarantine namespace * no-mistakes(review): Prevalidate final PR-check teardown artifacts * no-mistakes(review): Preserve X metadata and validate teardown IDs * no-mistakes(review): Initialize migration state before watcher exclusion * no-mistakes(review): Isolate failed poll migrations from bootstrap recovery * no-mistakes(review): Allow safe polling during incomplete private repairs * no-mistakes(review): Authenticate watcher checks at execution time * no-mistakes(review): Preserve custom checks with hash-bound registration * no-mistakes(review): Clean custom check snapshots on watcher signals * no-mistakes(review): Stop watcher checks promptly on signals * no-mistakes(review): Terminate watcher check groups before cleanup * no-mistakes(document): Correct stale X-mode watcher documentation * fix: drain returned watcher check groups * no-mistakes(review): Harden quarantine links and recover validated replacement polls * no-mistakes(review): Preserve X mode across shim version transitions * no-mistakes(review): Refresh legacy X shims before marker short-circuits * no-mistakes(document): Correct persisted PR-check artifact documentation * no-mistakes(document): Correct stale PR-check documentation * fix: bind PR poll repair provenance * no-mistakes(review): Enforce single-link ownership for custom check artifacts * no-mistakes(review): Preserve private checks, X polling, and lifecycle IDs * no-mistakes(review): Separate task creation and legacy teardown validation * no-mistakes(review): Restore safe legacy operations and teardown validation * no-mistakes(review): Disambiguate migration obligations and preserve legacy retries * no-mistakes(review): Preserve fail-closed diagnostics and legacy quarantine evidence * no-mistakes(review): Reconcile legacy migration retries and teardown collisions * no-mistakes(review): Force legacy namespace reconciliation before marker short-circuits * no-mistakes(document): Document private poll artifact safety contracts * no-mistakes(lint): Suppress intentional literal-dollar lint finding * fix: migrate historical X poll identity * fix: harden PR check artifacts * no-mistakes(review): Preserve fail-closed diagnostics and legacy quarantine evidence * no-mistakes(review): Reconcile legacy migration retries and teardown collisions * fix: migrate historical X poll identity * no-mistakes(review): Harden X-mode artifact publication against symlink corruption * no-mistakes(review): Guard X artifact publication * no-mistakes(review): Enforce private X artifact reads * no-mistakes(test): Fix backend compatibility fixture dependencies * no-mistakes(document): Refresh PR-check documentation * no-mistakes(lint): Remove unused x-mode test locals * no-mistakes: apply CI fixes
* fix: compact session-start backlog digest * no-mistakes(test): Fix legacy backend fixture helper * no-mistakes(test): Fix watcher exit wait helper * no-mistakes(document): Document compact backlog digest
* fix: dedupe stale watcher guard banner * no-mistakes(review): Keep read-only guard state nonmutating * no-mistakes(document): Clarify stale watcher docs
* fix: balance bearings landed defaults * no-mistakes(document): Document balanced landed baseline * no-mistakes: apply CI fixes
* docs: clarify captain-facing translation contract * no-mistakes(review): Restore runtime fallback mandate * no-mistakes(document): Align Bearings translation wording
…#646) * fix: make bootstrap nudges deterministic * no-mistakes(review): Honor state override for bootstrap nudges * no-mistakes(review): Update benign bootstrap documentation labels * no-mistakes(review): Validate bootstrap nudge retry markers * no-mistakes(document): Align bootstrap nudge documentation * no-mistakes: apply CI fixes
…nchenguid#649) * Clarify concise secondmate registry contract * no-mistakes(review): Expand secondmate registry boilerplate coverage * no-mistakes(document): Point route docs to owner
…kunchenguid#654) * fix(bin): strip quotes on blocked_by in decision-hold resolve tasks-axi quotes multi-entry blocked_by as "a,b,c", so the comma-boundary membership test only matched middle elements. Strip surrounding quotes before matching so first and last hold ids resolve correctly. * no-mistakes(document): Refresh decision-hold regression evidence
* feat(secondmate): inherit shared captain preferences * no-mistakes(review): Honor shared captain data overrides * no-mistakes(review): Honor bootstrap data override registry * no-mistakes(document): Refresh shared inheritance docs * no-mistakes(document): Clarify inherited local-material docs
* feat(spawn): gate local agent secret injection * fix(spawn): align final Keychain slot * no-mistakes: apply CI fixes
* test: isolate herdr autodetect smoke session * no-mistakes(review): Restored autodetect smoke gate bypass * no-mistakes(test): Harden Herdr lab provisioning * no-mistakes(document): Refresh Herdr lab docs
…unchenguid#668) This reverts commit c27135c.
* fix(pi): distinguish stale locks when arming watcher * no-mistakes(test): Stabilize watcher extension async waits * no-mistakes(document): Document Pi lock recovery
Integrated upstream/main through 46e4201. Guardrail integration report: - popup-risk unknown hard-fail + idle-to-busy probe: re-applied in bin/fm-send.sh via require_verified_submit/pre_busy_state and verified by grep plus tests/fm-send-popup-settle.test.sh::test_codex_dollar_unknown_submit_verdict_fails_loudly. - watcher fleet freeze refusal: re-applied in bin/fm-watch.sh via fm_fleet_freeze_refuse "watch"; verified by grep and tests/fm-freeze.test.sh. - AGENTS judgment criteria: re-applied in AGENTS.md, including the yolo Routine definition; verified by grep and tests/fm-instruction-owners.test.sh. - bounded no-mistakes bootstrap probe: survived in bin/fm-bootstrap.sh via FM_NO_MISTAKES_PROBE_TIMEOUT/no_mistakes_bounded; verified by grep and tests/fm-bootstrap.test.sh. - Herdr protocol floor: re-applied the fork floor as FM_BACKEND_HERDR_MIN_PROTOCOL=16 in bin/backends/herdr.sh and aligned docs; verified by grep, tests/fm-backend-herdr.test.sh, and real Herdr smoke tests. - tasks-axi cwd trap and wrapper references: re-applied bootstrap TASKS_AXI cwd-trap diagnostics plus fm-teardown/stow wrapper references; verified by grep, tests/fm-bootstrap.test.sh, tests/fm-tasks-axi.test.sh, tests/fm-teardown.test.sh, and tests/fm-stow-contract.test.sh. Verification: - for t in tests/*.test.sh; do bash "$t" || exit $?; done - bin/fm-lint.sh - shellcheck bin/*.sh bin/backends/*.sh Expected local skips: cmux socket smoke unavailable, zellij binary unavailable, opt-in Pi/Herdr live e2e tests unset, and installed tasks-axi lacks newer compatibility/atomic multi-ID move support.
…cripts.md rows, architecture.md sections, README bullets/links
…and architecture.md
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
Fix PR #19 review nits before merge. This is a docs-only follow-up on the round-3 upstream sync branch: restore the fork dispatch-ack guidance in AGENTS.md at the three missing touchpoints identified by sync3-review-d7 report N1 (.pending-acks state-file description, fm-send --expect-ack steer-usage guidance, and ack-missed wake-handling guidance), adapting the wording to the condensed AGENTS.md structure without touching code. Also correct the PR #19 body via gh-axi so fm-send --expect-ack is described as fork-only, not an upstream feature. Validate the updated branch through no-mistakes and get PR checks green.
What Changed
bin/fm-decision-hold.sh,docs/decision-hold-lifecycle.md), hardened PR-check handling (bin/fm-pr-lib.sh,bin/fm-pr-check-migrate.sh,bin/fm-pr-check.sh), secondmate shared-captain-preference inheritance, Pi max reasoning profiles, and numerous reliability fixes across bootstrap, watch, afk, and bearings scripts inbin/and.agents/skills/.AGENTS.md's.pending-acksstate-file description,fm-send --expect-acksteer-usage guidance, and ack-missed wake-handling guidance, plus correspondingdocs/scripts.mdrows andREADME.md/docs/architecture.mdbullets and links.tests/fm-pr-check-security.test.sh,tests/fm-decision-hold-lifecycle.test.sh,tests/fm-afk-return.test.sh,tests/fm-shared-captain-inheritance.test.sh,tests/fm-captain-translation-contract.test.sh, andtests/fm-instruction-owners.test.sh.Risk Assessment
✅ Low: The two fork-authored commits (bd12109, 51b13ba) are pure documentation restorations with zero functional/code changes (one comment-only edit in fm-usage-tripwire.sh); every restored docs/scripts.md row was cross-checked 1:1 against actual files in bin/ and bin/backends/ (no missing, no stale entries), and the restored AGENTS.md dispatch-ack guidance (.pending-acks, --expect-ack, ack-missed) matches the real implementation in fm-ack-lib.sh, fm-send.sh, fm-watch.sh, and their tests. The bulk of the diff stat is an upstream sync merge (9f99ce5) carrying already-published upstream commits, not new fork logic authored in this review round.
Testing
The configured baseline suite (
tests/*.test.shunder tmux) already passed before I started. Since the only change is prose in AGENTS.md, I additionally ran the two most relevant targeted tests:fm-instruction-owners.test.sh(validates AGENTS.md's structural claims and ownership map) andfm-ack-loop.test.sh(exercises the actualfm-send --expect-ack/ack-missed/.pending-acksbehavior the new prose describes) - both fully green, confirming the newly-worded documentation accurately matches real, already-tested code behavior. I also diffed the exact commit under test and read the surrounding numbered list by eye to confirm the new item slots in without breaking the section's numbering or flow. The working tree is clean after testing (no stray artifacts). I corrected the PR #19 body wording withgh-axi pr editso it describesfm-send --expect-ackas the fork-only dispatch-ack feature, not an upstream feature, and rechecked the final body text after CI passed. No screenshots or rendered UI apply here - this is a shell/doc-only repo with no visual surface.Evidence: AGENTS.md docs diff + targeted test output
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.
command -v tmux >/dev/null || { echo "tmux is required for e2e tests" >&2; exit 1; }; tmux -V; rc=0; for t in tests/*.test.sh; do echo "== $t =="; bash "$t" || rc=1; done; exit "$rc"git diff bd12109..51b13ba(isolated the docs-only commit under test)bash tests/fm-instruction-owners.test.shbash tests/fm-ack-loop.test.shmanual review of AGENTS.md section 8's renumbered wake-handling list (1-5) for consistencygh pr view 19 --json body,title,urlto confirm current PR body wording for the fork-only notegit status --shortto confirm no leftover test artifacts in the worktree✅ **Document** - PR metadata note resolved
✅ The document step raised an informational note about the PR body wording; the final PR body was corrected with
gh-axi pr editsofm-send --expect-ackis described as fork-only, not upstream.✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.