Skip to content

Expand platform support and distribution readiness - #35

Open
TheusHen wants to merge 8 commits into
prodfrom
theus/platform-and-tooling-readiness
Open

Expand platform support and distribution readiness#35
TheusHen wants to merge 8 commits into
prodfrom
theus/platform-and-tooling-readiness

Conversation

@TheusHen

@TheusHen TheusHen commented Aug 1, 2026

Copy link
Copy Markdown
Contributor

What changed

This closes the software-only readiness gaps identified after v0.2.0:

  • adds RV64 retained capture and a complete-or-unavailable CPU64 LEP extension;
  • adds host-tested reset-reason integration boundaries for Nordic, NXP, Microchip SAM, TI and Silicon Labs;
  • adds a bounded Linux fatal-signal handoff and a normal-runtime POSIX file backend;
  • adds a dependency-free latch-dump JSON/text decoder for binary, stdin and bounded hexadecimal input;
  • adds Arduino/PlatformIO and ESP-IDF Component Manager packaging, cooperative ESP32 and AVR examples, and installed CMake consumers;
  • adds an AVR-oriented constrained profile and fixes two real 16-bit portability defects in Poly1305 and stream length framing;
  • publishes reproducible footprint tooling and measured Cortex-M4/Arduino Mega baselines;
  • synchronizes release metadata and documents the v0.3.0 preparation/tag/registry procedure;
  • documents exact qualification, crypto-audit and MISRA boundaries instead of implying unsupported guarantees.

The Linux signal handler intentionally performs only one fixed-size nonblocking pipe/FIFO write and then _exit; LEP encoding, storage and retry work remain outside signal context.

Validation

  • Linux/GCC: 41/41 tests
  • ASan + UBSan: 39/39 tests
  • Windows/MSVC: 40/40 tests
  • packaged CMake consumers: C, C++, Nordic port and Linux port
  • Arduino Mega 2560 package compile/link with AVR GCC 7.3 and shift-overflow warnings promoted to errors
  • AVR footprint: 34,554 B Flash and 2,416 B static RAM
  • Rust: fmt, Clippy, 7 tests, ARM/RISC-V no_std checks, package and publish dry-run
  • release metadata, documentation links, embedded package layout, LEP vectors, source minification and actionlint
  • coverage spot checks: new vendor adapters 100%; common reset mapper 100%; Poly1305 98.15%; POSIX file backend 91.41%

The local PlatformIO ESP32 download could not complete because the workstation ran out of disk space while installing the toolchain. The PR workflow installs it in a clean runner and validates the packed artifact.

Evidence boundaries

  • New vendor ports, RV64, Linux and AVR paths are not hardware-tested in this change.
  • The existing ESP32-D0WD-V3 / ESP-IDF 5.5.0 fixture remains the only qualified capture -> reboot -> recovery -> durable ACK path.
  • No independent cryptographic audit or MISRA certification is claimed.
  • PlatformIO, crates.io, Arduino and ESP-IDF registries are prepared but have not been published.
  • No release tag is created by this PR.

Qualification, stress, LTS and reference-design follow-up

  • adds a public hardware compatibility matrix generated from validated JSON evidence; only the dated ESP32 fixture is marked physically qualified, with its limited scope explicit;
  • adds QEMU Cortex-M fault entry tests using the production assembly entry and Renode RV32 illegal-instruction trap injection;
  • expands physical HIL entry points with HardFault and stack-canary scenarios without presenting emulator evidence as hardware qualification;
  • adds deterministic spool stress across every committed-envelope byte, 160 interrupted/partial-write cases and recovery past a corrupt record;
  • adds CI-executed OTA rollback, encrypted/redacted critical-system and low-power/deep-sleep reference designs;
  • defines objective 1.0/LTS gates, stable branch/backport policy, external-audit scope, publication policy and report template.

Follow-up validation on the current commit:

  • hosted GCC build and 45/45 tests passed;
  • all three reference designs passed;
  • qualification-matrix validation, documentation links, LEP vectors, package metadata and clang-format passed;
  • QEMU/Renode jobs run in GitHub Actions with pinned inputs and remain non-HIL evidence.

No external audit was claimed or fabricated, no stable branch was created, and no hardware row was promoted without physical evidence.

@github-actions github-actions Bot added documentation Documentation improvements core Portable runtime and public core API capture Fault, reset, and diagnostic capture paths protocol LEP encoding, decoding, and compatibility transport Delivery, framing, retries, and acknowledgements security Cryptography, provisioning, privacy, and redaction tests Tests, vectors, simulators, and qualification evidence ci Build, packaging, and repository automation rust Rust no_std SDK and FFI boundary tooling Host tools and developer utilities build CMake, package consumers, and toolchains example Runnable examples and integration samples hardware Requires or reports real-board validation size/xl At least 1000 changed lines labels Aug 1, 2026
@codecov

codecov Bot commented Aug 1, 2026

Copy link
Copy Markdown

@github-actions github-actions Bot added size/xl At least 1000 changed lines and removed size/xl At least 1000 changed lines labels Aug 1, 2026
@github-actions github-actions Bot added size/xl At least 1000 changed lines and removed size/xl At least 1000 changed lines labels Aug 1, 2026
@github-actions github-actions Bot added size/xl At least 1000 changed lines and removed size/xl At least 1000 changed lines labels Aug 2, 2026
@github-actions github-actions Bot added size/xl At least 1000 changed lines and removed size/xl At least 1000 changed lines labels Aug 2, 2026
@github-actions github-actions Bot removed the size/xl At least 1000 changed lines label Aug 2, 2026
@github-actions github-actions Bot added the size/xl At least 1000 changed lines label Aug 2, 2026
@github-actions github-actions Bot added size/xl At least 1000 changed lines and removed size/xl At least 1000 changed lines labels Aug 2, 2026
@github-actions github-actions Bot added size/xl At least 1000 changed lines and removed size/xl At least 1000 changed lines labels Aug 2, 2026
@TheusHen
TheusHen marked this pull request as ready for review August 3, 2026 17:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

build CMake, package consumers, and toolchains capture Fault, reset, and diagnostic capture paths ci Build, packaging, and repository automation core Portable runtime and public core API documentation Documentation improvements example Runnable examples and integration samples hardware Requires or reports real-board validation protocol LEP encoding, decoding, and compatibility rust Rust no_std SDK and FFI boundary security Cryptography, provisioning, privacy, and redaction size/xl At least 1000 changed lines tests Tests, vectors, simulators, and qualification evidence tooling Host tools and developer utilities transport Delivery, framing, retries, and acknowledgements

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant