Skip to content

qa(checklist): platform-core — 19 ledger edits from the 18.2.0 release sweep (#25807) #25845

Closed

Description

@objectstack-fleet

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/platform-core.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 (19)

From #25812 — priority:P0, 23 items, at 6679644a, pin b41ed7f68956

  • platform-core.boot-health c2: deployment-policy unbound flows print as ℹ lines, not ⚠; the clause still describes ⚠.
  • platform-core.nav-surfaces-render: the console-added "All reports" sidebar destination is outside both meta/app nav and SURFACES, so the served-vs-SURFACES diff cannot see it; step 1's test:smoke also collects two other specs beside the pin.
  • platform-core.builtin-apps-nav-render: marketplace knownGap names "Forbidden", the screen reads "HTTP 502 · fetch failed" (MARKETPLACE_PROXY_FAILED); step 6 names sys_approval_request/my_pending for Account Approvals, the served entry is component/approvals/inbox; no clause covers a member opening Setup's url-type entries (they render inside the Showcase shell while the server refuses every namespace 403).
  • platform-core.seed-integrity: the Specimen diff should name the canonical time form ("14:30" → "14:30:00"); step 2's baseline lists 9 of the 19 seeded datasets.
  • platform-core.v18-boot-refusals step 1: production os serve --preset minimal is refused earlier ("This stack mounts no auth…"); os serve --dev --no-server is the spelling that reaches the SecurityPlugin refusal.

From #25815 — release-18.2.0-tier1, 156 items, at 6679644a, pin b41ed7f68956 (clause labels: aK = acceptance[K], nK = negative[K])

  • platform-core.activation-ledger-registration-home a4: packages/spec/src/system/constants/platform-object-names.test.ts ('registers exactly the objects each package declares') ties PLATFORM_OBJECTS_BY_PACKAGE to the declaring sources and would pin the one-owner membership, but is not in the ref
  • platform-core.activation-ledger-registration-home n2: platform-objects/src/plugin.test.ts asserts exactly one registering manifest; no pin drives a second registrant to observe the 'already owned by package' boot failure
  • platform-core.activation-ledger-row-contract n5/a4 (door half): packages/qa/dogfood/test/catalog-activation-door.dogfood.test.ts › 'a type with no switch is refused 400 by the door itself' and packages/runtime/src/domains/catalog-activation-door.test.ts (audience anchors 400, nothing written) exist and are not in this item's ref
  • platform-core.activation-ledger-row-contract a2: the dogfood key-set reading proves the physical table lacks organization_id but not the step-7 refused INSERT / control INSERT pair the verify names
  • platform-core.activation-ledger-row-contract a3: pins assert update-not-delete for the action (HTTP) and flow (store) kinds only; position/permission/sharing_rule re-enable rows are not covered here
  • platform-core.lifecycle-retention-sweep ref is accurate on scope (a2 pinned half, a3, n0-n1; a0/a1/a4 live; a5 a source read)
  • platform-core.lifecycle-retention-sweep a3: live sweep-line corroboration of the reaped count stays the run's
  • platform-core.lifecycle-retention-sweep n0: the unit proves the onlyWhen predicate reaches the reap filter/candidate read on a recording fake engine, not that real paused/running rows survive
  • platform-core.metadata-authoring-roundtrip ref is accurate: package-first-authoring.dogfood.test.ts and studio-object-designer.spec.ts are declared as scoring no clause; studio-record-page.spec.ts scores a2 only
  • platform-core.metadata-registry-serving a0: the pin never checks the registered kinds against DEFAULT_METADATA_TYPE_REGISTRY (step 2's presence table); it asserts only dashboard/action/report entries
  • platform-core.nav-surfaces-render a0/n0/n1/n3 score only if the parent can run pnpm -C examples/app-showcase test:smoke (Playwright + a live showcase with a console); otherwise not-run (browser)
  • platform-core.nav-surfaces-render a1: nothing in the ref computes the served-nav vs SURFACES diff — the 'coverage is current' clause has no automation
  • platform-core.serve-composition-v18 run note: serve-organization-record-page.e2e.test.ts is a *.e2e.test.ts file — it collects only under OS_TEST_TIERS=nightly; a run without it reports 0 tests for that file (a2 then not scored)
  • platform-core.v18-boot-refusals a3: scored from the pin by the clause's own fallback ('with no such boot run, this clause rests on authz-identity-objects-boot-refusal.test.ts — record which'); the run record must say the live steps[1] boot was not run.

Acceptance

  • Every line above is either applied (item revised, revision bumped, history cites the record) or answered on this card with the reason it was not.
  • pnpm check:platform-checklist is green.
  • The PR links this card and [sweep] v18.2.0 release test sweep #25807.

Generated by Claude Code

Activity

  1. added
    documentationImprovements or additions to documentation
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    and removed on Oct 25, 2026
  2. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1 · 2026-10-26T12:23Z
    Session: session_01Q4MDXRbEJCNdPAP4SiXwp9 (devx seat 2) · card thread session_01VoWrGZipReMqGbFdsvCLsX
    Account: os-steve
    Branch: claude/project-thread-xn40qf (the harness-pinned branch of the card thread; it names no issue, so this claim is the identity record; amended on spawn)
    Worktree: objectstack-issue-25845
    Domain: domain:devx
    Seat: domain:devx#2 (seat post #20163)
    File surface: docs/qa/platform-checklist/areas/platform-core.json only (stop on breach; explain in the report)
    Container & model: M, mode:thread, model: default tier (TIER_DEFAULT, from dispatch-gates --tier: no path-derived mandate), effort: high
    Clause-②: no
    Metadata-protocol: none
    Responsibility: n/a — not a defect card
    Thread-read: none
    Premise: holds (action surface git log origin/main on the file since filing: no commit; the dev re-reads each line against main first)
    Serial constraints cleared: own ledger file only; seat 1 holds #25835 / #25836 on other files; #26035 left the retired objectui pin wording in these files to these cards; no other Claim: names this file


    Generated by Claude Code

  3. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
      "issue": 25845,
      "status": "done",
      "branch": "claude/project-thread-xn40qf",
      "pr": "https://github.com/objectstack-ai/objectstack/pull/26119",
      "session": "session_01VoWrGZipReMqGbFdsvCLsX",
      "premise_still_valid": true,
      "summary": "All 19 card lines dispositioned in docs/qa/platform-checklist/areas/platform-core.json: 17 applied across 10 items, 2 were ref-is-accurate confirmations needing no edit (lifecycle-retention-sweep scope, metadata-authoring-roundtrip). Each touched item has its revision bumped and a history row citing its run record (#25812 or #25815). The file two retired objectui-pin prescriptions (boot-health acceptance[5] pnpm objectui:build, keyboard-shortcut-surface acceptance[2] .objectui-sha) now name pnpm console:build and the ui/ path (11 items revised in all). No line was a product defect. Mechanism assumption measured true: the file is unchanged between run sha 6679644a and base 9753d163.",
      "tests": "docs-only, no package touched: no unit/typecheck owed. Re-read evidence: seed counts re-derived by loading examples/app-showcase/src/data/seed/index.ts ShowcaseSeedData via tsx after pnpm --filter @objectstack/spec build (19 datasets, 132 rows, equal to #25812). No ablation (ledger text only).",
      "gates": "local at head 06816ae9: pnpm check:platform-checklist exit 0 (OK, 16 areas, 329 items; symbol anchors 988/998, two new anchors resolve); dispatch-gates --commands --repo objectstack-ai/objectstack derived 13 families, all exit 0 (check:doc-formula-expressions first exit 3 PREREQUISITE, green after turbo build of @objectstack/formula and @objectstack/lint); --ran: 13 derived, 13 run, 0 NOT-MEASURED, 0 UNRUN (derived zero). CI check-runs on PR 26119: in_progress at report time, not re-run locally.",
      "dogfood_battery": "n/a: no ! in the PR title and Clause-② no without the (narrowing) arm",
      "mcp_calls": "0",
      "api_writes": "2: (1) relay pr_create, one POST /repos/objectstack-ai/objectstack/dispatches executed as POST pulls + POST issues/26119/assignees + POST issues/26119/labels (run 40325455884 success, body read back 8891/8891 bytes identical, draft true, labels [skip-changeset], assignees [os-steve]); (2) this os-dev-report comment via post-stamped. git push x2 (not REST).",
      "line_budget": "n/a: no skills/** path; diff +106 / -39 in 1 file",
      "files_changed": [
        "docs/qa/platform-checklist/areas/platform-core.json"
      ],
      "deviations": [
        "PR body lines 1-2 are the harness attribution block, so Fixes #25845 is line 3, not line 1",
        "the harness asks for a review request to os-steve after pr_create; not made: the dispatch forbids any GitHub MCP write and no relay op was sent for it",
        "origin/main merged into the branch (06816ae9) before pr_create because dispatch-gates reported a stale tree; no conflict, no checklist file moved on main",
        "commit trailer is the AGENTS.md model-free pair, not the harness model-named Co-Authored-By",
        "the primary checkout was detached so the worktree objectstack-issue-25845 could hold the harness-pinned branch"
      ],
      "open_questions": [],
      "out_of_scope_findings": [
        "carrier: devx seat · platform-core.activation-ledger-row-contract scope wall omits webhook: CATALOG_ACTIVATION_SUBJECTS (packages/runtime/src/domains/catalog-activation.ts) admits position, permission, sharing_rule and webhook, and catalog-activation-door.test.ts has a declared-webhook describe; the item five-value set, variants and negative[5] predate it, and the item own knownGaps say a new legitimate writer needs a revision. Stale ledger text, not a defect; noted in PR Acceptance notes. dedupe words: activation ledger webhook scope wall, catalog activation webhook, metadata_type webhook",
        "carrier: devx seat (fits #26035 docs slice) · after the ui/ import, text that calls objectui pins objectui-repo-only / not runnable here is stale: url-overlay-contract knownGaps[0], boot-health source[4] and [5], and RUNNER.md objectui-only automated.ref fact; the pins exist under ui/ (ui/apps/console/src/components/FormPage.recordObject.test.tsx, ui/e2e/console-boot-indicator.spec.ts). Left because RUNNER.md is outside this file surface. dedupe words: objectui-repo-only, not pin-evidenced, objectui-pin fact",
        "carrier: none · about 20 at-the-console-pin provenance phrases remain in non-history text; they record where a reading was taken, not a prescription. Acceptance notes only"
      ]
    }

    Generated by Claude Code

  4. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    devx seat 2 · review: ACCEPT → PR #26119 comment 6417049192 (after two patch rounds). Landing: ready + merge queue once every check on the reviewed head is green or skipped.


    Generated by Claude Code

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

Metadata

Metadata

Assignees

Labels

area:devpathThe road — create, dev, verify, publish/install, connect an agent, iteratedocumentationImprovements or additions to documentationdomain:devxpriority:p2Medium: important, M3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions