Repository navigation
docs(skills): the automation skill's CEL table is the bare-callable public subset - #15524
Merged
os-zhuang merged 1 commit intoSep 5, 2026
Merged
Conversation
…ublic subset `skills/objectstack-automation/SKILL.md` repeated the completeness claim just corrected one skill over: conditions are bare CEL and "only the stdlib is callable", pointing at the formula skill for "the full table". Both halves under-promise — the CEL environment also resolves receiver methods called on a value, and the catalogue is the advertised bare-callable public subset rather than everything that resolves. Corrected in one clause, in this skill's voice: the stdlib is what you may call bare, the referenced table is `CEL_STDLIB_FUNCTIONS` — the bare-callable public subset — and receiver methods are called on a value, never bare. The pointer to objectstack-formula stays; that skill now carries the full statement. No method or withheld-primitive enumeration is duplicated here. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox
This was referenced Sep 4, 2026
os-zhuang
approved these changes
Sep 5, 2026
os-zhuang
marked this pull request as ready for review
September 5, 2026 01:28
os-zhuang
enabled auto-merge
September 5, 2026 01:28
os-zhuang
deleted the
claude/issue-15520-automation-skill-callable-wording
branch
September 5, 2026 02:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #15520
skills/objectstack-automation/SKILL.mdrepeated the completeness claim the formula skill has just had corrected, one skill over: conditions are bare CEL and "only the stdlib is callable", pointing at the formula skill for "the full table". Both halves under-promise. The CEL environment also resolves receiver methods called on a value, so the catalogue is the bare-callable public subset — the membership rulepackages/formula/src/validate.tscarries as load-bearing — and not everything that resolves. Wrong in the safe direction, so no author was broken by it; corrected anyway.The correction is one clause, in this skill's voice and much shorter than the formula skill's passage, because that skill now carries the full statement and this file keeps pointing at it. Receiver method names and the four withheld bare primitives are deliberately not enumerated here — the table's owner states them once.
⛔ No edit to
skills/objectstack-formula/**, topackages/**, or to any other skill.references/_index.mdis generator-owned and was not hand-edited.Before and after
has,size,int,string, …) — see objectstack-formula for the full table.has,size,int,string, …) — see objectstack-formula for that table: it isCEL_STDLIB_FUNCTIONS, the bare-callable public subset, so receiver methods (called on a value, never bare) are not in it.The rest of the item is unchanged and stays true: an unknown function name and a brace-wrapped field ref both fail the build.
Every occurrence — the whole skill scanned, the near misses named
Scanned
skills/objectstack-automation/entire (SKILL.md,references/,evals/) for the claim family:only the stdlib,only … callable,are callable,full table,canonical list,exhaustive,documents them all,complete list,full list,all the functions/built-ins,stdlib.{round(x)}/{abs(x)}"mirror the CEL stdlib 1:1" — a claim about the single-brace VALUE-interpolation dialect, a different surface with its own named supported set; not a member of this familyevals/approvals/test-revise-loop.mdreferences/_index.mdToken ratchet — under the ceiling, no raise
The correction costs +36 tokens and the ceiling is untouched. Measured with
node scripts/check-skills-token-ratchet.mjsbefore and after:✓ check-skills-token-ratchet: skills/objectstack-automation/SKILL.md is 12305 tokens (ceiling 12768; headroom 463).✓ check-skills-token-ratchet: 36 authored bundle file(s) within their ceilings; 10 generator-owned file(s) measured, not ratcheted.Gates — the derived family, run at
fe35dc0f7node scripts/pm/dispatch-gates.mjs --repo objectstack-ai/objectstack --commandsderives 21 commands for this change set. All 21 ran at the final commitfe35dc0f7with a clean working tree, each exit code captured before any pipe; all 21 exited 0.✓ dispatch-gates --ran: 21 derived famil(ies) accounted for — 21 run, 0 NOT-MEASURED.✓ check-skill-frame-sync: 2 copies of the decision frame are structurally isomorphic across 2 filescheck-skill-identifier-liveness OK — Leg 1: 465 citation(s) over 46 published file(s) checked against 95764 implementation word tokens (3 ledgered exemption(s)); Leg 2: 8 registered exhaustive section(s), 0 ledgered gap(s).— the identifier this PR newly cites,CEL_STDLIB_FUNCTIONS, is a live implementation name rather than a stale one.check-corpus-claim-drift: OK, no new claim sites beside a pinned spelling.✓ check-doc-formula-expressions: 22 record-scoped formula example(s) across 428 files / 1371 TS blocks judged clean by @objectstack/formula.— this family first exited 3, PREREQUISITE NOT MET: it imports compiled output, and an install does not build it. The@objectstack/formulaand@objectstack/lintbuild closures were built through the shared verification lock (VERDICT command-exit 0), after which the gate ran and passed. The 3 measured nothing and was not a finding.pnpm check:nul-bytesgreen, plus a direct control-byte scan over the edited file (grep -naPover the control ranges): no match.Landing
node scripts/pm/check-governed-merges.mjs --test skills/objectstack-automation/SKILL.mdexits 3:⛔ GOVERNED — a human merge is the review record for this PR.skills/** ×1 — the published skills catalogSo this stays a draft: not flipped ready, not enqueued, no auto-merge armed, and no approving review from the authoring seat.
skip-changesetapplies by the rule rather than by the example list — this PR publishes nothing from any package; no workspacepackage.jsonshipsskills/, so the catalogue is not a package artifact.Review notes
Two things a wording change like this can get wrong, both cheap to check: that the sentence agrees with the formula skill's corrected passage where it matters — bare-callability as the membership rule, receiver methods called on a value and therefore absent from that table — and that this file does not quietly become a second place where the withheld primitives are listed. It names none of them, by design; one published statement of them, in the skill that owns the table.
🤖 Generated with Claude Code
https://claude.ai/code/session_019RfFHiRCSs3JXLK4cwcfox
Generated by Claude Code