@@ -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