Module digest

Module digest 

Source
Expand description

2026-09-28: Two digests. plan_digest is SHA-256 over a canonical serialization of what a plan runs: its groups (members, kernels, repetition, emitter, numerics) and every edge’s stored format and state, under the plan’s arch, mode and rows. rules_digest is SHA-256 over the FUSIONS.toml text the rules were parsed from.

Owner: metrale-circuit. Invariants:

  • The plan serialization is a fixed-order text with a tag and a schema number up front, one record per line, every field labelled, so the same bytes in another field give another digest.
  • A plan digest moves only when the plan does: editing, adding or reordering a rule that the plan does not select leaves it unchanged. Rule ids and citations are names, not content, and are not hashed; the kernels a group runs are.
  • The rule set is attested by rules_digest and by the closure hash, which covers FUSIONS.toml as a config.

Constants§

DIGEST_SCHEMA
2026-09-28: Bumped when the canonical form changes.

Functions§

canonical
2026-09-28: The canonical text the plan digest is taken over.
plan_digest
2026-09-28: Lower-case hex SHA-256 of canonical.
plans_digest
2026-09-28: Lower-case hex SHA-256 over several plan digests, each followed by a newline, in the given order: one value for a set of plans compiled together.
rules_digest
2026-09-28: Lower-case hex SHA-256 of the FUSIONS.toml text the rules came from.