Skip to content

fix(runtime): restate pending-registration verdict doc comment in post-#9106 terms - #10033

Merged
os-elon merged 1 commit into
mainfrom
claude/issue-9999-pending-registration-doc-comment
Aug 19, 2026
Merged

fix(runtime): restate pending-registration verdict doc comment in post-#9106 terms#10033
os-elon merged 1 commit into
mainfrom
claude/issue-9999-pending-registration-doc-comment

Conversation

@os-elon

Copy link
Copy Markdown
Collaborator

Fixes#9999

The CodeVerdict.pending-registration doc comment in
packages/runtime/src/dispatcher-error-vocabulary.ts said the verdict
"reaches a wire error.code verbatim" and "the body cannot parse". Both
clauses are false since #9106 narrowed the dispatcher door: the unregistered
spelling now rides the wire's declaredCode instead of error.code, so the
body parses; what an unswept producer loses instead is its semantic code,
silently demoted off error.code until registered. The file's own module
header and scripts/check-dispatcher-error-vocabulary.mjs's header already
say this and agree with each other — the verdict doc comment was the lone
holdout, and it is the classification guide the next unclassified-site
finding gets read against (as written, it steered a first-party
declaredCode-demoted producer toward sandbox-authored, the wrong verdict
for a first-party emitter).

Doc comment only — restated from the two agreeing sources named above, no
wording invented. ⇒ #8846's registration input is kept unchanged.
verdict: values, row data (owd_widening_forbidden etc.) and the gate
script are untouched. The gate parses verdict: textually with comments
masked (parseDeclaration / maskComments), so no gate reads this prose and
no behaviour moves.

Premise check (card's own re-check commands, run on origin/main before editing)

$ git grep -n "The body cannot parse" -- packages/runtime/src/dispatcher-error-vocabulary.ts
packages/runtime/src/dispatcher-error-vocabulary.ts:138: * The body cannot parse. ⇒ #8846's registration input.
$ git grep -n "such a body now parses" -- packages/runtime/src/dispatcher-error-vocabulary.ts scripts/check-dispatcher-error-vocabulary.mjs
packages/runtime/src/dispatcher-error-vocabulary.ts:21: * spelling rides the wire's `declaredCode` — so such a body now parses; what

Both hits present; premise valid. Confirmed the module header and the gate
script's header agree with each other (no disagreement to stop and report).

Gates (all green on f671aa02f, this PR's head)

  • pnpm --filter '@objectstack/runtime^...' build — dependency closure
  • pnpm --filter @objectstack/runtime build && pnpm --filter @objectstack/runtime typecheck
  • pnpm --filter @objectstack/runtime test — 177 test files / 2649 tests passed
  • pnpm check:dispatcher-error-vocabulary — 17 classified sites, 1 awaiting ledger entry (spec: register the dispatcher conformance gate's reported error codes in ERROR_CODE_LEDGER (spec half of the #8087 ruling) #8846), unchanged
  • pnpm check:cross-package-test-inputs
  • pnpm check:slot-lookup
  • node scripts/check-cross-package-test-inputs.mjs
  • node scripts/docs-audit/check-affected-docs.mjs
  • pnpm check:changeset-gate-self-tests
  • pnpm check:objectui-changeset
  • node scripts/check-adr-0087-registration.mjs
  • node scripts/check-changeset-no-major.mjs
  • node scripts/check-empty-changeset.mjs
  • pnpm lint
  • node scripts/check-nul-bytes.mjs + manual control-byte scan of changed files

node scripts/pm/dispatch-gates.mjs (no path args, re-run against the final
committed change set) reports the identical 10-gate list as at the
working-tree stage — no drift.


Generated by Claude Code

…#9106 terms
The `CodeVerdict.pending-registration` doc comment in
dispatcher-error-vocabulary.ts said the verdict "reaches a wire
`error.code` verbatim" and "the body cannot parse". Both clauses are
false since #9106 narrowed the dispatcher door: the unregistered
spelling now rides the wire's `declaredCode` instead of `error.code`,
so the body parses; what an unswept producer loses instead is its
semantic code, silently demoted off `error.code` until registered.
The file's own module header and the gate script's header already
say this — the verdict doc comment was the lone holdout, and it is
the classification guide the next `unclassified-site` finding gets
read against.
Doc comment only. `verdict:` values, row data and the gate script are
unchanged; check:dispatcher-error-vocabulary parses `verdict:`
textually with comments masked, so no gate reads this prose and no
behaviour moves.
Fixes#9999
Claude-Session: https://claude.ai/code/session_019bmVFqoQPq63zhKrxdYG1r
@github-actionsgithub-actionsBot added size/s documentation Improvements or additions to documentation tooling labels Aug 19, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📓 Docs Drift Check

1 anchor(s) derived from 1 changed package(s); no hand-written page names any of them. ✅

What this run could not see

Coarse fallback — 23 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): node scripts/docs-audit/affected-docs.mjs --json e5dde8fdd31fcb1114b3e78736f595588fa5c408packageMentionDocs.

Which tree this was computed on

This run read content/docs from 742ab210065fc9dab52897d7067d088f6ced1918 — the merge of head f671aa02fda424137c60bb5756e27e919026c733 into base e5dde8fdd31fcb1114b3e78736f595588fa5c408, which is what actions/checkout gives a pull_request run. Not the PR head.

A worktree cut from an older main holds a different content/docs, so re-deriving there can legitimately return a different list — that is a different tree, not a wrong row. To answer on the same tree:

# while this PR is open — GitHub drops the merge commit once it closes
git fetch origin 742ab210065fc9dab52897d7067d088f6ced1918 && git checkout 742ab210065fc9dab52897d7067d088f6ced1918
# afterwards, rebuild it from the two parents, which stay fetchable
git fetch origin e5dde8fdd31fcb1114b3e78736f595588fa5c408 f671aa02fda424137c60bb5756e27e919026c733 && git checkout -B drift-repro e5dde8fdd31fcb1114b3e78736f595588fa5c408 && git merge --no-ff f671aa02fda424137c60bb5756e27e919026c733
node scripts/docs-audit/affected-docs.mjs --json e5dde8fdd31fcb1114b3e78736f595588fa5c408

⚠️ That checkout carried uncommitted changes, so the commit above does not fully identify what was read.

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

Labels

documentationImprovements or additions to documentationsize/stooling

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CodeVerdict.pending-registration's doc comment states two things the post-#9106 door contradicts — and the same file's header already says so

2 participants

@os-elon@claude