- CHANGELOG.md: Full audit findings organized by severity - PYMC_CORE_ISSUES.md: 7 evidence-based bug reports for pyMC_core (wrong constants, broken path_len decoding, wrong TRACE hash, wrong SNR calculation) Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Add comprehensive spec audit results and pyMC_core issue reports - CHANGELOG.md: Full audit findings organized by severity - PYMC_CORE_ISSUES.md: 7 evidence-based bug reports for pyMC_core (wrong constants, broken path_len decoding, wrong TRACE hash, wrong SNR calculation) - Remove ERRATA.md: contents already covered by audit findings Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1.4 KiB
1.4 KiB
Contributing to MeshCore Spec
Adding Test Vectors
- Choose the appropriate directory under
corpus/based on protocol layer and packet type. - Add vectors to an existing JSON file, or create a new file if testing a distinct aspect.
- Every JSON file must validate against
corpus/schema/test-vector.schema.json. - Use uppercase hex for binary data. Whitespace is allowed for readability.
- Each vector needs a unique
idwithin its file and a cleardescription. - For
encode_decodevectors, verify both directions: encoding the structured form produces the binary, and decoding the binary recovers the structure.
Editing the Specification
- Spec documents live in
spec/and are numbered for reading order. - Use RFC 2119 language (MUST, SHOULD, MAY) for normative requirements.
- Include ASCII wire format diagrams where applicable.
- Cross-reference related spec sections and test vector files.
- The C++ reference implementation is the source of truth — if the spec disagrees with the firmware, the spec needs updating.
Generating Vectors from Reference Implementation
See tools/generate/README.md for instructions on building and running the
corpus generation harness against the C++ MeshCore library.
Validating the Corpus
python tools/validate.py
This checks all JSON files against the schema and verifies internal consistency.