Title here
Summary here
This directory contains the Architecture Decision Records (ADRs) for this project.
Each ADR follows this structure:
# NNNN: Title
**Status**: Proposed | Accepted | Superseded | Deprecated
**Date**: YYYY-MM-DD
## Context — What is the issue motivating this decision?
## Candidates — Options considered with trade-offs
## Decision — What we chose and why
## Consequences — What becomes easier/harder
## Constitution Compliance — Mapping to project principlesADRs are numbered sequentially: 001, 002, etc.
Numbers are never reused. If a decision is reversed, the original ADR is marked “Superseded” and a new ADR is created with a reference.
| ADR | Title | Status |
|---|---|---|
| 001 | Hexagonal Architecture | Accepted |
| 002 | Error Taxonomy with Exit Codes | Accepted |
| 003 | YAML State Machine for Workflow Definition | Accepted |
| 004 | Domain Operation Registry with Infrastructure Coexistence | Accepted |
| 005 | Atomic File Writes for State Persistence | Accepted |
| 006 | XDG-Compliant Path Resolution | Accepted |
| 007 | Agent Prompt XOR Constraint | Accepted |
| 008 | OpenAI-Compatible Provider: HTTP Adapter Integration | Accepted |
| 009 | Breaking: Removal of Custom Provider in v0.4.0 | Accepted |
| 010 | Paired JSONL Audit Trail with Atomic Append | Accepted |
| 011 | Application-Layer Secret Masking for Audit Events | Accepted |
| 012 | Runtime Shell Detection with $SHELL Environment Variable | Accepted |
| 013 | Context-Aware Input Ports | Accepted |
| 014 | Shebang Execution for Script Files | Accepted |
| 015 | gRPC via go-plugin as External Plugin Transport | Accepted |
| 016 | HTTP Interface Adapter with Huma v2 and SSE Streaming | Accepted |
| 017 | MCP Proxy via stdio Subprocess for Tool Interception | Accepted |
| 018 | ACP Transparent Agent Server via JSON-RPC 2.0 stdio Subprocess | Accepted |
| 019 | MCP Server Migration to Official go-sdk | Accepted |
| 020 | ACP Server Migration to Official coder/acp-go-sdk | Accepted |
ls docs/ADR/ | grep -oP '^\d+' | sort -n | tail -1 + 1cp docs/ADR/.template.md docs/ADR/NNNN-short-name.mdBefore merging any new or modified ADR:
[ADR-NNNN] links resolve to existing filesSupersedes/Superseded by metadata