Architecture Decision Records
The canonical, public record of every architectural decision in Electron
Stagewright. Each ADR captures one decision: its context, the decision itself,
the alternatives considered, and the consequences. Amendments land as a
Status Update section appended to the original ADR — history is never
rewritten.
| ADR | Title | Status |
|---|---|---|
| ADR-001 | Naming and License | Accepted |
| ADR-002 | Runtime and Language Choice | Accepted |
| ADR-003 | Transport Abstraction | Accepted (amended: CDP and injector implemented; canIntercept consumed by ADR-016, canControlClock by ADR-017, canAccessStorage by ADR-018, canAccessNativeUI by ADR-019) |
| ADR-004 | Plugin model | Accepted |
| ADR-005 | Snapshot schema v1 + renderer-injected tool layer | Accepted (amended: compact diff encoding) |
| ADR-006 | Error Code Registry and Agent-UX Response Envelope | Accepted |
| ADR-007 | Agent-native UX principles | Accepted |
| ADR-008 | MCP server, tool dispatcher, and tool-definition contract | Accepted |
| ADR-009 | Trace artifact format and dispatch-observer seam | Accepted |
| ADR-010 | IPC capture/invoke/stub plugin | Accepted |
| ADR-011 | Operation-timeout backstop at the dispatch boundary | Accepted |
| ADR-012 | Production validation plugin | Accepted |
| ADR-013 | Public documentation layout | Accepted |
| ADR-014 | Security posture and threat model | Accepted |
| ADR-015 | Project governance and maintainership | Accepted |
| ADR-016 | Network capture plugin via a transport capture seam | Accepted |
| ADR-017 | Clock control plugin via a transport clock seam | Accepted |
| ADR-018 | Storage plugin via a transport storage seam | Accepted |
| ADR-019 | Native UI plugin via a transport native-UI seam | Accepted |
| ADR-020 | Launch-time native instrumentation | Accepted |