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

@@ -564,10 +564,11 @@ Neither finding closes merely because the new tree methods exist.
## Stage 17 — Format declaration paths only for diagnostics
**Complete.** Declaration traversal uses the recursive scratch path and formats
labels only for emitted issues. Focused declaration, registry and retained-error
tests pass offline with Go 1.27.0 and `-mod=readonly`; source review confirms
valid paths are not eagerly copied and formatted during this walk.
**Complete.** Declaration traversal now captures one shared scratch slice header,
retaining grown capacity across siblings and truncating on every return. Labels
are formatted only for emitted issues. The [R1 follow-up](remediation.md#r1--p3-declaration-validation-can-still-copy-a-shared-deep-prefix-for-every-sibling)
corrects the initial by-value traversal and records source-level complexity
verification, passing focused and full suites, and a deep branching consumer check.
Findings: F22. Source: `command.go` collectDeclarationIssues.