From 90670f2b4a38b5f4cc6870163870e59efdc7ec28 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 3 Sep 2026 03:36:44 +0000 Subject: [PATCH] =?UTF-8?q?docs(skills):=20the=20AI=20domain=20has=20no=20?= =?UTF-8?q?CEL=20site=20=E2=80=94=20correct=20the=20os=20validate=20clause?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `skills/objectstack-ai/SKILL.md` told an author that `os validate` checks "any CEL predicate parses and resolves — in this domain that is a model-registry `promptTemplate.system` / `.user`". Those two keys are `TemplateExpressionInputSchema` (`packages/spec/src/ai/model-registry.zod.ts` :121-122), which `packages/spec/src/shared/expression.zod.ts:121-124` defines as the `template` dialect — `{{var}}` interpolation, not CEL, not a predicate. `predicate` occurs 0 times in `model-registry.zod.ts`, and those two keys are the only Expression-typed sites anywhere in `packages/spec/src/ai/`. The true half of the sentence is kept verbatim: `ToolSchema` carries no expression field of any kind (`ai/tool.zod.ts` matches `cel|formula|expression` 0 times). The `npm run validate` sentence and the platform pointer are kept. The fenced comment above the paragraph is untouched — it describes the command platform-wide, not this domain. Shrink-or-neutral: 21,903 B -> 21,900 B (5,476 -> 5,475 tokens at `ceil(utf8/4)`), 417 lines unchanged, no re-wrap of untouched lines. Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01LraLgQVGq8egUwfYZpbYt1 --- skills/objectstack-ai/SKILL.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/skills/objectstack-ai/SKILL.md b/skills/objectstack-ai/SKILL.md index ecb3ce78f0..02b418eb37 100644 --- a/skills/objectstack-ai/SKILL.md +++ b/skills/objectstack-ai/SKILL.md @@ -401,9 +401,9 @@ os validate # Zod schema + CEL predicate validation + bindings (no artifact) # or: os build # the same gates, plus emits dist/ ``` -It confirms the skill / tool / model metadata conforms to the protocol and that -any CEL predicate parses and resolves — in this domain that is a model-registry -`promptTemplate.system` / `.user`; `ToolSchema` carries no expression field of +It confirms the skill / tool / model metadata conforms to the protocol. This +domain has no CEL site — a model-registry `promptTemplate.system` / `.user` is +the `template` dialect (`{{var}}`); `ToolSchema` carries no expression field of any kind. In a scaffolded project the gate is `npm run validate`. See objectstack-platform → **Verify your work**.