agentic-sdlc-wizard 1.82.0 → 1.83.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.82.0",
16
+ "version": "1.83.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.82.0",
3
+ "version": "1.83.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,17 @@ 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.83.0] - 2026-06-11
8
+
9
+ ### Fixed
10
+ - **#403**: Hook lists multiple wizard-blessed models (claude-opus-4-6, opusplan, fable) instead of hardcoded single-model nudge
11
+ - **#391**: Setup Step 9.5 detects global `[1m]` model pin and warns about billing implications
12
+ - **#405**: Update Step 3 uses `min(npm, CHANGELOG)` as "latest installable" — prevents version race during publish window
13
+ - **#384**: Update Step 7.9 checks effort configuration regardless of version match
14
+
15
+ ### Why
16
+ Model config batch — first trial of the confidence ramp pattern (Opus research → Fable batch review → 95% → TDD → Codex safety check). All 4 issues reached 95% confidence before implementation.
17
+
7
18
  ## [1.82.0] - 2026-06-11
8
19
 
9
20
  ### Added
@@ -3041,7 +3041,7 @@ If deployment fails or post-deploy verification catches issues:
3041
3041
 
3042
3042
  **SDLC.md:**
3043
3043
  ```markdown
3044
- <!-- SDLC Wizard Version: 1.82.0 -->
3044
+ <!-- SDLC Wizard Version: 1.83.0 -->
3045
3045
  <!-- Setup Date: [DATE] -->
3046
3046
  <!-- 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 -->
3047
3047
  <!-- Git Workflow: [PRs or Solo] -->
@@ -11,7 +11,8 @@
11
11
  #
12
12
  # Non-blocking: always exits 0.
13
13
 
14
- RECOMMENDED_MODEL="claude-opus-4-6"
14
+ # Multiple wizard-blessed models — don't nudge to a single one (#403)
15
+ RECOMMENDED_MODELS="claude-opus-4-6, opusplan, or fable (run: /model)"
15
16
 
16
17
  HOOK_DIR="${BASH_SOURCE[0]%/*}"
17
18
  [ "$HOOK_DIR" = "${BASH_SOURCE[0]}" ] && HOOK_DIR="."
@@ -63,7 +64,7 @@ echo ""
63
64
  echo " Run: /effort max"
64
65
  echo " Persist: set CLAUDE_CODE_EFFORT_LEVEL=max in settings env block"
65
66
  echo ""
66
- echo " recommended model: $RECOMMENDED_MODEL (run: /model $RECOMMENDED_MODEL)"
67
+ echo " recommended models: $RECOMMENDED_MODELS"
67
68
  echo "=============================================================================="
68
69
 
69
70
  exit 0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentic-sdlc-wizard",
3
- "version": "1.82.0",
3
+ "version": "1.83.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"
@@ -232,6 +232,8 @@ The CLI ships `cli/templates/settings.json` with **no** `model` or `env` pin by
232
232
 
233
233
  **Why this is opt-in (issue #198):** A top-level `"model"` in `settings.json` disables auto-mode for the session. Pinning is only worth it when you want consistent model behavior (opusplan or flagship) rather than per-turn auto-selection.
234
234
 
235
+ **Check for global `[1m]` model pin (#391):** Read `~/.claude/settings.json`. If `model` contains `[1m]`, warn: global pin forces 1M on every repo; headless surfaces bill against credits after June 15. Offer `[r] Remove / [k] Keep`. If `r`: delete the `model` key.
236
+
235
237
  **Run the complexity heuristic first (roadmap #233):**
236
238
 
237
239
  ```bash
@@ -89,13 +89,16 @@ Extract latest version from the first `## [X.X.X]` line.
89
89
 
90
90
  ### Step 3: Compare Versions and Show What Changed
91
91
 
