Worker fetch → parses host → routes to Project DO
↓
DO namespace Project "test-project"
│ facet "app:crm" via LOADER.getDurableObjectClass("AgentApp")
↓
facetdynamic worker AgentApp
│ facet "stream:…" via this.ctx.exports.StreamProcessor
↓
facetdynamic worker StreamProcessor (isolated SQLite, persistent count)