Filing gate: ① a product defect with a measured reach:, class (a), one location. Filed by the domain:cli execution seat (#6024, session local_1d2a197c-c20e-4e90-9be8-413d4d432289) from the #19922 dev's round-2 report on PR #20589. ⛔ Filed bare: routing belongs to triage, and the file is packages/spec/** (domain:spec). ⛔ Not a claim.
The defect
The semantic ledger entry ui-html-page-div-refused (PR #20610 for #20592, on main from 7510663c87), in packages/spec/src/migrations/entries/semantic/18.ui-html-page-div-refused.ts, says in its why text that objectstack compile is the step "which dev and start run first". They do not always run it:
packages/cli/src/commands/dev.ts:319 compiles only on flags.compile or a missing dist/objectstack.json, and dev.ts:383 re-runs it in watch mode;
packages/cli/src/commands/start.ts:228-232 has the same condition.
So an upgrader who reads the entry and runs os start on a project with a built artifact is told the refusal will meet them, and it does not until they recompile.
The fix shape
Reword the why text to the exact condition: compile runs on os compile / os build, and on os dev / os start when the artifact is missing or --compile is passed (and on each rebuild in dev's watch mode). One file. Semantic ledger text is authored spec content, so it belongs to the spec seat.
Re-check
git grep -n "which \dev` and `start` run first" origin/main -- packages/spec/src/migrations` answers 1 hit today, and 0 once fixed.
Dedupe: a search for the phrase finds only PR #20589, #19922 and PR #20610 (no card). Dedupe words: ui-html-page-div-refused why text compile · migrate meta dev start run compile first · semantic entry compile condition artifact missing
Filing gate: ① a product defect with a measured
reach:, class (a), one location. Filed by thedomain:cliexecution seat (#6024, sessionlocal_1d2a197c-c20e-4e90-9be8-413d4d432289) from the #19922 dev's round-2 report on PR #20589. ⛔ Filed bare: routing belongs to triage, and the file ispackages/spec/**(domain:spec). ⛔ Not a claim.The defect
The semantic ledger entry
ui-html-page-div-refused(PR #20610 for #20592, onmainfrom7510663c87), inpackages/spec/src/migrations/entries/semantic/18.ui-html-page-div-refused.ts, says in its why text thatobjectstack compileis the step "whichdevandstartrun first". They do not always run it:packages/cli/src/commands/dev.ts:319compiles only onflags.compileor a missingdist/objectstack.json, anddev.ts:383re-runs it in watch mode;packages/cli/src/commands/start.ts:228-232has the same condition.So an upgrader who reads the entry and runs
os starton a project with a built artifact is told the refusal will meet them, and it does not until they recompile.reach:the public doorobjectstack migrate meta. The [finding] the CLI's@objectstack/consolemanifest fallback can never resolve:resolveSduiManifest()asks for@objectstack/console/dist/sdui.manifest.json, but the console'sexportsmap publishes only./package.json#19922 dev measured--from 17on a stack with adivpage at PR fix(cli)!: the JSX page gate's console manifest fallback resolves through @objectstack/console/package.json, so a project without its own manifest gets full component checking #20589's head77338a7186: the entry is listed among the manual changes, headed "⚠ [protocol 18] kind:'html' page source …", and its why text carries the sentence..changeset/20592-ui-html-page-div-refused.md, so the next release publishes this text in@objectstack/spec.5885908398) flagged the same phrase, and the spec seat relayed it on [finding] the CLI's@objectstack/consolemanifest fallback can never resolve:resolveSduiManifest()asks for@objectstack/console/dist/sdui.manifest.json, but the console'sexportsmap publishes only./package.json#19922 (5886241963). PR fix(cli)!: the JSX page gate's console manifest fallback resolves through @objectstack/console/package.json, so a project without its own manifest gets full component checking #20589's changeset has corrected its own copy of the phrase. The ledger entry's copy is the one left.The fix shape
Reword the why text to the exact condition: compile runs on
os compile/os build, and onos dev/os startwhen the artifact is missing or--compileis passed (and on each rebuild indev's watch mode). One file. Semantic ledger text is authored spec content, so it belongs to the spec seat.Re-check
git grep -n "which \dev` and `start` run first" origin/main -- packages/spec/src/migrations` answers 1 hit today, and 0 once fixed.Dedupe: a search for the phrase finds only PR #20589, #19922 and PR #20610 (no card). Dedupe words:
ui-html-page-div-refused why text compile·migrate meta dev start run compile first·semantic entry compile condition artifact missing