Skip to content

Roadmap

Milestones gate on demonstrable behavior, not effort. Specs referenced must be review+ before implementation starts (workflow).

M0 — Documentation & environment (current)

Section titled “M0 — Documentation & environment (current)”

Docs 00–19 at review; ADRs 0001–0016 filed; devcontainer + compose + robot-sim + doctor working; buildable skeletons for all three libraries, three demos, website. Gate: make doctor 0 failures; all skeletons build; demos consume only public APIs; website previews locally rendering docs/.

M0.5 — Public foundations (as soon as a git remote exists)

Section titled “M0.5 — Public foundations (as soon as a git remote exists)”

CI (lint, build, docs gates) and website deploy. Registrations done 2026-09-15: fjarr.io + fjarr.dev (Cloudflare), npm org @fjarr, GitHub org fjarrio (fjarr was taken) connected to crates.io; repo at github.com/fjarrio/fjarr. Gate: landing + docs live at fjarr.io; CI green on main.

M1 — Core + extension API, proven by fjarr.camera

Section titled “M1 — Core + extension API, proven by fjarr.camera”

Agent core (session lifecycle, FrameHub, DC router, reconnect ladder), Rust signaling with grants/webhooks/TURN minting, @fjarr/core state machine + @fjarr/react basics; camera capability as the reference implementation; ADR-0007 spike (webrtcbin+FrameHub vs webrtcsink, measured); baseline adaptive bitrate; extension API paper-validated against all seven capabilities + the arm-teach stress testdone: M1 API-fit review (4 findings folded into docs/05 + docs/09). Gate: three-demo stack end-to-end — demo-robot streams 2 tracks to 3 browsers through the sidecar, TS demo-backend minting grants and receiving webhooks; reconnect + ICE restart demonstrated under fault injection; latency harness reporting against budgets; written API-fit review for the remaining capabilities.

M2 — Desktop backend spikes + fjarr.terminal

Section titled “M2 — Desktop backend spikes + fjarr.terminal”

The four spikes per docs/07 close ADR-0006 with measurements (unattended access is the hard gate). In parallel, the terminal capability — the deliberately media-free second consumer of the extension API (two unrelated capabilities = minimum bar for “generic”). Gate: ADR-0006 accepted with data; terminal capability accepted per docs/06; no extension-API changes needed for it (or the API amended + re-reviewed).

Video + pointer + keyboard on the chosen backend; clipboard text; release_all_input safety; unattended-access test green on a real NUC. Gate: capability acceptance criteria (docs/06); input-to-photon within budgets; design-partner demo.

Chunked/backpressured/resumable transfer; telemetry with ROS 2 TelemetrySource adapter and store-and-forward. Gate: 1 GB resume-after-kill with verified hash; bulk/interactive isolation within budget; telemetry replay after outage.

Device enrollment/identity, multi-tenancy, ephemeral TURN at scale, usage metering, first OpenAPI-generated SDK (TS), Cloud alpha implementing the same ADR-0015 contract; TURNS/TCP-443 fallback. Gate: a design partner integrates against Cloud using only public docs; security review of docs/10 items; metering visible in webhooks.

Third-party plugin authoring docs + template repo; ABI/compat promises (docs/05); clipboard images/files; multi-monitor polish. Gate: an external developer (not us) builds a toy capability from docs alone.

M7 — Fleet observability (flagship paid tier)

Section titled “M7 — Fleet observability (flagship paid tier)”

Versions, host + user metrics, error rates; ingest + aggregation; fleet views in @fjarr/react; alerting in Cloud. Gate: docs/06 observability criteria; 10-robot sim fleet demo.

SWUpdate integration per ADR-0016: A/B atomic + rollback, delta streaming over the file capability, pre/post hooks, campaigns with staged rollout + auto-halt; reference partition layout + image recipe. Gate: docs/06 OTA criteria including the power-cut-mid-write and failing-post-hook rollback demos.