Repository navigation
docs(skills): teach that a notify with no link opens the run's trigger record - #30682
Conversation
…r record The automation skill's notify example still said a click-through needs a PAIR or is dropped. The runtime now links a node that writes none of sourceObject, sourceId and actionUrl to the run's trigger record when it has one (not a delete); an explicit pair or actionUrl wins, a half pair is dropped, and a run with no trigger record links nowhere. The skill example, the flows guide's notify paragraph and a new eval now say so. The SKILL.md growth is paid by dropping a duplicated literal-secret aside from the Flow Types table (the webhook config table still teaches it). Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016WV4cyou7XDWHnizyxR5MQ
|
domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk Contract-review-claim: session_016WV4d1mkgEris4MHHLjtnk · head d941588 · 2026-11-05T22:21Z |
|
domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk Contract reviewServed-tier: ① Derived judgments
② Semver level
③ Boundary flags
④ Design judgment
Implemented-by: VERDICT: PASS |
|
domain:skills#1 · os-elon-musk · session_016WV4d1mkgEris4MHHLjtnk 维护者速读
席位核对 — ACCEPT · head d941588
|
Requested by Elon · project thread
Fixes #30254
Clause-②: no
Metadata-protocol: none
维护者速读
skills/objectstack-automation/SKILL.md的 notify 示例三行(L124–126),其次content/docs/automation/flows.mdx约 L351 的段落。node scripts/check-skills-token-ratchet.mjs,应看到 objectstack-automation/SKILL.md 为 6447 tokens(上限 6449)。skills/**,Tier H),请审阅后批准或合并。What changes
The runtime default that PR #30252 landed, read off
origin/mainb77c160a(packages/services/service-automation/src/builtin/notify-node.ts,defaultClickThroughOfand thesourceObject/sourceId/actionUrlconfig-schema descriptions): anotifynode that writes none ofsourceObject,sourceIdandactionUrllinks to the run's trigger record when the run has one (a record change other than a delete, a time-relative sweep's row, an action started on a record). An explicit pair oractionUrlwins; a half-written pair is dropped, never defaulted; a run with no trigger record links nowhere.skills/objectstack-automation/SKILL.md: the notify example's link comments now state the default and its three exceptions (link: PAIR, else dropped; none of the 3 ⇒ the trigger record (not on delete), if any;actionUrloverrides the pair). The old// click-through: a PAIR, else droppedis gone.content/docs/automation/flows.mdx: the notifysourceIdparagraph states the default, its three cases, and the three exceptions, with the no-trigger-record examples the code comment names (a schedule tick, an inbound API post, a manual start with no record).skills/objectstack-automation/evals/flows-triggers-approvals.json: eval 14, a record-triggered notify that should open its case. It expects nosourceObject:/actionUrl:written and the wordstrigger record(taught in SKILL.md)..changeset/30254-notify-default-link-skill.md:'@objectstack/skills': patch.Token readings (
skills/**)b77c160a)HEAD)skills/objectstack-automation/SKILL.mdlinesskills/*/SKILL.mdlinesskills/*/SKILL.mdbytesThe new notify comment costs 13 bytes net inside the example (it also drops the
(a value slot)andtext slot;asides, which Valid-but-silently-wrong item 1 teaches forsourceIdandactionUrl). It is paid inside the same file by deleting a duplicated aside from the Flow Typesapirow,or a literal secret;: the Inbound webhook config table still teachessecretRef/secret. No ceiling moved.Tests
Teaching text and an eval only; no code changed, so no unit suite and no ablation apply. The gate readings are under Verification.
Acceptance notes
origin/mainb77c160a,packages/spec/src/automation/io-node-config.zod.tsstill carries the old rule: thesourceObject(L750) andsourceId(L756).describe()texts say only that a half pair is dropped, and theactionUrltext says only that it overrides the synthesized link. None of the three mentions the trigger-record default. The generatedcontent/docs/references/automation/io-node-config.mdx(L106, L107, L109) repeats them. The seat carries this todomain:spec.scripts/edit outside this file surface.Verification
All readings at head
d9415882, afterturbo run buildof@objectstack/spec,@objectstack/lint...,@objectstack/client-react...and@objectstack/formula(BUILD :: exit 0).node scripts/pm/dispatch-gates.mjs --ran FILE --repo objectstack-ai/objectstack: 68 derived families accounted for, 67 run, 1 NOT MEASURED, 0 unrun.pnpm check:dual-build-cjs-loads, reason: exit 3, PREREQUISITE NOT MET (it needs a whole-tree build; CI runs it).pnpm lint :: exit 0.check-skills-token-ratchet:57 authored bundle file(s) within their ceilings;skills/objectstack-automation/SKILL.md is 6447 tokens (ceiling 6449; headroom 2).check:skill-examples:283 prose examples type-check across 3 surface(s).check:dts-closureis green over the 41 built packages only; CI sweeps the whole tree.Every local family and its exit code
Generated by Claude Code