Skip to content

checklist: re-point two api clauses to the shape #32935 landed, and fix the read-file CPU-budget step (QA 18.4.0 R2 api slice) #33032

Closed

Description

@objectstack-fleet

qa#3 · os-tesla · session_01L9qibw6yXcLi9aRRBpPT4W

Three api-slice clauses failed at ee9ad83. In each, the product behaves as its current contract says and the item's text lags. Each fix is a checklist edit: revise the item, bump its revision, add a history row, and keep node scripts/check-platform-checklist.mjs green.

  1. records-forms.field-unique-enforcement · acceptance[0] (stale spec).
  2. api-backend.error-sentences-and-unique-violation-wire-code · acceptance[2] (stale spec).
    • The same commit widened the 409 details to {developerMessage, field, object}.
    • The clause's "no field — … the driver names no single column" must expect field = the duplicated column. The error-sentences-live pin already does.
  3. ai.mcp-read-file-pdf-word-extraction · acceptance[3] (assertion defect).
    • At OS_MCP_READ_FILE_CPU_BUDGET_MS=1 nothing is read before the budget ends, so the product answers content:"none" plus the budget note, by design (packages/mcp/src/file-content.ts:574).
    • The step needs a budget that lets at least one page through (≈40 ms measured: truncated:true, "after page 2 of 180").
    • The fixture should name showcase_invoice_line.receipt; showcase_invoice has no file field.

QA-source: #33025 · records-forms.field-unique-enforcement · acceptance[0]
QA-source: #33025 · api-backend.error-sentences-and-unique-violation-wire-code · acceptance[2]
QA-source: #33025 · ai.mcp-read-file-pdf-word-extraction · acceptance[3]

The fourth stale fail of the slice, api-backend.actions-namespace-address acceptance[0], is already re-pointed by PR #32965 (merged 2026-11-13 04:21Z), so it is not in this card.

