Architecture Decision Records¶
This directory holds kenny's architecture decisions in MADR
format. Each record is one architectural decision — hard to reverse, cross-cutting, or
moving a structural boundary. For the line between "this is an ADR" and "this is an
implementation detail", see When (not) to write an ADR in the repository CLAUDE.md.
- Records are numbered sequentially (
NNNN-kebab-title.md), starting at0001. 0000-template.mdis the MADR template — copy it for a new record (/new-adr).- A record is immutable once accepted; later decisions amend or supersede it via a new record rather than editing the old one in place.
Index¶
| # | Title | Status |
|---|---|---|
| 0001 | Record architecture decisions using MADR | accepted |
| 0002 | Python server, Rust agent | accepted |
| 0003 | Self-built WebSocket/HTTPS tunnel | accepted |
| 0004 | Agent initiates the outbound connection | accepted |
| 0005 | Contract-first development with golden fixtures | accepted |
| 0006 | MCP over Streamable HTTP between Claude and the server | accepted |
| 0007 | Telemetry push model and SQLite storage | accepted |
| 0008 | Operator authentication | accepted |
| 0009 | Server-hosted Claude chat with a confirm-gate | accepted |
| 0010 | Containerization (Docker/Compose) and GHCR | accepted |
| 0011 | Local remote-control kill switch (tray on/off) | accepted |
| 0012 | Agent distribution: prebuilt binary + config injection | accepted |
| 0013 | Agent as a Windows service + server-triggered self-update | accepted |
| 0014 | Auth hardening: token store, rotation, multi-operator, TLS cookie | accepted |
| 0015 | Server auto-fetch of the prebuilt agent binary from GitHub Releases | accepted |
| 0016 | Anthropic-native (underscore) capability tool names | accepted |
| 0017 | Observability: structured logging and a persistent event store | accepted |
| 0018 | Screenshots captured in the user session via the tray helper | accepted |
| 0019 | AI recommendations and tool-aware auto-remediation | accepted |
| 0020 | Agent-side deterministic safety guard for dangerous tool calls | accepted |
| 0021 | Shared policy catalog, operator deny rules, and a server-side mirror | accepted |
| 0022 | Orchestrate Windows Quick Assist as a concierge via user-session launch | accepted |
| 0023 | Mutual agent⇄server authentication via per-agent Ed25519 signatures | accepted |