92
- Parse CHANGELOG entries between the user's installed version and latest. Present a clear summary:
92
+ **Resolve "latest installable" from npm registry (#405):** Compare the npm registry version (Step 1.5 cache) to the CHANGELOG heading version (Step 2). Use the **lower** of the two as "latest installable" — this prevents showing a version that isn't yet published to npm during the publish window. If CHANGELOG is ahead of npm, note: "v{changelog} is on GitHub but not yet published to npm; showing v{npm} as latest installable."
93
+
94
+ Parse CHANGELOG entries between the user's installed version and the resolved latest installable. Present a clear summary:
93
95
 
94
96
  ```
95
97
  Installed: 1.42.0
96
- Latest: 1.82.0
98
+ Latest: 1.83.0
97
99
 
98
100
  What changed:
101
+ - [1.83.0] Model config batch: multi-model hook recommendation (#403), global [1m] pin detection (#391), version race fix (#405), effort config check (#384).
99
102
  - [1.82.0] Usage diagnostics: fix /usage row, Reading Usage Signals guide, advisor fallback procedure, Fable effort guidance, autocompact cross-reference.
100
103
  - [1.81.0] Native `advisorModel` support: Setup A gets Fable advisor, Setup B gets Opus advisor. Replaces manual subagent spawning. Requires CC v2.1.170+.
101
104
  - [1.80.0] Flip default: Opus 4.6 max becomes recommended flagship; Opus 4.8 demoted to opt-in `[l] Latest` tier.
@@ -126,8 +129,8 @@ Read the actual entries from the fetched CHANGELOG; don't paraphrase. The user w
126
129
 
127
130
  **If versions match:** Step 7.7 (global plugin-registration cleanup) is independent of wizard file versions — it must run even when the user is up-to-date. The `check-only` flag still gates whether cleanup is *applied*:
128
131
 
129
- - **Without `check-only`**: Run Step 7.7 in normal mode (detect, prompt, apply) before stopping. Then say "You're up to date! (version X.X.X)" and stop. Do not run Steps 4–10; only Step 7.7 fires on match.
130
- - **With `check-only`**: Run Step 7.7 in detection-only mode — report any dead plugin registrations, but do NOT prompt and do NOT mutate `~/.claude/settings.json`. Then say "You're up to date! (version X.X.X)" and stop.
132
+ - **Without `check-only`**: Run Step 7.7 and Step 7.9 in normal mode (detect, prompt, apply) before stopping. Then say "You're up to date! (version X.X.X)" and stop. Do not run Steps 4–10; only Steps 7.7 and 7.9 fire on match.
133
+ - **With `check-only`**: Run Step 7.7 and Step 7.9 in detection-only mode — report findings but do NOT prompt and do NOT mutate settings. Then say "You're up to date! (version X.X.X)" and stop.
131
134
 
132
135
  **If user passed `check-only` and versions don't match:** Stop after showing what changed. Do not apply anything.
133
136
 
@@ -236,6 +239,15 @@ If CC < v2.1.170: show "Run `! claude update` to upgrade" and skip. If `.claude/
236
239
 
237
240
  If `model` pin exists but no `advisorModel`, suggest: `claude-opus-4-6`/`claude-opus-4-8` → `advisorModel: "fable"`, `opusplan` → `advisorModel: "claude-opus-4-6"`. Ask `[a/S]`, write only `advisorModel` if accepted.
238
241
 
242
+ ### Step 7.9: Effort Configuration Check (#384)
243
+
244
+ Runs regardless of version match (like Step 7.7). In `check-only` mode: report only, no mutations.
245
+
246
+ 1. Check `CLAUDE_CODE_EFFORT_LEVEL` env var. If set to `max`: **pass** (silent — this is the correct persistence path).
247
+ 2. If env var is unset, check `effortLevel` in settings cascade (`.claude/settings.local.json` → `.claude/settings.json` → `~/.claude/settings.json`).
248
+ 3. If `effortLevel` is `max` but `CLAUDE_CODE_EFFORT_LEVEL` env var is unset: warn that CC ignores session-only max in settings — only the env var persists it. Suggest adding to the `env` block in `.claude/settings.json`.
249
+ 4. If effort is unset or below `max`: warn "SDLC requires max effort" and suggest `/effort max` + env var persistence.
250
+
239
251
  ### Step 8: Apply Selected Changes
240
252
 
241
253
  For each approved file: Edit (existing) or Write (MISSING). For settings.json, apply the merge from Step 7.