orchestrator-sm: validated Chain newtype for construction Introduce Chain<N> with a TryFrom that validates the chain of trust at the boundary (non-empty, unique ids, depends_on exists and is strictly earlier, length fits u8). Orchestrator/Rot::new take Chain<N> instead of a raw heapless::Vec, so the storage representation is no longer part of the public constructor. Add ChainError tests.
The OpenPRoT Technical Charter can be found at https://github.com/OpenPRoT/.github/blob/main/GOVERNANCE.md
NOTE: We are converting our build system to bazel. We recommend installing bazelisk to automatically manage bazel versions.
You can run tasks using the Pigweed workflow launcher pw or bazel.
./pw presubmit - Run presubmit checks: formatting, license checks, C/C++ header checks and clippy../pw format - Run the code formatters.bazel test //... - Run all tests.bazel build //docs - Build documentation.The project is structured as a bazel module.
No additional tools are required - all dependencies are managed by bazel.