fix: harden runtime context analysis

This commit is contained in:
lda
2026-08-14 15:17:06 +07:00 Verified
parent ce085b14f8
commit 0f1ed56876
5 changed files with 236 additions and 21 deletions
+8 -1
View File
@@ -51,6 +51,13 @@ STANDARD_CONTEXT_FIELDS = (
"Parent lineage id",
),
)
STANDARD_CONTEXT_FIELD_NAMES = frozenset(
field.name for field in STANDARD_CONTEXT_FIELDS
)
RESERVED_CONTEXT_KEYS = STANDARD_CONTEXT_FIELD_NAMES | {
LOOP_ITEM_CONTEXT_KEY,
LOOP_INDEX_CONTEXT_KEY,
}
def foreach_context_fields(
@@ -69,7 +76,7 @@ def foreach_context_fields(
"Current foreach item index",
)
fields = [item_contract, index_contract]
if alias and alias not in {LOOP_ITEM_CONTEXT_KEY, LOOP_INDEX_CONTEXT_KEY}:
if alias and alias not in RESERVED_CONTEXT_KEYS:
fields.append(
ContextFieldContract(
alias,