Nested Facets POC

Host: billing.test-project.iterate-dev-jonas.app

Worker fetch → parses host → routes to Project DO
  ↓
DO namespace Project "test-project"
  │ facet "app:billing" via LOADER.getDurableObjectClass("AgentApp")
  ↓
  facetdynamic worker AgentApp
    │ facet "stream:…" via this.ctx.exports.StreamProcessor
    ↓
    facetdynamic worker StreamProcessor (isolated SQLite, persistent count)
Send an event — the stream path determines which StreamProcessor facet handles it
Try these to prove isolation:
• Same stream path → count increments (persistent storage in StreamProcessor facet)
• Different stream path → count starts at 1 (new StreamProcessor facet)
billing.test-project.iterate-dev-jonas.app → different AgentApp facet, separate streams
billing.acme.iterate-dev-jonas.app → different Project DO, completely separate