Avoid rescanning unsupported input names
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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`.
|
||||
|
||||
Reference in New Issue
Block a user