Skip to content

Commit 1854c91

Browse files
committed
docs(spec): re-anchor the dead tracker citations in stack.zod.ts and data/analytics.zod.ts to the commits that decided them
Twelve comment and docblock sites cited six tracker numbers that answer 404. Each now names the commit on main that decided the rule its line states: 35ad101 (themes carrier retired), c8d6f6e (functions array accepts the lowered handler), 4d0d944 (ManifestSchema closed), 279431e (defineStack same-key action refusal), 35dffea (composeStacks cross-stack action key refusal) and 2306a76 (analytics_cube bound at the /meta write door). Comment lines only, one for one. Claude-Session: https://claude.ai/code/session_014EJ1ED8X4MMrT18BhVx4tx Co-authored-by: Claude <noreply@anthropic.com>
1 parent 0f6dcac commit 1854c91

2 files changed

Lines changed: 12 additions & 12 deletions

File tree

‎packages/spec/src/data/analytics.zod.ts‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -401,10 +401,10 @@ export const CubeJoinSchema = lazySchema(() => strictObject(
401401
* showcase example authors through) and `defineStack({ analyticsCubes })` /
402402
* artifact ingest, both of which parse `StackSchema` → `analyticsCubes[]`.
403403
*
404-
* [#10194] This docblock used to say the ADR-0010 protection envelope is
404+
* [commit 2306a765c] This docblock used to say the ADR-0010 protection envelope is
405405
* deliberately NOT declared here, on the premise that `analytics_cube`
406406
* resolves no `getMetadataTypeSchema` entry (so `saveMetaItem` never 422s
407-
* it). #10194 retired that premise: `analytics_cube` is now bound in
407+
* it). Commit 2306a765c retired that premise: `analytics_cube` is now bound in
408408
* `UNREGISTERED_KIND_SCHEMAS`, so `PUT /meta/analytics_cube/:name` parses a
409409
* body through THIS schema — and the `getMetaItemLayered` → `saveMetaItem`
410410
* round-trip carries the `applyProtection` stamp. The shape is `.strict()`,
@@ -482,7 +482,7 @@ export const CubeSchema = lazySchema(() => strictObject(
482482
),
483483

484484
// ADR-0010 — runtime protection envelope (internal — set by loader).
485-
// [#10194] See the docblock above for why this spread became load-bearing
485+
// [commit 2306a765c] See the docblock above for why this spread became load-bearing
486486
// the day the `/meta` write door started parsing bodies with this schema.
487487
...MetadataProtectionFields,
488488
},

‎packages/spec/src/stack.zod.ts‎

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ const STACK_DEFINITION_COLLECTIONS_SHAPE = {
412412
+ 'composeStacks runs the same key rule across its input stacks (counting distinct stacks, not sites) '
413413
+ 'and names both source stacks on a collision.',
414414
),
415-
// `themes` was REMOVED in 17.1 (#10485, ADR-0049 enforce-or-remove — ruled
415+
// `themes` was REMOVED in 17.1 (commit 35ad101bc, ADR-0049 enforce-or-remove — ruled
416416
// 退役授权面, 2026-08-21). The pipeline was live from authoring gate through
417417
// artifact ingest and stopped there: no framework package ever read the
418418
// stored items, `theme` was never a registered metadata type, no first-party
@@ -630,7 +630,7 @@ const STACK_DEFINITION_COLLECTIONS_SHAPE = {
630630
*
631631
* BOTH shapes therefore reach this schema twice: once as authored, once
632632
* lowered. All four combinations (map/array × bare/declared) are accepted —
633-
* the map's two lowered forms since #4343 and #4976, the array's since #6238.
633+
* the map's two lowered forms since #4343 and #4976, the array's since commit c8d6f6e08.
634634
* `packages/cli`'s `lower-callables.test.ts` pins every cell against what the
635635
* lowering actually emits, rather than against a belief about it.
636636
*/
@@ -1020,7 +1020,7 @@ export const COMPOSE_KEY_DISPOSITIONS = Object.freeze({
10201020
reports: 'concat',
10211021
datasets: 'concat',
10221022
actions: 'concat',
1023-
// `themes` left this table with the key (#10485) — the total-record type is
1023+
// `themes` left this table with the key (commit 35ad101bc) — the total-record type is
10241024
// what forces this comment to move in lockstep with the schema.
10251025
flows: 'concat',
10261026
jobs: 'concat',
@@ -1230,7 +1230,7 @@ function assembledPackageBodyShape(): Pick<typeof STACK_DEFINITION_COLLECTIONS_S
12301230
*
12311231
* NO `strictObject` spelling appears here, and none is needed. This schema is
12321232
* `ManifestSchema.extend(...)`, and `.extend()` carries the base's unknown-key
1233-
* posture: #14192 closed `ManifestSchema`, so an assembled body is closed too,
1233+
* posture: commit 4d0d9445a closed `ManifestSchema`, so an assembled body is closed too,
12341234
* BY INHERITANCE — an undeclared key on one is REFUSED, by name and with the
12351235
* declared spelling offered for a near miss. ⛔ Do not read the absence of the
12361236
* `strictObject` spelling as a declined posture; it is an inherited one.
@@ -3034,7 +3034,7 @@ function sortActionsByOrder<T extends { order?: number }>(actions: T[]): T[] {
30343034
* and before this the second merge doubled every bound action in the composed
30353035
* object (three copies for two declarations under `objectConflict: 'override'`
30363036
* / `'merge'`). Identity, deliberately not equality: an author writing one
3037-
* action in both positions produces two distinct objects, which #14686's
3037+
* action in both positions produces two distinct objects, which commit 279431e7a's
30383038
* same-key refusal (run before this merge) rejects and which this merge must
30393039
* not quietly fold.
30403040
*
@@ -3191,7 +3191,7 @@ function mergeActionsIntoObjects(config: ObjectStackDefinition): ObjectStackDefi
31913191
// surviving objects through as-is — ran this merge a second time over that
31923192
// echo and doubled every bound action. A hand-written twin (one action
31933193
// authored in both positions) is two objects after the strict parse, and
3194-
// #14686's same-key refusal has already run ahead of this merge to refuse
3194+
// commit 279431e7a's same-key refusal has already run ahead of this merge to refuse
31953195
// it; an equality skip here would have swallowed it instead.
31963196
const fresh = (actionsByObject.get(obj.name) ?? []).filter((action) => !base.includes(action));
31973197
const merged = fresh.length > 0 ? [...base, ...fresh] : base;
@@ -4507,7 +4507,7 @@ function mergeObjects(
45074507
}
45084508

45094509
/**
4510-
* Cross-stack duplicate action keys over the COMPOSED action set (#14662).
4510+
* Cross-stack duplicate action keys over the COMPOSED action set (commit 35dffeace).
45114511
*
45124512
* `defineStack` refuses two declarations that resolve to one scope-qualified
45134513
* runtime key within ONE stack ({@link collectDuplicateActionKeyErrors}), and
@@ -5067,7 +5067,7 @@ function collectArtifactCrossReferenceErrors(
50675067
* stacks declaring *different* values throw an error naming both stacks
50685068
* (#5005; `i18n` joined them in #5051).
50695069
* **Actions** concatenate like every other collection, and the composed set is
5070-
* then checked the way `defineStack` checks one stack (#14662): two input
5070+
* then checked the way `defineStack` checks one stack (commit 35dffeace): two input
50715071
* stacks whose declarations resolve to one scope-qualified runtime key
50725072
* (`objectName:name`, or `global:name` for an object-less action) throw, and
50735073
* the error names both stacks by manifest id and where each declaration sits.
@@ -5290,7 +5290,7 @@ export function composeStacks(
52905290
if (single.declared) composed[key] = single.value;
52915291
}
52925292

5293-
// 6. Cross-stack action key collisions (#14662) — the check `defineStack`
5293+
// 6. Cross-stack action key collisions (commit 35dffeace) — the check `defineStack`
52945294
// runs within one stack, over what composition actually carries. AFTER
52955295
// every collection is composed, and BEFORE `mergeActionsIntoObjects`
52965296
// copies each bound standalone action into its object: that copy is the

0 commit comments

Comments
 (0)