NW-RIGOR: Quality Profile Selection
Wave: CROSS_WAVE | Agent: Main Instance (self) | Command: /nw-rigor [profile]
Overview
Interactive command to select a quality-vs-token-consumption profile. Persists choice to either ~/.nwave/global-config.json (global scope) or .nwave/des-config.json (project scope) under the rigor key. All wave commands read this config to adjust agent models, review policy, TDD phases, and mutation testing.
You (the main Claude instance) run this directly. No subagent delegation.
Note on TDD phase canons (dual-canon, ADR-025, 2026-05-07): the canonical TDD cycle is 3-phase v5 (RED, GREEN, COMMIT) as described in nw-tdd-methodology. The legacy 5-phase v4 (PREPARE, RED_ACCEPTANCE, RED_UNIT, GREEN, COMMIT) is preserved for backward-compat audit-log replay of pre-2026-05-07 commits. The .nwave/des-config.json tdd_phases field accepts BOTH canons: writers of new logs may emit v5; the validator + schema (step-tdd-cycle-schema.json) dispatch on schema_version ("5.0" → canonical, anything else → legacy). The profile table below shows both canons side-by-side: pick v5 for new features, keep v4 only when extending a feature whose audit log was started under the legacy canon.
Profile Mappings (Single Source of Truth)
| Setting | lean | standard [recommended] | thorough | exhaustive | inherit | |--------------------|---------------------------------------|------------------------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------------------------------------------------|------------------------------------------------------------------------------| | agent_model | haiku | sonnet | opus | opus | inherit | | reviewer_model | skip | haiku | sonnet | opus | haiku | | review_enabled | false | true | true | true | true | | double_review | false | false | true | true | false | | tdd_phases (v5 canonical, ADR-025) | [RED, GREEN] | [RED, GREEN, COMMIT] | [RED, GREEN, COMMIT] | [RED, GREEN, COMMIT] | [RED, GREEN, COMMIT] | | tdd_phases (v4 legacy, audit-replay) | [RED_UNIT, GREEN] | [PREPARE, RED_ACCEPTANCE, RED_UNIT, GREEN, COMMIT] | [PREPARE, RED_ACCEPTANCE, RED_UNIT, GREEN, COMMIT] | [PREPARE, RED_ACCEPTANCE, RED_UNIT, GREEN, COMMIT] | [PREPARE, RED_ACCEPTANCE, RED_UNIT, GREEN, COMMIT] | | refactor_pass | false | true | true | true | true | | mutation_enabled | false | false | false | true | false |
Behavior Flow
Mode Detection
- No argument -> Mode 1 (Interactive Selection)
- Argument is a preset name (lean, standard, thorough, exhaustive, inherit) -> Mode 2 (Quick Switch)
- Argument is
custom-> Mode 3 (Custom Builder)
Mode 1: Interactive Selection (no argument)
Step 1: Welcome
Read .nwave/des-config.json. If missing or .nwave/ directory absent -> error: "No nWave config directory found. Run nwave install first."
If JSON is invalid -> backup as .nwave/des-config.json.bak, reset config to {}, note: "Config was corrupted. Backed up and reset."
Display current profile (from config.rigor.profile) or "none set" if absent.
Brief explanation: "Rigor profiles control how much quality infrastructure nWave applies per wave: agent models, review depth, TDD phases, mutation testing. Higher rigor = better guarantees, higher token cost."
Step 1.5: Scope Selection
Display the current project rigor (from .nwave/des-config.json) and current global rigor (from ~/.nwave/global-config.json, if it exists).
Ask via AskUserQuestion:
Where do you want to save this configuration?
Options:
- Globally (~/.nwave/global-config.json) — applies to all projects without their own rigor
- This project only (.nwave/des-config.json) — overrides global for this project
Store the user's choice as {scope} and the corresponding file path as {target_file}:
- If global:
{target_file}=~/.nwave/global-config.json - If project:
{target_file}=.nwave/des-config.json
Step 2: Comparison Table
Display this table:
+-----------+--------+----------+----------+------------+---------+
| | lean | standard | thorough | exhaustive | inherit |
+-----------+--------+----------+----------+------------+---------+
| Agent | haiku | sonnet | opus | opus | *yours* |
| Reviewer | -- | haiku | sonnet | opus | haiku |
| Review | no | yes | double | double | yes |
| TDD | R->G | 5-phase | 5-phase | 5-phase | 5-phase |
| Refactor | no | yes | yes | yes | yes |
| Mutation | no | no | no | yes | no |
+-----------+--------+----------+----------+------------+---------+
| Est. cost | lowest | moderate | higher | highest | varies |
| Est. time | fast | moderate | slower | slowest | varies |
+-----------+--------+----------+----------+------------+---------+
Mark "standard" as [recommended]. Below the table, note: "Or choose custom to configure each setting individually. Type inherit to use your current session model."
Step 3: User Selection
Ask user to select via AskUserQuestion (4 options + Other for inherit/custom):
- standard [recommended]
- lean
- thorough
- exhaustive
Note in the question text: "Type 'custom' to