Filing gate: ① a defect with a named landing site. The refusal lives in packages/objectql/src/engine.ts ObjectQL.registerMetadataCollections (the view container name vs its derived object key), and os validate has no author-time counterpart. Finding class (a), with reach: measured at a public door.
Found by the os-dev round on #20215 (PR #20329, which fixes the os g view SCAFFOLD's name). Filed by the domain:cli execution seat (#6024, session_01UYBdGBzWSrAMzpW8ah3GbP). ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.
What happens (measured by the dev at origin/main 6a6a17b6, relayed)
- The setup: an
os init -t app project, hand-wired, with the view scaffold name: 'order_line' bound to the object my_app_order_line.
os validate exits 0.
os serve --dev refuses at boot: 「Invalid views: container from manifest com.example.my-app: the container's own name is order_line, which disagrees with the object key it binds to, my_app_order_line」.
PR #20329 makes the os g view scaffold write a matching name. That fixes the scaffold only: any AUTHORED view with the same mismatch still validates green and fails at boot.
The contract it contradicts
os validate is the author-time judge of what the runtime will accept (NORTH-STAR road step ①). A green os validate followed by a boot refusal is the silent-validator shape.
Seam
runtime:packages/objectql/src/engine.ts ObjectQL.registerMetadataCollections (the view container name vs its object key) → cli:os validate, which has no author-time counterpart. Where the rule belongs (spec schema, lint rule, or validate) is triage's call.
Dedupe
MCP issue search in this repository, run 2026-09-27: 「os validate passes view whose container name disagrees with object key, os serve refuses at boot registerMetadataCollections」 → 7 hits.
None of them is this defect.
Dedupe words: views container name disagrees object key · os validate passes view serve refuses · registerMetadataCollections view name mismatch
Generated by Claude Code
Filing gate: ① a defect with a named landing site. The refusal lives in
packages/objectql/src/engine.tsObjectQL.registerMetadataCollections(the view container name vs its derived object key), andos validatehas no author-time counterpart. Finding class (a), withreach:measured at a public door.Found by the
os-devround on #20215 (PR #20329, which fixes theos g viewSCAFFOLD's name). Filed by thedomain:cliexecution seat (#6024,session_01UYBdGBzWSrAMzpW8ah3GbP). ⛔ Filed bare: routing and grading belong to triage. ⛔ Not a claim.What happens (measured by the dev at
origin/main6a6a17b6, relayed)os init -t appproject, hand-wired, with the view scaffoldname: 'order_line'bound to the objectmy_app_order_line.os validateexits 0.os serve --devrefuses at boot: 「Invalid views: container from manifest com.example.my-app: the container's own name is order_line, which disagrees with the object key it binds to, my_app_order_line」.PR #20329 makes the
os g viewscaffold write a matching name. That fixes the scaffold only: any AUTHORED view with the same mismatch still validates green and fails at boot.The contract it contradicts
os validateis the author-time judge of what the runtime will accept (NORTH-STAR road step ①). A greenos validatefollowed by a boot refusal is the silent-validator shape.Seam
runtime:packages/objectql/src/engine.ts ObjectQL.registerMetadataCollections(the view container name vs its object key) →cli:os validate, which has no author-time counterpart. Where the rule belongs (spec schema, lint rule, or validate) is triage's call.Dedupe
MCP issue search in this repository, run 2026-09-27: 「os validate passes view whose container name disagrees with object key, os serve refuses at boot registerMetadataCollections」 → 7 hits.
os generate's non-object scaffolds never reach anos initproject's stack (the config imports only./src/objects), soos validatepasses with 0 flows and 0 apps; once wired, the flow scaffold is refused #20215 (open) is the parent round.os validate/os buildaccept a view container whoseobjectnames no object in the stack — no error, no advisory — and the runtime'sgetViewsByObjectthen never finds the view #20216 (closed) is a view whoseobjectnames no object, a different check.os generate object NAMEin anos init -t appproject writesname: 'NAME'with no namespace prefix, so the nextos validaterefuses the object the CLI just generated #20197, os validate and os lint judge an EMPTY stack when a project declares its metadata only in packages[] — the ADR-0130 D4 union fold (authoringRuleUnionStack) is wired into os build alone #17069, docs: the sampleos validatetranscript on validating-metadata.mdx prints a stale author-time rule count (38 shown, registry holds more) #9034,objectstack devwatcher rebuilds dist/objectstack.json but the running server keeps serving the metadata it booted with #5148 and lint: no reference-integrity or option-key validation for app metadata #3583 are closed and unrelated.None of them is this defect.
Dedupe words:
views container name disagrees object key·os validate passes view serve refuses·registerMetadataCollections view name mismatchGenerated by Claude Code