Uh oh!
There was an error while loading. Please reload this page.
fix(runtime): restate pending-registration verdict doc comment in post-#9106 terms - #10033
Conversation
…#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
📓 Docs Drift Check1 anchor(s) derived from 1 changed package(s); no hand-written page names any of them. ✅ What this run could not seeCoarse fallback — 23 page(s) merely mention a changed package (the pre-#9192 predicate, kept for the deliberately-wide backstop): Which tree this was computed onThis run read A worktree cut from an older # 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 |
Uh oh!
There was an error while loading. Please reload this page.
Fixes#9999
The
CodeVerdict.pending-registrationdoc comment inpackages/runtime/src/dispatcher-error-vocabulary.tssaid the verdict"reaches a wire
error.codeverbatim" and "the body cannot parse". Bothclauses are false since #9106 narrowed the dispatcher door: the unregistered
spelling now rides the wire's
declaredCodeinstead oferror.code, so thebody parses; what an unswept producer loses instead is its semantic code,
silently demoted off
error.codeuntil registered. The file's own moduleheader and
scripts/check-dispatcher-error-vocabulary.mjs's header alreadysay this and agree with each other — the verdict doc comment was the lone
holdout, and it is the classification guide the next
unclassified-sitefinding gets read against (as written, it steered a first-party
declaredCode-demoted producer towardsandbox-authored, the wrong verdictfor a first-party emitter).
Doc comment only — restated from the two agreeing sources named above, no
wording invented.
⇒ #8846's registration inputis kept unchanged.verdict:values, row data (owd_widening_forbiddenetc.) and the gatescript are untouched. The gate parses
verdict:textually with commentsmasked (
parseDeclaration/maskComments), so no gate reads this prose andno behaviour moves.
Premise check (card's own re-check commands, run on
origin/mainbefore editing)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 closurepnpm --filter @objectstack/runtime build && pnpm --filter @objectstack/runtime typecheckpnpm --filter @objectstack/runtime test— 177 test files / 2649 tests passedpnpm 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), unchangedpnpm check:cross-package-test-inputspnpm check:slot-lookupnode scripts/check-cross-package-test-inputs.mjsnode scripts/docs-audit/check-affected-docs.mjspnpm check:changeset-gate-self-testspnpm check:objectui-changesetnode scripts/check-adr-0087-registration.mjsnode scripts/check-changeset-no-major.mjsnode scripts/check-empty-changeset.mjspnpm lintnode scripts/check-nul-bytes.mjs+ manual control-byte scan of changed filesnode scripts/pm/dispatch-gates.mjs(no path args, re-run against the finalcommitted change set) reports the identical 10-gate list as at the
working-tree stage — no drift.
Generated by Claude Code