graphs/backlog-batch.yaml:111-114 states that folding lane B into the gated-lane fragment 'would in fact be REFUSED by the loader, since that fragment's dev prompt quotes {{ feedback.review }} and a token pointing at a node that declares no arc is a load error (internal/graph/feedback.go)'. The same claim is duplicated in CHANGELOG.md:205-207. The reasoning does not hold: graphs/fragments/gated-lane.yaml declares that arc itself at :140 (feedback: { rerun: dev, max: 1 }) right next to the prompt that quotes it at :81, so a citing node splices prompt AND arc together. The load SUCCEEDS and lane B silently acquires the gate it did not want. The load error at internal/graph/feedback.go:279-286 fires only for a hypothetical fragment variant with the arc removed. The real refusal point is internal/graph/fragment.go:439-441 (multiNodeUsingKeys is a whitelist of id/use/with/depends_on/cwd/worktree), enforced at :1194-1195 — a citing node cannot re-widen the success_check or drop the arc, which is why the verdict (no advisory twin fragment) still stands. Only the stated reason is wrong.
graphs/backlog-batch.yaml:111-114 states that folding lane B into the gated-lane fragment 'would in fact be REFUSED by the loader, since that fragment's dev prompt quotes {{ feedback.review }} and a token pointing at a node that declares no arc is a load error (internal/graph/feedback.go)'. The same claim is duplicated in CHANGELOG.md:205-207. The reasoning does not hold: graphs/fragments/gated-lane.yaml declares that arc itself at :140 (feedback: { rerun: dev, max: 1 }) right next to the prompt that quotes it at :81, so a citing node splices prompt AND arc together. The load SUCCEEDS and lane B silently acquires the gate it did not want. The load error at internal/graph/feedback.go:279-286 fires only for a hypothetical fragment variant with the arc removed. The real refusal point is internal/graph/fragment.go:439-441 (multiNodeUsingKeys is a whitelist of id/use/with/depends_on/cwd/worktree), enforced at :1194-1195 — a citing node cannot re-widen the success_check or drop the arc, which is why the verdict (no advisory twin fragment) still stands. Only the stated reason is wrong.