You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: #2305 emit Condition rule groups under conditionConfig
buildConditionNode emitted the rule group as a top-level `config.group`.
processActionConfig lifts only `condition` and `conditionConfig` out of the
config before rendering templates, and processTemplates does not recurse into
arrays, so `group.rules[0].leftOperand` kept its token. The leftover-literal
scan then found the survivor and failed closed, aborting the run before the
Condition node ever executed.
Three parts, which cannot ship apart:
1. The builder emits `conditionConfig: { group }`, matching the shape the
scan factory builder has always produced.
2. A migration moves the key on rows already written. Seeded starters cannot
be repaired from the editor, which persists conditionConfig but leaves the
stale group in place, and the public hub rows insert with a fixed id and
onConflictDoNothing() so they never pick up a fixture change.
3. The leftover-literal error names the field that carried the token. When an
unread key holds a correctly spelled reference, the old message sent the
reader to rewrite something that was never wrong.
Part 3 is not Condition-specific by design. data.config is deliberately an
open record, so there is no allowlist to validate against, but the path is
known at the point the token is found.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
0 commit comments