44 * Driver-error classification: "which driver failures may be silenced?"
55 * (#4728, #4825; rule from #4632).
66 *
7- * ## Home — `@objectstack/types`, since #13279
7+ * ## Home — `@objectstack/types`, since commit 6a180e42d
88 *
99 * This module was born in `@objectstack/metadata` and lived there through
1010 * #4728 / #4825 / #5841. `@objectstack/metadata/errors`' own docblock recorded
1616 *
1717 * What forced it: `resolveAuthzContext` (`@objectstack/core`) must ask
1818 * {@link isMissingTableError} to tell a permission-store OUTAGE from a
19- * deployment whose `sys_*` tables were never provisioned (#13279 ). Core cannot
19+ * deployment whose `sys_*` tables were never provisioned (commit 6a180e42d ). Core cannot
2020 * import `@objectstack/metadata` — metadata **depends on** core — so the
2121 * predicate had to move to a package both sides already depend on, or be
2222 * copied. Copying was measured and rejected: two vocabularies of "which driver
134134// `relation-sub-object.ts` next door for the superstring hole it closes and for
135135// why the exclusion's width deliberately differs from the extractor's. That
136136// module was already this one's dependency across the package boundary; since
137- // #13279 moved this file into `@objectstack/types`, the two are siblings.
137+ // commit 6a180e42d moved this file into `@objectstack/types`, the two are siblings.
138138import { isRelationSubObjectPhrase } from './relation-sub-object.js' ;
139139
140140/**
@@ -372,7 +372,7 @@ const MISSING_TABLE: DriverErrorSignature = {
372372 *
373373 * [#6615] All three now read one home — `@objectstack/types` — instead
374374 * of three hand-kept copies, so the phrase can no longer be taught to
375- * the repo a fourth time or drift in one package only. [#13279 ] This
375+ * the repo a fourth time or drift in one package only. [commit 6a180e42d ] This
376376 * file now lives in that same home, so the read is a sibling import. The **width**
377377 * difference that used to justify the copy is preserved and is the
378378 * reason the home exports two functions rather than one: those two
@@ -386,7 +386,7 @@ const MISSING_TABLE: DriverErrorSignature = {
386386 */
387387 matchesMessage : isRelationSubObjectPhrase ,
388388 /**
389- * [#13324 ] "…and the relation it names is not the one you read."
389+ * [commit 4cda78c9b ] "…and the relation it names is not the one you read."
390390 *
391391 * The sibling of the phrase above, reached one step further out. That
392392 * one recognises a failure about something INSIDE a relation, which
@@ -408,7 +408,7 @@ const MAX_CAUSE_DEPTH = 4;
408408 * [#13438] The physical table a driver's statement TARGETED, declared on the
409409 * error envelope by the producer that knows it.
410410 *
411- * `readObject` closed the #13324 hole for callers that can name what they read
411+ * `readObject` (commit 4cda78c9b) closed the hole for callers that can name what they read
412412 * — and left a residual one layer down. A caller names its OBJECT (the API
413413 * name); a driver compiles the statement against the PHYSICAL table, and for a
414414 * federated object (ADR-0015, `external.remoteName`) those are two different
@@ -424,7 +424,7 @@ const MAX_CAUSE_DEPTH = 4;
424424 * stamps the table its statement targeted onto it — and the predicate PREFERS
425425 * a declared table over the caller-supplied `readObject`. The caller never
426426 * needs to know a federated object's remote name, and a driver that declares
427- * nothing gets exactly the #13324 behaviour.
427+ * nothing gets exactly the behaviour commit 4cda78c9b introduced .
428428 *
429429 * A symbol key from the global registry, held non-enumerable: the carrier
430430 * discipline `driver-sql` already applies to its withheld-diagnostic symbols
@@ -438,7 +438,7 @@ const MAX_CAUSE_DEPTH = 4;
438438 * ⚠️ A declaration is EVIDENCE, so it also narrows the one-argument form: an
439439 * envelope declaring `legacy_orders` whose dialect phrase names some other
440440 * relation reads not-benign even with no `readObject` — the driver supplied
441- * the fact the caller could not. That is the #13324 verdict reached without
441+ * the fact the caller could not. That is commit 4cda78c9b's verdict, reached without
442442 * the caller's help, in the direction the module docblock calls cheap.
443443 */
444444export const DRIVER_TARGETED_TABLE : symbol = Symbol . for ( 'objectstack.driver.targetedTable' ) ;
@@ -596,7 +596,7 @@ export function isSchemaAlreadyExistsError(error: unknown, depth = 0): boolean {
596596 * Postgres' two phrasings — the relation is right there in the message because
597597 * it exists (#6347). See {@link MISSING_TABLE}'s `excludes`.
598598 *
599- * [#13324 ] Neither is a failure that names a **different relation**, and that
599+ * [commit 4cda78c9b ] Neither is a failure that names a **different relation**, and that
600600 * one cannot be seen without `readObject`. The message test asks what the
601601 * phrase LOOKS like and never which table it names, so a read of a view whose
602602 * base table has been dropped — `no such table: main.<base>`, measured on
@@ -605,7 +605,7 @@ export function isSchemaAlreadyExistsError(error: unknown, depth = 0): boolean {
605605 * be about the table the caller asked for, or it is not evidence about it.
606606 *
607607 * Pass `readObject` from every in-repo call site. It is **optional** so that
608- * omitting it is exactly the pre-#13324 behaviour rather than a new loud
608+ * omitting it is exactly the behaviour before commit 4cda78c9b rather than a new loud
609609 * failure — this is a published export (`@objectstack/types`, and still
610610 * `@objectstack/metadata/errors` by re-export), and a required parameter would
611611 * be a breaking change to it. The cost of the choice
@@ -626,12 +626,12 @@ export function isSchemaAlreadyExistsError(error: unknown, depth = 0): boolean {
626626 * federated object (ADR-0015) that is not the name the driver put in the
627627 * statement — `crm_order` reads `external.remoteName: 'legacy_orders'`, so a
628628 * genuinely absent remote raised a phrase naming `legacy_orders` against a
629- * caller naming `crm_order`, and the #13324 comparison read it loud. A driver
629+ * caller naming `crm_order`, and the comparison commit 4cda78c9b added read it loud. A driver
630630 * that knows the table it targeted now DECLARES it on the envelope
631631 * ({@link declareTargetedTable}), and a declared table is preferred over
632632 * `readObject` outright: the phrase is compared against the declared name, and
633633 * the caller-supplied one is not consulted at that node or below it. Absent a
634- * declaration the comparison is the #13324 one , unchanged. Two consequences,
634+ * declaration the comparison is commit 4cda78c9b's , unchanged. Two consequences,
635635 * both pinned: a genuinely absent federated remote reads benign again without
636636 * the caller learning the mapping; and — because a declaration is evidence the
637637 * caller did not have — an envelope whose phrase names a relation other than
@@ -654,11 +654,11 @@ export function isMissingTableError(error: unknown, readObject?: string, depth =
654654}
655655
656656// ---------------------------------------------------------------------------
657- // Operator-facing text for a DECLARED driver fault (#16657 )
657+ // Operator-facing text for a DECLARED driver fault (commit 5a95b0e93 )
658658// ---------------------------------------------------------------------------
659659
660660/**
661- * [#16657 ] The ADR-0112 code a driver declares when the backend, not the
661+ * [commit 5a95b0e93 ] The ADR-0112 code a driver declares when the backend, not the
662662 * caller, refused the work. Spelled as a literal for the same reason
663663 * {@link declaresServerFault} spells `status`/`code` by hand: this package is
664664 * the common dependency every consumer of the question already has, and reading
@@ -667,7 +667,7 @@ export function isMissingTableError(error: unknown, readObject?: string, depth =
667667const DECLARED_DATABASE_FAULT_CODE = 'DATABASE_ERROR' ;
668668
669669/**
670- * [#16657 ] The fragment that identifies `SqlDriver`'s RAW-path envelope, and
670+ * [commit 5a95b0e93 ] The fragment that identifies `SqlDriver`'s RAW-path envelope, and
671671 * only it.
672672 *
673673 * The raw terminal (`rawStatementFaultError`, `driver-sql/src/sql-driver.ts`;
@@ -727,7 +727,7 @@ function messageChannelOf(node: unknown): string {
727727
728728/**
729729 * The text an OPERATOR should read for `error` — the dialect's own words when a
730- * driver composed over them, the error's own message otherwise (#16657 ).
730+ * driver composed over them, the error's own message otherwise (commit 5a95b0e93 ).
731731 *
732732 * # The defect this closes
733733 *
0 commit comments