Skip to content

Commit 5466c30

Browse files
committed
docs(metadata-protocol): re-anchor the other source files' dead tracker citations to the commits that decided them
Claude-Session: https://claude.ai/code/session_017xfMoEjKUuSh2xYB8sCozp Co-authored-by: Claude <noreply@anthropic.com>
1 parent f260ed3 commit 5466c30

8 files changed

Lines changed: 58 additions & 58 deletions

File tree

‎packages/metadata-protocol/src/discovery-version.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
* Resolves the value `ObjectStackProtocolImplementation.getDiscovery()` serves
55
* as the `DiscoverySchema` "System Identity" `version` field (`./protocol.ts`).
66
*
7-
* ## #11235 — why the literal it replaces was provably not a contract value
7+
* ## Commit 376c70f98 — why the literal it replaces was provably not a contract value
88
*
99
* This producer hardcoded `version: '1.0'`. It is the SECOND
1010
* `DiscoverySchema`-conforming producer; the first
@@ -23,7 +23,7 @@
2323
* `@objectstack/metadata-protocol`, not the reverse, so importing it would
2424
* invert the dependency direction. Hoisting a shared helper into
2525
* `@objectstack/types` or `@objectstack/core` (both already dependencies of
26-
* this package) was considered and declined at #11235 triage: a hoist widens
26+
* this package) was considered and declined when the derivation landed (commit 376c70f98): a hoist widens
2727
* two packages' published surface for ~10 lines serving two call sites.
2828
* Consolidation rides a later card if a third caller ever appears.
2929
*
@@ -103,7 +103,7 @@ function resolvePackageVersion(): string | undefined {
103103
* 3. `'unknown'` — only if BOTH of the above are unavailable (the package's own
104104
* `package.json` is unreadable). Honest about not knowing, rather than a
105105
* plausible-looking literal a caller could mistake for real identity — the
106-
* exact failure mode #10993 and #11235 exist to close.
106+
* exact failure mode #10993 and commit 376c70f98 close.
107107
*/
108108
export function resolveDiscoveryVersion(): string {
109109
return getEnv('OS_RUNTIME_VERSION') || resolvePackageVersion() || 'unknown';

‎packages/metadata-protocol/src/migrations/live-mysql-database.testkit.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
// Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license.
22

33
/**
4-
* #10382 — the per-file live MySQL database for this package's live suites.
4+
* Commit ee09d2119 — the per-file live MySQL database for this package's live suites.
55
*
66
* ## What was actually wrong, which is not what the card said
77
*

‎packages/metadata-protocol/src/migrations/partial-index-probe.ts‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
* message that discloses neither the statement nor the diagnostic — and carries
4242
* the dialect error whole under a non-enumerable `cause`. Read bare, `detail`
4343
* became *"the database refused to run a raw statement"* for every caller that
44-
* stores it. `operatorFacingErrorText` (`@objectstack/types`, #16657) reads the
44+
* stores it. `operatorFacingErrorText` (`@objectstack/types`, commit 5a95b0e93) reads the
4545
* dialect's own words back out of that chain, so a stored record still names
4646
* `no such column: foo`. The envelope itself is left exactly as the driver
4747
* declared it: this is a READ of the cause, never a widening of the disclosure.
@@ -392,7 +392,7 @@ export async function probeThenReplaceIndex(
392392
} catch (err: unknown) {
393393
// `detail` is the OPERATOR-facing text: the dialect's own prose, read
394394
// out of the `cause` the raw seam attaches when it declares its fault
395-
// (#16019/#16657 — see the module header). Callers STORE it, and a
395+
// (#16019/commit 5a95b0e93 — see the module header). Callers STORE it, and a
396396
// stored record is the only copy its reader ever gets.
397397
// The VERDICT is taken from the error object itself, so a conflict
398398
// reported on `code` / `errno` / `cause` with unhelpful prose is still

‎packages/metadata-protocol/src/migrations/read-probe.ts‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
* than an oversight. Quietening a refusal requires CLASSIFYING it, this repo has
4646
* exactly one predicate for that (`isMissingTableError`, `@objectstack/types`),
4747
* and it needs `readObject` — the name of the thing the caller was reading —
48-
* both to avoid the #13324 fail-open and because
48+
* both to avoid the fail-open commit 4cda78c9b closed and because
4949
* `driver-error-classification.callers.test.ts` fails any in-repo call that
5050
* omits it. The raw path has no such name: `execute()` takes a string, and
5151
* `rawStatementFaultError` declares no targeted table (pinned by
@@ -111,7 +111,7 @@ export type ReadProbeExec = (sql: string) => Promise<unknown>;
111111
* array (better-sqlite3 through knex), `{ rows }` (pg), and the `[rows, fields]`
112112
* tuple (mysql2). An empty result set in any of those spellings is still a
113113
* result set, and still `true` — that is what keeps a healthy install's
114-
* `no-split` intact, and it is the half of #10789 that stopped it being a
114+
* `no-split` intact, and it is the half of commit 38bc74ed1 that stopped it being a
115115
* rename.
116116
*
117117
* This cannot lose a split that {@link normalizeRows} would have found: every
@@ -255,7 +255,7 @@ export type TablePresenceVerdict =
255255
| 'absent'
256256
/**
257257
* The seam accepted the statement and returned no result set at all — a
258-
* memory engine's no-op `execute` (#10789). Not a failure and not an answer;
258+
* memory engine's no-op `execute` (commit 38bc74ed1). Not a failure and not an answer;
259259
* each caller maps it the way its own history already ruled.
260260
*/
261261
| 'no-answer'
@@ -274,7 +274,7 @@ export interface TablePresenceProbe {
274274
/**
275275
* The table whose presence is asked. Also the `readObject` the fallback arm's
276276
* classification compares the dialect's phrase against, so a refusal naming
277-
* some OTHER relation is ⛔ not read as this table's absence (#13324).
277+
* some OTHER relation is ⛔ not read as this table's absence (commit 4cda78c9b).
278278
*/
279279
table: string;
280280
/** The knex client name, when the caller resolved one. */

‎packages/metadata-protocol/src/migrations/seed-tenancy-backfill.ts‎

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -190,15 +190,15 @@ export type SeedTenancyBackfillStatus =
190190
* No raw-SQL-capable driver at all — the engine exposes neither `execute` nor
191191
* `raw`, so no seam was resolved. A test double with no driver is the case.
192192
*
193-
* ⚠️ NOT a memory engine, however plausible that reads (#10789). A memory
193+
* ⚠️ NOT a memory engine, however plausible that reads (commit 38bc74ed1). A memory
194194
* engine's `execute` is a no-op that RETURNS rather than being absent, so it
195195
* resolves a seam and reports {@link 'absent'} — this branch never sees it.
196196
*/
197197
| 'no-driver'
198198
/**
199199
* The counter table could not be read: either there is no
200200
* `_objectstack_sequences` (nothing has ever allocated a number), or the seam
201-
* answered nothing at all — a memory engine's no-op `execute` (#10789), and
201+
* answered nothing at all — a memory engine's no-op `execute` (commit 38bc74ed1), and
202202
* the case this branch's comment always claimed. `detail` names which.
203203
*/
204204
| 'absent'
@@ -414,7 +414,7 @@ export function resolveSeedTenancyExec(engine: unknown): SeedTenancyExec | undef
414414
}
415415

416416
/**
417-
* ── The seam that ACCEPTS a query but never ANSWERS one (#10789) ───────────
417+
* ── The seam that ACCEPTS a query but never ANSWERS one (commit 38bc74ed1) ───────────
418418
*
419419
* {@link normalizeRows} flattens the three shapes a raw SELECT comes back as.
420420
* A seam can hand back a FOURTH thing, and it means something else entirely:
@@ -435,7 +435,7 @@ export function resolveSeedTenancyExec(engine: unknown): SeedTenancyExec | undef
435435
* the only thing that distinguishes them: a driver that answers returns a RESULT
436436
* SET. Nothing here names a driver, so any host with the same no-op shape is
437437
* covered without an allowlist to maintain — the consumer-side shape #10677 /
438-
* PR #10788 landed for `os migrate duplicates`, applied to this module's own
438+
* commit 3a7ec2d3b landed for `os migrate duplicates`, applied to this module's own
439439
* probes.
440440
*/
441441

@@ -961,7 +961,7 @@ function toNumber(value: unknown): number {
961961
// ruled destination, is not: it resolves there with no engine bound, so
962962
// `set()` answers "resolved" while nothing reaches the database — a receipt
963963
// that reports success and persists nothing is the very defect this card
964-
// exists to remove. Measured; recorded separately as #10159.)
964+
// exists to remove. Measured; recorded separately, and refused since commit 1ec36b730.)
965965
// - its API surface is read-only (`apiMethods: ['get', 'list']`), so the
966966
// receipt cannot be edited back through the shipped routes;
967967
// - its row contract lives in `@objectstack/spec/system`, which this package
@@ -1228,7 +1228,7 @@ export async function backfillSeedTenancy(
12281228
// statement above is kept and is still what runs on a dialect
12291229
// `read-probe.ts` has no catalog arm for.
12301230
//
1231-
// FOUR verdicts, and the third and fourth are the two #10789 named. A seam
1231+
// FOUR verdicts, and the third and fourth are the two commit 38bc74ed1 named. A seam
12321232
// that accepts the statement and never runs it (a memory engine's no-op
12331233
// `execute`) answers nothing — still `absent`, still separated by
12341234
// `detail`, exactly as ruled. ⛔ But `'unreadable'` is NOT folded in with
@@ -1317,7 +1317,7 @@ export async function backfillSeedTenancy(
13171317
// `resolveSystemWriteOrganization`'s probe (#9261). Unknown is not zero.
13181318
//
13191319
// "Separately" is `undefined` versus a string, and the distinction is
1320-
// load-bearing (#17167): the failure FACT must not ride on the failure
1320+
// load-bearing (commit dc709b2cf): the failure FACT must not ride on the failure
13211321
// TEXT, because the operator channel is allowed to be empty — a thrown
13221322
// `''`, a thrown `[]`, an `Error` whose `name` and `message` are both
13231323
// empty. A site that reads "the text is empty" as "there was no failure"
@@ -1336,7 +1336,7 @@ export async function backfillSeedTenancy(
13361336
.map((r) => (r.id == null ? '' : String(r.id)))
13371337
.filter((id) => id.length > 0);
13381338
} catch (e) {
1339-
// [#16657, #17167] The record is the helper's return AS IS, `''` included —
1339+
// [commit 5a95b0e93, commit dc709b2cf] The record is the helper's return AS IS, `''` included —
13401340
// the rule the other four `operatorFacingErrorText` sites in this file
13411341
// follow. ⛔ No placeholder on top of it: a record reading `'unknown error'`
13421342
// where the backend said nothing is this migration writing operator-facing
@@ -1393,7 +1393,7 @@ export async function backfillSeedTenancy(
13931393
(organizationProbeError === undefined
13941394
? ''
13951395
: // The parenthetical is dropped, never filled in, when the backend's
1396-
// operator channel was empty (#17167): the FAILURE is the load-
1396+
// operator channel was empty (commit dc709b2cf): the FAILURE is the load-
13971397
// bearing half of this note and it is stated either way, while the
13981398
// text is the backend's own or is not there at all.
13991399
`NOTE: the ${ORGANIZATION_TABLE} probe FAILED` +
@@ -1404,7 +1404,7 @@ export async function backfillSeedTenancy(
14041404
// `organizationProbeError` is `undefined` — and so serializes AWAY — when
14051405
// the probe answered; a probe that failed carries its text, `''` and all.
14061406
// Absent-versus-empty is what tells the two apart in the stored record
1407-
// now that no placeholder does it (#17167).
1407+
// now that no placeholder does it (commit dc709b2cf).
14081408
{ splits, organizationCount: organizationIds.length, organizationProbeError },
14091409
);
14101410
return { status: 'skipped-ambiguous-organization', splits, collisions: [], objectsStamped: 0 };

0 commit comments

Comments
 (0)