mirror of
https://github.com/meshtastic/firmware.git
synced 2026-10-09 14:41:19 -04:00
* 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.