You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
qa(checklist): cli — a reusable 18.0.0-next-born showcase DB for organization-ownership-ceremony c5 #26624
Filing gate: ③ a maintainer-directed task — in the 18.2.0 wave-2 session (2026-10-27), on the PM's list of improvements ("补测试数据配方: write the recurring fixture gaps up as area-level provisioning recipes"), the maintainer answered, verbatim: 「补测试数据配方。立卡」.
Business reason: cli.organization-ownership-ceremony acceptance[5] (P0) scored blocked(fixture) in waves 1 and 2 (#25812, #26481): it needs a showcase DB born under an 18.0.0-next build, which takes a tag-commit build each time, and a published prerelease CLI is no substitute (it resolves 18.1+ dependencies).
Reader: the lane owning docs/qa/platform-checklist/** and packages/qa/** (domain:devx). The shape to copy is the area-level fixtures recipe block in docs/qa/platform-checklist/README.md ("Area-level fixtures"), the worked instance qa-scratch-authz in areas/attachments-storage.json; items opt in with fixtures.provisioning.use.
Dedupe (open AND closed): "checklist fixture provisioning recipe blocked fixture knownGaps org-less approval request" → 29 hits; the nearest is #21851 (closed: four other recipes, landed). None covers the gaps below.
Gap
cli.organization-ownership-ceremony acceptance[5] — produce the DB once (build the @objectstack/cli@18.0.0-next.5 tag commit, boot the showcase on a file DB, write the data the clause reads), and give runners a replayable way to obtain it: either a committed, small fixture DB under packages/qa/** with its provenance line, or a script that rebuilds it from the tag. State the choice and its size in the recipe.
Done when
The recipe is written once at the area level (a keyed block beside items), with the exact call sequence a runner replays on a stock showcase boot, and each listed item references it with fixtures.provisioning.use + why.
Each listed clause is re-driven once on the recipe and its verdict recorded in the item history (citing this card); the item's knownGaps line for the gap is removed or reworded.
node scripts/check-platform-checklist.mjs stays green (it resolves every provisioning.use and refuses an unreferenced recipe).
A gap that turns out to be a product limit rather than a fixture (no door exists at all) is filed as its own card and stays blocked with that card as blocked.ref.
p2, maintainer-directed (wave-2 session, 「补测试数据配方。立卡」): write the provisioning recipe so the named clauses can be scored, in docs/qa/platform-checklist/** / packages/qa/**, with the item revisions bumped. domain:devx. ⛔ No product change rides this card. If a recipe needs a door the platform lacks, that is a separate product card.
Claim: PM loop round 6 · 2026-10-27T16:34Z
Session: session_01JQwxbWtVJeUNymRQZCEe8t (card thread cmsg_01U5RdnAAmkSQmZbqh6FtqZ8X9pGRYcwLf7ufCFxseXuXT, dispatched by seat session session_01JQwxbaFpnMwgpCgneKe2qS)
Account: os-warren (the seat's linked user; the card's assignee)
Branch: claude/project-thread-6hklbq (the harness-pinned branch of the card thread; it names no issue, so this claim is the identity record)
Worktree: objectstack-issue-26624
Domain: domain:devx
Seat: domain:devx#1
File surface: docs/qa/platform-checklist/areas/cli.json (one area-level fixtures recipe for cli.organization-ownership-ceremony acceptance[5]: fixtures.provisioning.use, knownGaps, revision, history), plus under packages/qa/** either a small fixture DB with its provenance line or a script that rebuilds it from the @objectstack/cli@18.0.0-next.5 tag. ⛔ No product change; a missing door is its own product card with the clause left blocked (stop on breach)
Container & model: M, mode:thread (Warren's 「opus 很多,并发5」, 2026-10-27), model: default (dispatch-gates --tier: "no path-derived mandate … default opus"), effort: high
Clause-②: no
Metadata-protocol: none
Responsibility: n/a — maintainer-directed filing (wave-2 session, quoted in the card body); triage 6440343917
Thread-read: 6440343917
Premise: holds by the paths (the card's items are read on origin/main by the thread before its first edit; its report records any item already pinned)
Serial constraints cleared: none blocking. Draft #26337 touches docs/qa/platform-checklist/coverage.json and packages/qa/dogfood/test (merge origin/main before each push); sibling card threads (#26571, #26572, #26573, #26622, #26624) each edit their own areas/<area>.json; no other devx seat is seated
{
"issue": 26624,
"status": "done",
"branch": "claude/project-thread-6hklbq",
"pr": "https://github.com/objectstack-ai/objectstack/pull/26818",
"session": "session_01JQwxbWtVJeUNymRQZCEe8t",
"premise_still_valid": true,
"summary": "Choice: a COMMITTED fixture, not a per-run rebuild: packages/qa/dogfood/test/upgrade-harness/fixture-18.0.0-next.5/ holds SQLite text dumps of the primary and the os dev telemetry sibling plus manifest.json (406,866 bytes in all), made by the new cli-prerelease-fixture.ts generate from the @objectstack/cli@18.0.0-next.5 tag commit 820fd5aef0's own os dev through its HTTP doors (mail on SMTP at a closed port with queued delivery and OS_EMAIL_RETRIES=10, so four pending email.send.async jobs exist without planting). areas/cli.json gains the area recipe cli-18-prerelease-db (restore + census read, plus a regenerate entry); cli.organization-ownership-ceremony revision 5 to 6 opts in via fixtures.provisioning, requires[2] names the recipe first, knownGaps[2] is CLOSED-by-recipe, steps[5] names the restored pair. acceptance[5] re-driven once on the restore at main 8b276385: pass, recorded in history revision 6. Every Done-when line met, so the PR says Fixes. Card assignee untouched.",
"tests": "generate over the built tag worktree: 18 door calls 200/201, census 4 mails, 4 pending mail jobs, 8 global setting-audit rows. restore: exit 0; a second restore to the same path refuses. Re-drive (os serve --dev, ceremony --dev, run subject 8b276385): boot 1 exit 1 with 'This database carries no organization-ownership marker ... sys_flow_credential, sys_secret ...', 0 rows written; plan exit 0, checksum unchanged; --apply without --plan-file exit 1; apply exit 0 complete true blocking 0 (sibling-moves moved 10, jobsRewritten 2, activityRepointed 14; mirrorsDeleted 1; column-drops 2; not-null 64/65); boot 2 'Server is ready'. Rows: 2 identity mails in sys_identity_email, 0 diffs over 24 shared columns at the apply, gone from sys_email; 2 invitation mails stay; 8/8 global audit rows moved, 0 diffs; the 2 jobs naming moved mails carry object sys_identity_email in payload and metadata, invitation jobs unchanged; count deltas across the apply all named by the report. Doors: 3 users sign in 200 / 401 wrong; reset from the moved mail's token 200; one task PATCH wrote exactly one sys_http_delivery, ref_id declared:showcase_task_changed. No ablation: no tested behaviour changed. New script: eslint exit 0; tsc --noEmit with the dogfood compiler options exit 0.",
"gates": "At head 884054f2 (merged origin/main c8583f80): dispatch-gates --commands derived 49; all 49 exit 0; --ran: 49 derived, 49 run, 0 NOT-MEASURED. First pass at 39125d9d had 3 non-zero for container state only (plugin-teardown-shape --self-test exit 3 on the shallow clone, fixed by fetching its pinned commit; check:dts-closure exit 1 and check:dual-build-cjs-loads exit 3 PREREQUISITE NOT MET, fixed by a full turbo build, 798 s under the lock). check-platform-checklist: OK, 7 area recipes, 12 references, 7/7 referenced, anchors 1004/1014 (10 on the named residual). CI check-runs: in_progress at report time.",
"dogfood_battery": "n/a: no ! in the PR title and no (narrowing) arm; no dogfood test file changed, the new script is not collected",
"mcp_calls": "0",
"api_writes": "2: fleet-write relay pr_create (PR 26818, draft, assignee os-warren, label skip-changeset; read-back 11629 bytes sent, 11629 stored, identical) and this os-dev-report comment via post-stamped. Plus 3 git pushes (not REST).",
"open_questions": [],
"out_of_scope_findings": [
"carrier: none · noted, not filed: scripts/gen-upgrade-harness-fixture.mjs header still says two fixtures live in packages/qa/dogfood/test/upgrade-harness; a third (fixture-18.0.0-next.5) now sits there with its own generator; header drift, outside the card's paths",
"carrier: none · noted, not filed: a production os serve boot over the restored pair is NOT MEASURED; the recipe requires --dev because the telemetry sibling belongs to the os dev composition the database was born in"
],
"deviations": "The os-dev template's branch name claude/issue-N-slug is replaced by the platform-pinned thread branch (the seat's Claim records it). Commit trailers are the model-free pair; no harness model trailer was written. PR body folds .github/PULL_REQUEST_TEMPLATE.md headings into the os-dev order, as in PR 26789.",
"body_amendments": []
}
Landed: PR #26818, merged as 019f26ec5c · 2026-10-27T18:36Z
The recipe cli-18-prerelease-db restores a showcase database that 18.0.0-next.5's own os dev created and served, from the committed dump under packages/qa/dogfood/test/upgrade-harness/fixture-18.0.0-next.5/; cli.organization-ownership-ceremony acceptance[5] no longer needs a tag build per run. ACCEPT → PR #26818 comment 6449457730. pm:dispatched removed; the card's slot is free.
Activity
objectstack-fleet commentedon Oct 27, 2026
Triage: first grade —
tests·priority:p2·domain:devx·area:devpath·pm:queue· triage seat ·session_01AavokzJ5DndAwitDXvKy4U· 2026-10-27T11:05Z⛔ Not a claim, ⛔ not a dispatch.
docs/qa/platform-checklist/**/packages/qa/**, with the item revisions bumped.domain:devx. ⛔ No product change rides this card. If a recipe needs a door the platform lacks, that is a separate product card.Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
Claim: PM loop round 6 · 2026-10-27T16:34Z
Session:
session_01JQwxbWtVJeUNymRQZCEe8t(card threadcmsg_01U5RdnAAmkSQmZbqh6FtqZ8X9pGRYcwLf7ufCFxseXuXT, dispatched by seat sessionsession_01JQwxbaFpnMwgpCgneKe2qS)Account:
os-warren(the seat's linked user; the card's assignee)Branch:
claude/project-thread-6hklbq(the harness-pinned branch of the card thread; it names no issue, so this claim is the identity record)Worktree:
objectstack-issue-26624Domain:
domain:devxSeat:
domain:devx#1File surface:
docs/qa/platform-checklist/areas/cli.json(one area-levelfixturesrecipe forcli.organization-ownership-ceremonyacceptance[5]:fixtures.provisioning.use,knownGaps,revision,history), plus underpackages/qa/**either a small fixture DB with its provenance line or a script that rebuilds it from the@objectstack/cli@18.0.0-next.5tag. ⛔ No product change; a missing door is its own product card with the clause leftblocked(stop on breach)Container & model: M,
mode:thread(Warren's 「opus 很多,并发5」, 2026-10-27),model: default(dispatch-gates --tier: "no path-derived mandate … default opus"),effort: highClause-②: no
Metadata-protocol: none
Responsibility: n/a — maintainer-directed filing (wave-2 session, quoted in the card body); triage 6440343917
Thread-read: 6440343917
Premise: holds by the paths (the card's items are read on origin/main by the thread before its first edit; its report records any item already pinned)
Serial constraints cleared: none blocking. Draft #26337 touches
docs/qa/platform-checklist/coverage.jsonandpackages/qa/dogfood/test(merge origin/main before each push); sibling card threads (#26571, #26572, #26573, #26622, #26624) each edit their ownareas/<area>.json; no other devx seat is seatedGenerated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
os-dev-report
{ "issue": 26624, "status": "done", "branch": "claude/project-thread-6hklbq", "pr": "https://github.com/objectstack-ai/objectstack/pull/26818", "session": "session_01JQwxbWtVJeUNymRQZCEe8t", "premise_still_valid": true, "summary": "Choice: a COMMITTED fixture, not a per-run rebuild: packages/qa/dogfood/test/upgrade-harness/fixture-18.0.0-next.5/ holds SQLite text dumps of the primary and the os dev telemetry sibling plus manifest.json (406,866 bytes in all), made by the new cli-prerelease-fixture.ts generate from the @objectstack/cli@18.0.0-next.5 tag commit 820fd5aef0's own os dev through its HTTP doors (mail on SMTP at a closed port with queued delivery and OS_EMAIL_RETRIES=10, so four pending email.send.async jobs exist without planting). areas/cli.json gains the area recipe cli-18-prerelease-db (restore + census read, plus a regenerate entry); cli.organization-ownership-ceremony revision 5 to 6 opts in via fixtures.provisioning, requires[2] names the recipe first, knownGaps[2] is CLOSED-by-recipe, steps[5] names the restored pair. acceptance[5] re-driven once on the restore at main 8b276385: pass, recorded in history revision 6. Every Done-when line met, so the PR says Fixes. Card assignee untouched.", "tests": "generate over the built tag worktree: 18 door calls 200/201, census 4 mails, 4 pending mail jobs, 8 global setting-audit rows. restore: exit 0; a second restore to the same path refuses. Re-drive (os serve --dev, ceremony --dev, run subject 8b276385): boot 1 exit 1 with 'This database carries no organization-ownership marker ... sys_flow_credential, sys_secret ...', 0 rows written; plan exit 0, checksum unchanged; --apply without --plan-file exit 1; apply exit 0 complete true blocking 0 (sibling-moves moved 10, jobsRewritten 2, activityRepointed 14; mirrorsDeleted 1; column-drops 2; not-null 64/65); boot 2 'Server is ready'. Rows: 2 identity mails in sys_identity_email, 0 diffs over 24 shared columns at the apply, gone from sys_email; 2 invitation mails stay; 8/8 global audit rows moved, 0 diffs; the 2 jobs naming moved mails carry object sys_identity_email in payload and metadata, invitation jobs unchanged; count deltas across the apply all named by the report. Doors: 3 users sign in 200 / 401 wrong; reset from the moved mail's token 200; one task PATCH wrote exactly one sys_http_delivery, ref_id declared:showcase_task_changed. No ablation: no tested behaviour changed. New script: eslint exit 0; tsc --noEmit with the dogfood compiler options exit 0.", "gates": "At head 884054f2 (merged origin/main c8583f80): dispatch-gates --commands derived 49; all 49 exit 0; --ran: 49 derived, 49 run, 0 NOT-MEASURED. First pass at 39125d9d had 3 non-zero for container state only (plugin-teardown-shape --self-test exit 3 on the shallow clone, fixed by fetching its pinned commit; check:dts-closure exit 1 and check:dual-build-cjs-loads exit 3 PREREQUISITE NOT MET, fixed by a full turbo build, 798 s under the lock). check-platform-checklist: OK, 7 area recipes, 12 references, 7/7 referenced, anchors 1004/1014 (10 on the named residual). CI check-runs: in_progress at report time.", "dogfood_battery": "n/a: no ! in the PR title and no (narrowing) arm; no dogfood test file changed, the new script is not collected", "mcp_calls": "0", "api_writes": "2: fleet-write relay pr_create (PR 26818, draft, assignee os-warren, label skip-changeset; read-back 11629 bytes sent, 11629 stored, identical) and this os-dev-report comment via post-stamped. Plus 3 git pushes (not REST).", "open_questions": [], "out_of_scope_findings": [ "carrier: none · noted, not filed: scripts/gen-upgrade-harness-fixture.mjs header still says two fixtures live in packages/qa/dogfood/test/upgrade-harness; a third (fixture-18.0.0-next.5) now sits there with its own generator; header drift, outside the card's paths", "carrier: none · noted, not filed: a production os serve boot over the restored pair is NOT MEASURED; the recipe requires --dev because the telemetry sibling belongs to the os dev composition the database was born in" ], "deviations": "The os-dev template's branch name claude/issue-N-slug is replaced by the platform-pinned thread branch (the seat's Claim records it). Commit trailers are the model-free pair; no harness model trailer was written. PR body folds .github/PULL_REQUEST_TEMPLATE.md headings into the os-dev order, as in PR 26789.", "body_amendments": [] }Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
ACCEPT → PR #26818 comment 6449457730
Generated by Claude Code
objectstack-fleet commentedon Oct 27, 2026
Landed: PR #26818, merged as
019f26ec5c· 2026-10-27T18:36ZThe recipe
cli-18-prerelease-dbrestores a showcase database that 18.0.0-next.5's ownos devcreated and served, from the committed dump underpackages/qa/dogfood/test/upgrade-harness/fixture-18.0.0-next.5/;cli.organization-ownership-ceremonyacceptance[5] no longer needs a tag build per run. ACCEPT → PR #26818 comment 6449457730.pm:dispatchedremoved; the card's slot is free.Generated by Claude Code