agentic-sdlc-wizard 1.47.0 → 1.49.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.47.0",
16
+ "version": "1.49.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.47.0",
3
+ "version": "1.49.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,42 @@ 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.49.0] - 2026-04-27
8
+
9
+ ### Added
10
+
11
+ - **`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.
12
+ - **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`.
13
+ - **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`.
14
+ - 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).
15
+ - **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.
16
+
17
+ ### Changed
18
+
19
+ - `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.
20
+
21
+ ### Files
22
+
23
+ - `tests/e2e/local-shepherd.sh` (+247 lines, ~50 changed)
24
+ - `tests/test-local-shepherd.sh` (+~280 lines, +9 tests)
25
+
26
+ ## [1.48.0] - 2026-04-27
27
+
28
+ ### Changed
29
+
30
+ - **SKILL.md trim — token bloat audit phase 2 follow-up.** PR #272's new `scripts/audit-session-load.sh` flagged 2 of 4 SKILL.md files as TRIM candidates (>=5000 tokens each — `skills/sdlc/SKILL.md` at 12,427t, `skills/update/SKILL.md` at 8,555t). Acting on the tool's findings closes the Prove-It loop: a tool that surfaces real bloat whose owner ignores it is just a louder lint warning. Both skills trimmed below threshold without losing operational content:
31
+ - `skills/sdlc/SKILL.md`: 12,427 → 4,995 tokens (-60%, 49,709 → 19,983 chars). Compressed prose, removed ASCII-art decoration boxes (kept the **bold sentences** they contained), tightened cross-model review section while preserving every Codex command, sandbox note, dialogue-loop template, and convergence rule. TodoWrite checklist intact (all 30 items, with `activeForm` removed since the spinner falls back to `subject` when omitted).
32
+ - `skills/update/SKILL.md`: 8,555 → 4,044 tokens (-53%, 34,220 → 16,179 chars). Step 1.5 CLI version detection's 30-line Node `cmp()` helper replaced with prose describing the algorithm (split on `-`, numeric major.minor.patch, prerelease ordering — `1.40.0-beta.1 < 1.40.0`). Step 3 changelog example shortened from 20-line frozen list to a placeholder pointing at the actual fetched CHANGELOG.
33
+ - Test anchor preservation traced manually: every grep'd phrase across `tests/test-{doc-consistency,self-update,update-skill-step-7-7,update-skill-cli-version,memory-audit-protocol,docs-usability,cli,prove-it,hooks}.sh` verified to still match. 45 unit suites + 4 e2e quick-tests green.
34
+ - **New quality test** (`tests/test-audit-session-load.sh`): `test_wizard_own_skills_below_threshold` runs the audit on the wizard repo itself and fails if any SKILL.md flags TRIM. RED before the trim (both files flagged), GREEN after. Mutation-verifiable: bumping either file ~200 tokens flips the test red.
35
+ - Codex round 1 CERTIFIED 10/10. No findings — Codex did its own RED/GREEN proof (stashed only the trimmed skill files to keep the new test active), verified every checklist item with shell evidence, ran the full CONTRIBUTING.md test suite, and read both files end-to-end against `git show HEAD:...` for semantic completeness.
36
+
37
+ ### Files
38
+
39
+ - `skills/sdlc/SKILL.md` (trimmed)
40
+ - `skills/update/SKILL.md` (trimmed)
41
+ - `tests/test-audit-session-load.sh` (+test_wizard_own_skills_below_threshold)
42
+
7
43
  ## [1.47.0] - 2026-04-27
8
44
 
9
45
  ### Added
@@ -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.47.0 -->
2970
+ <!-- SDLC Wizard Version: 1.49.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.47.0 -->
4035
+ <!-- SDLC Wizard Version: 1.49.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.47.0",
3
+ "version": "1.49.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"