Skip to content

feat(docs): firmware learning reference and warning-free API docs - #126

Merged
snovak7 merged 1 commit into
mainfrom
feat/epm-t142-gh125-firmware-learning-reference
Oct 20, 2026
Merged

snovak7 merged 1 commit into
mainfrom
feat/epm-t142-gh125-firmware-learning-reference

Conversation

@snovak7

@snovak7 snovak7 commented Oct 20, 2026

Copy link
Copy Markdown
Contributor

Story 10.4 — Zoho EPM-T142 (task list: Coldframe V1 – bmad-loop story 10-4).

Summary

  • docs/firmware/: index + 7 topic pages (identity/eFuse + HKDF, sealing + replay, ESP-NOW + channel following, deep sleep + power budget, buttons, BLE setup + PoP, radio coexistence), each with code pointers by path and symbol.
  • Every public item of packages/rs/* is documented: proto comments become rustdoc for the generated wire types (missing_docs allow removed; setup_v1/device_v1 are documented re-export modules); 8 proto enum values got comments (comment-only).
  • Fixed the two existing rustdoc warnings at their source (crypto-spec generator bare URL → regenerated Rust/C#/Kotlin; ambiguous env link in sensing).
  • Docs workflow: new Rust docs job (cargo doc --no-deps over the 7 crates, RUSTDOCFLAGS=-D warnings, incl. coldframe-hal/mock); root Cargo files added to its path filters; check-commands.sh now covers docs/firmware/*.md (with a fixture test). ci.yml untouched.
  • "Firmware reference" links from README.md, apps/rs/README.md, packages/rs/README.md.

Test plan

  • RUSTDOCFLAGS="-D warnings" cargo doc --no-deps --locked --features coldframe-hal/mock -p … (7 crates): 0 warnings
  • cargo fmt --check, cargo clippy --workspace --all-targets --locked -- -D warnings, cargo test --workspace --locked
  • pnpm --filter @coldframe/crypto-spec run check: outputs fresh
  • docs/test.sh (50/50), docs/check-links.sh (819 resolve), docs/check-commands.sh --list
  • cargo build --release of apps/rs/node and apps/rs/hub (esp toolchain)
  • buf lint / breaking and actionlint (not installed locally; CI)

Closes #125

🤖 Generated with Claude Code

https://claude.ai/code/session_018Sd7EdRqgJpnHKoTh2Fsia

Add docs/firmware/: an index (reading order, crate map, the two
toolchains) and one page each on the eFuse identity and key hierarchy,
frame sealing and the replay window, ESP-NOW and channel following, deep
sleep and the power budget, the setup button, the BLE setup protocol and
the Hub radio coexistence findings, each pointing to the code by path and
symbol.

Document every public item of packages/rs: proto comments now become the
rustdoc of the generated wire types (setup_v1 and device_v1 are documented
re-export modules, no missing_docs allow remains), and the two rustdoc
warnings are fixed at their source (crypto-spec generator, sensing link).
The Docs workflow gains a Rust docs job that runs cargo doc with
RUSTDOCFLAGS=-D warnings, and check-commands covers docs/firmware.

Story 10.4 (EPM-T142).

Closes #125

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018Sd7EdRqgJpnHKoTh2Fsia
@snovak7 snovak7 self-assigned this Oct 20, 2026
@snovak7
snovak7 merged commit b282f66 into main Oct 20, 2026
30 checks passed
@snovak7
snovak7 deleted the feat/epm-t142-gh125-firmware-learning-reference branch October 20, 2026 11:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Firmware learning reference

1 participant