fix(bin): merge upstream main to stop reporting untouched shared-captain copies as drift - #61
Merged
Merged
Conversation
…kunchenguid#5845) * test: stop the leaked unreachable watcher before remote e2e cleanup The remote secondmate lifecycle e2e backgrounded fm-watch.sh through the remote_env shell function, so $! named the function's subshell rather than the watcher. Killing that subshell left the unreachable-leg watcher running, and its one-second liveness probe kept invoking the fake ssh, which rewrites ssh.count in the temp root. When a probe landed while the EXIT trap was removing the root, rm failed with "Directory not empty" after every assertion had passed. Exec the watcher from the backgrounded function so the recorded pid is the watcher itself, and assert the stopped watcher stops probing and writing its state. Cleanup also stops a watcher left running by a failed assertion and removes the root through fm_test_remove_tree, so a run that fails before retirement does not strand the read-only spawn hooks directory. Closes kunchenguid#5836 * no-mistakes(review): Clear reaped watcher PIDs and restore plain temp-root removal * no-mistakes(review): Let in-flight probe settle before stopped-watcher baseline
…nchenguid#4806) * fix: stop quarantining ordinary shared-captain source updates * no-mistakes(document): Rewrap remote inherit header so usage prints fully
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
Merge upstream
mainat30ef650d7ee93cbaaf2ce63c6cac9b1a7890d81einto forkhousefrom2150207c74c105a89942cf4f4202dc603df5b92bwith a real merge commit.The two upstream commits are
62d643c7(remote secondmate e2e watcher cleanup) and30ef650d(shared-captain inherited-generation tracking).There were no merge conflicts and no house behavior was dropped.
The house declared-wait watcher and its triage tests have identical trees to
origin/house.House feature reconciliation
The upstream commit file list in the evidence artifact contains only the secondmate provisioning skill, shared-captain inheritance scripts and test, and the remote lifecycle e2e test.
The commits do not implement any feature below; each row records the result for that feature.
Focused validation
bin/fm-lint.shpassed, including ShellCheck for changed bin scripts.tests/fm-shared-captain-inheritance.test.shpassed.tests/fm-remote-secondmate-lifecycle-e2e.test.shpassed (589.958 seconds).The full suite was not run before the merge.
evidence-artifact: /tmp/fm-firstmate-house-upstream-merge-r5/upstream-commits.txt
evidence-command: git log --format=fuller --name-status 5700baa..30ef650 > /tmp/fm-firstmate-house-upstream-merge-r5/upstream-commits.txt
evidence-captured: 2026-09-27T00:31:47Z
Pipeline
Review, Test, Document, Lint, and Push completed through no-mistakes; CI is running.
The pipeline Test step used disposable lab homes and fake SSH fixtures, so those checks are synthetic/offline built-CLI validation with no real-account or real remote-host claim.
The generated attestation comment is preserved verbatim.