docs: repo renamed to bfe-core1106-sdk

The last product-first artifact after ADR-0008 was the repo name itself.
Current and forward-looking references updated; period-bound history in
the ADRs keeps the old name, with the rename recorded in ADR-0008.
Crate names, WARDEN_* env vars, and binaries are unchanged.
This commit is contained in:
BFE Engineering
2026-08-31 07:17:00 -06:00
parent 31c6d2496d
commit d465d97b99
7 changed files with 17 additions and 13 deletions
+1 -1
View File
@@ -1,4 +1,4 @@
# warden-sdk CI. # bfe-core1106-sdk CI.
# #
# Policy (mirrors flare-edge): only GitHub-owned actions get the repo token; the one # Policy (mirrors flare-edge): only GitHub-owned actions get the repo token; the one
# third-party helper (taiki-e/install-action) is pinned and never handed a token. # third-party helper (taiki-e/install-action) is pinned and never handed a token.
+3 -3
View File
@@ -1,6 +1,6 @@
# warden-sdk # bfe-core1106-sdk
[![ci](https://github.com/blueflare-energy/warden-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/blueflare-energy/warden-sdk/actions/workflows/ci.yml) [![ci](https://github.com/blueflare-energy/bfe-core1106-sdk/actions/workflows/ci.yml/badge.svg)](https://github.com/blueflare-energy/bfe-core1106-sdk/actions/workflows/ci.yml)
![Lines of code](.github/badges/loc.svg) ![Lines of code](.github/badges/loc.svg)
![Tests](.github/badges/tests.svg) ![Tests](.github/badges/tests.svg)
![Coverage](.github/badges/coverage.svg) ![Coverage](.github/badges/coverage.svg)
@@ -114,7 +114,7 @@ the simulators narrow which claims need a panel, they do not replace it.
## Downstream ## Downstream
WardenOS (the 86 Panel firmware this SDK was born for) consumes warden-sdk WardenOS (the 86 Panel firmware this SDK was born for) consumes this repo
from its own private repo, flare-edge; issue references and checkout paths from its own private repo, flare-edge; issue references and checkout paths
pointing there are context, not reachable links. The QEMU simulator runs its pointing there are context, not reachable links. The QEMU simulator runs its
production binaries unmodified — including real over-the-air updates against production binaries unmodified — including real over-the-air updates against
+4 -4
View File
@@ -67,7 +67,7 @@ supervisor logic runs in CI with no panel.
the boot-mode register's survives-warm-reset / cleared-by-POR behaviour (the MaskRom the boot-mode register's survives-warm-reset / cleared-by-POR behaviour (the MaskRom
recovery maneuver). The matching firmware-side `Bus` seam on flared's `devmem` — so recovery maneuver). The matching firmware-side `Bus` seam on flared's `devmem` — so
the shipped ladder can be asserted to poke the confirmed offset, never the wrong-SoC the shipped ladder can be asserted to poke the confirmed offset, never the wrong-SoC
one — lands when flare-edge consumes warden-sdk (§8 item 3, maintainer-gated), not yet on one — lands when flare-edge consumes this repo (§8 item 3, maintainer-gated), not yet on
flare-edge `main`. flare-edge `main`.
- **`modbus` — RS-485 device end.** Done. `ModbusSlave`: a byte-in/byte-out RTU slave - **`modbus` — RS-485 device end.** Done. `ModbusSlave`: a byte-in/byte-out RTU slave
(CRC16 byte-identical to the master, FC 0x010x06/0x0F/0x10/0x11, exception replies, (CRC16 byte-identical to the master, FC 0x010x06/0x0F/0x10/0x11, exception replies,
@@ -89,7 +89,7 @@ supervisor logic runs in CI with no panel.
Integration with flare-edge: flared implements `MemBus` for `/dev/mem` and gains Integration with flare-edge: flared implements `MemBus` for `/dev/mem` and gains
`#[cfg(test)]` tests driving its real arm/beat logic against `HpmcuSim`. This needs `#[cfg(test)]` tests driving its real arm/beat logic against `HpmcuSim`. This needs
warden-sdk reachable as a Cargo dependency in CI — i.e. a remote for this repo, this repo reachable as a Cargo dependency in CI — i.e. a remote for this repo,
which is a **maintainer go-ahead item** (credential/remote creation). Until then the which is a **maintainer go-ahead item** (credential/remote creation). Until then the
firmware-side seam and a local test double land in flare-edge, unified with `sim/` firmware-side seam and a local test double land in flare-edge, unified with `sim/`
once the dependency exists. No duplication of *logic* — only the tiny trait. once the dependency exists. No duplication of *logic* — only the tiny trait.
@@ -124,7 +124,7 @@ The brick was a *memory-map* fault: the boot-loaded MCU's load address (`0x40000
is a reserved carve-out on Thunder-Boot boards but plain kernel RAM on ours. No is a reserved carve-out on Thunder-Boot boards but plain kernel RAM on ours. No
behavioural sim catches that — it needs a **static check against the target DT**: behavioural sim catches that — it needs a **static check against the target DT**:
"every address the MCU/coprocessor code loads to is inside a `reserved-memory` "every address the MCU/coprocessor code loads to is inside a `reserved-memory`
node." warden-sdk owns these config-lint checks (idblock loader `.ini` vs DT node." This repo owns these config-lint checks (idblock loader `.ini` vs DT
reservations, partition table vs image sizes, vermagic vs kernel) as CI gates, so a reservations, partition table vs image sizes, vermagic vs kernel) as CI gates, so a
mistake is caught before a flash rather than on the bench. mistake is caught before a flash rather than on the bench.
@@ -187,7 +187,7 @@ memory-map faults; and "boots under emulation" is never on-silicon evidence.
2. **C-driver MC/DC harnesses**`relays.c` and `freshness.c` at 100% MC/DC, CI-gated 2. **C-driver MC/DC harnesses**`relays.c` and `freshness.c` at 100% MC/DC, CI-gated
via the shared `drivers/enforce-mcdc.sh`. **Done** (the first C coverage gate). via the shared `drivers/enforce-mcdc.sh`. **Done** (the first C coverage gate).
3. **flared devmem/hpmcu seam + tests** — firmware-side trait, unified with `sim/` 3. **flared devmem/hpmcu seam + tests** — firmware-side trait, unified with `sim/`
once flare-edge consumes warden-sdk (a separate, maintainer-gated step). **Pending.** once flare-edge consumes this repo (a separate, maintainer-gated step). **Pending.**
4. **Config-lint CI gates** (§5) — the brick-class of bug. **Done.** 4. **Config-lint CI gates** (§5) — the brick-class of bug. **Done.**
5. **Hermetic kernel build** (`build/build-kernel.sh` + the `patches-apply` gate). **Done.** 5. **Hermetic kernel build** (`build/build-kernel.sh` + the `patches-apply` gate). **Done.**
6. **Kernel 5.10→6.18.46 forward-port** (§6, ADR-0001). **Done** (hardware-verified). 6. **Kernel 5.10→6.18.46 forward-port** (§6, ADR-0001). **Done** (hardware-verified).
+2 -2
View File
@@ -10,13 +10,13 @@ no CI, tests, or versioning of their own. The SDK requirement (future-features-2
§SDK) calls for "its own repo, held to firmware standards." §SDK) calls for "its own repo, held to firmware standards."
## Decision ## Decision
A **private** `warden-sdk` GitHub repo (now `blueflare-energy/warden-sdk` and public A **private** `warden-sdk` GitHub repo (now `blueflare-energy/bfe-core1106-sdk` and public
per ADR-0007), standalone from day one with its own 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 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. on a passing review run, green CI, and the maintainer's fresh explicit go-ahead.
## Consequences ## Consequences
- flare-edge consumes warden-sdk later (flared depending on `warden-sim`, drivers - flare-edge consumes this repo later (flared depending on `warden-sim`, drivers
built from here) — a separate, maintainer-gated integration step; flare-edge is not built from here) — a separate, maintainer-gated integration step; flare-edge is not
edited by the SDK-completion effort. edited by the SDK-completion effort.
- Private for now (references bench devices / in-progress hardening); can be opened - Private for now (references bench devices / in-progress hardening); can be opened
@@ -9,9 +9,9 @@ currently lives in flare-edge. The kernel driver source lives in an un-versioned
scratch tree (`flare-edge/research/linux-6.18.46/`). scratch tree (`flare-edge/research/linux-6.18.46/`).
## Decision ## Decision
Bring **hardened copies into `warden-sdk/drivers/`** as the canonical source-of-truth, Bring **hardened copies into this repo's `drivers/`** as the canonical source-of-truth,
each with its HAL seam and a 100% MC/DC host harness. The RV1106 kernel deltas are each with its HAL seam and a 100% MC/DC host harness. The RV1106 kernel deltas are
formalized as a patch series in `patches/`. flare-edge consumes warden-sdk later formalized as a patch series in `patches/`. flare-edge consumes this repo later
(separate, maintainer-gated step). (separate, maintainer-gated step).
## Consequences ## Consequences
@@ -26,3 +26,7 @@ it.
seam inventory, scenario payloads) but read as one consumer's usage. seam inventory, scenario payloads) but read as one consumer's usage.
- The honesty rule is unchanged: emulation results are never on-silicon - The honesty rule is unchanged: emulation results are never on-silicon
claims. claims.
- The repo is renamed **`bfe-core1106-sdk`** (2026-08-31): the name leads
with the org and the chip, not the product. `warden-sdk` remains as a
GitHub redirect; crate names (`warden-sim`, `warden-config-lint`), the
`WARDEN_*` env vars, and binary names are unchanged.
+1 -1
View File
@@ -38,7 +38,7 @@ is already modelled and tested here** in `../sim/`:
**Why the Tier-2 *source* isn't vendored here yet:** `modbus_engine.c` and **Why the Tier-2 *source* isn't vendored here yet:** `modbus_engine.c` and
`warden_rga.c` pull in shared UI headers (`platform.h`, `settings.h`, `lv_*`) and `warden_rga.c` pull in shared UI headers (`platform.h`, `settings.h`, `lv_*`) and
librga. Copying those in would duplicate exactly the shared surface the librga. Copying those in would duplicate exactly the shared surface the
**flare-edge↔warden-sdk unification** (ADR-0003/0005, a separate maintainer-gated step) is **flare-edge↔SDK unification** (ADR-0003/0005, a separate maintainer-gated step) is
meant to resolve cleanly. So the Tier-2 *models* (the hardware ends) live here now; meant to resolve cleanly. So the Tier-2 *models* (the hardware ends) live here now;
the Tier-2 *driver sources* migrate in with the unification, at which point their the Tier-2 *driver sources* migrate in with the unification, at which point their
existing flare-edge harnesses point at this repo. existing flare-edge harnesses point at this repo.