Skip to content

Commit baf9745

Browse files
os-muskclaude
andauthored
docs(core,driver-sql): the three boot-refusal comments state the registered position, not the pre-#16404 one (#17702)
* docs(core,driver-sql): the three boot-refusal comments state the registered position Three source comments still asserted the pre-#16404 position -- that these codes are deliberately not wire vocabulary and that registering one is "not something to start doing at a door". #16649 registered fourteen `door: 'none'` codes in `ERROR_CODE_LEDGER` under the #16404 door-or-no-door ruling, so each comment was a confident false statement about the tree at the point a reader decides whether to act. Each site keeps its existing reachability sentence -- those readings were re-measured by the review and are true; none of the fourteen reaches an HTTP door on this tree. What changes is the justification (registration is done, and the ledger is where it is recorded) and the dangling pointer at `dispatcher-error-vocabulary.ts`'s `boot-refusal` verdict, which #16649 ratcheted from fourteen rows to zero. - `packages/core/src/service-not-registered.ts` -- SERVICE_NOT_REGISTERED - `packages/core/src/plugin-contract.ts` -- PLUGIN_CONTRACT_VIOLATION - `packages/drivers/driver-sql/src/dialect-emission-refusal.ts` -- the worked example it cites is MONGODB_MULTI_TENANT_UNSUPPORTED, the code #16649 re-registered; its ledger row already carries the corrected wording, which this comment now matches. Comment-only, proven mechanically: with every comment character removed by the repo's own `scripts/js-comment-mask.mjs` scanner, the executable token stream of all three files is byte-identical to 3d262ad (22 / 21 / 30 code lines). Claude-Session: https://claude.ai/code/session_01RuoNSXUbBoWHkNS4AknTrM Co-authored-by: Claude <noreply@anthropic.com> * chore(changeset): patch for the three corrected boot-refusal docblocks The docblocks ship inside `dist/*.d.ts` for both `@objectstack/core` and `@objectstack/driver-sql` (measured: the corrected phrase is present in `dist/index.d.ts` of both, against a positive control of an untouched TSDoc sentence and a negative control that finds nothing), so this publishes and is not a `skip-changeset` diff. Claude-Session: https://claude.ai/code/session_01RuoNSXUbBoWHkNS4AknTrM Co-authored-by: Claude <noreply@anthropic.com> --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent 7173d7d commit baf9745

4 files changed

Lines changed: 51 additions & 20 deletions

File tree

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
'@objectstack/core': patch
3+
'@objectstack/driver-sql': patch
4+
---
5+
6+
Three source comments now state the registered position for the `door: 'none'` boot-refusal codes instead of the pre-#16404 one
7+
8+
`SERVICE_NOT_REGISTERED`, `PLUGIN_CONTRACT_VIOLATION` and — as the worked
9+
example the `driver-sql` comment cites — `MONGODB_MULTI_TENANT_UNSUPPORTED` are
10+
all registered in `ERROR_CODE_LEDGER`. #16649 registered fourteen `door: 'none'`
11+
codes under the #16404 door-or-no-door ruling, and re-registered the MongoDB one
12+
that #8035 had removed. Three TSDoc comments still asserted the position that
13+
preceded that ruling — that these codes are deliberately not wire vocabulary,
14+
and that registering one is "not something to start doing at a door" — and each
15+
was false the moment #16649 landed. They also pointed at
16+
`dispatcher-error-vocabulary.ts`'s `boot-refusal` verdict, which the same PR
17+
ratcheted from fourteen rows to zero, so the pointer dangled.
18+
19+
These docblocks ship inside each package's `dist/*.d.ts`, which is why this is a
20+
published change rather than an internal one: the sentence is what an agent or
21+
an IDE reader sees at the point it decides whether the code needs registering.
22+
23+
⛔ No behaviour changes. Every reachability sentence is kept verbatim — none of
24+
these codes reaches an HTTP door on this tree — no code is added, removed or
25+
re-registered, and no gate moves. With every comment character removed by
26+
`scripts/js-comment-mask.mjs`, all three files' executable token streams are
27+
byte-identical to the commit this branched from.

