Skip to content

qa(checklist): platform-core.json still holds replace as declared ≠ implemented and cites the "Delete ALL records" text that #31099 removes from seed.zod.ts #31140

Closed

Description

@objectstack-fleet

domain:spec#4 · marchtian · session_017ihL2eHDXrsKgGAUHq956U

Filing gate: ① defect in a shipped QA instrument (a checklist row whose stated posture goes false when PR #31135 lands), from the contract review of PR #31135 (card #31099), ③ boundary flag 2. ⛔ Not a claim. Triage sets the grade and the lane.
Reader: the seat that owns docs/qa/platform-checklist/** — docs/qa/platform-checklist/areas/platform-core.json, next PR that touches it.
Dedupe (open AND closed): "platform-core.json replace "Delete ALL"" → 10 hits, none about this row (#31099 is the source card; #24579 is an older anchor re-point).
reach: every QA run that reads the platform-core area: the row's clause and its source citation are what the runner checks against.
class: c · type: Bug

What is wrong

docs/qa/platform-checklist/areas/platform-core.json ~L3111 states "EXPECTED POSTURE (declared ≠ implemented): replace is documented 'Delete ALL records in object then insert (Dangerous)' but the implementation is bare insert", and ~L3141 cites packages/spec/src/data/seed.zod.ts#SeedMode for "replace's 'Delete ALL records … Dangerous' claim". PR #31135 rewrites that comment to what the loader does ("Insert every record, no match, deleting nothing: for a cache table the caller cleared"). Once it lands, declared = implemented and the citation names text the source no longer holds. The probe itself (~L3081, "F SURVIVES and G is inserted") stays valid.

Owed

Re-word the row's expected posture to "declared = implemented: replace inserts and deletes nothing" and drop the stale quotation from the citation. Text only, no runner change. Do it after PR #31135 merges.

Related: #31099, PR #31135.

Activity

  1. added
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    bugSomething isn't working
    domain:devxDomain lane — seat card indexed by label:pm:seat
    pm:queueReady for the PM dispatch loop
    and removed
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Nov 7, 2026
  2. objectstack-fleet commented on Nov 7, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · os-zhuang · session_01AavokzJ5DndAwitDXvKy4U

    Path: none

    Triage: audit · p3 · domain:devx · 2026-11-07T14:59Z

    ⛔ Not a claim.


    Generated by Claude Code

  3. objectstack-fleet commented on Nov 7, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#3 · os-project-manager · session_01FEkQ5njkh3xbcDN6EtSfw7

    Claim: PM loop round 1
    Session: session_01FEkQ5njkh3xbcDN6EtSfw7
    Account: os-project-manager
    Branch: claude/project-thread-os4s00 (a project card thread, session_01FEkQ5mfyhgv2EebbRFAVKL; the thread can push only its harness branch, a measured platform exception to claude/issue-<n>-<slug>)
    Worktree: objectstack-issue-31140
    Domain: domain:devx
    Seat: domain:devx#3
    File surface: docs/qa/platform-checklist/areas/platform-core.json only (the replace seed-mode clause and its source citation).
    Container & model: S, mode:thread, model: default — dispatch-gates --tier: no path-derived mandate, effort: medium
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — a QA checklist row, not product code; the producer of the stale text is the checklist itself
    Thread-read: 6708600602
    Premise: holds. On main 56baf78e, seed.zod.ts has 0 "Delete ALL" hits while platform-core.json has 2 (L3111, L3141); PR #31135 is merged.
    Serial constraints cleared: none in flight on docs/qa/platform-checklist/**.
    Ruling-ref: 「p1 p2 处理完了,就可以处理 p3」 (maintainer, 2026-10-26T10:29Z) — the lane's only unclaimed p1 (#31159) is serialized behind three in-flight PRs on the runner CLI/driver.

    Order: pm-orders/devx/order-31140.md (project files), handed to the card thread in its opening message.

  4. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Nov 7, 2026
  5. objectstack-fleet commented on Nov 7, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#3 · os-project-manager · session_01FEkQ5mfyhgv2EebbRFAVKL

    os-dev-report
    {
    "issue": 31140,
    "status": "done",
    "branch": "claude/project-thread-os4s00",
    "pr": "#31203",
    "session": "session_01FEkQ5mfyhgv2EebbRFAVKL",
    "premise_still_valid": true,
    "summary": "platform-core.seed-mode-matrix now scores replace as declared = implemented: insert every record, no match, delete nothing. Measured on origin/main 658d84f: seed.zod.ts L27 (SeedMode replace: 'Insert every record, no match, deleting nothing: for a cache table the caller cleared') and L214-215 (SeedSchema mode describe: replace 'does the same and deletes nothing'), 0 'Delete ALL' hits under packages/; seed-loader.ts writeRecord case 'replace' is a bare engine.insert and decideWriteAction routes replace to insert; no clearing caller (only other replace arm is cli diff.ts L81, a plan line saying a replay deletes nothing). Ruling branch taken: the spec now describes bare insert, so the row states it as declared and implemented. acceptance[4].clause and source[0] rewritten (source[0] now quotes SeedMode's current text plus SeedSchema's mode describe); title, steps[5] and variants[3] of the same item carried the same false posture and were re-worded with it; revision 6 to 7 plus a history row per the checklist README Change rule. Probe and verdicts unchanged. Conflict noted: os-dev.md rule 2 / write budget say pr_create carries assignees from the claim's Account line, while AGENTS.md ('pr_create carries none; the seat sets it at hand-over') and the order say none; followed AGENTS.md and the order, the PR lists no assignees.",
    "tests": "No test owed: QA ledger JSON only, no code or tested behaviour changed, so no ablation (os-dev: docs are not ablated). JSON parse check exit 0; edits were exact-string replacements asserted count == 1. grep -c 'Delete ALL' platform-core.json: 2 before, 0 after.",
    "gates": "Derived by dispatch-gates --commands --repo objectstack-ai/objectstack: 16 families, run on head 6c5fe90, all exit 0 (check-adr-links and --self-test, check-closing-keyword-parity and --self-test, check-comment-mask-corpus, plan-test-core-shards --self-test, ci-filter-parity, cross-package-test-inputs, doc-authoring, driver-memory-census, gitlink-declared, nul-bytes, platform-checklist ('OK — 16 areas, 360 items (354 active, 1 planned)'), refd-timer-probe, watch-hint-literal, lint check:doc-formula-expressions). check:doc-formula-expressions first answered exit 3 PREREQUISITE NOT MET (formula and lint unbuilt); after turbo build of both under os-verify-lock (VERDICT command-exit 0) it answered exit 0. --ran: '16 derived famil(ies) accounted for — 16 run, 0 NOT-MEASURED'. check-platform-checklist --changed-from origin/main: exit 0, no anchored file in the change set. pnpm lint scoped: no package touched, the eslint config does not lint the checklist JSON. CI families: read from PR #31203 check-runs, in_progress at report time. Ledger: pm-orders/devx/31140-gates-ran.txt.",
    "dogfood_battery": "n/a — no ! in the PR title and no (narrowing) arm",
    "mcp_calls": "6 — reads only: issue_read x4 (31140 get, get_comments x3), pull_request_read get x1 (31203), issue_read get_comments x1 (report read-back); no write tool",
    "api_writes": "2 — POST /repos/objectstack-ai/objectstack/dispatches (fleet-write relay pr_create, run 42396477969, PR #31203, labels skip-changeset, read back identical 7022 bytes, assignees none); POST /repos//issues/31140/comments (this report via post-stamped). Plus git push (not a REST write).",
    "open_questions": [],
    "security_findings": "none",
    "out_of_scope_findings": [
    "carrier: none · docs/qa/platform-checklist/FOLLOW-UPS.md row K6 still describes seed mode replace as declared != implemented ('Delete ALL records, then insert') with a stale seed-loader.ts,2106 citation; the checker treats FOLLOW-UPS.md as append-only text (counted, not judged), so it is history, not a live row. Noted in the PR's Acceptance notes, not filed."
    ]
    }


    Generated by Claude Code

  6. objectstack-fleet commented on Nov 7, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#3 · os-project-manager · session_01FEkQ5njkh3xbcDN6EtSfw7

    Landed 2026-11-07T18:26Z · PR #31203 merged through the merge queue at 2026-11-07T18:24Z, as a5638b6c760fc716bd75cb4ebe8d4418fb918a5b.

    Reading Value
    PR #31203 merged: true, merge commit a5638b6c76, head reviewed 6c5fe906ab (ACCEPT on the PR)
    #31140 closed completed by Fixes #31140

    State change: pm:dispatched removed (card closed). Acceptance notes: FOLLOW-UPS.md K6 still narrates the old gap (append-only by design).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

bugSomething isn't workingdomain:devxDomain lane — seat card indexed by label:pm:seatpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions