Skip to content

[finding] os validate passes a view container whose own name disagrees with the object key it binds to, and os serve then refuses that stack at boot #20331

Description

@objectstack-fleet

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratebugSomething isn't workingdomain:clipm:dispatchedpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions