🎛️ Finding (August 2026 architecture analysis, §5)
The Orchestrator (~1,570 lines) trends toward god-object territory. The pick pipeline — request rung → persona rung → envelope query → trust-but-verify → degradation ladder — is a coherent standalone policy; extract it (working name MusicSelectionPolicy), leaving the Orchestrator to own cadence and unit assembly.
⏰ Timing — sharpened from "judgment call" to a scheduling rule
The analysis says extract when a second consumer appears. Project #3's cycle IS that moment: #300 (boundary-fit bug), #320 (straddle handoff), #383 (dayparting) all churn exactly this pipeline. This extraction is the opening task of project #3's first /plan — before the churn, not mid-epic (the wardrobe epic's "data before law" rung discipline).
📎 Scope note
Pure Orchestration-internal restructure — no seam changes, no Host contact; the existing Orchestration.Tests suite is the harness.
🎛️ Finding (August 2026 architecture analysis, §5)
The Orchestrator (~1,570 lines) trends toward god-object territory. The pick pipeline — request rung → persona rung → envelope query → trust-but-verify → degradation ladder — is a coherent standalone policy; extract it (working name
MusicSelectionPolicy), leaving the Orchestrator to own cadence and unit assembly.⏰ Timing — sharpened from "judgment call" to a scheduling rule
The analysis says extract when a second consumer appears. Project #3's cycle IS that moment: #300 (boundary-fit bug), #320 (straddle handoff), #383 (dayparting) all churn exactly this pipeline. This extraction is the opening task of project #3's first
/plan— before the churn, not mid-epic (the wardrobe epic's "data before law" rung discipline).📎 Scope note
Pure Orchestration-internal restructure — no seam changes, no Host contact; the existing Orchestration.Tests suite is the harness.