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

xuyushun441-sys merged 1 commit into
mainfrom
docs/adr-0032-expression-syntax

Conversation

@xuyushun441-sys

Copy link
Copy Markdown
Collaborator

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

This branch was successfully deployed

1 active deployment
Preview — b729bb63 Deployed Jun 2, 2026 by vercel[bot]
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