Repository navigation
chore(devx): launch entries for the scheduled-work and react-pages-off showcase boots - #30154
Conversation
…f boots Two .claude/launch.json entries give a runner that starts servers only from launch.json the two boots studio-authoring checklist items need: showcase-scheduled-work-3778 exports OS_AUTOMATION_SCHEDULED_WORK_ENABLED=1 and showcase-react-pages-off-3779 exports OS_PAGE_REACT_ENABLED=false, each on its own port and DB with OS_PORT exported. The env is set through runtimeExecutable `env`, the way ui/.claude/launch.json sets it through its runtime command. flow-status-matches-runtime and custom-page-source-tiers name the entries in fixtures.requires and steps, with a revision bump and a history row each. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ihL2ebbZkr2QAEG1x7UC8
…udio-boot-fixtures
|
domain:devx#2 · marchtian · session_017ihL2ebbZkr2QAEG1x7UC8 Contract reviewServed-tier: Inputs read: card #29819 body and all three comments (triage, claim, os-dev-report), PR #30154 body and file list, ① Derived judgments
② Semver levelThe diff publishes nothing: Check-runs on 71ec4cc at review time: every completed run is success or skipped (incl. Governed Surface Queue Guard, PR-body guards, Lint · docs & code guards which carries check-platform-checklist, Lint · PM dispatch-gates, Plan Test Core shards, Dogfood Regression Gate, Test UI, Type Check · source gates). Still in progress: Lint · ESLint, Test Core (1/8, 2/8), Type Check · consumer gates / debt ledger / workspace. None failed. The diff touches no TypeScript, so the in-progress families cannot be moved by it; the seat should still see them green before landing. ③ Boundary flags(a) (b) Separate DB for the schedule leg — RIGHT CHOICE; the item still proves its title. Sharing one DB between two live servers would be a real DB collision (two writers on one SQLite file, and the default boot's DB mutated by the schedule run) and would break dogfood §0's "own port and DB". Sequential reuse (stop 3777, boot the switch on 3777's DB) is what the old "reboot" step meant, but a launch entry pinned to another entry's DB path is a collision waiting for the first concurrent run. The title's claim is per boot: the words Studio shows equal what (c) No ④ Design judgment
Findings:
Nothing in ④ is a must-fix: every surface change is named right, each item's path is reachable from Implemented-by: VERDICT: PASS |
… --no-watch showcase-scheduled-work-3778 and showcase-react-pages-off-3779 now pass --no-compile and --no-watch. The schedule leg boots beside the default boot of the same checkout, and a default os dev rewrites examples/app-showcase/dist/objectstack.json, which the live default boot re-ingests. --no-compile still compiles when the artifact is missing. showcase-dogfood-3777 is a solo boot and stays as it was. flow-status-matches-runtime acceptance[3].clause now reads "a schedule flow authored the same way", because the 3778 boot holds a re-authored copy. The item's rev 5 history row says so. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017ihL2ebbZkr2QAEG1x7UC8
|
domain:devx#2 · marchtian · session_017ihL2ebbZkr2QAEG1x7UC8 Contract reviewServed-tier: Delta review on the previous PASS at 71ec4cc. Inputs: ① Derived judgments
② Semver levelUnchanged from the first record: nothing published, Check-runs on 4c396be at review time: every completed run is success or skipped (incl. Governed Surface Queue Guard, PR-body guards, Lint · docs & code guards which carries check-platform-checklist, Lint · PM dispatch-gates, Lint · ESLint, Lint & Repo Gates, Type Check · debt ledger / workspace / source gates, Plan Test Core shards, Dogfood Regression Gate, Test UI). Still in progress: Lint · CI, release & engine gates, Test Core (1/8, 2/8), Type Check · consumer gates. None failed. The diff touches no TypeScript, so the in-progress families cannot be moved by it; the seat should still see them finish before landing. ③ Boundary flagsNo new flag raised by the dev. The two earlier flags that the delta touches:
④ Design judgment
Findings: none. No must-fix, no should-fix remaining. Implemented-by: VERDICT: PASS |
|
domain:devx#2 · marchtian · session_017ihL2ebbZkr2QAEG1x7UC8 席位核对 — ACCEPT ·
|
Requested by 田騏 · project thread
Fixes #29819
Clause-②: no
Metadata-protocol: none
维护者速读
.claude/launch.json新增两条可直接启动的 showcase 配置(3778 开启定时任务、3779 关闭 React 页面),两个 Studio 检查项改为点名这两条配置。flow-status-matches-runtime的定时腿和custom-page-source-tiers的关闭态每次都只能记 partial / blocked。.claude/launch.json(两条新配置的 env 写法),docs/qa/platform-checklist/areas/studio-authoring.json的 flow-status-matches-runtime(定时腿改在新配置的独立库上重建流程)。jq -r '.configurations[].name' .claude/launch.json,预期三行:showcase-dogfood-3777、showcase-scheduled-work-3778、showcase-react-pages-off-3779。.claude/**属 Tier S,席位凭当前 head 的 Contract review PASS 落地。What changes
.claude/launch.jsongains two entries besideshowcase-dogfood-3777. Each has its own port and its ownfile:/tmp/...DB, and exportsOS_PORTas RUNNER.md asks for any non-3000 boot:showcase-scheduled-work-3778exportsOS_AUTOMATION_SCHEDULED_WORK_ENABLED=1. DB:file:/tmp/showcase-scheduled-work-3778/data.db.showcase-react-pages-off-3779exportsOS_PAGE_REACT_ENABLED=false. DB:file:/tmp/showcase-react-pages-off-3779/data.db.envkey anywhere. Both committed launch files use onlyname,runtimeExecutable,runtimeArgs,portandurl. The repo already sets env from an entry through its runtime command:ui/.claude/launch.jsonconsole-build-testrunsbash -lc "... VITE_SERVER_URL= DEV_PROXY_TARGET=... exec pnpm dev ...". The new entries do the same thing withruntimeExecutable: "env", so no shell string is needed and the argument list stays readable.docs/qa/platform-checklist/areas/studio-authoring.json:studio-authoring.flow-status-matches-runtime(rev 4 to 5).fixtures.requires[2]andsteps[4]nameshowcase-scheduled-work-3778as the schedule leg's second boot. That entry has its own DB, so the step authors the writable package's schedule flow again there and runs it beside the default boot.steps[5]now says it stays on the default boot.acceptance[3].clausenow reads "a schedule flow authored the same way" (the flow is re-authored on that entry's own DB). A history row was added.studio-authoring.custom-page-source-tiers(rev 5 to 6).fixtures.requires[1]andsteps[6]nameshowcase-react-pages-off-3779as the off-state boot of the both-sides gate. The blocked(environment) fallback now applies only if that entry cannot boot. No clause changed. A history row was added.studio-authoring.picklist-bound-select, is already met and is not touched here. PR docs(qa): re-point the wave-5 checklist lines and add the package export round-trip item #30128 (merged as 55337f4) re-pointed itsfixtures.requires[0]to a picklist and a picklistExtensions entry added in a scratch copy of the showcase, never the shared tree (item rev 5). So that item no longer needs a seed change toexamples/app-showcase/objectstack.config.ts, and this PR changes nothing underexamples/app-showcase/**.Tests
No code changed, so there is no unit test. The evidence is the boot probe and the gates below.
Acceptance notes
OS_PAGE_REACT_ENABLED=falsedoes override the showcase's committed.envvalueOS_PAGE_REACT_ENABLED=true.os devloads.env*throughdotenvFlow.config(packages/cli/src/commands/dev.ts:432). dotenv-flow 4.1.0 sets a file variable only when!process.env.hasOwnProperty(varname)(node_modules/.pnpm/dotenv-flow@4.1.0/.../lib/dotenv-flow.js:193). The CLI notes the same precedence atpackages/cli/src/commands/doctor.ts:448andpackages/cli/src/utils/schema-migrate.ts:906. The serve path reads the variable atpackages/cli/src/utils/console.ts:930-942(readReactPagesTier;falseis inREACT_PAGES_OFF).OS_AUTOMATION_SCHEDULED_WORK_ENABLED=1is an accepted ON value:resolveScheduledWorkEnabled()accepts1,true,onandyes(packages/types/src/env.ts:237-240).--no-compileand--no-watch(contract review 6637078272, S1): the schedule leg boots beside the default boot of the same checkout, and a compiling boot would rewrite the shareddist/objectstack.jsonthe live boot's artifact watcher re-ingests.--no-compilestill compiles when the artifact is missing (packages/cli/src/utils/dev-compile-at-boot.ts).showcase-dogfood-3777boots alone and is unchanged.Verification
Boot probe (head 71ec4cc, built closure of the showcase plus the CLI)
showcase-scheduled-work-3778, booted with the exact entry args: health 200. The banner printed32 flow(s) 21 bound. With an authenticatedGET /api/v1/automation/_status,showcase_scheduled_digestansweredbound: true(triggerType schedule) andshowcase_task_due_reminderansweredbound: true(time_relative).showcase-react-pages-off-3779, booted with the exact entry args as the control leg (no scheduled-work switch): health 200, and the banner printed32 flow(s) 19 bound, the default-boot count RUNNER.md records.packages/console/dist, and the boot loggedConsoleNotBuilt. The env precedence above was measured directly instead. WithOS_PAGE_REACT_ENABLED=falseexported,dotenvFlow.configinexamples/app-showcasekeptfalse. With it unset, it loadedtruefrom.env./tmpDB directories were removed.Gates (dispatch-gates --commands at 71ec4cc, 19 derived)
All 19 derived commands exited 0. Seven of them first exited 3 (PREREQUISITE NOT MET) before
pnpm install --frozen-lockfile, andcheck:doc-formula-expressionsalso needed its formula and lint build. Each was re-run after that, and those re-runs exited 0.--ranreconciliation: 19 derived, 19 run, 0 NOT-MEASURED (a derived zero).node scripts/check-platform-checklist.mjs: OK, 16 areas and 360 items.🤖 Generated with Claude Code