Reuse the declaration validation path across siblings

This commit is contained in:
2026-11-07 17:00:12 +00:00
parent e46d28a924
commit aac0e11ae6
4 changed files with 91 additions and 53 deletions

View File

@@ -491,8 +491,11 @@ Also discussed in the [responsibility assessment](A1-responsibility.md#machinery
## F22 — P3: Successful declaration validation eagerly formats every full path
**Complete.** The walk reuses a scratch path and formats it only for retained
issues or root-only placement errors. Focused declaration and registry tests pass.
**Complete.** The walk retains one shared scratch slice header across siblings,
truncates on every return, and formats only retained issues or root-only placement
errors. The [R1 follow-up](../remediation.md#r1--p3-declaration-validation-can-still-copy-a-shared-deep-prefix-for-every-sibling)
completes the initial path refactor and records source review, passing focused
and full suites, and a deep branching consumer check.
`collectDeclarationIssues` copies and formats each ancestral path before knowing
whether a diagnostic is needed. A valid depth-N declaration chain incurs Θ(N²)