chore(cleanup): R-b R3 — profiles, phase signals and the effort dialog removed, one fixed path per command
The four profiles, the resolver, the profile validator and docs/profiles.md go; /trekbrief Phase 3.5 and the brief's phase_signals checks go (an older brief's key is ignored); MANIFEST_PROFILE_DRIFT and profile_used go. Every Profile, Composition rule, Sequencing gate and High-effort section leaves the commands. Decision 209: /trekresearch runs the full swarm with contrarian-researcher as wave 2 every run; /trekreview and the coordinator run all four passes with no high-effort normalization. Voyage agents are spawned with no model (their own model: opus applies); the two built-in spawns pass model "opus". --profile stays in the parser as a retired flag that swallows its value. §Model & effort moves to docs/architecture.md; the sequencing-gate eval case goes. Files removed: 44 (43 from the R3 list + tests/commands/trekreview.test.mjs, whose every test pinned removed text). Files edited: 43. Tests: 2467 (2466 pass / 0 fail / 1 skipped) before, 2309 (2309 pass / 0 fail / 0 skipped) after. Durable check: all three groups green, none pending. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
32621dcb63
commit
2a35d067d9
87 changed files with 225 additions and 4967 deletions
45
tests/fixtures/brief-effort-fable.md
vendored
45
tests/fixtures/brief-effort-fable.md
vendored
|
|
@ -1,45 +0,0 @@
|
|||
---
|
||||
type: trekbrief
|
||||
brief_version: "2.1"
|
||||
created: 2026-07-02
|
||||
task: "Fixture: high-effort all phases on fable (v5.9 allowlist test)"
|
||||
slug: brief-effort-fable
|
||||
project_dir: .claude/projects/2026-07-02-brief-effort-fable/
|
||||
research_topics: 0
|
||||
research_status: complete
|
||||
auto_research: false
|
||||
interview_turns: 4
|
||||
source: fixture
|
||||
phase_signals:
|
||||
- phase: research
|
||||
effort: high
|
||||
model: fable
|
||||
- phase: plan
|
||||
effort: high
|
||||
model: fable
|
||||
- phase: execute
|
||||
effort: high
|
||||
model: fable
|
||||
- phase: review
|
||||
effort: high
|
||||
model: fable
|
||||
---
|
||||
|
||||
# Task: High-effort fable fixture
|
||||
|
||||
## Intent
|
||||
|
||||
Test fixture for the v5.9 fable model tier — all 4 phases at the
|
||||
high effort tier with explicit fable model overrides. Mirrors
|
||||
brief-effort-high.md with `model: opus` replaced by `model: fable`.
|
||||
|
||||
## Goal
|
||||
|
||||
Resolver returns `{effort: 'high', model: 'fable'}` for each of the 4
|
||||
PHASE_SIGNAL_PHASES.
|
||||
|
||||
## Success Criteria
|
||||
|
||||
- Validator passes with no BRIEF_INVALID_MODEL.
|
||||
- resolvePhaseSignal(fm, phase).effort === 'high' for all 4 phases.
|
||||
- resolvePhaseSignal(fm, phase).model === 'fable' for all 4 phases.
|
||||
45
tests/fixtures/brief-effort-high.md
vendored
45
tests/fixtures/brief-effort-high.md
vendored
|
|
@ -1,45 +0,0 @@
|
|||
---
|
||||
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.
|
||||
43
tests/fixtures/brief-effort-low.md
vendored
43
tests/fixtures/brief-effort-low.md
vendored
|
|
@ -1,43 +0,0 @@
|
|||
---
|
||||
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.
|
||||
42
tests/fixtures/brief-effort-standard.md
vendored
42
tests/fixtures/brief-effort-standard.md
vendored
|
|
@ -1,42 +0,0 @@
|
|||
---
|
||||
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'.
|
||||
32
tests/fixtures/brief-v21-no-signals.md
vendored
32
tests/fixtures/brief-v21-no-signals.md
vendored
|
|
@ -1,32 +0,0 @@
|
|||
---
|
||||
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.
|
||||
42
tests/fixtures/brief-with-phase-signals.md
vendored
42
tests/fixtures/brief-with-phase-signals.md
vendored
|
|
@ -1,42 +0,0 @@
|
|||
---
|
||||
type: trekbrief
|
||||
brief_version: "2.1"
|
||||
created: 2026-05-13
|
||||
task: "Add per-phase effort dialog to /trekbrief"
|
||||
slug: phase-signals-example
|
||||
project_dir: .claude/projects/2026-05-13-phase-signals-example/
|
||||
research_topics: 2
|
||||
research_status: complete
|
||||
auto_research: false
|
||||
interview_turns: 6
|
||||
source: interview
|
||||
phase_signals:
|
||||
- phase: research
|
||||
effort: low
|
||||
model: sonnet
|
||||
- phase: plan
|
||||
effort: standard
|
||||
- phase: execute
|
||||
effort: high
|
||||
model: opus
|
||||
- phase: review
|
||||
effort: standard
|
||||
---
|
||||
|
||||
# Task: Phase-signals example
|
||||
|
||||
## Intent
|
||||
|
||||
A minimal brief that exercises the v5.1 phase_signals additive field with a
|
||||
mix of effort levels and model overrides. Used by tests/validators to confirm
|
||||
the validator accepts well-formed signals across the supported tier matrix.
|
||||
|
||||
## Goal
|
||||
|
||||
Validator returns valid: true. annotate.mjs strips phase_signals from the
|
||||
rendered HTML body (frontmatter stays in source).
|
||||
|
||||
## Success Criteria
|
||||
|
||||
- Validator passes.
|
||||
- annotate.mjs determinism: re-run produces byte-identical HTML.
|
||||
31
tests/fixtures/brief-without-phase-signals.md
vendored
31
tests/fixtures/brief-without-phase-signals.md
vendored
|
|
@ -1,31 +0,0 @@
|
|||
---
|
||||
type: trekbrief
|
||||
brief_version: "2.0"
|
||||
created: 2026-05-13
|
||||
task: "Backward-compat fixture for v5.0-style brief"
|
||||
slug: legacy-brief-example
|
||||
project_dir: .claude/projects/2026-05-13-legacy-brief-example/
|
||||
research_topics: 0
|
||||
research_status: complete
|
||||
auto_research: false
|
||||
interview_turns: 3
|
||||
source: interview
|
||||
---
|
||||
|
||||
# Task: Legacy brief example
|
||||
|
||||
## Intent
|
||||
|
||||
A pre-v5.1 brief that pre-dates the phase_signals field. Used by
|
||||
tests/validators to confirm backward-compatibility: the brief is accepted
|
||||
without phase_signals as long as brief_version is < 2.1.
|
||||
|
||||
## Goal
|
||||
|
||||
Validator returns valid: true. The sequencing gate
|
||||
(BRIEF_V51_MISSING_SIGNALS) does NOT fire for brief_version 2.0.
|
||||
|
||||
## Success Criteria
|
||||
|
||||
- Validator passes.
|
||||
- No BRIEF_V51_MISSING_SIGNALS error in r.errors.
|
||||
57
tests/fixtures/plan-profile-drift.md
vendored
57
tests/fixtures/plan-profile-drift.md
vendored
|
|
@ -1,57 +0,0 @@
|
|||
---
|
||||
plan_version: "1.7"
|
||||
profile: economy
|
||||
phase_models:
|
||||
- phase: brief
|
||||
model: sonnet
|
||||
- phase: research
|
||||
model: sonnet
|
||||
- phase: plan
|
||||
model: sonnet
|
||||
- phase: execute
|
||||
model: sonnet
|
||||
- phase: review
|
||||
model: sonnet
|
||||
- phase: continue
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
# Test plan — profile drift fixture
|
||||
|
||||
Frontmatter declares `profile: economy`. Step 1 manifest has matching
|
||||
profile_used. Step 2 manifest declares `profile_used: premium` — the
|
||||
drift case Step 20 of v4.1 plan-validator must catch in --strict mode.
|
||||
|
||||
## Implementation Plan
|
||||
|
||||
### Step 1: matching profile
|
||||
|
||||
- Files: a.ts
|
||||
- Manifest:
|
||||
```yaml
|
||||
manifest:
|
||||
expected_paths:
|
||||
- a.ts
|
||||
min_file_count: 1
|
||||
commit_message_pattern: "^feat:"
|
||||
bash_syntax_check: []
|
||||
forbidden_paths: []
|
||||
must_contain: []
|
||||
profile_used: economy
|
||||
```
|
||||
|
||||
### Step 2: drift to premium
|
||||
|
||||
- Files: b.ts
|
||||
- Manifest:
|
||||
```yaml
|
||||
manifest:
|
||||
expected_paths:
|
||||
- b.ts
|
||||
min_file_count: 1
|
||||
commit_message_pattern: "^feat:"
|
||||
bash_syntax_check: []
|
||||
forbidden_paths: []
|
||||
must_contain: []
|
||||
profile_used: premium
|
||||
```
|
||||
26
tests/fixtures/plan-with-profile.md
vendored
26
tests/fixtures/plan-with-profile.md
vendored
|
|
@ -1,26 +0,0 @@
|
|||
---
|
||||
plan_version: "1.7"
|
||||
profile: balanced
|
||||
phase_models:
|
||||
- phase: brief
|
||||
model: sonnet
|
||||
- phase: research
|
||||
model: sonnet
|
||||
- phase: plan
|
||||
model: opus
|
||||
- phase: execute
|
||||
model: sonnet
|
||||
- phase: review
|
||||
model: opus
|
||||
- phase: continue
|
||||
model: sonnet
|
||||
---
|
||||
|
||||
# Test plan (with profile)
|
||||
|
||||
This fixture has explicit profile + phase_models in frontmatter.
|
||||
|
||||
## Implementation Plan
|
||||
|
||||
### Step 1: Stub
|
||||
- Files: src/stub.mjs
|
||||
15
tests/fixtures/plan-without-profile.md
vendored
15
tests/fixtures/plan-without-profile.md
vendored
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
plan_version: "1.6"
|
||||
---
|
||||
|
||||
# Test plan (v4.0-style, no profile field)
|
||||
|
||||
This fixture is a v4.0-style plan WITHOUT the v4.1 profile/phase_models fields.
|
||||
Used by tests/lib/profile-application.test.mjs to verify backward-compat
|
||||
edge-case: resolveTrekcontinueProfile returns {profile: 'premium', profile_source: 'default'}
|
||||
without throwing when the plan has no profile concept.
|
||||
|
||||
## Implementation Plan
|
||||
|
||||
### Step 1: Stub
|
||||
- Files: src/stub.mjs
|
||||
21
tests/fixtures/profile-invalid-enum.yaml
vendored
21
tests/fixtures/profile-invalid-enum.yaml
vendored
|
|
@ -1,21 +0,0 @@
|
|||
---
|
||||
profile_version: "1.0"
|
||||
name: invalid-enum
|
||||
phase_models:
|
||||
- phase: brief
|
||||
model: sonnet
|
||||
- phase: research
|
||||
model: sonnet
|
||||
- phase: plan
|
||||
model: opus
|
||||
- phase: execute
|
||||
model: sonnet
|
||||
- phase: review
|
||||
model: opus
|
||||
- phase: continue
|
||||
model: sonnet
|
||||
parallel_agents_min: 4
|
||||
parallel_agents_max: 6
|
||||
external_research_enabled: "yes"
|
||||
brief_reviewer_iter_cap: 2
|
||||
---
|
||||
21
tests/fixtures/profile-invalid-model.yaml
vendored
21
tests/fixtures/profile-invalid-model.yaml
vendored
|
|
@ -1,21 +0,0 @@
|
|||
---
|
||||
profile_version: "1.0"
|
||||
name: invalid-model
|
||||
phase_models:
|
||||
- phase: brief
|
||||
model: sonnet
|
||||
- phase: research
|
||||
model: sonnet
|
||||
- phase: plan
|
||||
model: gpt-4
|
||||
- phase: execute
|
||||
model: sonnet
|
||||
- phase: review
|
||||
model: opus
|
||||
- phase: continue
|
||||
model: sonnet
|
||||
parallel_agents_min: 2
|
||||
parallel_agents_max: 4
|
||||
external_research_enabled: false
|
||||
brief_reviewer_iter_cap: 2
|
||||
---
|
||||
Loading…
Add table
Add a link
Reference in a new issue