feat: add agent fleet routing and durable completion reports - #2
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
Finalize Firstmate Agent Fleet PR #2 as the backward-compatible code foundation for the Bridge cutover.
The change adds dynamic Claude/Codex account-profile routing and cross-profile continuation with task state outside account homes, Herdr runtime integration, an enforced durable completion-report contract, and the
/reportsreview surface.Merging this PR does not activate those paths: the live backend remains
tmux, account routing remains absent/off, all profiles remain disabled, and no report-retention owner is installed.What changed
Owner decisions preserved
Exact-head verification
c5f00a03139f2d1379c1c947f8c559a43d0101e9.origin/codex/agent-fleet-integration, and GitHub PR head are identical.055868c501f746b2fbd6018bbea01de94498e589, including the accepted upstream sync throughkunchenguid/firstmate8c0d9eb.origin/mainis an ancestor of the exact head (0behind,103ahead before merge).ruby-dlee/firstmate; no Cursor/Bugbot verdict is claimed.Testing
GitHub reports four passing checks and zero failures at the exact final head:
Behavior tests- passed.Lint shell scripts- passed.Repo invariants- passed.PR must be raised via no-mistakes- passed.The earlier
8b935127container-only-marker risk paragraph is obsolete.The completed fix rejects bare Markdown container markers, and the final behavior suite is green at
c5f00a0.Activation blocker discovered after exact-head review
An isolated live survival lab on 2026-07-17 proved that the current
fm_backend_herdr_server_ensurelaunch shape does not survive destruction of its caller's tmux pane lineage: both the server and a dummy pane agent died.This is not a merge blocker because this PR is inert under the existing
backend=tmuxand routing-off configuration.It is a hard activation blocker: a separate detached-lifecycle hardening PR must merge and the survival lab must pass before any real task is routed to Herdr.