Conversation
added 6 commits
September 8, 2026 17:06
…h the declaration
…wn base selection
…ove stale default assumptions
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
Le capitaine demande de lancer une autre tâche en attente tout en surveillant la capacité de la machine. Cette tâche corrige un défaut déjà mesuré : la synchronisation de flotte compare Project Code Zero à origin/main, alors que sa branche d'intégration réelle et obligatoire est develop. Le diagnostic actuel affirme donc à tort que le projet est en retard sur main et refuse de le rafraîchir après les fusions.
What Changed
integration-branchregistry declarations centrally, retaining default-branch fallback for unannotated projects and rejecting invalid declarations.Risk Assessment
✅ Low: The changes consistently honor declared integration branches, preserve legacy fallback, and refuse invalid or unavailable bases without introducing a substantiated material defect.
Testing
Targeted lifecycle tests and a captured CLI demonstration confirm develop-based refresh despite origin/HEAD pointing to main, with blocking invalid declarations and legacy fallback. Corrected a temporary-directory setup issue; teardown retry exposed unavailable lsof. No UI changed.
Evidence: Fleet-sync CLI and resulting Git state
Source: Fleet-sync CLI and resulting Git state
Evidence: Reproducible isolated Git demonstration
Source: Reproducible isolated Git demonstration
Pipeline
Updates from git push no-mistakes
✅ **intent** - passed
✅ No issues found.
✅ **Rebase** - passed
✅ No issues found.
🔧 **Review** - 3 issues found → auto-fixed ✅
bin/fm-project-mode.sh:111- An explicit empty declaration (- p [no-mistakes integration-branch=] - ...) passes validation because the check requires a nonempty value. The resolver then treats it as absent and silently selects origin/HEAD, allowing sync and spawn to use main. Preserve whether the annotation was present and reject an empty declared value nonzero with a diagnostic.bin/fm-spawn.sh:2427- The new resolver is unreachable for originless projects: freshen_spawn_worktree_base returns at lines 2413–2415 first. With a local-only project declaring develop and a clean pooled worktree still at main, spawn launches from main without error, while review and local landing now target develop. The originless launch is an explicitly supported path in fm-spawn-pool-base-freshen.test.sh. Resolve declarations before that early return and base declared originless tasks on the verified local integration branch; retain the existing behavior for undeclared projects.bin/fm-spawn.sh:2427- Spawn still requiresgit remote set-head origin --autoto succeed before consulting the declaration. If origin publishes develop but its HEAD references a deleted main branch, the initial fetch succeeds and set-head fails, preventing a task despite its valid, fetchable declared base. Resolve the declaration first and require remote-default discovery only for undeclared projects.🔧 Fix: Enforce declared integration branches across spawn base selection
✅ Re-checked - no issues remain.
tests/fm-teardown.test.sh:3342- Teardown's leaked-process regression failed because this host lacks lsof. Declared-branch landing and cleanup cases passed, but process-reaping validation remains incomplete. Provision lsof in the test environment and rerun this test; system installation was prohibited in this phase.TMPDIR="$PWD/.test-tmp" bash tests/fm-fleet-sync.test.shTMPDIR="$PWD/.test-tmp" bash tests/fm-review-diff.test.shtests/fm-secondmate-safety.test.sh: initial worktree-local TMPDIR rejected by home-boundary guard; reran successfully with default temporary fixtures.bash tests/fm-spawn-pool-base-freshen.test.shbash tests/fm-task-delivery.test.shbash tests/fm-teardown.test.sh: initial shared command timeout; standalone retry reached missing-lsof process-reaping failure.bash ~/.no-mistakes/evidence/01M20Y3C1MVXK9MMRY03GWG722/fleet-sync-demo.sh: real Git sync, delivered content, repeat sync, missing/malformed/empty declarations, unchanged HEAD on refusal, and legacy prose-only fallback.Removed transient worktree fixtures and verified clean Git status.✅ **Document** - passed
✅ No issues found.
🔧 **Lint** - 1 issue found → auto-fixed ✅
🔧 Fix: Quote hyphenated test identifier to satisfy ShellCheck
✅ Re-checked - no issues remain.
✅ **Push** - passed
✅ No issues found.