Skip to content

docs: architecture decision records (ADR-0001..0004) #4

Description

@sepehr-safari

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

  • Four ADRs + an index, each in Status/Context/Decision/Consequences form
  • Decisions match what the maintainer approved (independent impl, macOS-first, native-rendered, Zig)
  • Index links every ADR; statuses set to Accepted
  • No AI-tool references

Dependencies

Depends on #1. Independent of #2/#3 (can be reviewed in parallel, merged in order).

Milestone: S0 — Foundation

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions