# ReachGraph Module Charter ## Mission - Provide deterministic reachability graph storage and query services with replayable proofs. ## Responsibilities - Maintain reachability graph schema, canonicalization, and digest computation. - Provide WebService endpoints for ingest, slice queries, and replay verification. - Preserve content-addressed storage and DSSE signing hooks. - Enforce offline-first operation and stable ordering. ## Required Reading - docs/README.md - docs/07_HIGH_LEVEL_ARCHITECTURE.md - docs/modules/platform/architecture-overview.md - docs/modules/reach-graph/architecture.md - docs/contracts/richgraph-v1.md ## Working Agreement - Deterministic outputs: stable ordering, RFC 8785 JSON canonicalization, fixed timestamps via TimeProvider. - Use DSSE helpers for signing and verification; do not reimplement PAE. - Use InvariantCulture for parsing or formatting that affects hashes. - Propagate CancellationToken through all async calls. - No external network calls beyond configured stores; remain air-gap friendly. ## Testing Strategy - Unit tests for canonicalization, digests, and slice builders. - Integration tests for ingest, slice, and replay endpoints. - Determinism tests: same inputs yield identical digests and slices.