[object Object]

← back to Gmc Titlefix

TK-10993: fix a 5th hardcoded parent constant that would have deadlocked the run

4adf88c02d7abc28287a5f323ae1081ac956615f · 2026-09-11 09:23:10 -0700 · Steve

canaryGate required appliedResults.length === 6 - the parent's 3 links + 3
descriptions. This manifest has 9 links and 0 descriptions, so the canary applies
3, the gate could never arm, and `rest` would have thrown 'Missing/stale canary
gate' forever. The canary writes would have landed with no way to finish.

Same bug class the contrarian caught at line 54. My error was fixing the
INSTANCE it named (33) instead of sweeping for the CLASS. Now swept: every
parent-scope literal is consistent at 9-op scope / 3-op canary / 3-key gate.

Canary already applied 3/9 cleanly - early verify at 221s: 3/3 served correct,
0 errors, 0 collateral.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017uZskkfeTZhLbtpqcCVm8d

Files touched

Diff

commit 4adf88c02d7abc28287a5f323ae1081ac956615f
Author: Steve <steve@designerwallcoverings.com>
Date:   Fri Sep 11 09:23:10 2026 -0700

    TK-10993: fix a 5th hardcoded parent constant that would have deadlocked the run
    
    canaryGate required appliedResults.length === 6 - the parent's 3 links + 3
    descriptions. This manifest has 9 links and 0 descriptions, so the canary applies
    3, the gate could never arm, and `rest` would have thrown 'Missing/stale canary
    gate' forever. The canary writes would have landed with no way to finish.
    
    Same bug class the contrarian caught at line 54. My error was fixing the
    INSTANCE it named (33) instead of sweeping for the CLASS. Now swept: every
    parent-scope literal is consistent at 9-op scope / 3-op canary / 3-key gate.
    
    Canary already applied 3/9 cleanly - early verify at 221s: 3/3 served correct,
    0 errors, 0 collateral.
    
    Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_017uZskkfeTZhLbtpqcCVm8d
---
 tk10993-rename-repair-executor.mjs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tk10993-rename-repair-executor.mjs b/tk10993-rename-repair-executor.mjs
index e6fd968..16bc54a 100644
--- a/tk10993-rename-repair-executor.mjs
+++ b/tk10993-rename-repair-executor.mjs
@@ -176,7 +176,7 @@ async function main() {
     const latestIntent = Math.max(0, ...intents.map(r => Date.parse(r.at)));
     const ageSeconds = (Date.now() - latestIntent) / 1000;
     const appliedResults = results.filter(r => r.applied);
-    const canaryGate = appliedResults.length === 6 && appliedResults.every(r => r.correct && !r.unrelated_changes.length && !r.new_disapprovals.length) && !errors.length && ageSeconds >= 720;
+    const canaryGate = appliedResults.length === 3 && appliedResults.every(r => r.correct && !r.unrelated_changes.length && !r.new_disapprovals.length) && !errors.length && ageSeconds >= 720;
     if (canaryGate) { const gate = path.join(DIR, 'canary-pass.json'); if (!fs.existsSync(gate)) saveNew(gate, { at: new Date().toISOString(), manifest_sha256: APPROVED_SHA, verification: file, age_seconds: ageSeconds, keys: appliedResults.map(r => r.key) }); }
     console.log(JSON.stringify({ file, correct, total: results.length, errors: errors.map(r => ({ key: r.key, error: r.error })), collateral: collateral.map(r => ({ key: r.key, unrelated_changes: r.unrelated_changes, new_disapprovals: r.new_disapprovals })), applied_count: appliedResults.length, age_seconds: Math.round(ageSeconds), canary_gate: canaryGate }, null, 2));
     process.exitCode = errors.length || collateral.length || correct !== ops.length ? 1 : 0;

← 3093fdb auto-data-snapshot: 2026-09-11T08:57:34 (1 data files) — dat  ·  back to Gmc Titlefix  ·  TK-11450: relabel 76 CA offers USD->CAD (Steve-approved opti 701a7af →