Canonadr

ADR-2026-09-04-09 — Host-first capability routing

Status: ACCEPTED — 2026-09-04 (host-aware continuity runtime spec, frozen decisions; Auth-Ecosystem entry model)

Context

One canonical Workbench deploys into many hosts (ChatGPT, web, Slack, Microsoft, embedded,
desktop, customer-hosted, marketplaces, agent hosts). Each host exposes its own identity,
permissions, tools and data. Naive designs either ignore host capabilities (rebuilding every
integration) or trust host declarations without verification (broken at runtime).

Decision

  • Create once, deploy anywhere. Domain logic, Projection Engine logic and canonical schemas
    are built once; hosts are adapters. No host-specific forks.
  • Host-first access. Spine-complete context. Policy-governed execution. Canonical
    reconciliation.
  • Every request is classified before routing (host-local | entity | continuity | cross-system | governance | write, with completeness expectation and governance flag).
  • Capabilities are modeled as HostCapability (availability confirmed | declared | unknown;
    declared is never proof of runtime access) and SpineCapability (freshness: live/synced/ historical; authority: system-of-record/canonical/derived).
  • Read precedence: confirmed host-native live → Spine canonical → IW-managed live connector →
    Spine Cache/historical → request-connection → unavailable. The resolver may combine routes per
    provider within one request.
  • Write precedence: resolve canonical target + policy → proposal → allowed routes → prefer
    confirmed host-native when policy-approved → else Capability Fabric → receipt → normalize →
    reconcile → rehydrate.
  • A ConnectionBinding maps host connection ↔ canonical principal ↔ optional IW integration.
    ChatGPT (or any host) orchestrates its own connected apps; the IntegrateWise MCP never assumes
    access to unrelated host-app connections.

Alternatives considered

  • Spine-only routing (always go through IntegrateWise connectors) — rejected: duplicates host
    capabilities, slows first value, recreates the integration estate.
  • Host-only routing (no canonical layer) — rejected: no continuity, no cross-system context, no
    governance; the isolated-desert outcome.

Consequences

The capability resolver must maintain confirmed-vs-declared availability with observed-at
timestamps; host capability discovery is part of the Discovery Engine's bootstrap contract;
host-native outcomes enter the same Loader/Normalizer path for reconciliation.