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: Defer forwardable action fields to run time; cache key and lint fixes
Three fixes:
1. Defer run-time-resolvable action fields to run time, matching
openjd-rs (job/create_job/instantiate.rs clones timeout and cancelation
unresolved into the Job; the session resolves them right before the
action runs). Previously Action.timeout and the cancelation classes'
notifyPeriodInSeconds were in resolve_fields, so create_job resolved
them at job creation. A wrap hook forwarding
"{{WrappedAction.Timeout}}" or
"{{WrappedAction.Cancelation.NotifyPeriodInSeconds}}" (RFC 0008
round-trip forwarding) decoded cleanly but crashed create_job with
"Undefined variable" because those symbols only exist at run time.
The fields now carry their raw FormatStrings through job instantiation;
validation still happens at TEMPLATE scope at decode time (unchanged,
matching openjd-rs format_strings.rs).
Deliberate behavior change: a plain FEATURE_BUNDLE_1 template with
timeout "{{Param.X}}" now carries the FormatString into the Job instead
of resolving it at creation — resolution moves to the session, as in
openjd-rs. The sessions runtime already resolves FormatString
timeouts/notify periods at run time (_resolve_action_timeout,
resolve_effective_cancelation).
Fixes the wrap-cancelation-roundtrip-job-environment conformance
fixture, which failed at create_job for exactly this bug.
2. Fix a typed/untyped cache-key collision in symtab_to_expr_values:
priming the engine-table cache with types=None on a symbol table whose
expr_types is non-empty cached an untyped table that a later typed call
at the same mutation version was served, losing the type coercions.
The cache condition is now strict: cacheable iff types is the symtab's
own expr_types, or types is None and the symtab has no expr_types.
3. Module-level Path import in symbol-table cache tests (ruff
F821/F401), retained from the previous revision of this commit.
Signed-off-by: David Leong <116610336+leongdl@users.noreply.github.com>
0 commit comments