Repository navigation
docs(qa): wave-3 checklist accuracy slice S7 — integration-system.json, attachments-storage.json, cli.json (#27377) #28341
Description
domain:devx#2 · os-justin · session_01QSeKYmTYfaPbLQD4BJfomW
Sub-issue of #27377, the v18.3.0 release test sweep anchor. This is wave-3 checklist-accuracy slice S7, split out on the maintainer's word in seat session session_01QSeKYmTYfaPbLQD4BJfomW: 「同意」, to the seat's proposal to split S4–S8 into sub-issues so that both devx seats can work them. ⛔ Not a claim. Any devx seat may claim it. domain:devx is inherited from the parent.
Scope
Files: docs/qa/platform-checklist/areas/integration-system.json, docs/qa/platform-checklist/areas/attachments-storage.json, docs/qa/platform-checklist/areas/cli.json. No other file. ⛔ No product code.
Rows: 28, from the seat's read-only census of every finding parked on #27377 (census note 6539602007), taken at origin/main 501c864dd5. Re-verify each row against the current head before editing. A row that no longer holds is reported as fixed upstream.
| census row | record | item | verdict | evidence (census) |
|---|---|---|---|---|
| 19 | #27392 | cli.fresh-install-migrate-apply-first |
STALE | requires[0] "os dev, os serve and os migrate plan each create tables". |
| 20 | #27392 | cli.hook-body-extraction-gates |
STALE | steps[2] and acc[3] probe the retired comment only in TS config, where esbuild strips it. No body.source probe. |
| 21 | #27392 | cli.qa-suite-execution |
STALE | acc[4] "it counts as one failed suite". |
| 39 | #27409 | cli.organization-ownership-ceremony |
GAP | A4 needs a v17 DB. Recipe yes: a 17.7.0 blank-scaffold boot (see the C1 v17 row). |
| 54 | #27409 | attachments-storage.download-authz-both-sides |
STALE | steps[6] names no viewport (the panel appears at 1600px, not 1280px). |
| 55 | #27409 | attachments-storage.orphan-tombstone-reap |
STALE | steps[1] "trigger the LifecycleService sweep" names no trigger. |
| 56 | #27409 | attachments-storage.upload-session-abort |
STALE | steps[1] "PUT one chunk" has no x-resume-token, and the complete parts shape is unnamed. r7 (#27781) left this unchanged. |
| 57 | #27409 | attachments-storage.upload-limits-scope-and-ownership |
STALE | acc[5] and steps[4] have no copy-on-write or driver-write note. |
| 62 | #27409 | cli.organization-ownership-ceremony |
STALE | acc[3] "refuses … with ORGANIZATION_OWNERSHIP_MIGRATION_REQUIRED". Duplicate of the C1 row. |
| 63 | #27409 | cli.organization-ownership-ceremony |
STALE | acc[5] reset token: the cli-18-prerelease-db recipe (cli.json area fixtures) never re-dates sys_verification.expires_at. Recipe yes: one UPDATE after restore. |
| 64 | #27409 | cli.organization-ownership-ceremony |
STALE | steps[5] does not say which file the delivery row lands in (primary, not telemetry). |
| 65 | #27409 | cli.meta-package-flags-and-explain |
STALE | requires[2] and steps[1] have no dependency or sharingModel guidance. |
| 66 | #27409 | cli.validate-v18-authoring-verdicts |
STALE | steps[1] control record.name == … (showcase_task has title); the cbp raw-object note is missing. |
| 67 | #27409 | cli.scaffold-first-run |
STALE | requires[1] pack recipe has no scripts-off flag and no same-version note. |
| 76 | #27441 | cli.scaffold-console-first-paint |
GAP | Candidate console not exercised. Recipe yes: the existing pre-release registry variant (requires[1]), or the post-publish smoke. |
| 112 | #27441 | cli.scaffold-console-first-paint |
STALE | steps[0] npx only; no built-scaffolder fallback. |
| 118 | #27441 | integration-system.job-scheduled-run |
STALE | acc[5] "… os migrate meta --from 16". |
| 119 | #27441 | integration-system.notify-inbox-delivery |
STALE | steps[0] does not say assignee is an email text field. |
| 132 | #27481 | cli.organization-ownership-ceremony |
GAP | A5 token: duplicate of the C2a recipe row (recipe yes). |
| 143 | #27481 | cli.organization-ownership-ceremony |
STALE | acc[1] "the DB checksum is unchanged". |
| 144 | #27481 | cli.organization-ownership-ceremony |
STALE | acc[3] expects the code literal. Defer it to the pins. |
| 151 | #27438 | integration-system.external-schema-drift-gate |
GAP | The sibling half is pin-only, so park it. N5 (federation-free boot) is cheap: recipe yes. |
| 188 | #27438 | integration-system.external-schema-introspection |
STALE | acc[1].verify "?schema= and repeated ?schema both answer 200 with the full set". |
| 189 | #27438 | integration-system.email-template-render |
STALE | acc[7] "(200 with result.status 'sent')". r10 (10-29) kept it. |
| 190 | #27438 | integration-system.email-template-render |
STALE | steps[5] "author a template with fromOverride + replyTo" gives no shape. |
| 191 | #27438 | integration-system.email-template-render |
STALE | acc[1]/[2] use oracle "log"; the evidence is in sys_notification_delivery. |
| 192 | #27438 | integration-system.external-schema-drift-gate |
STALE | acc[0] and steps[2] "boot aborts with ExternalSchemaMismatchError". |
| 193 | #27438 | integration-system.notification-org-and-redeliver-eligibility |
STALE | requires[2] "create an ACTIVE webhook … (POST /api/v1/data/sys_webhook)" lacks method and definition_json. |
GAP rows are listed only where the census found a cheap fixture recipe. The other gaps stay parked on #27377.
Edit shape (wave 2's slices A–D; #27164 is the precedent)
revisiongoes up by 1.- main's
historystays an exact prefix, with ONE appended row citing the run record (QA run · release-18.3.0-w3-manual-api (25/25) · c4c515ad · 2026-10-29 · 23 PASS / 2 PARTIAL / 0 FAIL / 0 BLOCKED / 0 NOT-RUN #27392, QA run · release-18.3.0-w3-tier1-a (73/73) · c4c515ad · 2026-10-29 · 59 PASS / 14 PARTIAL / 0 FAIL / 0 BLOCKED / 0 NOT-RUN #27409, QA run · release-18.3.0-w3-tier1-b (89/89) · c4c515ad · 2026-10-29 · 79 PASS / 6 PARTIAL / 4 FAIL / 0 BLOCKED / 0 NOT-RUN #27438, QA run · release-18.3.0-w3-manual-browser (54/55) · c4c515ad · 2026-10-29 · 44 PASS / 2 PARTIAL / 8 FAIL / 0 BLOCKED / 1 NOT-RUN #27441 or QA run · priority:P0 (23/23) · c4c515ad · 2026-10-29 · 20 PASS / 3 PARTIAL / 0 FAIL / 0 BLOCKED / 0 NOT-RUN #27481) and [sweep] v18.3.0 release test sweep #27377. - The text is fixed to what the code says today.
- An edit may make a clause stronger or more precise. It never weakens a clause to make it pass.
- A finding that, on reading, is a product defect is NOT edited. It is reported for the seat to file.
- Keep
pnpm check:platform-checklistgreen. - Changeset: none (label
skip-changeset). - The PR says
Fixes #<this card>andPart of #27377.
Not in this slice (held on #27377 until ruled)
studio-authoring.expression-editors;- the SCOPE-negatives sweep, which includes
platform-core.notification-centernegative[3]; ai.mcp-stdio-fail-closed;- the UNCLEAR rows:
settings-organization-isolation-and-platform-rungandux-conventions.write-feedbackacc[1].verify, among others.
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 31, 2026
domain:devx#1 · os-zhuang · session_01QUs3BvP5Aq9USg5GtmgAAR
Claim: PM loop round 1
Session:
session_01QUs3BvP5Aq9USg5GtmgAARAccount:
os-zhuangBranch:
claude/project-thread-8910ib(the card thread's platform-assigned push branch, the measured platform exception to the protocol branch shape)Worktree:
objectstack-issue-28341Domain:
domain:devxSeat:
domain:devx#1File surface:
docs/qa/platform-checklist/areas/{integration-system,attachments-storage,cli}.json(stop on breach; explain in the report)Container & model:
M,mode:thread,model: default (dispatch-gates --tier: no path-derived mandate; 28 census rows needing code reads),effort: xhigh (p1)Clause-②: no
Metadata-protocol: none
Responsibility:
n/a — not a defect cardThread-read: none
Premise: holds (census 6539602007 at
501c864dd5; no commit on the three files since, at22ce3d13fe; the dev re-verifies each row at head)Serial constraints cleared: disjoint from in-flight slices #28338, #28340, #28342 and #28339; rows held on #28345 are out of scope; none
Taken at 2026-10-31T06:39Z on seat 2's hand-over (sign-off brief 6540114700: 「剩下的叫给 seat 1」).
objectstack-fleet commentedon Oct 31, 2026
domain:devx#1 · os-zhuang · session_01QUs3BwBJH8nkmvFpQugNUm
os-dev-report
{ "issue": 28341, "status": "done", "branch": "claude/project-thread-8910ib", "pr": "https://github.com/objectstack-ai/objectstack/pull/28373", "head": "2b4bc3beb6c335240df8fc2ef86fd65828489f07", "session": "session_01QUs3BwBJH8nkmvFpQugNUm", "premise_still_valid": true, "summary": "All 28 census rows re-verified against source at base 22ce3d13fe; all 28 still held, none fixed upstream. PM assumption confirmed: git log 501c864dd5..origin/main over the three files is empty (501c864dd5 is an ancestor, exit 0; 20 commits in range). 14 items edited across cli.json (4), attachments-storage.json (4) and integration-system.json (6): revision +1 each, main's history an exact prefix plus one appended row citing the run record and #27377 (checked mechanically against git show HEAD). One area recipe step added (cli-18-prerelease-db sequence step 3, re-dating the dump's reset token), replayed against the committed dump: prints 1. No clause weakened; three made stronger (introspection acc[1].verify now requires the 400 refusal; upload-limits acc[5] adds a raw column read; hook-body acc[3] adds the data-body probe). No product defect found.", "tests": "None owed: ledger text under docs/qa only, read by no package test. Recipe call replayed by hand on database.sql loaded into a scratch node:sqlite file: changes 1, expires_at moved forward.", "gates": "dispatch-gates --commands --repo objectstack-ai/objectstack derived 16 families at head 2b4bc3be (188 changed lines). All 16 exit 0: check-adr-links (+self-test), check-closing-keyword-parity (+self-test), check-comment-mask-corpus, plan-test-core-shards --self-test, lint check:doc-formula-expressions, check:ci-filter-parity, check:cross-package-test-inputs, check:doc-authoring, check:driver-memory-census, check:gitlink-declared, check:nul-bytes, check:platform-checklist (OK 16 areas 352 items; anchors 1079/1089 vs base 1072/1082, 7 new all resolve), check:refd-timer-probe, check:watch-hint-literal. --ran reconciliation: 16 derived, 16 run, 0 NOT-MEASURED, 0 UNRUN (derived zero, all exit codes recorded). First pass had 5 exit 3 (PREREQUISITE NOT MET, no node_modules / formula+lint unbuilt); re-run after pnpm install --frozen-lockfile and the lock-held turbo build (VERDICT command-exit 0). CI check-runs: in_progress at report time.", "line_budget": "137 additions / 51 deletions over 3 files (188, under the 3000 human-merge line); no skills/** or ratcheted ledger touched", "files_changed": [ "docs/qa/platform-checklist/areas/cli.json", "docs/qa/platform-checklist/areas/attachments-storage.json", "docs/qa/platform-checklist/areas/integration-system.json" ], "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm", "mcp_calls": "3 — mcp__github__issue_read get #28341, mcp__github__issue_read get_comments #28341, mcp__github__pull_request_read get #28373; all reads, no write tool", "api_writes": "2 relay strokes (repository_dispatch to the board, executed as objectstack-fleet[bot]): (1) pr_create = POST /repos/objectstack-ai/objectstack/pulls (draft) + POST /repos/objectstack-ai/objectstack/issues/28373/labels [skip-changeset], read back identical 10643/10643 bytes, label present; (2) this os-dev-report comment = POST /repos/objectstack-ai/objectstack/issues/28341/comments. git push is not a REST write. Reads used gh api GET (census note, run records, anchor comments).", "deviations": [ "Commit message body says 18 items; the true count is 14 (the census's own S7 line said 18 items plus a recipe). The PR body carries the right count; the branch is not claude/issue-* so it is not rewritten.", "Commit trailer is the model-free pair per AGENTS.md; the harness reminder asked for a model-named Co-Authored-By, which os-dev.md says yields to the repo rule.", "Worktree created from the container's own checkout (main checkout detached, worktree on the platform branch); the branch name is the platform-assigned claude/project-thread-8910ib, not claude/issue-28341-*.", "The harness asked to assign and request review from os-zhuang after PR creation and to subscribe to PR activity; not done, per the dispatch (no assignees, no reviewers, relay-only writes) and os-dev.md (the dispatch contract outranks the platform subscription posture)." ], "open_questions": [], "out_of_scope_findings": [ "carrier: none · noted, not filed — cli.json fixtures cli-18-prerelease-db requires[2] still says a production os serve over the restored pair is NOT MEASURED; QA run #27409 drove one (census row 64's measurement). Not a census row of this slice, left unedited.", "carrier: none · noted, not filed — anchor note on platform-core.v18-boot-refusals acceptance[1] (allow the optional --dev in the named command) has a platform-core half outside this slice's files (S4); the cli half was folded into the row 62/144 acceptance[3] edit, since that clause was rewritten anyway." ] }Generated by Claude Code
objectstack-fleet commentedon Oct 31, 2026
domain:devx#1 · os-zhuang · session_01QUs3BvP5Aq9USg5GtmgAAR
Landed · 2026-10-31T07:42Z — PR #28373 merged through the queue as
1edceb1e.merged=trueState change: card closed
completedbyFixes;pm:dispatchedremoved in this stroke.