Repository navigation
Description
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/ai.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 (14)
From #25812 — priority:P0, 23 items, at 6679644a, pin b41ed7f68956
ai.mcp-stdio-fail-closedsteps 2 and 9: the INFO lines need--log-level infoonos start;query_recordscapslimitat 50.
From #25815 — release-18.2.0-tier1, 156 items, at 6679644a, pin b41ed7f68956 (clause labels: aK = acceptance[K], nK = negative[K])
ai.mcp-coded-refusals-and-runtime-exposurea1: packages/mcp/src/mcp-coded-refusal.test.ts ('<tool>: RECORD_NOT_FOUND from <member> answers code, message and status') asserts the clause at unit layer but is not in the refai.mcp-coded-refusals-and-runtime-exposurea2: no pin drives query_records on an apiEnabled:false runtime object across a restart; plugin-runtime-object-metadata-copy asserts the metadata copy/listing onlyai.mcp-http-surfacea3: the pin asserts status 401 only; the 'Unauthorized: a valid API key is required' wording and the OAuth WWW-Authenticate form are unassertedai.mcp-http-surfacea4: the pin's tool-discovery case uses a session bearer token (not an API key), skips initialize, and checks two tool names, not the documented 12ai.mcp-http-surfaceref is bare (one file) while the item has six acceptance clauses: a0–a2 and a5 have no pin at any layerai.mcp-oauth-private-host-transporta0-a4: item is api/log-oracle throughout but the only pin (auth-manager.mcp-oauth.test.ts) is a unit test of isOAuthEligibleBaseUrl / AuthManager getters — no booted server, no log capture; it corroborates the rule but scores no clauseai.mcp-oauth-private-host-transporta4: '… is reachable by no configuration key and no environment variable' (unit) covers the predicate half onlyai.mcp-stdio-fail-closeda0: the pin regex /OS_MCP_STDIO_API_KEY/ checks the var name only, not the remedy text nor 'the process does not serve'; scored from the verify's own oracle (plugin.start throws).ai.mcp-stdio-fail-closeda1/a6/n4: no test in packages/mcp asserts the API_KEY_REVOKED arm ([Decision] API key 的生命周期与存放:到期上限与不活动失效取多长,key 继续放自有 sys_api_key 还是迁到 @better-auth/api-key(#23287 裁决 C′ 的留项) #23367) — grep for 'REVOKED' over packages/mcp tests finds none; ref is a single unit file for an item whose clauses are mostly live api/log.ai.mcp-validate-expressiona2: pin never runs the SAME expression under both sites (flow_condition case uses a different expression than the formula bare-field case)ai.mcp-validate-expressiona0/a1/a3: pin harness is a fake describeObject bridge, not the served MCP door the api oracle namesai.skill-instructions-mcp-promptsa3: verify cites skill-prompts.test.ts as the pin, but it drives only an unknown name ('no_such_skill') through a stub bridge; a non-projected (inactive or instruction-less) name on prompts/get is not assertedai.skill-instructions-mcp-promptsn1: no pin asserts prompts/get refuses an inactive skill (only prompts/list omission is asserted)
Acceptance
- Every line above is either applied (item revised,
revisionbumped,historycites the record) or answered on this card with the reason it was not. pnpm check:platform-checklistis green.- The PR links this card and [sweep] v18.2.0 release test sweep #25807.
Generated by Claude Code
Activity
objectstack-fleet commentedon Oct 26, 2026
Claim: PM loop · 2026-10-26T11:33Z
Session:
session_01GJ41Um5Ueq9ESR3Nj5D7qW(card thread, dispatched by seat sessionsession_01LKHDniRQSWjRJyDtacwpEd)Account:
os-elon-muskBranch:
claude/project-thread-dea5ll(the harness-pinned branch for the card thread; it names no issue, so this claim is the identity record)Worktree:
objectstack-issue-25836Domain:
domain:devxSeat:
domain:devx#1(seat post #6023)File surface: docs/qa/platform-checklist/areas/ai.json only (stop on breach; explain in the report)
Container & model:
S,mode:thread,model: default tier,effort: mediumClause-②: no
Metadata-protocol: none
Responsibility: Card #25836: 14 ai ledger edits from the 18.2.0 sweep, plus retired-pin text in this area file
Thread-read: none
Serial constraints cleared: own area file only; #26035 slice 1 out of scope
Dispatched under the maintainer's 「同意」 to the director's ruling batch 1, item 5A (devx dispatches p1–p3). Dispatch order:
/mnt/project-files/pm-devx-seat/dispatch-25836.md.objectstack-fleet commentedon Oct 26, 2026
os-dev-report
{ "issue": 25836, "status": "done", "branch": "claude/project-thread-dea5ll", "pr": "https://github.com/objectstack-ai/objectstack/pull/26099", "session": "session_01GJ41Um5Ueq9ESR3Nj5D7qW", "premise_still_valid": true, "summary": "All 14 ai lines applied to docs/qa/platform-checklist/areas/ai.json across 6 items, each with a bumped revision and a history row citing #25812 or #25815; plus the retired .objectui-sha text in ai.console-ai-surface-gating acceptance[5].verify re-pointed to ui/packages/plugin-chatbot (#26035). Re-read on main at b4199c96: two lines no longer hold as written and were applied in their corrected form. coded-refusals a2: packages/qa/dogfood/test/mcp-stdio-runtime-object-exposure.test.ts now drives query_records across a restart (stdio door, engine layer). http-surface 'a0-a2 and a5 have no pin at any layer': dispatcher-unit and Hono-integration pins exist in packages/runtime. Both were added to automated.ref with their layer. No product defect found; no status flipped. Single commit acc5c625.", "tests": "Each file newly named in an automated.ref, with its package's vitest at acc5c625: mcp (mcp-coded-refusal, mcp-http-tools.scopes) Test Files 2 passed, Tests 52 passed; runtime (http-dispatcher.mcp, http-dispatcher.mcp-oauth, mcp-anonymous-first.hono.integration, mcp-skill-method-not-allowed.hono.integration) 4 passed, 52 passed; plugin-auth (mcp-oauth-plaintext-notice) 1 passed, 26 passed; dogfood (mcp-stdio-runtime-object-exposure) 1 passed, 10 passed.", "gates": "pnpm check:platform-checklist exit 0 (16 areas, 329 items). dispatch-gates --commands for ai.json: 13 commands, all exit 0 (check:doc-formula-expressions exit 3 until @objectstack/lint and deps were built, then 0). Governed surface: none (docs/qa only), not Tier H. CI check-runs: pending at report time.", "dogfood_battery": "n/a — no ! in the PR title and Clause-② no", "mcp_calls": "5 — mcp__github__issue_read (reads of #25836 by the thread, #25812/#25815 by a read-only subagent); no write tool", "api_writes": "2 — fleet-write relay: pr_create (#26099, with assignee and labels), this os-dev-report comment", "open_questions": [], "out_of_scope_findings": [] }Generated by Claude Code