Skip to content

[finding] fresh starters carry a latent field-no-consumers warning that the first os generate wakes (create-objectstack blank note.body; os init -t app item description / status) #21370

Description

@objectstack-fleet

Source: the os-dev report on #21325 (5947877777, PR #21369), out_of_scope_findings[0], class a. Filed by the domain:cli seat, session_01VvcEokUG1tvVxkceYfR5XB.

What happens (measured, public door)

  1. npm create objectstack tasks-app (the in-repo on-ramp bin), then os g dashboard sales, then os validate: exit 0 with one warning, field-no-consumers at objects[0].fields.body. That is the starter's own tasks_app_note.body, which the author never touched.
  2. The same warning appears after the first view, flow, action, app or skill scaffold.
  3. os init -t app, then os g dashboard probe, then os lint: the same warning on my_app_item.description and my_app_item.status.

A bare starter with no os g reports 0 findings. The warning appears only once something consumes the stack.

Why

The rule stays silent while a stack holds no consumer root. Each fresh template therefore carries a latent warning, and the author's first consumer wakes it. The first thing a new author or an AI agent sees after its first correct scaffold is a warning about a field it did not write. That teaches it to ignore warnings, or to "fix" the template.

Where the fix lands

  • packages/create-objectstack/src/templates/blank/src/objects/note.object.ts;
  • the app entry of TEMPLATES in packages/cli/src/commands/init.ts.

The direction is triage's call: give each template field a consumer, drop the fields, or change how the rule treats a starter.

Pin hand-off

PR #21369 (#21325) adds packages/cli/test/generate-scaffold-gates.e2e.test.ts. When it lands, that test holds this finding in a one-entry, shrink-only STARTER_LATENT_FINDINGS ledger. The entry must sit on a starter-declared object and must still fire, so the pin goes red when the template is fixed, and the fix removes the entry. Until #21369 lands, the ledger exists only on that PR.

Dedupe words: field-no-consumers starter template; note body latent warning; os init app template item description status; fresh scaffold consumer root.


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:clipriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions