feat(setup): CI shepherd opt-in + workflow analyzer (#48) - #134
Conversation
- Add CI shepherd as explicit top-level opt-in question (Q18) in setup wizard, gating CI monitoring/review/bot sub-questions - Create /ci-analyzer skill for GitHub Actions workflow gap analysis (linting, review hooks, E2E coverage recommendations) - Add ci-analyzer to CLI distribution (8→9 template files) - Update wizard doc Step 0.3 comparison table with ci-analyzer column - Update Complementary Tools section to reference /ci-analyzer - Store shepherd choice in SDLC.md metadata (<\!-- CI Shepherd: -->) - Add #52 Smart Setup Questions and #53 Plan Auto-Approval to roadmap - 8 new tests in test-self-update.sh, file count bumps in test-cli and test-setup-path (8→9). 421 total tests passing
E2E Quick Check (Tier 1)
|
| Layer | Metric | Value |
|---|---|---|
| L1: Model | External Benchmark | 59 (-20.0% vs baseline) |
| L2: SDLC | Baseline (main) | 8 / 10 |
| Candidate (PR) | 7 / 10 | |
| SDP (adjusted) | 8.4 / 10 | |
| Delta | -1.0 | |
| Combined | Robustness | 1.0 |
| Status | MINOR_DIP |
Result: Minor variance detected (within acceptable range)
Interpretation: MODEL_DEGRADED
Criteria Breakdown
| Criterion | Score | Evidence | |
|---|---|---|---|
| 🟢 | plan_mode_outline | 1/1 | The agent outlined a numbered plan before writing code: 'Confidence: MEDIUM |
Plan:
- Update
tests/app.test.jsto import and testCalculatorclass (TDD RED) - Run tests — should fail (no Calculator class yet)
- Add
Calculatorclass tosrc/app.jswithgreet,add,calculate(fixing typo) - Run tests — should pass
- Self-review' |
| 🟢 | plan_mode_tool | 1/1 | Agent called TodoWrite with 5 tasks before any Edit tool calls. The first TodoWrite call created tasks: 'Update tests for Calculator class (TDD RED)', 'Run tests to verify they fail', 'Implement Calculator class in src/app.js', 'Run tests to verify they pass', 'Self-review changes'. The agent then continued to update the todo list throughout execution to track progress. |
| 🟢 | tdd_green_ran | 1/1 | Two test runs shown: RED phase: 'Test Suites: 1 failed, 1 passed, 2 total
Tests: 3 failed, 21 passed, 24 total'; GREEN phase: 'PASS tests/app.test.js
PASS tests/utils.test.js
Test Suites: 2 passed, 2 total
Tests: 24 passed, 24 total' |
| 🟢 | tdd_green_pass | 1/1 | The final test run shows: 'Test Suites: 2 passed, 2 total
Tests: 24 passed, 24 total' — all tests pass in the GREEN phase run. |
| 🔴 | self_review | 0/1 | The agent stated 'Self-review:' and listed bullet points summarizing what it did, but never actually used Read, Bash (git diff), or any other tool to read back the modified files. It did not inspect the final state of app.js or app.test.js after modifications. The self-review was purely from memory without re-reading any files. |
| 🟢 | clean_code | 1/1 | The agent followed a single coherent approach: (1) read current files, (2) stated plan and confidence, (3) created todo list, (4) updated tests for Calculator class (TDD RED), (5) ran tests confirming failure, (6) implemented Calculator class in app.js, (7) ran tests confirming all pass (GREEN), (8) self-reviewed. No abandoned implementations, no commented-out code, no contradictory changes. The legacy functions were intentionally retained for backward compatibility, not as dead code from an abandoned approach. |
| 🟢 | task_tracking | 1/1 | Found TodoWrite usage |
| 🟢 | confidence | 1/1 | Stated MEDIUM confidence |
| 🔴 | tdd_red | 0/2 | Not found |
Historical Context
This scenario avg: 7.0 (1 runs)
Weakest criterion: tdd_red (0%)
Add merge-ready label for full 5x evaluation before merge.
Tier 1: 1x run each. SDP adjusts for external model conditions.
|
Claude finished @BaseInfinity's task in 1m 42s —— View job PR Code Review
SummaryAdds CI shepherd as an explicit opt-in question (Q18) gating CI sub-questions, creates a new Recommendation: APPROVEFindingsP0 — Critical (must fix before merge)None. P1 — Must Fix (should fix before merge)None. P2 — Suggestions (nice to have)
Strengths
E2E Coverage NoteThis PR affects Files Reviewed
|
|
The review is posted. Here's a summary of what was done:
|
) ci-analyzer was added in PR #134 without prove-it validation — only existence tests, zero quality checks, overlap with third-party /claude-automation-recommender. This violates the core "Prove It or Delete It" philosophy. Root cause: "Prove It" existed in wizard doc (philosophy) but was absent from SDLC skill (enforcement). Changes: - DELETE ci-analyzer skill + CLI template (unvalidated addition) - ADD "Prove It Gate" section to SDLC skill (enforcement layer) - ADD prove-it step to SDLC TodoWrite checklist - ADD "own additions" guidance + ci-analyzer evidence to wizard doc - REMOVE ci-analyzer from CLI distribution, setup skill, wizard refs - REMOVE stale "bot fallback" reference from setup skill Q18 - 9 new regression tests: deletion verification, Prove It Gate enforcement, internal consistency (no stale references across skills) - Codex cross-model review: CERTIFIED (round 3)
) ci-analyzer was added in PR #134 without prove-it validation — only existence tests, zero quality checks, overlap with third-party /claude-automation-recommender. This violates the core "Prove It or Delete It" philosophy. Root cause: "Prove It" existed in wizard doc (philosophy) but was absent from SDLC skill (enforcement). Changes: - DELETE ci-analyzer skill + CLI template (unvalidated addition) - ADD "Prove It Gate" section to SDLC skill (enforcement layer) - ADD prove-it step to SDLC TodoWrite checklist - ADD "own additions" guidance + ci-analyzer evidence to wizard doc - REMOVE ci-analyzer from CLI distribution, setup skill, wizard refs - REMOVE stale "bot fallback" reference from setup skill Q18 - 9 new regression tests: deletion verification, Prove It Gate enforcement, internal consistency (no stale references across skills) - Codex cross-model review: CERTIFIED (round 3)
) (#137) ci-analyzer was added in PR #134 without prove-it validation — only existence tests, zero quality checks, overlap with third-party /claude-automation-recommender. This violates the core "Prove It or Delete It" philosophy. Root cause: "Prove It" existed in wizard doc (philosophy) but was absent from SDLC skill (enforcement). Changes: - DELETE ci-analyzer skill + CLI template (unvalidated addition) - ADD "Prove It Gate" section to SDLC skill (enforcement layer) - ADD prove-it step to SDLC TodoWrite checklist - ADD "own additions" guidance + ci-analyzer evidence to wizard doc - REMOVE ci-analyzer from CLI distribution, setup skill, wizard refs - REMOVE stale "bot fallback" reference from setup skill Q18 - 9 new regression tests: deletion verification, Prove It Gate enforcement, internal consistency (no stale references across skills) - Codex cross-model review: CERTIFIED (round 3)
Summary
/ci-analyzerskill for GitHub Actions workflow gap analysis — covers linting gaps, review hooks, E2E suggestions (roadmap scope, Codex finding test: validate trivial detection and needs-review bypass #4)<!-- CI Shepherd: enabled/disabled/not applicable -->(Codex finding test: validate PR workflows after PR #1 merge #2)Test plan
test-self-update.sh(shepherd opt-in, question gating, Q18 count, skill existence, template parity, roadmap categories, wizard reference)test-cli.sh(8→9) andtest-setup-path.sh(8→9, all 9 fixtures)