fix: preserve stable firstmate home identity - #2222
Open
coreldh wants to merge 8 commits into
Open
Conversation
Author
|
Status refresh, verified live on 2026-08-12 at 17:07 UTC.
Bounded purpose of this PR: introduce No action is requested here; this is a state record only. |
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
Repair the second CI failure on existing PR #2222 by making every home-identity spawn refusal explain the exact identity relation, while preserving the refusal itself and prior pipeline fix commits. Update the existing branch and PR only; do not open a second PR, force-push, merge, or wait for CI after the PR step.
What Changed
FM_HOME_IDENTITYas the stable owning-home path, preserving task-scoped backend labels when the installed code root moves.Risk Assessment
✅ Low: The bounded change consistently carries the stable home identity through spawn, backend naming, and teardown checks, with explicit exact/ancestor/descendant refusal messages and matching regression coverage.
Testing
The baseline diff is clean; focused safety coverage exercised exact-relation messages for each home and operational-directory overlap plus pre-spawn terminal safety, and direct CLI transcripts confirm the end-user exact/ancestor/descendant refusal wording with no terminal action. The worktree remains clean.
Evidence: CLI refusal transcript
Exact, ancestor, and descendant home relations each exit 1 with the matching refusal text; terminal_action=none in all cases.Evidence: Focused safety test
ok - secondmate spawn preserves the relocated home-identity boundaryPipeline
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.
git diff --check b5d430d6fdcd961ce9b681bf196f365c1825c284..602769121e862c817b6f8a102afce14d4f0f4bc5Focused execution oftest_secondmate_spawn_refuses_home_identity_overlapfromtests/fm-secondmate-safety.test.shDirectbin/fm-spawn.sh … --secondmatechecks for exact, ancestor, and descendant home-identity overlapsgit status --short && git diff --check✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.