Skip to main content

Module corpus

Module corpus 

Source
Expand description

The corpus harness: the conversion invariants, run over a directory of case files.

Three commands, each writing what the next one reads:

corpus dir (read-only, outside the repo)
  │  powerio corpus ingest <dir> --work <scratch>
  ▼
buckets: case-000, case-001, …   (grouped by electrical fingerprint,
  │                               never by filename)
  ▼  powerio corpus compare --work <scratch>
per bucket: round trip per sibling, cross-write per sibling pair,
  │         sibling agreement between the two readers
  ▼  powerio corpus report --work <scratch> -o findings.jsonl
findings.jsonl + summary.md      (codes, ordinals, deltas)

The corpus directory is opened read-only and never written. The work directory is disposable and holds raw values, so it stays on the machine that owns the corpus. The report is the boundary: anonymize states what may cross it, and the reporter audits its own output against every string the corpus taught the harness before writing a byte.

See docs/src/corpus-harness.md for the design and the session protocol that consumes the findings.

Modules§

anonymize
The anonymization boundary.
fingerprint
Electrical fingerprints, which is how the harness finds siblings.
walk
Random conversion walks: chain a case through a cycle of formats and hold the chain to properties a single leg cannot express.

Structs§

Bucket
Cases that fingerprint alike.
Comparison
Everything one leg produced, still in raw values. Stays in the work directory; report is what sanitizes it.
Comparisons
Finding
Ingest
Leg
Member
One readable case in the corpus, as ingest found it.
Unreadable
A file the harness could not turn into a network.

Enums§

Case
One parsed case, in whichever model claimed it.
Domain
Which model a case parsed into. Kept out of the sibling comparison entirely: a balanced network and a multiconductor one answer different questions and share no invariant.
Via
How two networks in one bucket were brought together.

Functions§

compare
Run the invariants over every bucket in the work directory.
ingest
Walk corpus, parse everything readable, and bucket it by electrical fingerprint.
report
Sanitize the comparisons into findings and write them out.