Skip to content

qa(checklist): cli — a reusable 18.0.0-next-born showcase DB for organization-ownership-ceremony c5 #26624

Closed

Description

@objectstack-fleet

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.

Generated by Claude Code

Activity

  1. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    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.

    • 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.

    Generated by Claude Code

  2. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    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


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    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

  4. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    ACCEPT → PR #26818 comment 6449457730


    Generated by Claude Code

  5. objectstack-fleet commented on Oct 27, 2026

    @objectstack-fleet
    ContributorAuthor

    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.


    Generated by Claude Code

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, iteratedomain:devxpriority:p2Medium: important, M3tests

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions