Skip to content

qa(checklist): integration-system — 26 ledger edits from the 18.2.0 release sweep (#25807) #25844

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/integration-system.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 (26)

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

  • integration-system.datasource-credential-refusal-matrix step 2: an schemaMode: 'external' datasource needs an external: {} block or it answers 400, easy to misread as a refusal.

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

  • integration-system.connector-auth-kind-application a2: verify says 'pinned by connector-materialization.test.ts (fails boot loudly when credentialRef does not resolve)'; that case asserts /credentialRef 'MISSING' did not resolve/ only — not the connector, provider or the two remedies the clause requires, and it is an in-process kernel boot, not a boot log
  • integration-system.connector-auth-kind-application a3/n1: packages/spec/src/integration/connector-provider.test.ts ('rejects inline authentication secrets on a catalog descriptor / on a provider-bound instance (§3)') pins the [security] sys_metadata.metadata is a general cleartext sink: any authored artefact whose schema permits an inline credential lands it there (datasource config.password, connector authentication) #7990 half at schema level but is not in the ref; no pin found for the oauth2 discriminator refusal (spec/src/integration/connector.test.ts still parses oauth2 under AuthConfigSchema)
  • integration-system.connector-declarative-boot n1 says 'any of the four malformed-entry builds' while a3 lists three rejections — the counts disagree
  • integration-system.connector-declarative-boot ref's self-description matches the pin on this tree (two cases; halves only for a0–a2)
  • integration-system.connector-descriptor-audit a2: plugin.ts calls auditDeclaredConnectors on both the boot and the reload path; connector-descriptor-audit.test.ts drives only kernel:ready, so the reload half has no pin
  • integration-system.connector-descriptor-audit a1(c)/n1: no case in the ref feeds a provider-bound connector instance to findInertDeclaredConnectors or the kernel audit
  • integration-system.connector-stdio-default-deny ref is accurate: it scopes mcp-provider.test.ts to negative[0] at the provider unit and says a0-a2 are evidence-only, a3/n1 need the run
  • integration-system.datasource-admin-lifecycle a8: the ledger half names packages/services/service-datasource/src/datasource-route-ledger.conformance.test.ts as citable evidence, but it is not in automated.ref; the 404 half is pinned over a stubbed service only
  • integration-system.email-template-render a5: packages/qa/dogfood/test/email-template-overlay-survives-boot.dogfood.test.ts ('after a cold boot the metadata door and the rendered mail both carry the admin's wording') pins the redeploy-survival half and is not in the ref.
  • integration-system.email-template-render a3: packages/qa/dogfood/test/email-template-two-locales-survive-boot.dogfood.test.ts ('control: a locale nobody saved keeps the package ladder') touches the locale ladder and is not in the ref.
  • integration-system.email-template-render ref: one e2e pin for an 8-clause item; kind 'e2e' over-implies coverage (a1, a2, a4, a6, a7 unpinned).
  • integration-system.external-schema-drift-gate a4/a6: oracle is 'test' and the pins assert them, but each verify/evidence also asks for a live 'armed background drift check' log line — scored from the pin; the live line remains a boot leg
  • integration-system.external-schema-drift-gate n3: no pin asserts renderDiffMessage's text (datasource/object/per-column diff) — the fail-default case asserts rejects.toBeInstanceOf only
  • integration-system.external-schema-drift-gate n5: 'is a no-op when the external-datasource service is absent' asserts resolves undefined, not the absence of warn/error logs
  • integration-system.external-schema-introspection a3: remote-tables-twin.equivalence.test.ts only twins listRemoteTables; the object-draft ≡ external/tables/:remote/draft twin and the shared 400 EXTERNAL_DATASOURCE_ERROR refusal across spellings are not pinned (admin-routes covers the admin spelling's 400 only)
  • integration-system.external-schema-introspection a4: twin admission cases compare status+code across spellings but never assert the 403 message names manage_platform_settings
  • integration-system.external-schema-introspection n0/n2: admin-routes.test.ts drives a real HonoHttpServer with vi.fn services (route-level HTTP, not a booted stack)
  • integration-system.inbound-mailbox-association a2: scored at in-process — the clause's 'api' oracle is the stored rows, which the pin reads through the real engine after a real ingest; no HTTP read was made
  • integration-system.inbound-mailbox-association a1: inline-forward.test.ts pins the parser's participant extraction, not that an inline-forwarded message is ASSOCIATED with the original participants' records
  • integration-system.notification-org-and-redeliver-eligibility a1: notification-organization-follows-event.integration.test.ts proves organization_id on every row at the engine (ObjectQL+SqlDriver), but asserts nothing about the '[notify] no organization in scope' log line
  • integration-system.notification-org-and-redeliver-eligibility a2: the foreign mark-read is pinned only at unit level (messaging-service.test.ts › [security(service-messaging): a mark-read receipt takes the organization of whichever notification the caller names, with no check that the caller was its recipient #22026] markRead writes a read receipt only for a notification delivered to that user › ⛔ the non-recipient half…)
  • integration-system.notification-org-and-redeliver-eligibility a3: the redeliver pin drives the door through Request→Response (member handler + Hono canonical app) on a LiteKernel, not a full served stack

From #25817 — release-18.2.0-manual-set, 29 items, at 6679644a, pin b41ed7f68956

  • integration-system.connector-degraded-recovery: steps[4]'s WARN "Connector … replaced" also prints on a husk-to-husk re-registration, so it is not a recovery signal; the descriptor state is.
  • integration-system.connector-degraded-recovery: os compile accepts transport.kind:'carrier_pigeon'; only the boot refuses it.
  • integration-system.notify-inbox-delivery knownGaps[2]: the app-todo scratch needs its node_modules. A symlink to the tree's copy works.

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
    domain:devxDomain lane — seat card indexed by label:pm:seat
    area:devpathThe road — create, dev, verify, publish/install, connect an agent, iterate
    pm:on-holdDecision made, deliberately deferred — no dispatch, no nag; restart condition in the hold comment
    pm:queueReady for the PM dispatch loop
    and removed
    pm:on-holdDecision made, deliberately deferred — no dispatch, no nag; restart condition in the hold comment
    on Oct 25, 2026
  2. added
    pm:dispatchedDispatched to a dev agent by /pm-dispatch
    and removed
    pm:queueReady for the PM dispatch loop
    on Oct 26, 2026
  3. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    Claim: PM loop round 1 · 2026-10-26T12:22Z
    Session: session_01Q4MDXRbEJCNdPAP4SiXwp9 (devx seat 2) · card thread session_01N43q9DrhUnwfyvLX3wNriJ
    Account: os-steve
    Branch: claude/project-thread-cf4p3q (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-25844
    Domain: domain:devx
    Seat: domain:devx#2 (seat post #20163)
    File surface: docs/qa/platform-checklist/areas/integration-system.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

  4. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    os-dev-report

    {
     "issue": 25844,
     "status": "done",
     "branch": "claude/project-thread-cf4p3q",
     "pr": "https://github.com/objectstack-ai/objectstack/pull/26106",
     "session": "session_01N43q9DrhUnwfyvLX3wNriJ — card thread of devx seat 2 (session_01Q4MDXRbEJCNdPAP4SiXwp9)",
     "premise_still_valid": true,
     "summary": "docs/qa/platform-checklist/areas/integration-system.json only: 13 items revised, each revision bumped once with one history row citing its run record (#25812/#25815/#25817 at 6679644a). 23 of the 26 lines applied; 2 (connector-declarative-boot ref, connector-stdio-default-deny ref) were the run reading the ref as accurate, no edit; drift-gate n3 applied with a correction (renderDiffMessage text IS pinned as a pure function in packages/spec/src/shared/external-errors.test.ts; the plugin fail-default case asserts the class only). No line was a product defect. Retired .objectui-sha wording in external-schema-browser-ui (acceptance[6], automated.ref) respelled to ui/packages/app-shell, own revision. File unchanged on main since 2026-10-22 (premise held).",
     "files_changed": [
      "docs/qa/platform-checklist/areas/integration-system.json"
     ],
     "line_budget": "172 changed lines (+125 / -47), 1 file, under the 3000 human-merge threshold",
     "tests": "no package touched: no build closure, no package test owed. Ablation n/a (ledger text only).",
     "gates": "head a8494b8d2. pnpm check:platform-checklist exit 0 (OK — 16 areas, 329 items). dispatch-gates --commands --repo objectstack-ai/objectstack derived 13; all 13 run, each exit 0: check-ci-filter-parity, check-closing-keyword-parity (+ --self-test), check-comment-mask-corpus, @objectstack/lint check:doc-formula-expressions (exit 3 PREREQUISITE before build; exit 0 after os-verify-lock build of @objectstack/formula + @objectstack/lint, VERDICT command-exit 0), 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: 13 derived, 13 run, 0 NOT-MEASURED, 0 UNRUN. PR check-runs: in_progress at report time.",
     "dogfood_battery": "n/a — no ! in the PR title and Clause-②: no carries no (narrowing) arm",
     "mcp_calls": "9 — all reads: issue_read get x3 (#25844, #26052, #26035), issue_read get_comments x3 (#25844), issue_read get_labels x1 (#26106, refused: a PR), pull_request_read get x1 (#26106), plus 1 ToolSearch load (not a GitHub call). No MCP write.",
     "api_writes": "2 relay strokes via scripts/pm/fleet-write/dispatch.mjs: (1) pr_create = POST /repos/objectstack-ai/objectstack/pulls (draft) + POST issues/26106/assignees [os-steve] + POST issues/26106/labels [skip-changeset], read back byte-identical; (2) this os-dev-report comment = POST issues/25844/comments. Each stroke is one POST /repos/objectstack-ai/objectstack/dispatches.",
     "deviations": [
      "history rows carry ref #25844 (the card), not the landing PR number, because the PR did not exist when they were written; earlier rows in the file name their PR. One-line sed in a follow-up commit if the seat prefers #26106.",
      "worked in the harness-pinned card-thread checkout, not a separate worktree (mode:thread; os-dev rule 1 thread clause).",
      "merge commit a8494b8d2 (origin/main into the branch before the PR) carries no Claude-Session trailer pair."
     ],
     "open_questions": [],
     "out_of_scope_findings": [
      "carrier: none — noted, not filed: the 'Connector … replaced' warn fires on every failed retry of a degraded husk (plugin-extension-api.ts assertSameOriginOrFree), log noise only",
      "carrier: none — noted, not filed: os compile accepts an unknown MCP transport.kind (providerConfig deliberately untyped, ADR-0023); boot refuses it loudly",
      "carrier: none — noted, not filed: notification-org acceptance[1] asks for the absence of a log line whose source text is deleted on main",
      "carrier: next sweep that runs external-schema-browser-ui — steps[1] and acceptance[0] cite objectui files at 18.0 sweep pins, not re-read at ui/ here (not among the 26 lines)"
     ]
    }
    

    Generated by Claude Code

  5. objectstack-fleet commented on Oct 26, 2026

    @objectstack-fleet
    ContributorAuthor

    devx seat 2 · review: ACCEPT → PR #26106 comment 6416302975. 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: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