Skip to content

Architecture Decision Records

ADRs document significant architectural decisions and their context.

Agents

ADRDecision
001 - Background AgentsKubernetes-native agent execution with sandbox isolation
002 - OpenHands Agent SandboxOpenHands as the agent runtime framework
003 - Context ForgeIBM Context Forge as the MCP gateway
004 - Autonomous AgentsDesign for fully autonomous agent workflows
005 - Role-Based MCP AccessRole-based access control for MCP tool servers
006 - OIDC Auth MCP GatewayOAuth 2.1 / OIDC authentication for remote MCP access
007 - Agent Run Orchestration ServiceDedicated service for dispatching and tracking agent job runs

Docs

ADRDecision
001 - Static Docs SiteVitePress for architecture documentation

Networking

ADRDecision
001 - Cloudflare Envoy GatewayCloudflare Tunnel + Envoy Gateway for ingress

Platform

ADRDecision
001 - Obsidian Vault Monolith MigrationMigrate Obsidian vault into the monolith on TigerFS
002 - CDN-Cached Data FetchingPublic JSON endpoints cache at the Cloudflare edge; clients poll cached

Security

ADRDecision
001 - Bazel SemgrepSemgrep SAST integrated via Bazel rules
002 - Semgrep Rule Generation via RLRL-finetuned Qwen 3.5 9B for generating Semgrep rules from CVEs

Services

ADRDecision
001 - Discord History BackfillOne-time backfill of Discord channel history into pgvector
002 - Discord Chat AutomationScheduling, triggers, and proactive posting for the Discord bot

Tooling

ADRDecision
001 - OCI Tool DistributionMulti-arch OCI image for developer tools, eliminating local Bazel
002 - Service Deployment ToolingCopier template to scaffold new services, eliminating per-service boilerplate
003 - Spec-First CLI and SkillsOpenAPI as source of truth; CLI commands and Claude skills are derived