Skip to content

docs(formula): document 7.6 expression syntax changes (ADR-0032)#1527

Merged
xuyushun441-sys merged 1 commit into
mainfrom
docs/adr-0032-expression-syntax
Jun 2, 2026
Merged

docs(formula): document 7.6 expression syntax changes (ADR-0032)#1527
xuyushun441-sys merged 1 commit into
mainfrom
docs/adr-0032-expression-syntax

Conversation

@xuyushun441-sys

Copy link
Copy Markdown
Contributor

What

Updates the objectstack-formula skill and the formula guide for the 7.6 / ADR-0032 expression changes, so AI and human authors stop writing the pre-7.6 form (Decision 4 — "correctness is training data"). Docs/skills only.

Changes

  • Bare-CEL predicates + brace warning. Explicit <Callout> against {record.x} brace-in-CEL (the Record-change trigger plugin loads but flows never fire on data writes (7.4.1) #1491 root cause — {…} is a CEL map literal → parse error). Braces belong only in {{ }} templates.
  • No more silent failure. Corrected the old "evaluates to null / callers may silently fall back" wording: objectstack build now fails with a located, schema-aware message and the runtime throws. Mentions the validate_expression agent tool.
  • Template formatters. Documented the {{ path | formatter[:arg] }} whitelist (currency/number/percent/date/datetime/upper/lower/trim/truncate/default/json) + value→string semantics; single-brace {x} is not a valid hole.

(references/shared/expression.mdx is auto-generated from the spec — left untouched.)

🤖 Generated with Claude Code

Update the objectstack-formula skill and the formula guide for the 7.6 /
ADR-0032 behavior so AI + human authors stop writing the old form:

- Predicates are bare CEL — explicit warning against `{record.x}` brace-in-CEL
  (the #1491 root cause; `{…}` is a CEL map literal → parse error).
- Malformed expressions no longer fail silently: `objectstack build` fails with
  a located, schema-aware message, and the runtime throws (not silent false).
  Mentions the `validate_expression` agent tool.
- Template holes: `{{ path | formatter[:arg] }}` whitelist (currency/number/
  percent/date/datetime/upper/lower/trim/truncate/default/json) with defined
  value→string semantics; single-brace `{x}` is not a valid hole.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 2, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 2, 2026 7:26am

Request Review

@github-actions github-actions Bot added documentation Improvements or additions to documentation size/s labels Jun 2, 2026
@xuyushun441-sys xuyushun441-sys merged commit f27c9db into main Jun 2, 2026
12 checks passed
@xuyushun441-sys xuyushun441-sys deleted the docs/adr-0032-expression-syntax branch June 2, 2026 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation size/s

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants