Files
tai/taicpp/docs/wiring/verify.md
T

25 lines
1.4 KiB
Markdown

# wiring: parity verification targets (for the integrator)
Add these to `taicpp/Makefile`. Nothing else in the tree needs to change; the tools live in
`tools/` and write only under `build/parity/` (plus the generated `PARITY.md`).
```make
parity: $(BIN)
DETZ_BIN=$(abspath $(BIN)) tools/parity.sh run --detz $(abspath $(BIN))
parity-check: $(BIN)
DETZ_BIN=$(abspath $(BIN)) tools/parity.sh check --detz $(abspath $(BIN))
```
- `make parity` regenerates cases, runs the differential harness against `python3 ../tai.py`
and `build/detz`, mines `../test_tai.py`, rebuilds the ledger and `PARITY.md`.
Exit 1 if a non-expected case failed.
- `make parity-check` does the same and exits non-zero while any symbol is missing or
unverified, a case names an unknown symbol, or evidence is stale. Expect it to fail for a long time.
- Extra arguments are passed to `tools/parity_diff.py`: `--no-llm`, `--filter TEXT`, `--jobs N`.
Example: `tools/parity.sh run --no-llm --filter cli.err`. A filtered run
never feeds the ledger (it writes `diff-results-partial.json`); a `--no-llm` run does feed it but parity-check reports it as a problem.
- Requires python3 (stdlib only), network for LLM cases and for the REPL startup probes.
Cases take about 4 s each because tai.py probes its backends on startup; `--jobs 6` is the cap.
- Do not run `make parity-check` in a gate that must stay green until the symbol count says so.