Scope
Capture the foundational architecture decisions as ADRs so the project's direction is documented and reviewable from day one. Format: Status → Context → Decision → Consequences.
docs/adr/README.md — ADR index + the format convention.
- ADR-0001 — Independent implementation with a shared conformance contract. Studio shares zero code with the
@ocpp-debugkit/toolkit TypeScript project; the two meet only at a spec/format contract (trace format, Event/Session/Failure model, the 16-rule failure taxonomy, the 15 scenario fixtures). Rationale, and how conformance is enforced (vendored fixtures + goldens, CI gate).
- ADR-0002 — macOS-first, Linux in CI, Windows post-1.0. Platform strategy and why (Native SDK maturity, GPU-surface backends), with the headless-vs-GUI CI split.
- ADR-0003 — Native-rendered UI (no WebView, no web frontend). Commit to
.native markup + Zig on the UiApp loop; WebView shell explicitly rejected.
- ADR-0004 — Zig + Native SDK on the zero-config build. Toolchain choice; stay on the CLI-owned build (no ejected
build.zig) until a concrete need arises.
Acceptance criteria
Dependencies
Depends on #1. Independent of #2/#3 (can be reviewed in parallel, merged in order).
Milestone: S0 — Foundation
Scope
Capture the foundational architecture decisions as ADRs so the project's direction is documented and reviewable from day one. Format: Status → Context → Decision → Consequences.
docs/adr/README.md— ADR index + the format convention.@ocpp-debugkit/toolkitTypeScript project; the two meet only at a spec/format contract (trace format,Event/Session/Failuremodel, the 16-rule failure taxonomy, the 15 scenario fixtures). Rationale, and how conformance is enforced (vendored fixtures + goldens, CI gate)..nativemarkup + Zig on the UiApp loop; WebView shell explicitly rejected.build.zig) until a concrete need arises.Acceptance criteria
Dependencies
Depends on #1. Independent of #2/#3 (can be reviewed in parallel, merged in order).
Milestone: S0 — Foundation