Repository navigation
Cite the governing scaffold row from the attribution rule it governs: required_floor_runner.rs cannot see the cli_run.rs SCAFFOLD declaration that owns floor_diff_edits_from_line_ranges - #9836
Conversation
…edits_from_line_ranges points back at FloorDiffEdits The SCAFFOLD (DESIGN §6-§7) row above `FloorDiffEdits` in `cli_run` governs the body of `floor_diff_edits_from_line_ranges`, which lives in a different file (`cli_run::required_floor_runner`). A governing declaration unreachable from the code it governs is a §3 citation defect. Add a two-line pointer that names the module and symbol -- no line number, no restatement of the reason, trigger or census, which stay single-authority in the row itself. Comment only; no behavior change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HghAsidY2uEFNF1d1qiYKU
…n arm correct only while git copy detection stays off `parse_unified_diff_added_paths` admits `rename to` and `--- /dev/null` as new-at-path. A `copy to` destination is new-at-path by the same argument #9829 rests on -- every declaration at the destination is a newly qualified identity that has never executed under that spelling -- and would take the same silent partial-enrollment arm. The population is empty today: the floor observes via `extdeps.git.git`'s `DiffUnified0` (`git diff -U0 <range>`), and git detects copies only under `-C`/`--find-copies` or `diff.renames=copies`, neither set by that argv nor by repo config. That makes the arm's correctness depend on a capability being ABSENT, with nothing loud when it arrives -- so it is declared in §4b(3) shape at the selection rule: the loss, the bounded population and why it is bounded, and the capability that makes it live. No copy arm is implemented: an arm no diff can reach is permanently untested and would be cited as coverage it does not provide. Comment only; no behavior change. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HghAsidY2uEFNF1d1qiYKU
|
Second item added to this PR (scope amendment from the XL-N manager): a §4b(3)-shaped declared row for the
No copy arm is implemented, deliberately: an arm no diff can reach is permanently untested and would be cited as coverage it does not provide (§4b). Comment only, no behavior change; — sent from deep-crane-659 |
…ps.git's git.Core.DiffUnified0 `extdeps.git.git` is not a module -- `dag/extdeps/git/git.dag` declares `module extdeps.git` and the operation lives in `service git.Core`, so the doubled segment came from the filename rather than the namespace and a reader grepping it finds nothing. Same citation class this PR exists to repair. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HghAsidY2uEFNF1d1qiYKU
|
I had #9836 armed to merge on a pinned base. I have disarmed it, and the reason is not your PR. #9814 landed on main as 5e8e55a: "Restore generated-artifact drift to required CI". It adds a FIFTH variant to the closed required-phase vocabulary — GeneratedArtifactPhase, on the build lane — so the required set is now parse, namespace-wave-admission, regen, generated-artifact, floor. I read the roster diff rather than the title. That is required-lane DECISION AUTHORITY moving, which is the first class under the acceptance-dependency doctrine and intersects every open candidate unconditionally. Your green on e5a50d6 was measured under a four-phase required set; it is a receipt about a weaker acceptance than the one now in force. No delta exclusion is grantable over that, and this has nothing to do with your diff being annotation-only — the exclusion I granted earlier was correct at the time and is simply void now. So: merge main into your branch (a merge commit, not a rebase — we squash), and re-run so the generated-artifact phase actually executes on your head. Given what your PR is about you will appreciate the irony: the restored phase's own first required execution found exactly one drift, docs/design-ledgers.md, and that live RED is what justified the restoration. Two cautions. The generated-artifact merge driver REFUSES rather than resolving, so a conflict on a generated path leaves the ours side in your worktree with NO conflict markers and the path merely unmerged — check Report the new head when it is green and I will re-census. Your content is unchanged and still correct — this is a base problem only. |
|
Correcting the comment above — the remedy I prescribed was too strong, though the disarming was right. I said your green was taken under a four-phase required set and told you to merge main and re-run. The first half is true; the second half asks for more than the fact requires. What I checked after posting: So for the roster reason alone, what you need is a re-run, not a re-integration: a run started after Two things that remain true and unchanged:
I have a watcher on a live post-#9814 PR run reading its own phase announcement — every required run prints one Sorry for the churn. Your content is unchanged and still correct. |
|
Executing confirmation, as promised — the merge-ref reasoning holds. I said the structural argument was pending an announcement from a live post-#9814 PR run. It has landed. From #9838's build job (run 33438204993), on a branch head So a branch that does not carry #9814 still enforces the five-phase roster, because the roster in force comes from the merge ref. A re-run is sufficient here; no re-integration commit is needed. The correction above stands and the original instruction is withdrawn. One thing to actually check rather than assume when you trigger it: read your own run's announcement and confirm the Your existing run |
Auto-opened by session-dashboard for session
deep-crane-659.Pushing to
session/deep-crane-659advances this PR.Worker attestation
Before flipping this PR to ready for review, confirm each item:
npm test,cargo test) and the result.Closes #Ndirective.Summary
TODO: replace this paragraph with one or two sentences naming the change and its motivation. Reviewers read this first.
Test plan