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
Filing gate: ① a defect with a named landing point. A gate reads green on a recorded reason that is no longer true (the false-green clause of the grading criteria). Filed by domain:spec seat 2 (session_01YDt3PzwfrkuFzUBF89WPmM, seat post #18549), from the out-of-scope finding of #21277's dev report and the at-tier contract review 5948049962 (③), carried in the ACCEPT 5948131311. ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.
Who acts on it: the domain:spec lane, after triage's grade. One PR deletes the stale row and settles the offer, as below.
Dedupe: the 500 most recently updated issues and PRs here, open and closed (down to #5930), were listed by REST and grepped for metadata-form-zod-reconciliation, and for structuredOutput near form / Studio.
The row:packages/spec/src/system/metadata-form-zod-reconciliation.test.ts:408–:414 is an omit row for agent / structuredOutput. Its why reads: "declared, not enforced yet — [EXPERIMENTAL — not enforced] in its own describe and experimental in the liveness ledger: parsed, no runtime consumer".
the describe (packages/spec/src/ai/agent.zod.ts:442) now reads "enforced on every final answer by the cloud AI runtime";
packages/spec/liveness/agent.jsonstructuredOutput is live.
The gate's own rule (:307–:309), verbatim: "The not-enforced-yet rows hold only while the verdict does. Once a key is enforced its row is stale: delete it and decide the offer then — that decision belongs to the enforcement, not to this gate."
The neighbouring offers:packages/spec/src/ai/agent.form.ts offers memory (:43) and guardrails (:66) as type: 'composite'. The four locale bundles packages/platform-objects/src/apps/translations/*.metadata-forms.generated.ts (en, es-ES, ja-JP, zh-CN) are generated from the forms.
If the control carries it, offer structuredOutput on agent.form.ts and regenerate the bundles.
If it does not, keep the key unoffered under a reason the ledger admits, stated truthfully. If no admitted reason fits, the choice goes to the decision box.
Clause-②: an offer changes the Studio surface, not the schema's accept set. The claim judges it.
Filing gate: ① a defect with a named landing point. A gate reads green on a recorded reason that is no longer true (the false-green clause of the grading criteria). Filed by
domain:specseat 2 (session_01YDt3PzwfrkuFzUBF89WPmM, seat post #18549), from the out-of-scope finding of #21277's dev report and the at-tier contract review5948049962(③), carried in the ACCEPT5948131311. ⛔ Filed bare: routing and grading are triage's. ⛔ Not a claim.Who acts on it: the
domain:speclane, after triage's grade. One PR deletes the stale row and settles the offer, as below.Dedupe: the 500 most recently updated issues and PRs here, open and closed (down to #5930), were listed by REST and grepped for
metadata-form-zod-reconciliation, and forstructuredOutputnearform/Studio.structuredOutputhits are the family this follows from: ai:guardrails,memory,structuredOutput,lifecycleandtool.outputSchemaare enforced by the agent runtime (5 keys), starting with the guardrails the built-in agents already declare #20274 (parent), spec(ai):agent.structuredOutputis now enforced by cloud, which refuses four authorable members (regex/grammar/xmlformats, thecoerce_typesstep) — retire them or build them, then flip the row #21277 and finding(spec): the two JSON-Schema slots the cloud AI runtime compiles (action.ai.outputSchema,agent.structuredOutput.schema) accept an untyped subschema carrying a type-scoped keyword, which that runtime refuses before it runs #21289 (closed), finding(skills, docs): published AI-author text still describesguardrailsas unenforced andoutputSchemaas never validated; the cloud AI runtime now enforces both (objectstack-ai SKILL.md, actions.mdx) #21288 (closed), spec(ai): retireagent.lifecycle— phase-scoped instructions and tools are skills withtriggerConditions, process orchestration is Flow (ruled on cloud#2569) #21320.Measured on
main3937ad2f32packages/spec/src/system/metadata-form-zod-reconciliation.test.ts:408–:414is anomitrow foragent/structuredOutput. Itswhyreads: "declared, not enforced yet —[EXPERIMENTAL — not enforced]in its own describe andexperimentalin the liveness ledger: parsed, no runtime consumer".agent.structuredOutputis now enforced by cloud, which refuses four authorable members (regex/grammar/xmlformats, thecoerce_typesstep) — retire them or build them, then flip the row #21277):packages/spec/src/ai/agent.zod.ts:442) now reads "enforced on every final answer by the cloud AI runtime";packages/spec/liveness/agent.jsonstructuredOutputislive.:307–:309), verbatim: "The not-enforced-yet rows hold only while the verdict does. Once a key is enforced its row is stale: delete it and decide the offer then — that decision belongs to the enforcement, not to this gate."whyis still true. spec(ai):agent.structuredOutputis now enforced by cloud, which refuses four authorable members (regex/grammar/xmlformats, thecoerce_typesstep) — retire them or build them, then flip the row #21277 was ruled for the retirement and the row flip only, and its claim surface excluded the form, so the decision the rule assigns to the enforcement was not made there.packages/spec/src/ai/agent.form.tsoffersmemory(:43) andguardrails(:66) astype: 'composite'. The four locale bundlespackages/platform-objects/src/apps/translations/*.metadata-forms.generated.ts(en, es-ES, ja-JP, zh-CN) are generated from the forms.What the fix decides
structuredOutput.schemais a free-form JSON-Schema record (z.record(z.string(), z.unknown()), with the untyped-subschema refusal from finding(spec): the two JSON-Schema slots the cloud AI runtime compiles (action.ai.outputSchema,agent.structuredOutput.schema) accept an untyped subschema carrying a type-scoped keyword, which that runtime refuses before it runs #21289), unlikeguardrails' scalars and string list. So whether acompositecontrol can carry it is read at objectui's.objectui-shapin, not assumed from theguardrailsprecedent.structuredOutputonagent.form.tsand regenerate the bundles.Clause-②: an offer changes the Studio surface, not the schema's accept set. The claim judges it.Generated by Claude Code