Architecture Decision Records
ADRs document significant architectural decisions and their context.
Agents
| ADR | Decision |
|---|---|
| 001 - Background Agents | Kubernetes-native agent execution with sandbox isolation |
| 002 - OpenHands Agent Sandbox | OpenHands as the agent runtime framework |
| 003 - Context Forge | IBM Context Forge as the MCP gateway |
| 004 - Autonomous Agents | Design for fully autonomous agent workflows |
| 005 - Role-Based MCP Access | Role-based access control for MCP tool servers |
| 006 - OIDC Auth MCP Gateway | OAuth 2.1 / OIDC authentication for remote MCP access |
| 007 - Agent Run Orchestration Service | Dedicated service for dispatching and tracking agent job runs |
Docs
| ADR | Decision |
|---|---|
| 001 - Static Docs Site | VitePress for architecture documentation |
Networking
| ADR | Decision |
|---|---|
| 001 - Cloudflare Envoy Gateway | Cloudflare Tunnel + Envoy Gateway for ingress |
Platform
| ADR | Decision |
|---|---|
| 001 - Obsidian Vault Monolith Migration | Migrate Obsidian vault into the monolith on TigerFS |
| 002 - CDN-Cached Data Fetching | Public JSON endpoints cache at the Cloudflare edge; clients poll cached |
Security
| ADR | Decision |
|---|---|
| 001 - Bazel Semgrep | Semgrep SAST integrated via Bazel rules |
| 002 - Semgrep Rule Generation via RL | RL-finetuned Qwen 3.5 9B for generating Semgrep rules from CVEs |
Services
| ADR | Decision |
|---|---|
| 001 - Discord History Backfill | One-time backfill of Discord channel history into pgvector |
| 002 - Discord Chat Automation | Scheduling, triggers, and proactive posting for the Discord bot |
Tooling
| ADR | Decision |
|---|---|
| 001 - OCI Tool Distribution | Multi-arch OCI image for developer tools, eliminating local Bazel |
| 002 - Service Deployment Tooling | Copier template to scaffold new services, eliminating per-service boilerplate |
| 003 - Spec-First CLI and Skills | OpenAPI as source of truth; CLI commands and Claude skills are derived |