cargo build --workspace
cargo test --workspace
cargo clippy --workspace --all-targets- No
unwrap()on user-controlled or network data in production code (use?ormatch) lock!(mutex)macro instead of.lock().unwrap()for Mutex- Key material types:
Debugmust redact secrets (seecrypto/types.rs) - New fields on
FrameDispatcher: add tomake_test_dispatcher()andmake_gossip_dispatcher()
- Unit tests:
#[cfg(test)] mod testsin each module - Integration tests:
node/runtime.rstests with real TCP - Simulator tests:
sim/module withSimNetwork - PoW difficulty is 16 bits in
#[cfg(test)](fast, seeidentity_policy.rs)
epic_NNN
Description of changes.
Co-Authored-By: ...
All work is tracked in TASKS.md with epic numbers. Each epic has subtasks marked ✅ done or ⬜ todo.
- No async in dispatcher:
dispatch()is synchronous — returnsDispatchResultimmediately - Single-lock convention: never hold two
Mutexlocks simultaneously - Forward compatibility: unknown frame families →
NotHandled(notViolation) - TLV extension: new payload fields as optional TLV suffix (existing nodes ignore unknown tags)