# ADR 0017: Hosted Coding Assistant Architecture
| | |
|---|---|
| **Status** | Accepted |
| **Date** | 2026-01-30 |
| **Derived From** | 6-expert alignment dialogue (100% convergence) |
## Context
Superviber wants to offer a managed coding assistant service to clients with three goals:
1. **Run compute centrally** — Clients connect via thin client, Superviber manages infrastructure
2. **Usage-based billing** — Charge clients for their consumption
3. **Path to custom LLM** — Eventually replace Claude Code with proprietary model
The challenge: maintain data sovereignty (client code/credentials stay secure) while centralizing the service.
## Decision
We adopt a **Hybrid Execution Architecture** where Superviber hosts the control plane but execution happens on client infrastructure.
```mermaid
%%{init: {'theme': 'neutral'}}%%
flowchart TB
subgraph USER["👤 Developer"]
WEB["Web Interface"]
end
subgraph SV["☁️ Superviber Control Plane"]
ORCH["Orchestration"]
BILL["Billing"]
TELEM["Telemetry"]
end
subgraph CLIENT["🏢 Client Infrastructure"]
AGENT["Superviber Agent
(Claude Code)"]
CODE[("Source Code
Credentials")]
end
WEB -->|"Session"| ORCH
ORCH -->|"Route"| AGENT
AGENT <-->|"Local"| CODE
AGENT -->|"Metrics"| TELEM
TELEM --> BILL
```
### Architecture Components
| Component | Location | Responsibility |
|-----------|----------|----------------|
| **Control Plane** | Superviber | Session routing, billing, telemetry, model updates |
| **Execution Agent** | Client | Claude Code execution, file operations, credential access |
| **Web Interface** | User browser | Session initiation, UI rendering |
### Why Hybrid?
The dialogue surfaced a fundamental conflict: **data sovereignty is incompatible with centralized execution**. Claude Code must read files, access credentials, and execute commands. If this happens on Superviber servers, client data leaves client infrastructure.
The hybrid model resolves this:
- **Credentials never leave client** — Agent runs locally with local access
- **Superviber never sees source code** — Only orchestration metadata
- **Client controls revocation** — Uninstall agent = instant termination
## Billing Model
**Tiered Capacity Pricing** (MVP):
| Tier | Price | Concurrent Sessions |
|------|-------|---------------------|
| Small | $500/mo | 2 |
| Medium | $2,000/mo | 10 |
| Enterprise | Negotiated | Unlimited (fair-use) |
This model:
- Provides predictable client budgets
- Avoids token measurement disputes
- Aligns with how clients budget for dev tools (per-seat equivalent)
**Roadmap**: Outcome-based pricing (charge for merged PRs, resolved issues) once measurement infrastructure matures.
## Custom LLM Strategy
**Internal R&D only** — not client-facing.
The dialogue reached consensus that publicly positioning a custom LLM migration path:
- Suppresses willingness to pay premium prices today
- Creates vendor lock-in paradox (building dependency while planning migration)
- Introduces uninsurable liability (model errors, IP contamination)
Instead:
- Build custom LLM quietly as cost optimization
- Maintain Claude Code as premium, Anthropic-backed offering
- Custom LLM becomes deployment target within same orchestration layer (not replacement)
## Compliance Requirements
**Mandatory baseline** regardless of architecture:
| Requirement | Purpose |
|-------------|---------|
| Data Processing Addendum (DPA) | GDPR Article 28 compliance |
| SOC 2 Type II attestation | Enterprise procurement requirement |
| Scope-limited processing | Only orchestration metadata, not client code |
| Encryption in transit (mTLS) | Agent ↔ Control plane communication |
| Standard DPA templates | Accelerate sales (no custom negotiation) |
With hybrid architecture, Superviber processes **orchestration metadata only** (session routing, telemetry aggregation), not client code or credentials. This reduces data classification exposure and simplifies SOC 2 scope.
## Consequences
### Positive
1. **True data sovereignty** — Client code/credentials never leave client infrastructure
2. **Simpler compliance** — Superviber is orchestration processor, not code processor
3. **Predictable billing** — Capacity tiers eliminate runaway cost risk
4. **Clear liability boundaries** — Orchestration SLA with Superviber, execution with client
5. **Custom LLM optionality** — Can swap models without client disruption
### Negative
1. **Client deployment required** — Must install agent in client infrastructure
2. **Agent maintenance** — Superviber pushes updates, client applies them
3. **Network dependency** — Agent requires outbound connectivity to control plane
### Neutral
1. **Custom LLM timeline extended** — Internal R&D only delays market positioning
2. **Outcome-based pricing deferred** — Requires measurement infrastructure not yet built
## Deployment Pattern
The Superviber Agent runs as:
- **Kubernetes**: Containerized sidecar in client clusters
- **Traditional**: systemd service on developer machines or shared servers
Connection model:
- Agent initiates **outbound-only** mTLS websocket to control plane
- Client never opens inbound firewall rules
- Superviber never sees credentials
Resource limits (CPU, memory, concurrent sessions) become the billing primitive.
## Related
- [Spike: Blue MCP Server on Superviber Infrastructure](./../spikes/2026-01-30T1503Z-blue-mcp-server-on-superviber-infrastructure.wip.md)
- [ADR 0014: Alignment Dialogue Agents](./0014-alignment-dialogue-agents.accepted.md)
- [Financial Portfolio Management Publication](../publications/alignment-dialogue-financial-portfolio-management.md)
---
*This ADR was derived from a 6-expert alignment dialogue achieving 100% convergence in 3 rounds.*
*Experts: 🧁 Muffin (Platform Architect), 🧁 Cupcake (Security Engineer), 🧁 Scone (Product Strategist), 🧁 Eclair (Business Analyst), 🧁 Donut (DevOps/SRE), 🧁 Brioche (Legal/Compliance)*