From 6c6de6aa2db74d8e1fe57b172549fc04d9e63f9f Mon Sep 17 00:00:00 2001 From: Lex Christopherson Date: Thu, 26 Mar 2026 09:29:50 -0600 Subject: [PATCH] fix: add non-null assertions for parseUnitId optional fields in tests parseUnitId returns { milestone, slice?, task? } where slice and task are optional. Test code that knows these fields are present needs ! assertions to satisfy strict TypeScript checking. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/resources/extensions/gsd/tests/reactive-executor.test.ts | 2 +- src/resources/extensions/gsd/tests/retry-state-reset.test.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/resources/extensions/gsd/tests/reactive-executor.test.ts b/src/resources/extensions/gsd/tests/reactive-executor.test.ts index 589fe39e7..500316f06 100644 --- a/src/resources/extensions/gsd/tests/reactive-executor.test.ts +++ b/src/resources/extensions/gsd/tests/reactive-executor.test.ts @@ -447,7 +447,7 @@ test("unitId batch encoding round-trips correctly", () => { assert.equal(slice, "S01"); const plusIdx = batchPart!.indexOf("+"); assert.ok(plusIdx > 0, "Should have + separator"); - const batchIds = batchPart.slice(plusIdx + 1).split(","); + const batchIds = batchPart!.slice(plusIdx + 1).split(","); assert.deepEqual(batchIds, ["T02", "T03", "T05"]); }); diff --git a/src/resources/extensions/gsd/tests/retry-state-reset.test.ts b/src/resources/extensions/gsd/tests/retry-state-reset.test.ts index 1eb8b259a..e16de8dd6 100644 --- a/src/resources/extensions/gsd/tests/retry-state-reset.test.ts +++ b/src/resources/extensions/gsd/tests/retry-state-reset.test.ts @@ -267,7 +267,7 @@ test('Retry reset: idempotent when artifacts already missing', () => { const { milestone: mid, slice: sid, task: tid } = parseUnitId(trigger.unitId); // Uncheck — returns false because no PLAN file - const uncheckResult = uncheckTaskInPlan(base, mid, sid, tid); + const uncheckResult = uncheckTaskInPlan(base, mid, sid!, tid!); assert.ok(!uncheckResult, "uncheck returns false when no PLAN exists"); // Summary does not exist — no crash