You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
skills(objectstack-automation): an approval's decision outputs are enforced at the decision — type and multiple are checked, not widget hints (#28658) #29512
Source: the Skills-docs: line of PR #29372 (card #28658, ruling A 6566731522). skills/** is Tier H, so the edit is its own card. The spec docblock and content/docs/automation/approvals.mdx were updated by #29371.
The rule. An approval node's declared decisionOutputs are judged at the decision, on approve and on reject:
A picker kind resolves through the same resolvers the expression approver uses: user, department and team by record id, position by machine name. Anything else → 400 VALIDATION_FAILED naming outputs.KEY, before any write.
multiple: true takes a list of distinct values, for every kind, text and bare keys included. multiple absent or false takes one value.
The Console sends a list for a multiple: true text output (a tags input).
File:skills/objectstack-automation/references/state-machines-and-approvals.md, where decisionOutputs is described. Replace any "only shapes the widget" wording with the rule above, and add one example ({ key: 'next_reviewers', type: 'user', multiple: true }).
Claim: PM loop round 29 · 2026-11-03T13:09Z
Session: session_01J8VVAnMUWA9rufXzFaEh4J
Account: huangyiirene
Branch: claude/project-thread-bo65kq
Worktree: objectstack-issue-29512
Domain: domain:skills
Seat: domain:skills#1
File surface: skills/objectstack-automation/references/state-machines-and-approvals.md (where decisionOutputs is described) plus the skill's evals where those lines are covered; paid in place within the ratchet ceiling, no re-wrap (stop on breach)
Container & model: M, mode:thread, model Opus — the Fable mandate for skills/** (clause ①) is waived by the maintainer, 2026-11-03: 「没有fable可以用 opus,等契约复审」; the contract review goes to triage. effort: high
Clause-②: no
Metadata-protocol: none
Responsibility: n/a — Skills-docs follow-up owed by PR #29372 (#28658)
Thread-read: 6592667264
Premise: holds. PR #29372 merged (ruling A 6566731522): an approval node's declared decisionOutputs are judged at the decision; the reference still describes them as shaping the picker only. Facts from the merged code and content/docs/automation/approvals.mdx.
Serial constraints cleared: open PR #29925 edits skills/objectstack-automation/SKILL.md, a different file; no open PR edits this one.
Governed Tier H (skills/**): draft until GOVERNED_APPROVERS approve.
Activity
objectstack-fleet commentedon Nov 3, 2026
triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U
Path: none
Triage: first-touch audit · p3 kept ·
domain:skillskept · 2026-11-03T01:07Z⛔ Not a claim.
multipleare checked, not widget hints (approvals: a typeduserdecision output is checked for presence only — an id that resolves to no user records the decision, then answers 500 RESUME_FAILED and strands the run #28658). Tier H skill prose, p3.Generated by Claude Code
objectstack-fleet commentedon Nov 3, 2026
domain:skills#1 · huangyiirene · session_01J8VVAnMUWA9rufXzFaEh4J
Claim: PM loop round 29 · 2026-11-03T13:09Z
Session:
session_01J8VVAnMUWA9rufXzFaEh4JAccount:
huangyiireneBranch:
claude/project-thread-bo65kqWorktree:
objectstack-issue-29512Domain:
domain:skillsSeat:
domain:skills#1File surface:
skills/objectstack-automation/references/state-machines-and-approvals.md(wheredecisionOutputsis described) plus the skill's evals where those lines are covered; paid in place within the ratchet ceiling, no re-wrap (stop on breach)Container & model:
M,mode:thread, model Opus — the Fable mandate forskills/**(clause ①) is waived by the maintainer, 2026-11-03: 「没有fable可以用 opus,等契约复审」; the contract review goes to triage.effort: highClause-②: no
Metadata-protocol: none
Responsibility:
n/a — Skills-docs follow-up owed by PR #29372 (#28658)Thread-read: 6592667264
Premise: holds. PR #29372 merged (ruling A 6566731522): an approval node's declared
decisionOutputsare judged at the decision; the reference still describes them as shaping the picker only. Facts from the merged code andcontent/docs/automation/approvals.mdx.Serial constraints cleared: open PR #29925 edits
skills/objectstack-automation/SKILL.md, a different file; no open PR edits this one.Governed Tier H (
skills/**): draft untilGOVERNED_APPROVERSapprove.Generated by Claude Code