feat(review): carve adversarial, plan-completion, and review-army into sections

The three resolver macros ship already carves as siblings now load on demand
for /review too: skeleton 100.2KB -> 55.0KB (-45%), union 93.4KB. Resolvers
stay the single source of truth (sections wrap the macros). Step 0/1, scope
drift, critical pass, confidence calibration, and fix-first stay always-loaded.
Fixtures and pins follow the moved content (codex-hardening wrapped-sites,
review-army E2E fixture builds skeleton+sections with an empty-fixture guard).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-08-25 16:36:02 +00:00
co-authored by Claude Fable 5
parent c7488f7e38
commit 3a78bf7c1d
13 changed files with 731 additions and 603 deletions
+23 -8
View File
@@ -169,15 +169,30 @@ describe('real-skill pins: section lists used by E2E fixtures', () => {
expect(out.length).toBeLessThan(full.length * 0.5);
});
test('REVIEW_ARMY_E2E_SECTIONS extracts from review/SKILL.md', () => {
const out = extractSkillSections(path.join(ROOT, 'review'), REVIEW_ARMY_E2E_SECTIONS);
// The army tests reference the Plan Completion Audit (inside Step 1.5)
// and the Step 4.5 merge machinery (quality score, JSON schema, consensus).
expect(out).toContain('PLAN COMPLETION AUDIT');
expect(out).toContain('## Step 4.5: Review Army — Specialist Dispatch');
expect(out).toContain('quality_score');
expect(out).toContain('MULTI-SPECIALIST CONFIRMED');
test('REVIEW_ARMY_E2E_SECTIONS extracts from review/SKILL.md + carved sections', () => {
// /review is carved (T9): the Step 4.5 dispatch body lives in
// sections/review-army.md and the Plan Completion Audit in
// sections/plan-completion.md — the skeleton keeps only STOP-Read pointers.
// The E2E fixture (test/skill-e2e-review-army.test.ts) extracts the
// skeleton H2s minus Step 4.5, then appends both section files; this pin
// mirrors that exact construction so a section rename or an empty carve
// still fails FREE before a paid E2E setup throw.
const skeletonSections = REVIEW_ARMY_E2E_SECTIONS.filter(
(s) => !s.startsWith('Step 4.5'),
);
const out = extractSkillSections(path.join(ROOT, 'review'), skeletonSections);
expect(out).toContain('## Step 1.5: Scope Drift Detection');
expect(out).not.toContain('## Telemetry (run last)');
const planCompletion = fs.readFileSync(
path.join(ROOT, 'review', 'sections', 'plan-completion.md'), 'utf-8');
expect(planCompletion).toContain('PLAN COMPLETION AUDIT');
const army = fs.readFileSync(
path.join(ROOT, 'review', 'sections', 'review-army.md'), 'utf-8');
expect(army).toContain('## Step 4.5: Review Army — Specialist Dispatch');
expect(army).toContain('quality_score');
expect(army).toContain('MULTI-SPECIALIST CONFIRMED');
});
test('RETRO_E2E_SECTIONS extracts from retro/SKILL.md', () => {