Skip to content

Documentation Index

Fjarr is developed documentation-first: specs and ADRs land before the code that implements them (docs/13). This index is the front door — read top to bottom for the full picture, or jump by concern.

Status meaning: draft (being written, expect churn) → review (complete, awaiting scrutiny) → stable (normative; changing it requires an ADR or PR with rationale).

#DocumentConcernStatus
00VisionWhy Fjarr exists, for whom, and what it is notreview
01GlossaryShared vocabulary across all three codebasesreview
02ArchitectureThree-tier library model, planes, topologiesreview
03Product strategyThe living SaaS business planreview
04Supported platformsOS, GPU, browser, network matricesreview
05Extension modelThe capability/plugin API — the centerpiecereview
06CapabilitiesCatalog: camera, desktop, telemetry, files, terminal, observability, OTAreview
07Desktop backendsX11/Wayland × XTest/libei/uinput evaluation planstable
08ProtocolNormative wire spec: signaling + DataChannelsreview
09InterfacesThe three embedding APIs + backend contractreview
10SecurityThreat model, identity, tokens, TURN, privilegesreview
11Prior artLessons mined from five prior in-house projects (anonymized)review
12Development environmentDevcontainer, compose, doctor, troubleshootingreview
13Development workflowDoc-driven process, ADRs, definition of donereview
14DependenciesEvery dependency: version, license, ships-or-devreview
15Testing strategyTest pyramid, fault injection, latency harnessreview
16Performance budgetsLatency/bitrate/CPU targets and degradationreview
17RoadmapMilestones M0–M8 with entry/exit gatesreview
18Open questionsLive list of undecided itemsliving
19Website & publishingHow docs + landing page shipreview
20Agentic developmentAI agents as first-class contributorsreview
21Web client architecture@fjarr/core + @fjarr/react: sessions, subscriptions, publishing, demand-driven mediareview
22Remote desktop clientBrowser-side fjarr.desktop: input pipeline, focus, cursor, latency, clipboardreview
23Agent core architecturelibfjarr core: threading, session state machine, media plane, DC router, SessionContext, supervision, testingreview
24Pipeline introspectionLive, visual and machine-readable GStreamer pipeline graphs — for developers, customers and AI agentsreview
25Browser labCDP-driven Chromium in the stack: e2e, traffic introspection, network emulation, profiling — for people and agentsreview
26Robot install & driversOne-line install; the driver catalog, setup, drivers and --check; only the drivers a use case needsdraft
27Network tunnelfjarr.net: a session-scoped IP link to one robot — ssh, scp, UDP bridges and ROS 2 tooling; why it is a link and not a VPNdraft
28What you can run over the tunnelIdeas for fjarr.net: shells, desktops, files, debuggers, ROS, CAN, USB/IP, monitoring — what is verified, what fits, and the safety notesreview
29How-tos over the tunnelStep-by-step recipes for docs/28’s ideas: a few commands each, robot side and your side, and the usual pitfallreview
30Continuous integrationHow CI is laid out and kept fast: the job graph, which changes run what, CI images by content hash, caches as a budget, build once and reuse; rules for adding to itreview
31The hosted demoThe demo stack on a public server behind Cloudflare: names, TLS (Cloudflare to Caddy), coturn, firewall, secrets, deploying and operating itdraft
32Fleet OTAfjarr.ota: signed releases for the whole robot (image, apps, config, peripherals), readiness and prepare, run logs, budgeted HTTPS chunks, staged campaigns, recipes for Yocto/NixOS/Ubuntudraft

Decisions live in docs/adr/ — one file per decision, immutable once accepted (superseded, never edited). Start with the ADR process and the template.

Gate artifacts and retrospective code reviews live in docs/reviews/: the M1 extension-API fit review, the slice-2 web core + React review, the slice-3 planning review, the slice-3a browser lab review, the slice-3b agent core review, the slice-3c introspection + memory ladder review, the slice-4 camera review, the slice-5a blob frames + introspect review the slice-5b served viewer + agent image review the slice-6a repair + rate control review the slice-6b passthrough review the M1 gate review the slice-4.5a network tunnel review the slice-4.5b gates review the slice-4.5c ssh-and-scp review the slice-4.5d ROS 2 review the slice-4.5e operator client review the slice-4.5f discovery and login review the M4.5 gate review and the M3 gate review.

  • “I’m a robot company evaluating Fjarr” → 00 → 02 → 06 → 09 → 04
  • “I want to debug a robot in the field” → 27 → 26 → 10
  • “I’m implementing a milestone” → 17 → the specs it gates on → 13
  • “I’m writing a capability plugin” → 05 → 08 → 09
  • “I’m reviewing security” → 10 → 08 → 09 → 14