Avoid rescanning unsupported input names

This commit is contained in:
2026-10-08 21:18:45 +00:00
parent e69a847cf2
commit c7e22c0dbe
4 changed files with 39 additions and 5 deletions

View File

@@ -80,6 +80,8 @@ entries are reported as conditional rather than inactive-only or definitively
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.
Unsupported name expressions reuse value analysis's conservative syntax scan
instead of recursively rescanning the same subtree.
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

View File

@@ -56,6 +56,11 @@ discovery. Retain known-string dot isolation and inactive-path behavior.
### Finding 2 — Avoid Recursive Rescanning Of Unsupported Names (P2)
**Status: Resolved.** The duplicate fallback traversal was removed. A focused
source-relative work regression failed before the fix (4,096 accesses for a
277-byte expression) and passed afterward, preserving partial-result metadata.
No production limits or caches were added; prompt/use-case race tests passed.
Location: [requirement walker](../../internal/prompt/requirements.go),
`evaluateInputName` (lines 231–244), through `evaluateValue`,
`evaluateCommand`, and `visitCommand`.