Skip to content

All five published remote templates fail first npm run build on GA create-objectstack@17.0.0 — templates still author enable.trash / enable.mru, removed in the 16.x line #8677

Description

@qq9340100

Symptom

Every one of the five published remote templates fails its very first npm run build on the GA create-objectstack@17.0.0. Measured 2026-08-14 against the real npm registry (latest = 17.0.0, published 2026-08-14T07:59:14Z), Node 22.22.2 / npm 10.9.7.

npx -y create-objectstack@latest canary-app -t <template> --skip-skills --skip-install
cd canary-app && npm install && npm run build
templatescaffoldnpm installnpm run build
todo002
compliance002
content002
contracts002
procurement002
blank (control, bundled)000

The blank control produces dist/objectstack.json (2.3 KB) normally, so the toolchain, the installed @objectstack/spec@17.0.0 and the build path are all healthy. The failure is isolated to remote template content.

Root cause

All five remote templates still author two enable flags that @objectstack/spec removed in the 16.x line (ADR-0049, #2377/#3207). Installed spec is 17.0.0, whose enable is a closed vocabulary, so the metadata is rejected at build. Verbatim, identical on all five:

✗ [
{
"code": "unrecognized_keys",
"keys": [ "trash", "mru" ],
"path": [ "enable" ],
"message": "Unrecognized key(s) on `enable`: `trash`, `mru`. ..."
}
]

The offending source ships in the scaffold, e.g. for todo at src/objects/todo_task.object.ts:102-103:

trash: true,mru: true,

The error message names its own remedy: os migrate meta --from 16 rewrites existing sources automatically.

Where the fix lands

Not in this repo. The remote templates are fetched from a separate repository — packages/create-objectstack/src/index.ts:59-60:

constREMOTE_REPO='objectstack-ai/templates';constREMOTE_BRANCH='main';

so the content fix belongs in objectstack-ai/templates@main. Filed here because this repo owns create-objectstack, the release process and the canary gate that should have caught it. Re-route or mirror as triage sees fit.

This is NOT the #7644 defect — that one is fixed

#7644 tracked a namespace-rewrite defect on 16.1.0 (object literals keeping the template's own prefix). That defect is verified fixed in 17.0.0 and is not what fails here. Measured structurally, independent of validation ordering: across all five templates, top-level object-name literals carrying no canary_app_ prefix = 0, and stale tpl_* tokens anywhere under src/ = none. Config reads namespace: 'canary_app' and literals read canary_app_task / canary_app_label etc. Zero occurrences of namespace prefix in any of the five build logs.

So the user-visible headline of #7644 ("non-blank remote templates fail first npm run build") still reproduces on GA 17.0.0, but for an entirely different and unrelated cause. Verification detail on #7644.

Severity

First-hour, follow-the-docs failure on the GA release: a new user picking any non-blank template gets a project whose first build exits 2. Same blocking class (④) that #7644 carried.

Related


Generated by Claude Code

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions