{"slug":"strategy/product-strategy/11-runtime-topology","title":"Runtime Topology","section":"strategy","sectionLabel":"Strategy","status":"unclassified","type":"document","path":"strategy/product-strategy/11-runtime-topology.mdx","bytes":3701,"description":null,"updated":null,"source":"integratewise/Integratewise-docs-wiki","content":"\nThis page summarizes the runtime identities that matter for developers, partners, and operators.\n\nFor canonical state, also review:\n\n- `docs/CANONICAL_STATE.md`\n- `docs/ops/RUNTIME_TOPOLOGY.md`\n- `docs/internal/operations/API_REFERENCE.md`\n- `docs/migrations/DE_SUPABASE_MIGRATION.md`\n\n## Current cloud-native runtime\n\nIntegrateWise is 100% Cloudflare product plane for production runtime.\n\nPrimary bindings:\n\n- D1 for structured state and metadata.\n- KV for hot projections, cache acceleration, and reconstructable state.\n- R2 for large immutable or versioned artifacts, evidence objects, and raw payloads.\n- Vectorize for semantic retrieval vectors.\n- Durable Objects for per-tenant runtime coordination and Twin session state.\n- AI Gateway as the policy-bound inference runtime surface.\n\nSupabase references remain only during migration. Do not add new Supabase logic, RLS talk, or dual-writes.\n\n## Core runtime services\n\nThe platform runtime is organized around bounded service responsibilities rather than OODA microservice boundaries.\n\nTier overview:\n\n- Gateway: entry, auth, request routing, projection facade, and public API surface.\n- Pipeline: ingestion, normalization, Spine hydration, delta sync, and state continuity.\n- Connector: connection lifecycle, OAuth, transport adapters, webhook ingress, and capability health.\n- Intelligence: signal generation, trigger policy, Twin orchestration support, and proposal shaping.\n- Knowledge: chunking, embedding, semantic search, topic sync, and ingest routing.\n- Governance: pre/post proposal gates, approval workflows, policy enforcement, and audit.\n- Twin runtime: runtime-bound Twin session coordination.\n\n## Data substrate rules\n\nThese rules are hard:\n\n- D1 owns structured state and metadata for current runtime.\n- KV owns reconstructable hot projections and caches.\n- R2 owns bytes, raw artifacts, large payloads, and evidence objects.\n- Vectorize owns semantic retrieval vectors, not source truth.\n- Embeddings are versioned derived representations and may always be rebuilt from source truth.\n- Product logic talks to stable repository contracts, not directly to D1, KV, R2, or Vectorize.\n- No product plane depends on a provider primitive.\n\n## Developer-facing boundaries\n\nWhen building against IntegrateWise:\n\n- Use the gateway routes in `docs/internal/operations/API_REFERENCE.md` as the stable integration surface.\n- Do not assume direct database access from custom code.\n- Do not assume local filesystem or container-local persistence for production runtime.\n- Assume multi-tenant isolation at the query layer.\n- Assume secrets are resolved just-in-time and not exposed to config or logs.\n\n## Partner integration expectations\n\nPartners should plan around async, governed, observable integration behavior.\n\nExpect:\n\n- webhook ingress under strict signature verification.\n- capability availability changes surfaced through registry health.\n- pay-as-you-go rate and token limits enforced at adapter or registry layer.\n- failover behavior determined by configuration, not runtime guesswork.\n- incident evidence packaged in audit events, approval records, proposal history, and outcome events.\n\n## Deployment orientation\n\nIntegrateWise isolates compute capabilities from deployment environments. Core engines are packaged as immutable runtime units. Deployment manifests determine whether capabilities live in a unified container profile or mapped isolated instances.\n\nEdge routing handles light read tasks and context projection updates. State isolation is enforced by tenant keys.\n\nFor deployment and rollback behavior, see `docs/site/content/41-deployment.md` and `docs/internal/operations/DEPLOYMENT_RUNBOOK.md`.\n"}