Files
meshcore-spec/CLAUDE.md
T
swaitsandClaude Opus 4.6 9db901088e 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)

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>
2026-04-01 21:37:57 -06:00

1.5 KiB

MeshCore Spec — Project Guide

What This Project Is

A specification and conformance test suite for the MeshCore mesh networking protocol. It contains:

  1. RFC-style spec documents in spec/ (Markdown, using RFC 2119 language)
  2. JSON test vector corpus in corpus/
  3. Validation tooling in tools/

Conventions

  • All binary data in JSON is uppercase hex (e.g., "0D00EFBEADDE"). Whitespace in hex strings is allowed and stripped on parse.
  • All multi-byte integers are little-endian unless explicitly noted otherwise.
  • Test vector IDs use the format {category}-{NNN} (e.g., ack-001, kiss-hw-003).
  • Spec sections are numbered 00- through 20- and use RFC 2119 keywords.
  • The C++ reference implementation at github.com/meshcore-dev/MeshCore is the source of truth for protocol behavior.

Key Protocol Constants

  • MAX_PACKET_PAYLOAD: 184 bytes
  • MAX_PATH_SIZE: 64 bytes
  • CIPHER_MAC_SIZE: 2 bytes
  • PATH_HASH_SIZE: 1 byte (default)
  • PUB_KEY_SIZE: 32 bytes
  • SIGNATURE_SIZE: 64 bytes
  • MAX_TRANS_UNIT: 255 bytes

File Organization

  • spec/NN-topic.md — Spec sections, numbered for reading order
  • corpus/schema/ — JSON Schema for test vector validation
  • corpus/{layer}/{type}/ — Test vectors organized by protocol layer
  • tools/ — Python validation and generation scripts

Working With Test Vectors

Each JSON file validates against corpus/schema/test-vector.schema.json. Vector types: encode_decode, decode_only, invalid.