docs(policy): firmware redistribution note (operator-approved 2026-08-04)

This commit is contained in:
2026-08-05 03:33:36 +03:00
parent 7dde038b3f
commit 960f9efb2c
2 changed files with 62 additions and 0 deletions
@@ -0,0 +1,48 @@
TASK 24: C-exemption formalization — Evidence Artifact
======================================================
Date: 2026-08-05
Plan: .omo/plans/ryzen-7000-x670e-compat.md (todo 24, line ~317)
THREE policy commits on branch 0.3.2, amending ROOT AGENTS.md (where the
existing linux-kpi + redbear-iwlwifi exemption block lives), each citing the
operator's 2026-08-04 approval from the planning session. NO implementation
code in any of them.
1. d2a03db1e5 docs(policy): linux-kpi mt76 C exemption (operator-approved 2026-08-04)
- New block: "### linux-kpi + redbear-mt76 exemption (operator-approved 2026-08-04)"
- C headers = firmware ABI contract (mt76/Connac register + descriptor
layouts, matching Linux mt792x_regs.h / fw headers byte-for-byte).
- C transport = WFDMA rings, Connac descriptors, ROM-patch + WM firmware
transfer, MCU mailbox, subsystem reset (bounded, NO control logic).
- Rust = ALL driver logic (SoftMAC/MLME, scan/join/key/regulatory/
aggregation, lifecycle, driver-manager onboarding, netstack bridge,
wifictl control surface).
2. 7dde038b3f docs(policy): amdgpu/DCN315 display-slice C exemption (operator-approved 2026-08-04)
- New block: "### amdgpu + redbear DCN315 display-slice exemption (operator-approved 2026-08-04)"
- (a) Regularizes the PRE-EXISTING amdgpu C surface (predates the formal
Rust-only policy; recorded, not expanded).
- (b) Authorizes the DCN315 slice C boundary BY CATEGORY: register access,
DMUB interface, firmware load = C ABI; DML/resource-pool/HWSS/modeset
policy = reference-only Rust reimplementation.
- Sequencing: category boundary lands NOW; todo 33's closure record
classifies every closure unit and is appended to this block as the
concrete surface list (marked PENDING in the block).
3. (this commit) docs(policy): firmware redistribution note (operator-approved 2026-08-04)
- New block: "### Firmware redistribution note (operator-approved 2026-08-04)"
- linux-firmware blobs = redistributable DEVICE firmware (on-device
execution), pinned to literal tag 20260622, per-blob SHA-256 +
WHENCE/license manifest at local/recipes/system/redbear-firmware/
firmware-manifest.toml (monolith owns, subsets validate), offline
provisioning from the pinned local cache.
Verification:
grep -c 'operator-approved 2026-08-04' AGENTS.md -> 6 (3 block headers + 3 body refs)
grep -q 'redbear-mt76 exemption' AGENTS.md -> present
grep -q 'DCN315 display-slice exemption' AGENTS.md -> present
grep -q 'Firmware redistribution note' AGENTS.md -> present
All three commits contain ONLY AGENTS.md changes (no implementation code).
Blocks: unblocks todos 22 (rtl_nic firmware), 25 (mt76 C transport),
27 (mediatek firmware), 31 (Raphael firmware), 33 (DCN315 slice).
+14
View File
@@ -483,6 +483,20 @@ surface list. No C may be added beyond the units the closure record classifies a
Concrete surface list: **PENDING** — appended by the DCN315 closure record (todo 33).
### Firmware redistribution note (operator-approved 2026-08-04)
Binary device firmware (linux-firmware: amdgpu/mediatek/rtl_nic/iwlwifi) is an
operator-approved, narrow exception to the source-availability preference: these blobs
are redistributable DEVICE firmware executed on the device's own processor (not host
code), shipped under their upstream WHENCE licenses. The linux-firmware cache is pinned
to the literal tag `20260622` (matching the reference set in
`local/reference/cachyos/iso/cachyos-desktop-linux-260628.pkgs.txt`; re-pinned
deliberately at future bumps). A committed per-blob SHA-256 + WHENCE/license manifest
lives at `local/recipes/system/redbear-firmware/firmware-manifest.toml` (the monolith
recipe owns the manifest; every subset recipe validates against it), and blobs are
provisioned offline from the pinned local cache. This formalizes the established
iwlwifi/amdgpu practice for the new mediatek/rtl_nic additions.
## DURABILITY POLICY
Every change to an upstream-owned source tree (anything under `recipes/*/source/`) **must** be