Skip to content

feat: harden fleet checkout and task lifecycles - #25

Closed
ruby-dlee wants to merge 9 commits into
mainfrom
fm/fm-origin-reconcile-r1
Closed

feat: harden fleet checkout and task lifecycles#25
ruby-dlee wants to merge 9 commits into
mainfrom
fm/fm-origin-reconcile-r1

Conversation

@ruby-dlee

Copy link
Copy Markdown
Owner

Intent

Publish the 48 unpublished local-main hardening commits to origin through one PR by reconciling current origin/main to the exact local-main tree. Base on current origin/main so PR #24 account-directory changes are not duplicated, preserve the teardown, checkout, treehouse-safety, direct-account-routing, and interim herdr hardening already present on local main, and keep the branch tree-identical to local main. This is a snapshot publication of already-gated local-main work: do not re-architect pre-existing content, do not merge the PR, do not reset local main, and do not force-push.

What Changed

  • Add a home-scoped checkout refresher with upstream polling, periodic backstops, shared mutation locks, live-default verification, and checkout hygiene alerts.
  • Harden task spawning, secondmate provisioning, teardown, and Treehouse lease handling with repository identity, landed-work, report, endpoint, and process-tree safety proofs.
  • Route Claude and Codex crews through Agent Fleet profiles with sticky recovery, while making Orca lifecycle mutations fail closed until provider authority can be verified.

Risk Assessment

⚠️ Medium: Captain, the snapshot is exceptionally broad and includes destructive teardown and checkout-lifecycle machinery, but the reviewed source is defensive, extensively specified by colocated tests, and no concrete defect was identified.

Testing

Completed 1 recorded test check.

  • Outcome: ⚠️ 1 error across 1 run (1h16m49s)

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

⚠️ **Review** - medium risk

✅ No issues found.

⚠️ **Test** - 1 error
  • 🚨 tests failed with exit code 1
  • 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; uv run --directory tools/agent-fleet --locked pytest || rc=1; uv run --directory tools/agent-fleet --locked python -m compileall -q src || rc=1; exit "$rc"
✅ **Document** - passed

✅ No issues found.

⚠️ **Lint** - 1 warning
  • ⚠️ linter found issues (exit code 1)
✅ **Push** - passed

✅ No issues found.

* Launch crews from account directories

* Make bootstrap backend tests hermetic

* no-mistakes(review): Fix direct account routing and secondmate recovery

* no-mistakes(review): Complete direct account routing cutover fixes

* no-mistakes(review): Preserve direct recovery context and actionable diagnostics

* no-mistakes(review): Harden direct recovery identity and retained endpoint cleanup

* no-mistakes(review): Harden direct recovery worktree identity validation

* no-mistakes(review): Harden direct routing recovery identity and retained state

* no-mistakes(review): Finalize direct recovery identity and cleanup lifecycle

* no-mistakes(review): Defer direct secondmate sync to guarded recovery

* no-mistakes(review): Restore legacy secondmate routing scope

* no-mistakes(test): Fix legacy continuation missing-brief fixture

* Fix account launch shell lint

* no-mistakes(review): Preserve retained direct recovery state during teardown

* no-mistakes(document): Captain: document direct account routing cutover
@ruby-dlee

Copy link
Copy Markdown
Owner Author

Superseded: local main force-pushed directly to origin/main (9858e76) per repo owner. Reconcile complete; CI-fix iterations on this branch abandoned by design.

@ruby-dlee ruby-dlee closed this Jul 24, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant