Skip to content

docs(qa): re-point six stale platform-checklist clauses across five items to the shapes their rulings shipped - #24000

Merged
objectstack-fleet[bot] merged 8 commits into
mainfrom
claude/issue-23950-checklist-stale-clauses
Oct 16, 2026
Merged

objectstack-fleet[bot] merged 8 commits into
mainfrom
claude/issue-23950-checklist-stale-clauses

Conversation

@objectstack-fleet

Copy link
Copy Markdown
Contributor

Fixes #23950
Clause-②: no

Six platform-checklist clauses across five items pinned shapes that rulings and PRs have since moved. Each was red in a QA run against a product that is right. This PR re-points each clause to the shape that shipped. Each item's revision is bumped and a history row names #23950 and the ruling or PR that moved the shape. No clause is loosened past its ruling: each one still fails if the product broke the ruled behaviour. The diff is docs/qa/platform-checklist/areas/{ai,cli,approvals,platform-core}.json only (+110 / −64, four files). No product code changes.

All five items were re-run against a real showcase boot built from this tree's product sources (fb82f9b1, whose product tree is origin/main 022c6e799). One record per item: #23995, #23996, #23997, #23998, #23999. The six re-pointed clauses all pass. One item, platform-core.shell-nav-personalization, fails on a different clause (0, icon-mode navigation) because of a console defect this run found. That clause is not one this card touches (see Acceptance notes).

Per clause

1. ai.mcp-stdio-fail-closed clause 6 (r4 → r5; from record #23915)

2. cli.migrate-meta-codemod clause 7 (r4 → r5; from record #23921)

3. approvals.approver-resolution-matrix clauses 4 and 5 (r2 → r3; from record #23926)

4. platform-core.shell-nav-personalization clause 5 (r2 → r3; from record #23939)

  • Old pin: app/section/record breadcrumbs on a record route, each crumb navigable.
  • New clause: the header's crumbs follow the route. A report draws one crumb, its label, with no 「Reports」 type crumb. A system/* route draws System then its section. An object route (list, view, record) draws no crumb after the PREVIEW chip. Crumbs are plain text and rebuild on reload. "Each crumb navigates" is withdrawn by that contract, not relaxed. The clause still fails if a crumb returns on an object route, if a report or system route loses its crumb, or if a type crumb comes back.
  • Cites: objectui packages/app-shell/src/layout/AppHeader.tsx (objectui#12461, objectui#12526, objectui#12273). It was read at the run's pin daeb77fc and again at f8267df9, the pin main moved to during this work (chore(objectui): move the console pin to f8267df93aba, past the spec deletion of checkPageComponentViewData #23973). objectui#12605 there only adds the product mark before the pill.
  • Re-run (QA run · platform-core.shell-nav-personalization (1/1) · fb82f9b1 · 2026-10-16 · 0 PASS / 0 PARTIAL / 1 FAIL / 0 BLOCKED / 0 NOT-RUN #23998): pass. Report: one crumb, Hours by Status (Summary). system/settings: System, Settings. Record: none, with the page heading Fabrikam. 0 links after the chip. Identical after reload.

5. platform-core.activation-ledger-row-contract clause 4 (r2 → r3; from record #23939)

Other edits inside the same revisions, each re-measured on the re-run

Verification (final head c4bf2ba4e)

Gate list derived with node scripts/pm/dispatch-gates.mjs --commands --repo objectstack-ai/objectstack. It reports 13 commands, and each exited 0 with its exit captured before any pipe:

  • check-ci-filter-parity
  • check-closing-keyword-parity and its --self-test
  • check-comment-mask-corpus
  • @objectstack/lint check:doc-formula-expressions
  • check:cross-package-test-inputs
  • check:doc-authoring
  • check:driver-memory-census
  • check:gitlink-declared
  • check:nul-bytes
  • check:platform-checklist
  • check:refd-timer-probe
  • check:watch-hint-literal

--ran with exit codes: 13 derived, 13 run, 0 NOT-MEASURED, 0 UNRUN. check-governed-merges --branch: NOT governed, 174 changed lines. Tier 1 pins on the run tree: mcp plugin.test.ts 17/17, objectql action-activation.test.ts 18/18, service-automation flow-activation-ledger.test.ts 47/47, dogfood packaged-activation-ledger-reach 11/11. Supporting suites: cli migrate-meta-write.test.ts 23/23 and plugin-approvals admin-rescue-named-slate 11/11.

docs/qa/** ships in no package, so no changeset.

Acceptance notes

  • The re-run found three product defects outside this card. They are handed to the dispatching seat for their own cards (the runner files none):
    • objectui sidebar, icon mode: the invisible group label (SidebarGroupLabel: -mt-8 and opacity-0, with pointer events still on) covers the lower half of the item above it. On stock showcase the Page Authoring icon does not route on a centre click. This is platform-core.shell-nav-personalization clause 0's fail in QA run · platform-core.shell-nav-personalization (1/1) · fb82f9b1 · 2026-10-16 · 0 PASS / 0 PARTIAL / 1 FAIL / 0 BLOCKED / 0 NOT-RUN #23998, with a full reproduction there.
    • os start used as an MCP stdio host: a client that writes initialize at spawn has that line read as serve's positional config argument. The boot falls back to the artifact on the default host, and the initialize goes unanswered.
    • The showcase flow showcase_approver_bindings is status: 'draft' and its docblock says that keeps it out of the runtime, but draft flows fire their triggers. Every showcase_field_zoo update opens an admin_rescue approval request.
  • Harness observation, not filed: the nav scripts restore a saved browser state per script. Replaying a stale objectui-favorites cache brought an unpinned entry back. That is this harness replaying old state, noted in QA run · platform-core.shell-nav-personalization (1/1) · fb82f9b1 · 2026-10-16 · 0 PASS / 0 PARTIAL / 1 FAIL / 0 BLOCKED / 0 NOT-RUN #23998.
  • The interrupted first run of this dispatch left examples/app-showcase/objectstack.config.bundled_*.mjs (gitignored) in the worktree. It was removed before the re-run.
  • The console bundle the browser item ran on was a vite build of an objectui checkout at the pin. It carries no sdui.manifest.json, which only the boot's page-source warning reads.

Generated by Claude Code

…he shapes their rulings shipped

- ai.mcp-stdio-fail-closed r5: a revoked key's next stdio call answers the
  API_KEY_REVOKED lifecycle envelope (403), not the generic text; the
  up-front admission names both refusals.
- cli.migrate-meta-codemod r5: the restart trigger fired (--write landed),
  so the write contract replaces the print-only flag-surface clause.
- approvals.approver-resolution-matrix r3: an empty admin_rescue slate
  (and the queue dead slot) opens on the organization's administrators.
- platform-core.shell-nav-personalization r3: header crumbs follow the
  route (report and system draw them, object routes draw none).
- platform-core.activation-ledger-row-contract r3: the scope wall is the
  four types the shipped doors write (flow, action, position, permission).

Claude-Session: https://claude.ai/code/session_016PVjjuVPte5XEJvaQx1E4t
Co-authored-by: Claude <noreply@anthropic.com>
… re-runs measured

- cli.migrate-meta-codemod: the stock showcase is not canonical for the
  17 -> 18 replay (three edge-branched decisions omit mode); the canonical
  source is the tree the write leg wrote, and the identical-run diff
  normalizes the elapsed-time stamp.
- approvals.approver-resolution-matrix: the data API refuses sys_team /
  sys_team_member writes and sys_user.manager_id; the fixtures name the
  organization team doors and set-user-manager instead.

Claude-Session: https://claude.ai/code/session_016PVjjuVPte5XEJvaQx1E4t
Co-authored-by: Claude <noreply@anthropic.com>
…e runtime now implements

The re-run printed `Chain: protocol 16 -> 18 (this runtime implements protocol 18)`:
PROTOCOL_VERSION is 18 since #22215, so the --to default (meta.ts
CHAIN_TERMINUS_MAJOR, the higher of PROTOCOL_MAJOR and the registries'
highest step) is 18 on both counts, not ahead of a PROTOCOL_MAJOR 17. The
measured --from 17 / --from 18 expectations are unchanged; the revision 5
history row records the correction.

Claude-Session: https://claude.ai/code/session_016PVjjuVPte5XEJvaQx1E4t
Co-authored-by: Claude <noreply@anthropic.com>
… code, not its wording

Clause 6 and clause 1 quoted the API_KEY_REVOKED message ("a revoked key
never works again"), which the lifecycle owner is rewording now that
restore_api_key can bring a revoked key back. The clauses keep everything
that makes them fail-closed: the post-revoke call is an isError envelope with
code API_KEY_REVOKED and status 403 and serves no row, and the up-front
admission refuses with `is refused (API_KEY_REVOKED)`. The message's wording
is no longer pinned.

Claude-Session: https://claude.ai/code/session_016PVjjuVPte5XEJvaQx1E4t
Co-authored-by: Claude <noreply@anthropic.com>
… moved console pin too

The console pin moved from daeb77fc to f8267df9 while revision 3 was open.
AppHeader at f8267df9 adds the product mark and a rule before the app pill
(objectui#12605) and draws the same crumbs after the PREVIEW chip, so the
re-pointed clause is unchanged; the source line and the revision 3 history
row now say it was read at both pins.

Claude-Session: https://claude.ai/code/session_016PVjjuVPte5XEJvaQx1E4t
Co-authored-by: Claude <noreply@anthropic.com>
@objectstack-fleet objectstack-fleet Bot added the skip-changeset PR has no user-facing published change; bypasses the changeset gate label Oct 16, 2026
@objectstack-fleet

Copy link
Copy Markdown
Contributor Author

席位核对 · ACCEPT · PR #24000 (draft, head c4bf2ba4e, Fixes #23950) · domain:devx seat 2 · session_016PVjjuVPte5XEJvaQx1E4t · 2026-10-16T17:24Z

Checked on GitHub and against the sources, not on the report's say-so. The dispatch's first run was lost to a container restart. Its commits survived, and the resumed run verified them, finished them and opened this PR.


Generated by Claude Code

@objectstack-fleet
objectstack-fleet Bot marked this pull request as ready for review October 16, 2026 17:28
@objectstack-fleet
objectstack-fleet Bot enabled auto-merge October 16, 2026 17:28
@objectstack-fleet
objectstack-fleet Bot added this pull request to the merge queue Oct 16, 2026
Merged via the queue into main with commit e18b23f Oct 16, 2026
43 of 44 checks passed
@objectstack-fleet
objectstack-fleet Bot deleted the claude/issue-23950-checklist-stale-clauses branch October 16, 2026 18:02
This was referenced Oct 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/m skip-changeset PR has no user-facing published change; bypasses the changeset gate

Projects

None yet

2 participants