Preserve caller scope during requirement inspection

This commit is contained in:
2026-10-08 21:15:56 +00:00
parent 21815ad7c0
commit e69a847cf2
4 changed files with 150 additions and 5 deletions

View File

@@ -77,7 +77,10 @@ supplied. Unresolved names and unsupported dependency-bearing expressions
produce structured limitations while retaining recognizable references.
Where an unresolved name or scope could affect existing optional entries, those
entries are reported as conditional rather than inactive-only or definitively
optional. Invoked named templates are scanned conservatively, and
optional. Direct root-map `with` forms retain caller-map identity. Known scalar
values remain separate from unknown scopes; accesses through untracked local
maps report incomplete discovery rather than silently losing caller keys.
Invoked named templates are scanned conservatively, and
dependency-bearing range scopes make discovery incomplete. Uncalled definitions
and bypassed session templates are not traversed. This internal walker does not
change rendering behavior.

View File

@@ -9,6 +9,11 @@ The existing ReleaseKit documentation finding is retained below.
### Finding 1 — Report Lost Caller-Map Scope As Incomplete (P2)
**Status: Resolved.** Root-map `with` identity is retained; unknown local-map
accesses produce structured limitations and affect optional variable entries.
Focused regressions cover the reproduced forms, simple parentheses, and
inactive scopes. The package/race suite passed before completion of this unit.
Locations: [requirement walker](../../internal/prompt/requirements.go),
`visit`'s `WithNode` handling (lines 481–503), `visitCommand` (lines 675–690),
and `visitVariable` (lines 694–708).