agentic-sdlc-wizard 1.48.0 → 1.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,7 +13,7 @@
13
13
  "name": "sdlc-wizard",
14
14
  "source": ".",
15
15
  "description": "SDLC enforcement for AI agents — TDD, planning, self-review, CI shepherd",
16
- "version": "1.48.0",
16
+ "version": "1.50.0",
17
17
  "author": {
18
18
  "name": "Stefan Ayala"
19
19
  },
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sdlc-wizard",
3
- "version": "1.48.0",
3
+ "version": "1.50.0",
4
4
  "description": "SDLC enforcement for AI agents — TDD, planning, self-review, CI shepherd",
5
5
  "author": {
6
6
  "name": "Stefan Ayala",
package/CHANGELOG.md CHANGED
@@ -4,6 +4,50 @@ All notable changes to the SDLC Wizard.
4
4
 
5
5
  > **Note:** This changelog is for humans to read. Don't manually apply these changes - just run the wizard ("Check for SDLC wizard updates") and it handles everything automatically.
6
6
 
7
+ ## [1.50.0] - 2026-04-27
8
+
9
+ ### Added
10
+
11
+ - **`local-shepherd.sh --strip-paths` flag** — closes ROADMAP #231 Phase 2. When CC ships native equivalents to wizard custom features, the maintainer runs `local-shepherd.sh <PR> --compare-baseline --strip-paths '[paths]'` locally on Max to A/B compare wizard-with-features (baseline) vs wizard-without-stripped-features (candidate). Same-commit comparison (no main worktree). Both `BASELINE_DIR` and `CANDIDATE_DIR` are tmpdirs laid out as project roots; the candidate's fixture has the requested paths removed via `create_stripped_fixture` from `tests/e2e/lib/prove-it.sh` (single source of truth for the allowlist). Score-history rows tagged with `comparison_role: "baseline" | "candidate"` (same contract as plain `--compare-baseline`).
12
+ - **Validation**: paths must be in `REMOVABLE_ALLOWLIST` from `tests/e2e/lib/prove-it.sh`. Non-allowlisted paths (e.g. `/etc/passwd`) are rejected — security against LLM-hallucinated arbitrary deletions.
13
+ - **Constraint**: `--strip-paths` requires `--compare-baseline` (lone `--strip-paths` exits with a clear error). No silent fall-through to single-run mode.
14
+ - 8 new quality tests (30/30 total in `test-local-shepherd.sh`).
15
+
16
+ ### Removed
17
+
18
+ - **`prove-it-test` job in `.github/workflows/weekly-update.yml`** (251 lines) — replaced by the local `--strip-paths` flag. The CI job ran $6-12 per overlap detection with zero merged artifacts in 30 days. Local-Max replacement is $0 (sim leg on subscription) and gives the maintainer richer context to decide KEEP CUSTOM / SWITCH TO NATIVE.
19
+
20
+ ### Changed
21
+
22
+ - `tests/test-prove-it.sh`: replaced workflow-existence tests (#11-#12) with local-shepherd integration tests; added a regression test that the `prove-it-test` job stays deleted. All 20 tests green.
23
+ - `CI_CD.md` and `plans/AUTO_SELF_UPDATE.md`: updated to document the local replacement workflow. Historical section preserves the deleted CI job's intent.
24
+
25
+ ### Files
26
+
27
+ - `tests/e2e/local-shepherd.sh` (+105 lines, ~35 changed)
28
+ - `tests/test-local-shepherd.sh` (+~180 lines, +8 tests)
29
+ - `tests/test-prove-it.sh` (replaced 3 tests with 4 better-targeted ones)
30
+ - `.github/workflows/weekly-update.yml` (-251 lines)
31
+
32
+ ## [1.49.0] - 2026-04-27
33
+
34
+ ### Added
35
+
36
+ - **`local-shepherd.sh --compare-baseline` flag** — closes ROADMAP #230. When set, the shepherd runs the same scenario on `main` (via `git worktree add --detach`) AND the current branch, then posts a baseline-vs-candidate delta to the check-run + PR comment. Both score-history rows are tagged with `comparison_role: "baseline" | "candidate"` so trend analytics can distinguish comparison runs from regular shepherd runs. Single-run mode (no flag) is unchanged for backward compat — no `comparison_role` field on those rows.
37
+ - **Atomic write** (Codex P1 round 1): both rows are appended together AFTER candidate sim+eval succeeds. A candidate failure leaves zero comparison rows in history (no orphan baseline). Verified by `test_compare_baseline_no_orphan_row_on_candidate_failure`.
38
+ - **Tempdir hygiene** (Codex P1 round 1): `BASELINE_TMPRUN` is nested under `TMPRUN` so the existing `trap` cleans it up on every exit path. No leaks even on early failures (history mkdir, evaluator crash). Verified by `test_compare_baseline_no_baseline_tmprun_leak`.
39
+ - 9 new quality tests (22/22 total in `test-local-shepherd.sh`). Codex round 2 CERTIFIED 9/10 (round 1 found 2 P1s, both fixed).
40
+ - **Unblocks ROADMAP #231 Phase 2** — weekly-update workflow migration (currently burning $25-55/week on API). With `--compare-baseline`, the maintainer can run the comparison locally on Max instead of paying for it in CI.
41
+
42
+ ### Changed
43
+
44
+ - `local-shepherd.sh`: provenance fields (`HOST_OS`, `CLI_VERSION`, `AUTH_MODE`, `EXECUTION_PATH`) now computed ONCE before any sim runs. Previously duplicated between baseline and candidate paths; consolidated for both DRY and correctness.
45
+
46
+ ### Files
47
+
48
+ - `tests/e2e/local-shepherd.sh` (+247 lines, ~50 changed)
49
+ - `tests/test-local-shepherd.sh` (+~280 lines, +9 tests)
50
+
7
51
  ## [1.48.0] - 2026-04-27
8
52
 
9
53
  ### Changed
@@ -2967,7 +2967,7 @@ If deployment fails or post-deploy verification catches issues:
2967
2967
 
2968
2968
  **SDLC.md:**
2969
2969
  ```markdown
2970
- <!-- SDLC Wizard Version: 1.48.0 -->
2970
+ <!-- SDLC Wizard Version: 1.50.0 -->
2971
2971
  <!-- Setup Date: [DATE] -->
2972
2972
  <!-- Completed Steps: step-0.1, step-0.2, step-0.4, step-1, step-2, step-3, step-4, step-5, step-6, step-7, step-8, step-9 -->
2973
2973
  <!-- Git Workflow: [PRs or Solo] -->
@@ -4032,7 +4032,7 @@ Walk through updates? (y/n)
4032
4032
  Store wizard state in `SDLC.md` as metadata comments (invisible to readers, parseable by Claude):
4033
4033
 
4034
4034
  ```markdown
4035
- <!-- SDLC Wizard Version: 1.48.0 -->
4035
+ <!-- SDLC Wizard Version: 1.50.0 -->
4036
4036
  <!-- Setup Date: 2026-01-24 -->
4037
4037
  <!-- Completed Steps: step-0.1, step-0.2, step-1, step-2, step-3, step-4, step-5, step-6, step-7, step-8, step-9 -->
4038
4038
  <!-- Git Workflow: PRs -->
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-sdlc-wizard",
3
- "version": "1.48.0",
3
+ "version": "1.50.0",
4
4
  "description": "SDLC enforcement for Claude Code — hooks, skills, and wizard setup in one command",
5
5
  "bin": {
6
6
  "sdlc-wizard": "cli/bin/sdlc-wizard.js"
@@ -93,9 +93,11 @@ Parse CHANGELOG entries between the user's installed version and latest. Present
93
93
 
94
94
  ```
95
95
  Installed: 1.42.0
96
- Latest: 1.48.0
96
+ Latest: 1.50.0
97
97
 
98
98
  What changed:
99
+ - [1.50.0] local-shepherd.sh --strip-paths flag (#231 Phase 2 — replaces deleted prove-it-test cron)
100
+ - [1.49.0] local-shepherd.sh --compare-baseline flag (#230)
99
101
  - [1.48.0] SKILL.md trim — token bloat audit phase 2 follow-up
100
102
  - [1.47.0] Codex review progress wrapper (#259)
101
103
  - [1.46.1] npx check surfaces dangling+enabled plugin state (#266)