Conversation
…ification rules Conditional router loading in preamble hook gates loading and classification output to GUIDED and ORCHESTRATED depths, suppressing noisy QUICK announcements. Extract classification-rules.md from router/references/ to router/ to eliminate redundant loading and streamline the preamble execution path. - Preamble hook: conditional router loading based on depth - Session-start-classification: early exit for QUICK depth - Tests: updated ambient activation and classification test paths - CLAUDE.md: updated skill-references paths Co-Authored-By: Claude <noreply@anthropic.com>
PR Comments CreatedInline Comments
SummaryOne blocking MEDIUM issue found across architecture, testing, and consistency reviews: the fourth QUICK-tier test (slash-command preamble filter) is missing the |
|
tests/integration/ambient-activation.test.ts (Line 57-62) Missing Three of the four QUICK-tier tests (lines 38, 45, 53) correctly assert Suggested fix: it('preamble filter — slash command prefix skipped before classification', async () => {
const result = await runClaudeStreaming('/help with something', { timeout: 20000 });
expect(hasSkillInvocations(result)).toBe(false);
expect(hasClassification(result)).toBe(false); // ← Add this line
console.log(`preamble filter (slash command): no skills (${result.durationMs}ms)`);
});Confidence: 90% | Category: Test assertion consistency | Reviewers: Testing (82%), Consistency (90%) |
…nd preamble test The slash-command preamble filter test was missing the `expect(hasClassification(result)).toBe(false)` assertion present in the other three QUICK-tier tests, leaving the contract for that code path incompletely specified. Co-Authored-By: Claude <noreply@anthropic.com>
…eamEvent - Remove hasDevFlowBranding (identical to hasClassification) and its tests - Extract parseStreamEvent from runClaudeStreaming to reduce nesting (5→3 levels) - Add parseStreamEvent unit tests (5 cases) and classification pattern variation guard
getLatestSubagentPreloadedSkills picked the single most-recent transcript by mtime. When Claude spawns auxiliary subagents alongside the target agent, the wrong transcript could win the race — causing the Designer test to read Git agent skills instead. Now returns all transcripts so tests can match against the correct one.
The legacy path can never fire — the hook and the classification-rules.md file are always installed together by devflow init.
Summary
Suppresses noisy QUICK classification announcements in preamble hook and eliminates redundant loading of classification rules during ambient router initialization. Conditional router loading gates output to GUIDED and ORCHESTRATED depths only.
Changes
Breaking Changes
None
Testing
Related Issues
Relates to ambient classification noise reduction.