The repo's documentation framed it as a support repo for one product (WardenOS). Since going public the real audience is anyone with a Luckfox Pico 86 Panel: a maintained 6.18 kernel, an off-device development loop, and a device simulator that exist nowhere else for this board. Reframe the README and top-level docs board-first, with WardenOS documented as the downstream consumer it is (ADR-0008). Also an editorial pass over the whole doc set: - every H1/H2 is now a short title, not a sentence (ADRs, qemu/, patches/, drivers/, architecture, NPU feasibility, config-lint, payload); workflow flowchart titles fixed at the source in tools/flowgen.py and regenerated with fresh bench numbers - README Quick Start commands verified against the scripts; requirements corrected (curl, bare python, gcc >= 14) and the MC/DC gate added as a step (run green locally on gcc 14.2) - dropped the 'needs python (not python3)' vendor dig: build-kernel.sh inherited the same requirement (filed #10 to remove it) - glossed MC/DC and HPMCU on first use; marked the tests/uboot-ab reference as flare-edge; deduplicated the three-simulator list into the root README table
1.1 KiB
1.1 KiB
ADR 0003 — Standalone Repo
Status: Accepted (2026-08-25). Repo-visibility half superseded by ADR-0007 (2026-08-30) — warden-sdk went public; the "private for now" consequence below no longer holds. Original decision kept for the record.
Context
Our real SDK changes lived as uncommitted edits in a 2GB opaque vendor fork, with no CI, tests, or versioning of their own. The SDK requirement (future-features-2 §SDK) calls for "its own repo, held to firmware standards."
Decision
A private warden-sdk GitHub repo (now blueflare-energy/warden-sdk and public
per ADR-0007), standalone from day one with its own
CI/versioning. Work lands on a bringup branch; the first commit to main is gated
on a passing review run, green CI, and the maintainer's fresh explicit go-ahead.
Consequences
- flare-edge consumes warden-sdk later (flared depending on
warden-sim, drivers built from here) — a separate, maintainer-gated integration step; flare-edge is not edited by the SDK-completion effort. - Private for now (references bench devices / in-progress hardening); can be opened
later once scrubbed, matching how
flare-deploymentis handled.