Activity

  1. objectstack-fleet commented on Nov 13, 2026

    @objectstack-fleet
    ContributorAuthor

    triage#1 · hotlong · session_01Q4EjjMnyLqJdzuktEmRPXH

    Path: none

    Triage: first touch → domain:devx · p2 · pm:queue · 2026-11-13T05:46Z

    ⛔ Not a claim.


    Generated by Claude Code

  2. added
    domain:devxDomain lane — seat card indexed by label:pm:seat
    pm:queueReady for the PM dispatch loop
    on Nov 13, 2026
  3. objectstack-fleet commented on Nov 14, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · sunhaolin · session_017xRBcRZn9wGkMSrznVX4JS

    Claim: PM loop round 1 · 2026-11-14T14:47Z · family fold, chain head (members #33054 #33060 #33086 #33091 each carry a pointer claim)
    Session: session_017xRBcRZn9wGkMSrznVX4JS
    Account: sunhaolin
    Branch: claude/issue-33032-checklist-repoint-fold
    Worktree: objectstack-issue-33032
    Domain: domain:devx
    Seat: domain:devx#2
    File surface: docs/qa/platform-checklist/areas/{api-backend,platform-core,cli,approvals,studio-authoring,records-forms,ai}.json (the nine named items only), and docs/qa/platform-checklist/coverage.json / FOLLOW-UPS.md only where pnpm check:platform-checklist regenerates or requires them; no product code, no changeset unless a gate demands one (stop on breach; explain in the report)
    Container & model: M, mode:subagent, model: opus (default tier; dispatch-gates --tier on the surface: "no path-derived mandate"), effort: high (eleven clause re-points across five cards, each re-measured against the product)
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card (the product is right; the checklist item text lags it)
    Thread-read: 6845288733
    Premise: holds — each named clause still reads stale on origin/main e540baf8 (revisions unchanged since the QA readings: bare-name rev 3, rest-metadata-config rev 9, second-object rev 3, validate-v18 rev 2, error-sentences rev 8, record-page-decisions rev 5, flow-status rev 5, field-unique rev 13, read-file rev 2)
    Serial constraints cleared: no in-flight claim (any lane, 10 pm:dispatched cards read) declares docs/qa/platform-checklist/**; product PRs edit area files on their own (#33204 touched cli.json, #33165 studio-authoring.json today), so the merge queue arbitrates; #32908's item-text close-out is held behind this fold on the same files

    Fold, five gates. ① one defect shape, one fix: a checklist clause lags a correct product → re-point the text, bump revision, add a history row; ② one tree, one worktree, one queue slot; ③ all five triaged p2 (triage audits on each card), none in the decision box; ④ each member checks on its own named clause(s) plus pnpm check:platform-checklist green; ⑤ excluded: #32908 (its parked notes are a mixed set — partial coverage, runner tooling, item text — and not one fix shape), #32976 (a cli flake, other tree).
    Members: #33032 (3 clauses), #33054 (1), #33060 (1), #33086 (3; its trailing error-sentences A2 note is #33032 item 2, done once), #33091 (2 + title/fixtures). One PR, one Fixes #n line per member, one commit per member.

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

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · sunhaolin · session_017xRBcRZn9wGkMSrznVX4JS
    os-dev-report

    {
      "issue": 33032,
      "fold_members": [33054, 33060, 33086, 33091],
      "status": "done",
      "branch": "claude/issue-33032-checklist-repoint-fold",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/33273",
      "session": "session_017xRBcRZn9wGkMSrznVX4JS",
      "premise_still_valid": true,
      "summary": "Re-pointed 8 of the 9 named checklist items to the product at e540baf8, one commit per card (549d5a6b #33032, ef784857 #33086, 55058038 #33054, c6c56d4f #33060, 51098eec #33091). Each edited item has its revision bumped and a history row added. #33032 item 3 (ai.mcp-read-file-pdf-word-extraction A3) needed no edit: 29f9d3c6 (#33021) had already landed r2 (60 ms budget, zero-page shape as a fixture signal, showcase_invoice_line.receipt) after the ee9ad834 reading the card came from. #33086's error-sentences A2 note was done once, in #33032's commit. Two Zone-2 readings were false at base, and I re-pointed to what I measured. (1) tool is namespace-scoped since c747cf05 (#33124), so the bare-name item drives connector, the only covered type outside NAMESPACE_SCOPED_BARE_NAME_TYPES, and names the driven type as that list's complement. (2) The internal-field position pin moved in b388cfeca6 (#29003), not bca2a515.",
      "files_changed": [
        "docs/qa/platform-checklist/areas/records-forms.json",
        "docs/qa/platform-checklist/areas/api-backend.json",
        "docs/qa/platform-checklist/areas/cli.json",
        "docs/qa/platform-checklist/areas/studio-authoring.json",
        "docs/qa/platform-checklist/areas/approvals.json",
        "docs/qa/platform-checklist/areas/platform-core.json"
      ],
      "tests": "No test changed (text-only fold). Judging gate at head 51098eec: `node scripts/check-platform-checklist.mjs` EXIT=0, 'check-platform-checklist: OK — 16 areas, 427 items (419 active, 3 planned)', symbol anchors 1635/1645 resolved (base e540baf8: 1621/1631; 14 new anchors all resolve, residual 10 unchanged). Every Zone-2 reading was measured by reading source and pins at base: mount-table pin FOUR/FOURTEEN rows; objectql position pin and metadata-protocol delegation twin present, old path absent; controlledByParentMasterRefusal and forceCbpMasterDetailRequired (optional master); duplicate-record-error.ts and both dogfood pins asserting field-naming and details {developerMessage, field, object}; refuseUnreadableRequest (404) vs FORBIDDEN; describeFlowRunStatus title/detail split; package-scoped-resolution.ts lists; file-content.ts pdfAnswer. No pin was run and nothing was driven live. No ablation (no tested behaviour changed).",
      "gates": "Local, re-derived on the diff (`dispatch-gates --commands --repo objectstack-ai/objectstack`, tree 51098eec, 16 families), exit captured before any pipe: check-adr-links 0, --self-test 0; check-closing-keyword-parity 0, --self-test 0; check-comment-mask-corpus 0; plan-test-core-shards --self-test 0; @objectstack/lint check:doc-formula-expressions 3 (PREREQUISITE NOT MET: formula and lint unbuilt), then 0 after `turbo run build --filter=@objectstack/formula --filter=@objectstack/lint` under os-verify-lock (VERDICT command-exit 0, 96s); check:ci-filter-parity 0; check:cross-package-test-inputs 0; check:doc-authoring 0; check:driver-memory-census 0; check:gitlink-declared 0; check:nul-bytes 0; check:platform-checklist 0; check:refd-timer-probe 0; check:watch-hint-literal 0. `dispatch-gates --ran`: 16 derived, 16 run, 0 NOT-MEASURED, 0 UNRUN. CI at report time on 51098eec: Check Changeset success, Governed Surface Queue Guard success; Lint (8 jobs), Type Check (4 jobs), PR-body guards and Check Documentation Links in_progress. Not polled further.",
      "line_budget": "n/a — no skills/** or ratcheted ledger touched",
      "dogfood_battery": "n/a — no `!` in the PR title and no (narrowing) arm",
      "mcp_calls": "0",
      "api_writes": "2 — both relay strokes, each a POST /repos/objectstack-ai/objectstack/dispatches executed as objectstack-fleet[bot]: (1) pr_create, i.e. POST /repos/objectstack-ai/objectstack/pulls (draft) with its labels leg (skip-changeset) and assignees leg (sunhaolin), read back identical (8640 bytes); (2) this os-dev-report comment on #33032 via post-stamped.mjs. git push is not a REST write.",
      "deviations": [
        "Zone 2 bare-name reading ('tool (or connector) is what is still held once per deployment') was false at e540baf8: c747cf05 (#33124) narrowed tool; re-pointed to connector",
        "Zone 2 second-object reading named bca2a515 (#32128) as the move; the REST commit listing of both paths gives b388cfeca6 (#29003); the history row cites the latter",
        "#33032 item 3 left unedited: already satisfied by 29f9d3c6 (#33021) at base",
        "Commit trailers use AGENTS.md's model-free pair (Co-authored-by: Claude) rather than the harness reminder's model-named trailer; PR body ends with AGENTS.md's session-URL footer rather than the harness's line",
        "The connector legs (#33091) and the new `os lint` clause (#33086) were read from source and unit pins, not driven live. The PR body's Acceptance notes say so",
        "test:repo not run locally: no test or derived family names it; declared to CI"
      ],
      "open_questions": [],
      "security_findings": "none",
      "out_of_scope_findings": [
        "carrier: seat (PR #33273 Acceptance notes) · approvals.request-page-reply-and-reader-visibility acceptance[1] stale (non-participant member's comment POST answers 404 REQUEST_NOT_FOUND, not 403); approvals.quorum-m-of-n steps[4] half stale (the no-position user gets 404; Ada's repeat 403 holds); approvals.decision-action-matrix acceptance[6] under-specified (FORBIDDEN only for a reader non-submitter; a non-participant gets 404), negative[2] not stale · noted, not filed",
        "carrier: qa#3 card-B-api-5 (named in #33086's body) · the `metadata.endpoints.item` describe() in packages/spec/src/api/rest-server.zod.ts omits GET /meta/:type/:ns/:name, which the mount table gates; the `maintenance` describe() is current · noted, not filed"
      ]
    }
  6. objectstack-fleet commented on Nov 14, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · sunhaolin · session_017xRBcRZn9wGkMSrznVX4JS

    ACCEPT → PR #33273 comment 6879625279 · head 51098eec · landing waits for every check to go green.

  7. objectstack-fleet commented on Nov 14, 2026

    @objectstack-fleet
    ContributorAuthor

    domain:devx#2 · sunhaolin · session_017xRBcRZn9wGkMSrznVX4JS

    Landed · 2026-11-14T15:57Z · PR #33273 merged as fdb76fb89d (closed completed). pm:dispatched removed in this stroke. ACCEPT 6879625279, landing 6879756256.

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

Metadata

Metadata

Assignees

Labels

domain: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