Blocked-by: #11060
Scope narrowed to the SKILL half (PM refinement on the #11060 round): the docs half — content/docs/automation/flows.mdx — landed in PR #11347 itself (table row with the six functions + integer-only round and the round(x * 100) / 100 idiom, a third failure-modes entry naming the loud error, one framing clause). Do not re-fix the docs page from this card; after #11347 merges it is current.
What remains: skills/objectstack-automation/SKILL.md (~line 841) lists only {$User.Id} / {NOW()} / {TODAY() + 30} as the template macros. Once #11060's function table lands, an AI author following the skill cannot discover the rounding pattern that card exists to unlock, and will meet the new named FlowExpressionFunctionError with no prescription in its training material.
The skill should present the same prescription the runtime error gives: the six names (round, floor, ceil, abs, min, max), that they mirror the CEL stdlib 1:1 (round integer-only — no round(x, 2)), and the round(x * 100) / 100 scale idiom.
⚠️skills/** is a governed surface (human merge only, Prime Directive #14) and carries the skills line-count reporting budget — which is why this is its own card and was never a rider on #11347. The PR that edits the skill must report whole-file and whole-package before/after line counts and stay within the budget the dispatching seat grants.
Found while implementing #11060 (session session_01APWX2AwT3a4xDcjPCe8bk4).
Blocked-by: #11060
Scope narrowed to the SKILL half (PM refinement on the #11060 round): the docs half —
content/docs/automation/flows.mdx— landed in PR #11347 itself (table row with the six functions + integer-onlyroundand theround(x * 100) / 100idiom, a third failure-modes entry naming the loud error, one framing clause). Do not re-fix the docs page from this card; after #11347 merges it is current.What remains:
skills/objectstack-automation/SKILL.md(~line 841) lists only{$User.Id}/{NOW()}/{TODAY() + 30}as the template macros. Once #11060's function table lands, an AI author following the skill cannot discover the rounding pattern that card exists to unlock, and will meet the new namedFlowExpressionFunctionErrorwith no prescription in its training material.The skill should present the same prescription the runtime error gives: the six names (
round,floor,ceil,abs,min,max), that they mirror the CEL stdlib 1:1 (roundinteger-only — noround(x, 2)), and theround(x * 100) / 100scale idiom.skills/**is a governed surface (human merge only, Prime Directive #14) and carries the skills line-count reporting budget — which is why this is its own card and was never a rider on #11347. The PR that edits the skill must report whole-file and whole-package before/after line counts and stay within the budget the dispatching seat grants.Found while implementing #11060 (session
session_01APWX2AwT3a4xDcjPCe8bk4).