98 lines
2.8 KiB
Markdown
98 lines
2.8 KiB
Markdown
---
|
|
type: trekplan-synthetic
|
|
plan_version: "1.7"
|
|
created: 2026-05-10
|
|
slug: plan-run-C
|
|
task: "Synthetic v1.7 plan fixture for plan-validator forward-compat test"
|
|
profile: balanced
|
|
run_id: C
|
|
---
|
|
|
|
# Synthetic Plan-Run C — Minimal v1.7 Fixture
|
|
|
|
> **Plan quality: A** (95/100) — APPROVE
|
|
>
|
|
> Generated by trekplan v4.1.0 on 2026-05-10 — `plan_version: 1.7`
|
|
>
|
|
> Profile: `balanced`
|
|
|
|
## Context
|
|
|
|
Minimal synthetic fixture used by `tests/synthetic/plan-determinism.test.mjs`
|
|
forward-compat assertion: any v1.7 plan must validate cleanly under `--strict`
|
|
mode after the v4.1 schema additions (`profile_used`, `profile`, etc.).
|
|
|
|
## Implementation Plan
|
|
|
|
Each step targets one focused change. Three dummy steps satisfy the heading
|
|
+ manifest requirements without exercising real implementation.
|
|
|
|
### Step 1: Add config entry for verbose flag
|
|
|
|
- **Files:** `package.json`
|
|
- **Changes:** Add `verbose` boolean to config entry.
|
|
- **Reuses:** existing config-entry pattern.
|
|
- **Verify:** `grep -c "verbose" package.json` → expected: `1`
|
|
- **On failure:** revert
|
|
- **Checkpoint:** `git commit -m "feat(synth): add verbose config entry"`
|
|
- **Manifest:**
|
|
```yaml
|
|
manifest:
|
|
expected_paths:
|
|
- package.json
|
|
min_file_count: 1
|
|
commit_message_pattern: "^feat\\(synth\\): add verbose"
|
|
bash_syntax_check: []
|
|
forbidden_paths: []
|
|
must_contain: []
|
|
```
|
|
|
|
### Step 2: Define types for verbose mode
|
|
|
|
- **Files:** `types.ts`
|
|
- **Changes:** Export `VerboseMode` enum with `silent | normal | verbose`.
|
|
- **Reuses:** existing type-export pattern.
|
|
- **Verify:** `grep -c "VerboseMode" types.ts` → expected: `1`
|
|
- **On failure:** revert
|
|
- **Checkpoint:** `git commit -m "feat(synth): define VerboseMode enum"`
|
|
- **Manifest:**
|
|
```yaml
|
|
manifest:
|
|
expected_paths:
|
|
- types.ts
|
|
min_file_count: 1
|
|
commit_message_pattern: "^feat\\(synth\\): define VerboseMode"
|
|
bash_syntax_check: []
|
|
forbidden_paths: []
|
|
must_contain: []
|
|
```
|
|
|
|
### Step 3: Wire verbose flag into parseArgs
|
|
|
|
- **Files:** `cli.ts`
|
|
- **Changes:** Recognise `--verbose` flag in `parseArgs`, pass `VerboseMode` to logger.
|
|
- **Reuses:** parseArgs flag-recognition pattern.
|
|
- **Verify:** `grep -c "--verbose" cli.ts` → expected: `1`
|
|
- **On failure:** revert
|
|
- **Checkpoint:** `git commit -m "feat(synth): wire --verbose into parseArgs"`
|
|
- **Manifest:**
|
|
```yaml
|
|
manifest:
|
|
expected_paths:
|
|
- cli.ts
|
|
min_file_count: 1
|
|
commit_message_pattern: "^feat\\(synth\\): wire --verbose"
|
|
bash_syntax_check: []
|
|
forbidden_paths: []
|
|
must_contain: []
|
|
```
|
|
|
|
## Verification
|
|
|
|
- [ ] `node lib/validators/plan-validator.mjs --strict --json tests/synthetic/plan-run-C.md` → `valid: true`, no `PLAN_VERSION_MISMATCH` warning
|
|
|
|
## Estimated Scope
|
|
|
|
- **Files to modify:** 3
|
|
- **Files to create:** 0
|
|
- **Complexity:** low (synthetic fixture only)
|