Filed by the triage seat as the ruled follow-up of #11060 (maintainer 2026-08-23, live PM chat, verbatim: 「其他同意你的意见」— adopting "A now + B follow-up on hold pending appetite").
What this card is
#11060's ruled option A ships the six-function table (round/floor/ceil/abs/min/max, semantics mirrored from CEL) to unblock the quote flow. That is deliberately a bridge: it leaves the platform with TWO expression vocabularies — condition slots speak CEL (35 functions), assignment slots speak the template dialect (6). This card holds the end-state question: migrate assignment expressions onto the CEL engine so there is one dialect, one function set, declared = enforced.
Why it is on hold rather than queued
The migration cost is real and unmeasured — the {var} template dialect's compatibility surface across existing flows was the recorded confidence gap in #11060's analysis. Scheduling it is an appetite call the maintainer explicitly deferred.
Restart-when: closed #11060
(When A lands and #11060 closes, the unlock scan returns this card to the decision inbox for an appetite ruling — with A's landed shape and the by-then-measurable {var} dependency surface as inputs. ⛔ Do not implement from this card without that second ruling.)
Refs: #11060 (ruling + analysis) · hotcrm#1206 (the measured business pull).
Filed by the triage seat as the ruled follow-up of #11060 (maintainer 2026-08-23, live PM chat, verbatim: 「其他同意你的意见」— adopting "A now + B follow-up on hold pending appetite").
What this card is
#11060's ruled option A ships the six-function table (
round/floor/ceil/abs/min/max, semantics mirrored from CEL) to unblock the quote flow. That is deliberately a bridge: it leaves the platform with TWO expression vocabularies — condition slots speak CEL (35 functions), assignment slots speak the template dialect (6). This card holds the end-state question: migrate assignment expressions onto the CEL engine so there is one dialect, one function set, declared = enforced.Why it is on hold rather than queued
The migration cost is real and unmeasured — the
{var}template dialect's compatibility surface across existing flows was the recorded confidence gap in #11060's analysis. Scheduling it is an appetite call the maintainer explicitly deferred.Restart-when: closed #11060
(When A lands and #11060 closes, the unlock scan returns this card to the decision inbox for an appetite ruling — with A's landed shape and the by-then-measurable
{var}dependency surface as inputs. ⛔ Do not implement from this card without that second ruling.)Refs: #11060 (ruling + analysis) · hotcrm#1206 (the measured business pull).