diff --git a/plugins/voyage/tests/fixtures/brief-effort-high.md b/plugins/voyage/tests/fixtures/brief-effort-high.md new file mode 100644 index 0000000..0d119b1 --- /dev/null +++ b/plugins/voyage/tests/fixtures/brief-effort-high.md @@ -0,0 +1,45 @@ +--- +type: trekbrief +brief_version: "2.1" +created: 2026-05-14 +task: "Fixture: high-effort all phases (v5.1.1 runtime test)" +slug: brief-effort-high +project_dir: .claude/projects/2026-05-14-brief-effort-high/ +research_topics: 0 +research_status: complete +auto_research: false +interview_turns: 4 +source: fixture +phase_signals: + - phase: research + effort: high + model: opus + - phase: plan + effort: high + model: opus + - phase: execute + effort: high + model: opus + - phase: review + effort: high + model: opus +--- + +# Task: High-effort fixture + +## Intent + +Test fixture for v5.1.1 runtime resolver tests — all 4 phases at the +high effort tier with explicit opus model overrides. Mirrors the +production-grade premium-profile scenario. + +## Goal + +Resolver returns `{effort: 'high', model: 'opus'}` for each of the 4 +PHASE_SIGNAL_PHASES. + +## Success Criteria + +- Validator passes. +- resolvePhaseSignal(fm, phase).effort === 'high' for all 4 phases. +- resolvePhaseSignal(fm, phase).model === 'opus' for all 4 phases. diff --git a/plugins/voyage/tests/fixtures/brief-effort-low.md b/plugins/voyage/tests/fixtures/brief-effort-low.md new file mode 100644 index 0000000..40b4f93 --- /dev/null +++ b/plugins/voyage/tests/fixtures/brief-effort-low.md @@ -0,0 +1,43 @@ +--- +type: trekbrief +brief_version: "2.1" +created: 2026-05-14 +task: "Fixture: low-effort all phases (v5.1.1 runtime test)" +slug: brief-effort-low +project_dir: .claude/projects/2026-05-14-brief-effort-low/ +research_topics: 0 +research_status: complete +auto_research: false +interview_turns: 4 +source: fixture +phase_signals: + - phase: research + effort: low + model: sonnet + - phase: plan + effort: low + model: sonnet + - phase: execute + effort: low + model: sonnet + - phase: review + effort: low + model: sonnet +--- + +# Task: Low-effort fixture + +## Intent + +Test fixture for v5.1.1 runtime resolver tests — all 4 phases at the lowest +effort tier with explicit sonnet model overrides. + +## Goal + +Resolver returns `{effort: 'low', model: 'sonnet'}` for each of the 4 +PHASE_SIGNAL_PHASES. + +## Success Criteria + +- Validator passes. +- resolvePhaseSignal(fm, phase) is non-null for all 4 phases. diff --git a/plugins/voyage/tests/fixtures/brief-effort-standard.md b/plugins/voyage/tests/fixtures/brief-effort-standard.md new file mode 100644 index 0000000..f0bb3dd --- /dev/null +++ b/plugins/voyage/tests/fixtures/brief-effort-standard.md @@ -0,0 +1,42 @@ +--- +type: trekbrief +brief_version: "2.1" +created: 2026-05-14 +task: "Fixture: standard-effort all phases, no model (v5.1.1 runtime test)" +slug: brief-effort-standard +project_dir: .claude/projects/2026-05-14-brief-effort-standard/ +research_topics: 0 +research_status: complete +auto_research: false +interview_turns: 4 +source: fixture +phase_signals: + - phase: research + effort: standard + - phase: plan + effort: standard + - phase: execute + effort: standard + - phase: review + effort: standard +--- + +# Task: Standard-effort fixture (no model override) + +## Intent + +Test fixture for v5.1.1 runtime resolver tests — all 4 phases at the +standard tier WITHOUT explicit model fields. This is the operator-skipped +model path that should fall through to the profile. + +## Goal + +Resolver returns `{effort: 'standard', model: undefined}` for each of the 4 +PHASE_SIGNAL_PHASES. The orchestrator-model path then falls through to the +active profile's phase_models. + +## Success Criteria + +- Validator passes. +- resolvePhaseSignal(fm, phase).model is undefined. +- resolvePhaseSignal(fm, phase).effort is 'standard'. diff --git a/plugins/voyage/tests/fixtures/brief-v21-no-signals.md b/plugins/voyage/tests/fixtures/brief-v21-no-signals.md new file mode 100644 index 0000000..d705406 --- /dev/null +++ b/plugins/voyage/tests/fixtures/brief-v21-no-signals.md @@ -0,0 +1,32 @@ +--- +type: trekbrief +brief_version: "2.1" +created: 2026-05-14 +task: "Fixture: v5.1 brief WITHOUT phase_signals or partial (falsification target)" +slug: brief-v21-no-signals +project_dir: .claude/projects/2026-05-14-brief-v21-no-signals/ +research_topics: 0 +research_status: complete +auto_research: false +interview_turns: 4 +source: fixture +--- + +# Task: brief_version 2.1 without phase_signals + +## Intent + +Falsification fixture for the v5.1 sequencing gate. The brief declares +`brief_version: "2.1"` but omits BOTH `phase_signals` AND +`phase_signals_partial: true`. The brief-validator MUST emit +`BRIEF_V51_MISSING_SIGNALS` for this file — the runtime test for the +sequencing gate asserts the error code fires. + +## Goal + +Validate that brief-validator catches the missing-signals scenario. + +## Success Criteria + +- brief-validator returns valid: false. +- errors contains BRIEF_V51_MISSING_SIGNALS.