Skip to content

Latest commit

 

History

History
104 lines (83 loc) · 5.2 KB

File metadata and controls

104 lines (83 loc) · 5.2 KB

Roadmap

Studio is built in milestones, each mapping to a semantic version. Milestones are tracked as GitHub milestones; this file is the human-readable summary. Scope may be refined as we learn — the sequencing rationale (engine before UI, capture after the inspector exists) is the stable part.

Milestone Version Theme Status
S0 0.0.x Foundation ✅ Complete
S1 0.1.0 Engine core ✅ Complete
S2 0.1.0 Detection + conformance ✅ Complete
S3 0.2.0 Inspector UI ✅ Complete
S4 0.3.0 Analysis parity+ ✅ Complete
S5 0.4.0 Live capture ⭐ Planned
S6 0.5.0 Public release & launch ✅ Released

Versioning

Studio stays in the 0.x range until its foundations settle. Zig, the Native SDK, and the toolkit — Studio's conformance reference, itself 0.3.x — are all pre-1.0 and still make breaking changes. A 1.0 waits for that ground to stabilize: releasing one on a shifting substrate would claim more stability than the stack, or the reference implementation Studio mirrors, actually offers. Until then, 0.x minors may carry breaking changes, always called out in the release notes.

S0 — Foundation (0.0.x) ✅

Repo, tooling, and CI. A native window that opens, an automation-driven smoke test, founding docs, and architecture decision records. Exit criteria met: CI green on macOS + Linux; native doctor --strict clean.

S1 — Engine core (0.1.0) ✅

The pure-Zig OCPP engine, headless and testable: canonical Event / Session types and the std.json.Value value boundary (ADR-0005), a parser for the three input formats (JSON object, JSONL, bare array) with untrusted-input limits, the normalizer (message classification, timestamp normalization, and direction inference), and session correlation by transaction id. Exit criteria met: the vendored normal-session fixture parses and correlates end to end; engine tests run green headlessly (native test -Dplatform=null) on macOS + Linux.

S2 — Detection + conformance (0.1.0) ✅

The full OCPP 1.6J failure taxonomy in Zig — all 16 detection rules — plus the conformance harness that runs the 15 shared scenario fixtures and checks Studio's detected failures against locked goldens generated from the toolkit. Exit criteria met: 15/15 scenarios match the contract-v1 goldens under native test.

S3 — Inspector UI (0.2.0) ✅

The native inspector: a virtualized event timeline, the per-message inspector (raw / normalized / payload tree), the session and failure panels, search / filter, and a multi-trace workspace — handling traces far larger than a browser tab can hold. Traces open from command-line paths and a built-in sample; interactive open (native dialog + drag-drop) is deferred to #33 (needs an ejected runner, ADR-0006).

S4 — Analysis parity+ (0.3.0) ✅

Parity with the toolkit's analysis surface: Markdown / HTML reports, anonymize-on-export, trace diffing, and a deterministic replay engine with a manual-scrub transport. A headless CLI ships in the same binary (inspect / report / diff / anonymize / ci / scenario) — see docs/cli-parity.md. Exit criteria met: all six issues (#41–#45) merged; native test green (123 tests) and the app builds and runs the CLI. Real wall-clock replay playback is deferred to #33 (the zero-config runner exposes no timer effect), tracked as a follow-up.

S5 — Live capture ⭐ (0.4.0)

The flagship. A live WebSocket proxy between a charge point and its CSMS, decoding OCPP frames in flight, running detection as events stream, recording to the canonical trace format, and surfacing it all in a live timeline — with OS notifications on critical failures. This is the capability a browser tab cannot provide, and the reason Studio exists.

S6 — Public release & launch (0.5.0)

A signed macOS app and a Linux package, a menu-bar live monitor, a complete docs set, an automation-driven GUI test suite, and the frozen conformance contract — Studio's first packaged, signed public release.

Studio also joins the ecosystem's web presence: a Studio section on ocppdebugkit.com — a /studio page (positioning, the "library vs. instrument" split with the toolkit, feature highlights, screenshots, download links) plus cross-links from the toolkit landing and inspector, with the conformance contract — two independent implementations, one trace format — as the trust hook. This is a cross-repo deliverable: the site lives in the toolkit monorepo (apps/web), so the page and its issues are filed there. It stays in the monorepo rather than a separate website repo because the site's live inspector already depends on the toolkit's workspace packages and Studio coverage is static content; revisit only if the site later needs an independent brand or deploy cadence.

Beyond 0.5

Sequenced one theme per minor: a message composer / playground, a charge-point simulator, a CSMS mock, an active scenario runner (running the assertion suite against live endpoints), TLS proxy support, and — behind the same version-tagged decoder boundary — OCPP 2.0.1.