fix(bin): bind same-run descendant commits - #132
Open
dnth wants to merge 6 commits into
Open
Conversation
…nding and completion Add fm_nm_head_is_accounted to bin/fm-nm-run-lib.sh to recognize planned-head, faithful-restamp, and run-owned-descendant chains, including a restamped chain followed by additional pipeline commits. Update bin/fm-receipt-check.sh so --bind-run and --complete accept a same-run descendant only when provenance checks pass: the run reports the correct task branch, and the run is either active with pipeline ownership (branch_sync pipeline_owned/synchronized, with an axi sync --check fallback when axi status omits branch_sync) or terminal passed. Cross-check the run's submitted_head and current_head against the planned and run heads when axi sync reports them. Add focused behavioral tests covering active/terminal pipeline-owned descendant binding and completion, restamp-plus-doc chains, axi sync fallback, and negative controls for unowned descendants, wrong branch, foreign drift, and wrong generation. Update docs/verification/evidence-receipts.md with the expanded descendant-advance guarantee, the new predicate, and the current verification output. Generated with Devin Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
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 validation run binding helper to accept proven commits created by the same No-Mistakes run after its submitted head, without accepting unrelated descendant changes. Primary targets: bin/fm-receipt-check.sh, existing bin/fm-nm-run-lib.sh provenance helpers as needed, and existing behavioral receipt tests and authoritative documentation. Evidence from fm-omp-orchestrate-opt-in: plan generation fa2c2d0b11566622271264853b9653a1 planned head d5ff941aaee8f03d020afd3f02585a0a380929d9; run 01M25YRZ7NP7HVZ33K1XC94AYN passed CI at c096921 after its document step added a commit. The bind-run path currently accepts equality or faithful restamp only, while completion permits proven pipeline-owned descendants but requires an already-bound run. Confirm this bounded defect against current source, reproduce it in isolated temporary state using real Git commit chains, and reuse the existing provenance owner rather than adding a second divergent verifier. Handle active-run ownership and terminal passed-run evidence deliberately, including restamped submitted chains followed by pipeline commits where supported. Ancestry alone is insufficient: validate task/branch/run/generation identity and authoritative run-owned head evidence. Preserve fail-safe behavior on absent, malformed, stale, mismatched, or ambiguous provenance. Do not mutate the primary home, either existing worker, their metadata, the passing orchestration run, or PR #131. Its repository and run may be inspected read-only for precise evidence. No bypasses, hand-edited validation records, fake terminal outcomes, unrelated polling fixes, model changes, deployments, restarts, or merges. Ship this repair as its own no-mistakes PR with yolo off. Bind validation run promptly at its initial supported boundary; do not use unlanded helper code to bless another task in the main home. Run relevant behavioral tests and actual helper smoke reproduction; preserve fail-before/pass-after evidence and rejected foreign-commit controls. Run repository lint and documentation checks after implementation. No Herdr lifecycle work is required or authorized. Any optional nested helpers must skip validation while edits overlap; the accountable worker runs final validation.
Firstmate-Validation-Generation: fa2c2d0b11566622271264853b9653a1
What Changed
axi sync --checkfallback cross-checks.Risk Assessment
✅ Low: The changed binding logic consistently enforces branch identity, shared head accounting, and active pipeline ownership or terminal passed evidence, with no source-verifiable defect found in the reviewed paths.
Testing
Ran the focused fm-receipt-check suite with real Git commit-chain fixtures covering active and terminal pipeline-owned descendants, restamp-plus-pipeline commits, axi sync fallback, wrong-branch and unowned descendant rejection, then ran the companion receipt ledger suite. Both passed; a complete CLI transcript is recorded in the evidence artifact.
Evidence: Descendant binding behavioral test transcript
Pipeline
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.
bash tests/fm-receipt-check.test.shbash tests/fm-receipt.test.shVerifiedgit status --shortis clean after testing.✅ **Document** - passed
✅ No issues found.
✅ **Lint** - passed
✅ No issues found.
✅ **Push** - passed
✅ No issues found.