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>
33 lines
1.5 KiB
JavaScript
33 lines
1.5 KiB
JavaScript
// tests/commands/trekplan.test.mjs
|
|
// Prose-pin tests for /trekplan.
|
|
|
|
import { test } from 'node:test';
|
|
import { strict as assert } from 'node:assert';
|
|
import { readFileSync } from 'node:fs';
|
|
import { dirname, join } from 'node:path';
|
|
import { fileURLToPath } from 'node:url';
|
|
|
|
const HERE = dirname(fileURLToPath(import.meta.url));
|
|
const ROOT = join(HERE, '..', '..');
|
|
const COMMAND_FILE = join(ROOT, 'commands', 'trekplan.md');
|
|
|
|
function read() { return readFileSync(COMMAND_FILE, 'utf8'); }
|
|
|
|
// --- S31 / V15: export trim — drop pr|issue|markdown, keep headless as a --decompose alias ---
|
|
|
|
test('trekplan — V15: pr/issue/markdown export variants are removed', () => {
|
|
const text = read();
|
|
// No remaining `--export pr` usage/example anywhere in the command.
|
|
assert.equal(/--export\s+pr\b/.test(text), false, '`--export pr` must be gone');
|
|
// The per-format subsections of the old Export phase must be deleted.
|
|
assert.ok(!text.includes('Format: `pr`'), 'pr export-format section must be gone');
|
|
assert.ok(!text.includes('Format: `issue`'), 'issue export-format section must be gone');
|
|
assert.ok(!text.includes('Format: `markdown`'), 'markdown export-format section must be gone');
|
|
});
|
|
|
|
test('trekplan — V15: --export headless survives as a --decompose alias', () => {
|
|
const text = read();
|
|
assert.match(text, /--export\s+headless/, '`--export headless` must remain documented');
|
|
assert.match(text, /alias for [`*]*--decompose/i,
|
|
'`--export headless` must be labeled an alias for --decompose');
|
|
});
|