packages/core/src/plugin-contract.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,12 @@ import type { Plugin } from './types.js';
112112
* The FIRST issue only: a boot refusal is read by a human reading one log
113113
* line, and the first violated key is the one to fix.
114114
*
115-
* ⚠️ The code is spelled the ADR-0112 way and is deliberately NOT wire
116-
* vocabulary, exactly like `SERVICE_NOT_REGISTERED_CODE` one module over: it
117-
* is raised while the kernel is still assembling itself, before any HTTP
118-
* boundary exists, and `dispatcher-error-vocabulary.ts` classifies it
119-
* `door: 'none'` / `boot-refusal` for that reason.
115+
* The code is spelled the ADR-0112 way and is REGISTERED in
116+
* `ERROR_CODE_LEDGER` under `@objectstack/core` (#16649, under the #16404
117+
* door-or-no-door rule), exactly like `SERVICE_NOT_REGISTERED_CODE` one module
118+
* over. `door: 'none'` on this tree — it is raised while the kernel is still
119+
* assembling itself, before any HTTP boundary exists. If a transport ever
120+
* ANSWERS with it, `error.code` carries this spelling.
120121
*
121122
* ## `version`: the ninth key, and why admitting it refused nothing new
122123
*

packages/core/src/service-not-registered.ts

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,14 @@
7474
/**
7575
* The code carried by the "never registered" rejection.
7676
*
77-
* ⚠️ Spelled the ADR-0112 way, but deliberately NOT wire vocabulary: this value
78-
* is read in-process by the seam that catches the rejection and is never
79-
* serialized into an `error.code` envelope. `dispatcher-error-vocabulary.ts`
80-
* classifies it `door: 'none'` / `boot-refusal` for exactly that reason — the
81-
* same class as the migration-journal runner refusals. If a transport ever
82-
* needs to ANSWER with this fact, that is a registration question for #8846's
83-
* ledger, ⛔ not something to start doing at a door.
77+
* Spelled the ADR-0112 way and REGISTERED in `ERROR_CODE_LEDGER` under
78+
* `@objectstack/core` (#16649, under the #16404 door-or-no-door rule: every
79+
* `code` that ships in `dist` carries a ledger row, whether or not a door
80+
* answers with it). `door: 'none'` on this tree — this value is read
81+
* in-process by the seam that catches the rejection and is never serialized
82+
* into an `error.code` envelope, the same reachability as the
83+
* migration-journal runner refusals. If a transport ever ANSWERS with this
84+
* fact, `error.code` carries this spelling.
8485
*/
8586
export const SERVICE_NOT_REGISTERED_CODE = 'SERVICE_NOT_REGISTERED';
8687

packages/drivers/driver-sql/src/dialect-emission-refusal.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,16 @@
5858
* ADR-0112 D3 extension code, registered by `@objectstack/driver-sql` in
5959
* `ERROR_CODE_LEDGER`.
6060
*
61-
* Registered rather than parked as a driver-local string because this refusal
62-
* IS wire-reachable: publishing a drafted object calls `engine.syncObjectSchema`
63-
* → `SqlDriver.syncSchema` → the DDL gate, on a server that is already serving
64-
* HTTP. That is the test the ledger applies (the class `MONGODB_MULTI_TENANT_UNSUPPORTED`
65-
* was UNregistered for failing — a boot refusal the CLI rethrows pre-HTTP, which
66-
* no response envelope could ever carry). This one can be carried, so it is
67-
* registered and the door serves it under its own name instead of demoting it
68-
* to `declaredCode` behind a 500.
61+
* Registered from the start rather than parked as a driver-local string, and
62+
* this refusal IS wire-reachable: publishing a drafted object calls
63+
* `engine.syncObjectSchema` → `SqlDriver.syncSchema` → the DDL gate, on a
64+
* server that is already serving HTTP. That was the exact test #8035 applied
65+
* when it UNregistered `MONGODB_MULTI_TENANT_UNSUPPORTED` for failing it — a
66+
* removal #16649 reversed under the #16404 door-or-no-door rule, which takes
67+
* registration out of that test's reach entirely: every `code` that ships in
68+
* `dist` carries a ledger row, and wire-reachability now decides only what a
69+
* door ANSWERS with. This one can be carried, so the door serves it under its
70+
* own name instead of demoting it to `declaredCode` behind a 500.
6971
*
7072
* No standard-catalog member covers the condition: `NOT_IMPLEMENTED` says "not
7173
* yet", and the whole content of the ruling is that this is a decided, stated

0 commit comments

Comments
 (0)