Skip to content

qa(checklist): cli — 12 ledger edits from the 18.2.0 release sweep (#25807) #25841

Closed

Description

@objectstack-fleet

Filing gate: maintainer-directed task. Filed by the 18.2.0 release-assessment thread · session_01G3h9iZTpL8aCiXbfsp8H5u. ⛔ Not a claim, ⛔ not dispatched.

Maintainer's words (project thread, 2026-10-25, verbatim): 22:54Z 「约 300 条清单准确性问题:是不是应该开卡?」, then 22:55Z 「写issue,不派发」.

Parent: wave anchor #25807 (18.2.0 release test sweep). RUNNER's extraction obligation parks checklist-accuracy findings on the anchor; the maintainer asked for them as issues, so the wave's findings are split into one card per ledger file and the anchor links each card. This is not a release blocker, so it carries no target:v18.

Reader who acts: the lane owning docs/qa/platform-checklist/** (domain:devx). Dedupe (open and closed): no card holds these lines; the 18.0 precedent closed its accuracy rows on its anchor #24579.

Wanted

For each line below, edit docs/qa/platform-checklist/areas/cli.json: revise the item's text, bump its revision, and append a history entry citing the run record the line comes from. Keep pnpm check:platform-checklist green. A line that turns out to describe a product defect rather than stale text gets its own card instead of a ledger edit.

Findings (12)

From #25812 — priority:P0, 23 items, at 6679644a, pin b41ed7f68956

  • cli.organization-ownership-ceremony: planning a raw v17 DB before any v18 boot blocks the apply at the rewrite step (resumable after one boot) — put the refused boot before the plan; apply needs OS_AUTH_SECRET (or --dev) or it blocks at authored-conversion; on a real 17.x DB the drop gate's first refusal is refused_comment_reactions_unconverted, so os migrate comment-reactions --apply --yes (step 4, which also lacks --yes) must come before step 3; acc[0] prescribes --maxWorkers=2; c5 knownGaps should say a published prerelease CLI is no substitute.

From #25815 — release-18.2.0-tier1, 156 items, at 6679644a, pin b41ed7f68956 (clause labels: aK = acceptance[K], nK = negative[K])

  • cli.dev-automigrate-policy a4/n2: ref names cases 'auto-tightens at boot under autoMigrate: safe when the probe is clean' and 'BLOCKS the tightening on duplicate NULL-organization rows — old index kept, rows reported' in a describe 'bare-composite tightening + duplicate pre-flight (ADR-0120 D4)' — none exist in sql-driver-unique-tenancy.test.ts on this tree; the file now has 'bare composite from a pre-18 database — no tightening proposed (ADR-0131 D1)' asserting zero drift and 'duplicate NULL-organization rows are no longer a blocker — no op proposed, rows and index kept'. The clause text (D4 tighten, blocked report) is stale against ADR-0131 D1
  • cli.dev-automigrate-policy a4: a BLOCKED unique create_index is still pinned elsewhere (packages/drivers/driver-sql/src/sql-driver-25031-blocked-unique-apply-limit.test.ts), not in the ref — if a4 is rewritten around it, add it
  • cli.dev-automigrate-policy a2: the production case asserts the warning prefix only; the 'Run os migrate deliberately' remedy is unasserted (the ref says so)
  • cli.meta-package-flags-and-explain a1: verify names 'server log' as evidence; the pin observes the wire (?package= on the PUT) and the door's parsed request instead — equivalent, but no server log is read
  • cli.migrate-meta-write-stored-and-all a4: canonicalize-stored-flow.test.ts and refused-shapes.test.ts pin the TODO sink (canonicalizeStoredFlow todos / refused-shape onTodo); no file in the ref runs os migrate meta --stored and reads the printed TODO lines
  • cli.organization-ownership-ceremony a1: occupancy pin's plan run mocks boot; no pin compares a DB checksum before/after a bare plan run
  • cli.organization-ownership-ceremony a2: organization-ownership-apply.generation-1.test.ts › runs every step in order, certifies, and records this release's shape generation in the checkpoint calls apply() over a fake ledger — the CLI's --apply --plan-file --backup-taken exit 0 is not asserted
  • cli.organization-ownership-ceremony a3: organization-ownership-boot-guard.test.ts asserts assertOrganizationOwnershipMigrated's error code/message directly; the served-boot error line and the migrated boot's ready line need a live boot
  • cli.organization-ownership-ceremony a4: 'checksums before/after' approximated by columnsOf() still containing organization_id and applied: []
  • cli.scaffold-first-run ref .github/workflows/scaffold-e2e.yml exists but is a CI workflow, not a vitest/Playwright file: a Tier 1 pin run collects nothing for this item (scores via the workflow's own CI run only)

From #25817 — release-18.2.0-manual-set, 29 items, at 6679644a, pin b41ed7f68956

  • cli.fresh-install-migrate-apply-first: N1 states scope (the pin's case b), not an outcome, so it can only score skipped. This is the same class revision 3 fixed on the write-door item.

Acceptance

  • Every line above is either applied (item revised, revision bumped, history cites the record) or answered on this card with the reason it was not.
  • pnpm check:platform-checklist is green.
  • The PR links this card and [sweep] v18.2.0 release test sweep #25807.

Generated by Claude Code

Activity

  1. added
    documentationImprovements or additions to documentation
    domain:devxDomain lane — seat card indexed by label:pm:seat
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    pm:on-holdDecision made, deliberately deferred — no dispatch, no nag; restart condition in the hold comment
    pm:queueReady for the PM dispatch loop
    and removed
    pm:on-holdDecision made, deliberately deferred — no dispatch, no nag; restart condition in the hold comment
    on Oct 25, 2026
  2. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Oct 26, 2026
  3. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1 · 2026-10-26T12:21Z
    Session: session_01Q4MDXRbEJCNdPAP4SiXwp9 (devx seat 2) · card thread session_01823ttjfkpGPQoMkyMifZPo
    Account: os-steve
    Branch: claude/project-thread-qrxh3m (the harness-pinned branch of the card thread; it names no issue, so this claim is the identity record; amended on spawn)
    Worktree: objectstack-issue-25841
    Domain: domain:devx
    Seat: domain:devx#2 (seat post #20163)
    File surface: docs/qa/platform-checklist/areas/cli.json only (stop on breach; explain in the report)
    Container & model: M, mode:thread, model: default tier (TIER_DEFAULT, from dispatch-gates --tier: no path-derived mandate), effort: high
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card
    Thread-read: none
    Premise: holds (action surface git log origin/main on the file since filing: no commit; the dev re-reads each line against main first)
    Serial constraints cleared: own ledger file only; seat 1 holds #25835 / #25836 on other files; #26035 left the retired objectui pin wording in these files to these cards; no other Claim: names this file


    Generated by Claude Code

  4. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
     "issue": 25841,
     "status": "done",
     "branch": "claude/project-thread-qrxh3m",
     "pr": "https://github.com/objectstack-ai/objectstack/pull/26113",
     "head": "6b69cb76",
     "session": "session_01823ttjfkpGPQoMkyMifZPo",
     "premise_still_valid": true,
     "summary": "All 12 lines applied in docs/qa/platform-checklist/areas/cli.json across 6 items (ceremony 4->5, dev-automigrate-policy 6->7, meta-package-flags 2->3, migrate-meta-write-stored 2->3, scaffold-first-run 5->6, fresh-install-migrate-apply-first 1->2), each with a history row citing QA run #25812, #25815 or #25817. Each line was re-read at base 9753d163; none is a product defect. The dev-automigrate a2 line needed no text change because revision 6's automated.ref already records it, and the history row says so. Retired objectui pin wording rewritten to pnpm console:build in dev-boot-contract (7->8), qa-suite-execution (9->10) and scaffold-console-first-paint (5->6); history rows quoting the old wording are left as records.",
     "files_changed": [
      "docs/qa/platform-checklist/areas/cli.json"
     ],
     "line_budget": "74 additions + 39 deletions = 113 changed lines, 1 file (cap 3000)",
     "tests": "n/a: ledger JSON only, no package touched, so no build closure or package tests are owed",
     "gates": "local at 6b69cb76: dispatch-gates --commands derived 13 families from 1 path; all 13 ran, exit 0 each: check-ci-filter-parity, check-closing-keyword-parity, check-closing-keyword-parity --self-test, check-comment-mask-corpus, @objectstack/lint check:doc-formula-expressions (first run exit 3 PREREQUISITE, re-run exit 0 after turbo build of @objectstack/formula and @objectstack/lint under os-verify-lock, VERDICT command-exit 0), check:cross-package-test-inputs, check:doc-authoring, check:driver-memory-census, check:gitlink-declared, check:nul-bytes, check:platform-checklist (OK: 16 areas, 329 items, 324 active, 1 planned), check:refd-timer-probe, check:watch-hint-literal. --ran: 13 derived, 13 run, 0 NOT-MEASURED, 0 UNRUN (derived zero). CI check-runs: in_progress at report time, not awaited",
     "dogfood_battery": "n/a: no ! in the PR title and Clause-2 has no (narrowing) arm",
     "mcp_calls": "5: mcp__github__issue_read x5 (25841 get, 25841 get_comments x2, 26052 get, 26035 get); 0 write tools",
     "api_writes": "2: POST /repos/objectstack-ai/objectstack/dispatches (fleet-write pr_create: PR 26113 draft, assignee os-steve, label skip-changeset, body read back byte-identical) + this os-dev-report comment via post-stamped",
     "deviations": [
      "edits were drafted in the worktree before the Claim's Branch line was amended (12:28:41Z); nothing was committed or pushed until the Claim named this branch",
      "no reviewer was requested on the PR: the dispatch forbids MCP writes and the write budget has no reviewer write; the seat may request os-steve",
      "commit 6b69cb76 carries the model-free trailer pair AGENTS.md prescribes, not the harness reminder's model-named Co-Authored-By line",
      "the shared primary checkout was detached so the thread branch could be checked out in worktree ../objectstack-issue-25841"
     ],
     "open_questions": [],
     "out_of_scope_findings": []
    }

    Generated by Claude Code

  5. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    devx seat 2 · review: ACCEPT → PR #26113 comment 6416369463. Landing: ready + merge queue once every check on the reviewed head is green or skipped.


    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, iteratedocumentationImprovements or additions to documentationdomain:devxDomain lane — seat card indexed by label:pm:seatpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions