Filing gate: ① a defect with a named landing site, packages/cli/src/commands/init.ts (the TEMPLATES configContent) and packages/cli/src/commands/generate.ts (the barrel step and the flow template). Two rows of one family: the os init → os generate → os validate road for every generator except object.
- Row 1 is class (c), a metadata trap with a named producer.
- Row 2 is class (a).
reach: was measured at a public door for both.
The reader who acts: the domain:cli execution seat, which dispatches it after PR #20214 (#20197) lands on generate.ts.
Dedupe: MCP issue search in this repository, open and closed, run 2026-09-27:
Found by the os-dev round on #20197 (PR #20214), which measured both rows on a CLI built at origin/main 0bd11261 and left them unchanged (outside its surface). Filed by the domain:cli execution seat (#6024, session_01UYBdGBzWSrAMzpW8ah3GbP). ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.
Row 1: generated views, actions, flows, dashboards, apps and skills are imported by nothing
os init my-app -t app. The generated objectstack.config.ts imports only ./src/objects (init.ts TEMPLATES.app.configContent, about :617, and the same in plugin, about :711) and passes objects: Object.values(objects) to defineStack.
os g view my_app_item and os g flow my_app_item each write their file and a barrel src/views/index.ts / src/flows/index.ts. os g closes with 「Tip: Run objectstack validate」.
os validate exits 0, printing Logic: 0 Flows and UI: 0 Apps. The scaffolds never reached the stack, and no message says so.
content/docs/deployment/cli.mdx's "Typical Workflow" runs os g flow and then 「# 4. Validate everything」, which validates nothing that was generated. An author or an AI following the page gets a green that proves nothing about the files it just generated.
Row 2: once wired, the platform's own flow scaffold is refused
After wiring flows: Object.values(flows) into defineStack by hand, os validate refuses:
「flow 'order_line_flow' declares a 'record_change' trigger but requires does not include 'triggers'」
The flow generator emits type: 'record_change' (generate.ts, about :254). Neither os g flow nor the template comment mentions the capability the platform then demands.
The contract it contradicts
docs/NORTH-STAR.md, road step ①: a scaffolded project validates.
- The CLI's own closing tip, and the documented workflow, both promise that
os validate judges what was generated.
Direction (for the claimant, ⛔ not a ruling)
The PM has NOT measured which fix is right for row 1. Candidates:
os g wires the new barrel into the config (a config edit, which os g does not do today);
- the
os init templates import every generator's barrel up front;
os g states loudly that the new barrel is not wired, with the line to add.
Row 2's candidates: the flow template declares what it needs, or the generator adds triggers to the project's requires.
A pin for both rows: generate every type into a fresh os init -t app project, and os validate exits 0 with each generated item counted.
Dedupe words: os generate barrel not wired into objectstack.config · generated view never loaded os init · os g flow validate 0 Flows · os g flow requires triggers
Generated by Claude Code
Filing gate: ① a defect with a named landing site,
packages/cli/src/commands/init.ts(theTEMPLATESconfigContent) andpackages/cli/src/commands/generate.ts(the barrel step and theflowtemplate). Two rows of one family: theos init→os generate→os validateroad for every generator exceptobject.reach:was measured at a public door for both.The reader who acts: the
domain:cliexecution seat, which dispatches it after PR #20214 (#20197) lands ongenerate.ts.Dedupe: MCP issue search in this repository, open and closed, run 2026-09-27:
ContactViewsis exported but never registered inobjectstack.config.ts— the docs' canonical "create form ≠ edit form" example does not run #5420 (closed; the showcase'sContactViewswas exported but never registered: the same trap on a hand-written example, not the generator).Found by the
os-devround on #20197 (PR #20214), which measured both rows on a CLI built atorigin/main0bd11261and left them unchanged (outside its surface). Filed by thedomain:cliexecution seat (#6024,session_01UYBdGBzWSrAMzpW8ah3GbP). ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.Row 1: generated views, actions, flows, dashboards, apps and skills are imported by nothing
os init my-app -t app. The generatedobjectstack.config.tsimports only./src/objects(init.tsTEMPLATES.app.configContent, about :617, and the same inplugin, about :711) and passesobjects: Object.values(objects)todefineStack.os g view my_app_itemandos g flow my_app_itemeach write their file and a barrelsrc/views/index.ts/src/flows/index.ts.os gcloses with 「Tip: Run objectstack validate」.os validateexits 0, printingLogic: 0 FlowsandUI: 0 Apps. The scaffolds never reached the stack, and no message says so.content/docs/deployment/cli.mdx's "Typical Workflow" runsos g flowand then 「# 4. Validate everything」, which validates nothing that was generated. An author or an AI following the page gets a green that proves nothing about the files it just generated.Row 2: once wired, the platform's own flow scaffold is refused
After wiring
flows: Object.values(flows)intodefineStackby hand,os validaterefuses:「flow 'order_line_flow' declares a 'record_change' trigger but requires does not include 'triggers'」
The
flowgenerator emitstype: 'record_change'(generate.ts, about :254). Neitheros g flownor the template comment mentions the capability the platform then demands.The contract it contradicts
docs/NORTH-STAR.md, road step ①: a scaffolded project validates.os validatejudges what was generated.Direction (for the claimant, ⛔ not a ruling)
The PM has NOT measured which fix is right for row 1. Candidates:
os gwires the new barrel into the config (a config edit, whichos gdoes not do today);os inittemplates import every generator's barrel up front;os gstates loudly that the new barrel is not wired, with the line to add.Row 2's candidates: the flow template declares what it needs, or the generator adds
triggersto the project'srequires.A pin for both rows: generate every type into a fresh
os init -t appproject, andos validateexits 0 with each generated item counted.Dedupe words:
os generate barrel not wired into objectstack.config·generated view never loaded os init·os g flow validate 0 Flows·os g flow requires triggersGenerated by Claude Code