ADR-0000: Project Naming and Scope Confirmation
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0001: Web/UI Stack — Go net/http + chi, html/template, HTMX + Pico.css, Inline-SVG Icons
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0002: PostgreSQL as the Persistence Layer — Schema, Queue Mechanics, and Retention
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0003: Ingestion Provider Types & Trust Model (webhooks vs. queues)
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0005: MCP Tool and Resource Contract Shape
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0007: Todos as the Core Primitive (not a message inbox)
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0008: Human Principal + Per-Agent Vended MCP Endpoints
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0009: Personas as Scoped Agent Cards
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0010: A2A for Discovery + Human-Vended Friending; MCP for Tools; Todo-Queue for Transport
Status · superseded · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0011: Identity & Assurance — Simple OIDC Now, Passkey Step-Up Deferred
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0012: Agents Self-Manage Their Own Webhooks (within a vended ceiling)
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0013: Push Delivery via Claude Code Channels (notify layer over the durable todo queue)
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0014: Ingestion Adapters — Push (webhook) and Pull (queue) Families
Status · superseded · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0015: Implementation Language & Runtime — Go
Status · accepted · Date · 2026-07-05 · Deciders · Joe Stump
ADR-0016: Adopt the "Operator" (Brass & Bakelite) Design Language; Hand-Rolled Token CSS Replaces Pico.css
Status · superseded · Date · 2026-07-10 · Deciders · Joe Stump
ADR-0017: Vended MCP Endpoints Served Exclusively over Streamable HTTP/S (Retire the Local stdio Adapter)
Status · accepted · Date · 2026-07-10 · Deciders · Joe Stump
ADR-0018: Adopt the Charm-Web Design Language (Day/Night, Monospace-First, Keyboard-First); Retire the Operator/Brass System
Status · accepted · Date · 2026-07-18 · Deciders · Joe Stump
ADR-0019: Switchboard Becomes an OAuth Authorization Server for Vended MCP Endpoints
Status · accepted · Date · 2026-07-18 · Deciders · Joe Stump
ADR-0020: Providers Become Runtime-Configurable First-Class Objects with a Connect Wizard and Catalog
Status · superseded · Date · 2026-07-18 · Deciders · Joe Stump
ADR-0021: A2A as a First-Class Task-Delegation Transport (Supersedes Discovery-Only A2A)
Status · proposed · Date · 2026-07-19 · Deciders · Joe Stump
ADR-0022: Endpoint-Scoped Todo Ownership and Webhook Route Fan-Out
Status · accepted · Date · 2026-07-21 · Deciders · Joe Stump
ADR-0023: MVP Is MCP/API-First, Webhook-to-Doorbell Basics
Status · accepted · Date · 2026-09-02 · Deciders · Joe Stump
ADR-0024: Event Routing — Deterministic (jq) Rules with an Optional LLM Router
Status · accepted · Date · 2026-09-06 · Deciders · [joestump, joestump-agent]
ADR-0025: Handoff Work Orders and Difficulty Lanes
Status · accepted · Date · 2026-09-11 · Deciders · [joestump, joestump-agent]
ADR-0026: GitHub as a Second Human Login Provider (and the ADR-0011 Step-Up Trigger)
Status · proposed · Date · 2026-09-13 · Deciders · joestump
ADR-0027: Endpoint Presence — Agents Clock In and Clock Out
Status · accepted · Date · 2026-09-17 · Deciders · [joestump]
ADR-0028: Switchboard Exposes Prometheus Metrics, Led by Queue Liveness
Status · accepted · Date · 2026-09-15 · Deciders · Joe Stump
ADR-0029: Per-Endpoint Outbound Webhooks Wake Consumers That Have No Session
Status · accepted · Date · 2026-09-21 · Deciders · Joe Stump
ADR-0030: Doorbells Are Acknowledged, and Every Endpoint Can Test Its Own
Status · accepted · Date · 2026-09-22 · Deciders · Joe Stump
ADR-0031: Intake Fails Closed — Trusted Actors Are First-Class and Everything Else Is Quarantined
Status · accepted · Date · 2026-09-22 · Deciders · Joe Stump
ADR-0032: Every Surface Reports One Stamped Version, and Every Release Says What Changed and How to Upgrade
Status · accepted · Date · 2026-09-22 · Deciders · Joe Stump
ADR-0033: Todos Carry a Reply Address, and a reply Tool Posts Back to Where the Work Came From
Status · accepted · Date · 2026-09-22 · Deciders · Joe Stump
ADR-0034: Notification Sinks (Gotify, Apprise) and Queue Digests — Tell Humans, Don't Ticket Them
Status · accepted · Date · 2026-09-22 · Deciders · Joe Stump
ADR-0035: Per-Queue Admission Control — Budgets Counted in Postgres and Enforced Inside the Claim
Status · accepted · Date · 2026-09-22 · Deciders · Joe Stump
ADR-0036: Rule Packs Are Installable, Versioned Presets That Must Prove Themselves on Real Traffic Before They Save
Status · accepted · Date · 2026-09-22 · Deciders · Joe Stump
ADR-0037: Provider-Issued Signing Secrets, Slack URL Verification, and the Linear and Plain Kinds
Status · accepted · Date · 2026-09-22 · Deciders · Joe Stump
ADR-0038: Teams and Tenancy — Every Resource Has a User or Team Owner, and the Operator Owns None
Status · accepted · Date · 2026-09-22 · Deciders · Joe Stump
ADR-0039: Attempt History on Todos — Every Claim Opens a Record, Every Ending Closes It
Status · accepted · Date · 2026-09-22 · Deciders · Joe Stump
ADR-0040: Operator-Authored Todos Ring the Doorbell
Status · accepted · Date · 2026-09-13 · Deciders · [joestump]
ADR-0041: Ship the CI and Deploy Workflows Unchanged When the Repo Goes Public
Status · accepted · Date · 2026-09-12 · Deciders · [joestump]
ADR-0042: Agent Activity: OTLP Traces, Progress Notes, and a Todo-Centred Audit Trail
Status · proposed · Date · 2026-09-27 · Deciders · Joe Stump
ADR-0043: A Per-Endpoint Default Claim Lease, Set by Its Human
Status · accepted · Date · 2026-10-01 · Deciders · [joestump]
ADR-0044: Todo Lineage, Subject Threads and Tags — Structural Links Between What Agents Did and What It Caused
Status · proposed · Date · 2026-09-27 · Deciders · Joe Stump
ADR-0045: Queue-Stall Nudge — A Level-Triggered Wake For A Queue Nobody Is Claiming From
Status · proposed · Date · 2026-10-15 · Deciders · Proposed by joestump-agent, pending Joe
ADR-0046: Interrupt-Lease TTL — A Deadline For A Wait Whose Holder May Be Gone
Status · proposed · Date · 2026-10-19 · Deciders · Proposed by joestump-agent, pending Joe
ADR-0047: Verb-Scoped Endpoint Vend — A Lane Credential Holds Only What Its Lane Does
Status · proposed · Date · 2026-10-21 · Deciders · Proposed by joestump-agent, pending Joe
ADR-0048: Per-Queue Pause — Quiesce Delivery, Never Intake
Status · proposed · Date · 2026-10-20 · Deciders · Proposed by joestump-agent, pending Joe
ADR-0049: Add-Only Endpoint Scope Widening — One More Lane Should Not Cost a Re-Vend
Status · proposed · Date · 2026-10-21 · Deciders · Proposed by joestump-agent, pending Joe
ADR-0050: Announce Dead Letters On The Hook, List Them For The Operator — Silence That Costs A Whole Queue
Status · proposed · Date · 2026-10-21 · Deciders · Proposed by joestump-agent, pending Joe
ADR-0051: Count Deliveries Refused Before Intake Per Source — The Losses The Queue Cannot See
Status · proposed · Date · 2026-10-24 · Deciders · Proposed by joestump-agent, pending Joe
ADR-0052: Per-Webhook Provider Read Connection — Who May Point a Read at a Provider, and What It May Re-Drive
Status · proposed · Date · 2026-10-25 · Deciders · Proposed by joestump-agent, pending Joe
ADR-0053: Provider Read Clients Behind One Interface — The Read Half of the Reconcile Pass
Status · proposed · Date · 2026-10-25 · Deciders · Proposed by joestump-agent, pending Joe
ADR-0054: Board Complete and Extend Stay on Operator-Taken Leases
Status · proposed · Date · 2026-10-26 · Deciders · Proposed by joestump-agent, pending Joe