fix: preserve lexical owners in reference diagnostics - #134
Conversation
|
Post-merge correction: an additional whole-operation counterexample confirms With two valid scenarios named The review excluded numeric-ID collisions correctly, but that proof omitted |
|
The REG-01 follow-up is now merged in PR #135 (319a619). Only quoted-identity model paths enter entity lookup; aggregate fields and numeric positions preserve their roles. Exact-occurrence controls and two isolated negative mutations close the positional oracle gap identified during review. Final local checks and all applicable exact-head PR checks passed before squash merge. This repairs the private diagnostic regression; it does not claim whole-program correctness or a new registry release. |
Summary
Preserve the originating source field when private requirement-source
admission rejects a dangling non-claim reference. The old diagnostic pointed
to a derived
/referencesprojection absent from the authored JSON and fellback to the whole-document span.
reusing the existing requirement/profile ownership path.
arrays, dotted identities, original byte/scalar coordinates, CRLF and repaired
positive controls.
Proof
The final reference tests fail against the original production files: 20 codec
coordinate cases and four direct model-origin cases. Paired kernel tests and
targeted race tests pass after the repair. The separate dynamic-key test
detected and prevents a regression in the initial implementation.
Final committed local and provider gates must pass before merge. Independent
review is bounded to this diagnostic change and its protected observations.
The committed local
npm run checkpassed at92a23ad2, including 333 browsertests. Four review lanes found no confirmed defect; root resolved their missing
RuleID-domain and original-source operands against the actual owners. Numeric
scenario IDs are rejected before reference resolution; no new path AST is needed.
Boundaries
No accepted-input, error-code, public CLI, source-v1, format-selection or
publication change is intended. This repairs a P9-06 coordinate case; it does
not complete P9-06 or authorize public source-v2 cutover. Research/design and
implementation-plan documents remain outside the product repository.
Retro
The original reference-closure error discarded its source origin. The initial
repair also showed why moving a route must preserve its existing redaction
projection, not only lookup. Both behaviors now have executable controls.