From 544183701859eb8b44ec427b258117f1046d17ae Mon Sep 17 00:00:00 2001 From: Shaheer Khawaja Date: Wed, 15 Apr 2026 06:33:52 -0400 Subject: [PATCH] fix: CI false-green and skill section test failures CRITICAL: CI has been silently passing a test failure since PR #107. The test runner's grep parser matched "0 fail" from an earlier per-file summary instead of the overall summary showing "1 fail". - Replace fragile grep-based output parsing with direct `bun test` exit code check - Add `Source references:` section to 4 thin skill overrides (refine, retro, tdd, writing-plans) to satisfy the "rich section" test - Regenerate runtime target files (13 files total) Before: 966 pass / 1 fail (CI reported 0 fail) After: 967 pass / 0 fail (CI correctly enforces 0 fail) --- .github/workflows/ci.yml | 10 ++++------ codex-overrides/refine.md | 3 +++ codex-overrides/retro.md | 3 +++ codex-overrides/tdd.md | 3 +++ codex-overrides/writing-plans.md | 3 +++ codex-skills/productionos-refine/SKILL.md | 3 +++ codex-skills/productionos-retro/SKILL.md | 3 +++ codex-skills/productionos-tdd/SKILL.md | 3 +++ codex-skills/productionos-writing-plans/SKILL.md | 3 +++ skills/refine/SKILL.md | 3 +++ skills/retro/SKILL.md | 3 +++ skills/tdd/SKILL.md | 3 +++ skills/writing-plans/SKILL.md | 3 +++ 13 files changed, 40 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8f68b7c..b2cdb3d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,15 +37,13 @@ jobs: - name: Run tests (0 failures required) run: | - OUTPUT=$(bun test 2>&1) || true - echo "$OUTPUT" - FAIL_COUNT=$(echo "$OUTPUT" | grep -oE '[0-9]+ fail' | head -1 | grep -oE '[0-9]+' || echo "0") - PASS_COUNT=$(echo "$OUTPUT" | grep -oE '[0-9]+ pass' | head -1 | grep -oE '[0-9]+' || echo "0") - echo "Tests: $PASS_COUNT pass, $FAIL_COUNT fail" - if [ "${FAIL_COUNT:-0}" -gt 0 ]; then + # Use bun test's exit code directly — more reliable than parsing grep output. + # Previous grep-based approach matched "0 fail" in per-file summaries and missed overall failures. + if ! bun test; then echo "::error::Test failures detected. 0 failures required." exit 1 fi + echo "All tests passed." lint: runs-on: ubuntu-latest diff --git a/codex-overrides/refine.md b/codex-overrides/refine.md index 474a07b..e309b54 100644 --- a/codex-overrides/refine.md +++ b/codex-overrides/refine.md @@ -17,6 +17,9 @@ Use this as the Codex-first refinement workflow. It should inspect flagged outpu ## Codex Workflow +Source references: +- `.claude/commands/refine.md` + 1. load the flagged outputs or pending signals 2. critique the weaknesses directly 3. refine in focused passes diff --git a/codex-overrides/retro.md b/codex-overrides/retro.md index 3a32dac..6039b41 100644 --- a/codex-overrides/retro.md +++ b/codex-overrides/retro.md @@ -17,6 +17,9 @@ Use this as the Codex-first retrospective workflow. It should look back across r ## Codex Workflow +Source references: +- `.claude/commands/retro.md` + 1. inspect recent commits and artifacts 2. summarize wins, misses, and repeated pain points 3. connect those patterns to concrete improvements diff --git a/codex-overrides/tdd.md b/codex-overrides/tdd.md index 3edcd4c..24d08be 100644 --- a/codex-overrides/tdd.md +++ b/codex-overrides/tdd.md @@ -17,6 +17,9 @@ Use this as the Codex-first TDD workflow. It should enforce red-green-refactor a ## Codex Workflow +Source references: +- `.claude/commands/tdd.md` + 1. write the failing test first 2. confirm the failure 3. implement the minimum change to pass diff --git a/codex-overrides/writing-plans.md b/codex-overrides/writing-plans.md index fa694bb..d4afa1e 100644 --- a/codex-overrides/writing-plans.md +++ b/codex-overrides/writing-plans.md @@ -17,6 +17,9 @@ Use this as the Codex-first execution-planning workflow. It should convert an ap ## Codex Workflow +Source references: +- `.claude/commands/writing-plans.md` + 1. restate the approved scope 2. break the work into tasks 3. map dependencies and risk diff --git a/codex-skills/productionos-refine/SKILL.md b/codex-skills/productionos-refine/SKILL.md index 475e411..c192232 100644 --- a/codex-skills/productionos-refine/SKILL.md +++ b/codex-skills/productionos-refine/SKILL.md @@ -19,6 +19,9 @@ Use this as the Codex-first refinement workflow. It should inspect flagged outpu ## Codex Workflow +Source references: +- `.claude/commands/refine.md` + 1. load the flagged outputs or pending signals 2. critique the weaknesses directly 3. refine in focused passes diff --git a/codex-skills/productionos-retro/SKILL.md b/codex-skills/productionos-retro/SKILL.md index 25e7a7c..0119d3a 100644 --- a/codex-skills/productionos-retro/SKILL.md +++ b/codex-skills/productionos-retro/SKILL.md @@ -19,6 +19,9 @@ Use this as the Codex-first retrospective workflow. It should look back across r ## Codex Workflow +Source references: +- `.claude/commands/retro.md` + 1. inspect recent commits and artifacts 2. summarize wins, misses, and repeated pain points 3. connect those patterns to concrete improvements diff --git a/codex-skills/productionos-tdd/SKILL.md b/codex-skills/productionos-tdd/SKILL.md index 755650f..38389ae 100644 --- a/codex-skills/productionos-tdd/SKILL.md +++ b/codex-skills/productionos-tdd/SKILL.md @@ -19,6 +19,9 @@ Use this as the Codex-first TDD workflow. It should enforce red-green-refactor a ## Codex Workflow +Source references: +- `.claude/commands/tdd.md` + 1. write the failing test first 2. confirm the failure 3. implement the minimum change to pass diff --git a/codex-skills/productionos-writing-plans/SKILL.md b/codex-skills/productionos-writing-plans/SKILL.md index 2f95446..eea4c82 100644 --- a/codex-skills/productionos-writing-plans/SKILL.md +++ b/codex-skills/productionos-writing-plans/SKILL.md @@ -19,6 +19,9 @@ Use this as the Codex-first execution-planning workflow. It should convert an ap ## Codex Workflow +Source references: +- `.claude/commands/writing-plans.md` + 1. restate the approved scope 2. break the work into tasks 3. map dependencies and risk diff --git a/skills/refine/SKILL.md b/skills/refine/SKILL.md index 474a07b..e309b54 100644 --- a/skills/refine/SKILL.md +++ b/skills/refine/SKILL.md @@ -17,6 +17,9 @@ Use this as the Codex-first refinement workflow. It should inspect flagged outpu ## Codex Workflow +Source references: +- `.claude/commands/refine.md` + 1. load the flagged outputs or pending signals 2. critique the weaknesses directly 3. refine in focused passes diff --git a/skills/retro/SKILL.md b/skills/retro/SKILL.md index 3a32dac..6039b41 100644 --- a/skills/retro/SKILL.md +++ b/skills/retro/SKILL.md @@ -17,6 +17,9 @@ Use this as the Codex-first retrospective workflow. It should look back across r ## Codex Workflow +Source references: +- `.claude/commands/retro.md` + 1. inspect recent commits and artifacts 2. summarize wins, misses, and repeated pain points 3. connect those patterns to concrete improvements diff --git a/skills/tdd/SKILL.md b/skills/tdd/SKILL.md index 3edcd4c..24d08be 100644 --- a/skills/tdd/SKILL.md +++ b/skills/tdd/SKILL.md @@ -17,6 +17,9 @@ Use this as the Codex-first TDD workflow. It should enforce red-green-refactor a ## Codex Workflow +Source references: +- `.claude/commands/tdd.md` + 1. write the failing test first 2. confirm the failure 3. implement the minimum change to pass diff --git a/skills/writing-plans/SKILL.md b/skills/writing-plans/SKILL.md index fa694bb..d4afa1e 100644 --- a/skills/writing-plans/SKILL.md +++ b/skills/writing-plans/SKILL.md @@ -17,6 +17,9 @@ Use this as the Codex-first execution-planning workflow. It should convert an ap ## Codex Workflow +Source references: +- `.claude/commands/writing-plans.md` + 1. restate the approved scope 2. break the work into tasks 3. map dependencies and risk