Files
firmware/.github
Tom f49cc46476 docs(agents): list nRF54 as a platform, drop the phantom nRF52833/nRF52832 (#11865)
* docs(agents): list nRF54L15 as a platform, drop the phantom nRF52833/nRF52832

The supported-platform list named nRF52833 and the warm-tier section
excluded "bare nRF52832"; neither part exists anywhere in the tree. The
nRF54L15 (ARCH_NRF54L on the nRF52 platform layer, out-of-tree
meshtastic/platform-nordicnrf54 with the s145 SoftDevice core) does,
with xiao_nrf54l15_lr2021 as the per-PR canary, and was missing.

The warm tier's real exclusion is MEM_CLASS_TINY (STM32WL only); the
nRF54L15 falls into MEM_CLASS_SMALL and keeps its warm records in
/prefs/warm.dat, not the nRF52840 raw-flash ring.

* docs(copilot-instructions): nRF54 has its own platform layer; warm.dat only where WARM_NODE_COUNT > 0

Matches #11867: src/platform/nrf54 (architecture.h, main-nrf54.cpp), env base nrf54_base in
variants/nrf54l15/nrf54.ini, sharing only NRF52Bluetooth.cpp, Nrf52SaadcLock.cpp, alloc.cpp and
hardfault.cpp with src/platform/nrf52. The persistence line named the condition instead of
"everywhere else", which read as including STM32WL, which has no warm tier.

* docs(copilot-instructions): the platform is nRF54; no chip qualifier

* docs(copilot-instructions): state the warm-tier gate before the exception

The section opened with the arch condition folded into a parenthetical
beside STM32WL - "On every arch except STM32WL (`WARM_NODE_COUNT > 0`;
the only `MEM_CLASS_TINY` part)" - which reads as though STM32WL is the
part with the tier, contradicting the bullets below it.

Lead with the rule instead. The gate is the memory class, not the part:
mesh-pb-constants.h zeroes WARM_NODE_COUNT under MESHTASTIC_MEM_CLASS <=
MEM_CLASS_TINY, and STM32WL is merely the only part in that class today,
so naming the part as the rule would go stale the moment another tiny
board lands. Saying it once up front also lets the Persistence bullet
drop its own copy of the caveat.

* ci: run the PR matrix on docs-only PRs so ci-gate reports

ci-gate is the required status check for develop, and it lives in this
workflow, whose pull_request trigger ignored "**.md". A PR that touches only
Markdown never runs the workflow, never reports ci-gate, and stays BLOCKED
with every other check green - which is what this PR has been for a week.

Drop the paths-ignore on pull_request only. push keeps its filter: nothing
gates on the post-merge run. A docs-only PR now costs one --level pr matrix,
which is rare enough to be cheaper than an unmergeable class of PRs.
2026-09-21 10:05:25 +00:00
..
2025-06-15 07:52:38 -05:00