25 lines
1.4 KiB
Markdown
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.
|