# C732–C831 verification and packaging

Prepared from the C632–C731 helpers, without replaying that historical research cycle. The new verifier and packager operate only on the current cycle and its C731 predecessor record.

## Identity and predecessor binding

- Expected predecessor: C731, SHA256 `c3a39c2c7d2d9f725e21a9a9ade627746e7627b40741c83bb369fc53803ff1a7`.
- Controlling File52c snapshot: `File52c_latest.md`, SHA256 `a5ea84562101158b60d0cf296765d6eff38e7a2abda4e74ad1b353dfd13b9530`.
- Required predecessor source aliases: `C731_checkpoint.md` and `C731_synthesis.md`.
- The verifier authenticates the predecessor record's own digest, then binds the checkpoint hash and byte count to `results.checkpoint`, and the synthesis hash and byte count to `results.final_reading_files`. If the prior reading guide is included, its hash is also bound to the predecessor record.
- Source counts are read from the current manifest; no old-cycle count is assumed.

## Commands

Run from `/workspace/scratch/1b40da62dcbd` between numbered research actions.

```bash
python3 c732_c831/evidence/verify.py --through 751 --require-current-sources --output c732_c831/VERIFY_C751.json
python3 c732_c831/evidence/package.py --through 751 --date 20260928
```

For a report showing only the most recent twenty steps, use `--first 752 --through 771`; its evidence ZIP still contains the completed current-cycle prefix from C732 onward.

Verify the final ninety-nine-step prefix before opening C831:

```bash
python3 c732_c831/evidence/verify.py --through 830 --require-current-sources --output c732_c831/VERIFY_C830.json
```

After C831 is finished:

```bash
python3 c732_c831/evidence/verify.py --require-current-sources --output c732_c831/VERIFY.json
python3 c732_c831/evidence/package.py --through 831 --date 20260928
```

Final packaging requires a passing final100 verification bound to the current journal bytes, plus no pending research step. Packaging writes a reading record, payload manifest, and ZIP; it does not change the research journal.

## Portable replay

In an extracted packet, run `python3 evidence/verify.py` and omit `--require-current-sources`. Frozen sources and the C731 predecessor remain verified even when original workspace files are absent. Optional `--workspace /path/to/workspace` checks available current originals there. Standard aliases work without a binding file; additional names can be mapped in optional `evidence/SOURCE_BINDINGS.json` using snapshot names and workspace-relative paths.

The verifier injects a read-only research module; it does not import the live journal writer. Each script must make exactly one matching `begin` and `finish` call. It verifies record schemas, timestamps, the predecessor chain, exact inputs/results/reassessment, true Boolean checks, and unchanged journal prefixes. Replay blocks file writes, filesystem mutation, subprocesses, sockets, and equivalent process actions. Artifact generation is recomputed as byte/hash metadata without writing the artifact. Historical artifacts may be superseded by later recorded outputs, so replay metadata is not a blanket claim that every intermediate artifact still exists at its original pathname.

The inverse guard rejects directly nested calls and a second inversion of provenance-tracked inverse results. As explicitly stated in the verifier report, this is not proof against deliberate provenance erasure or manual reimplementation. The packet is trusted research code, not an arbitrary-code security sandbox.

Check totals describe declared bounded checks. They are not counts of independent discoveries or statistical evidence.
