schema-field-probelisted
Install: claude install-skill malkreide/mcp-continuous-auditor
# Schema-field probe
Does the code read the field names the source is delivering right now?
```bash
python scripts/schema_field_probe.py --target ../zh-education-mcp
python scripts/schema_field_probe.py --target . --dataset schulgemeinden --format json
python scripts/coverage_run.py --probe schema-field --manifest manifest.json \
--repos-root ~/portfolio
```
Exit `0` aligned, `2` **finding**, `3` NOT MEASURED, `4` the checkout moved
during the run, `127` the harness could not run.
## Why
`zh-education-mcp` against `www.bista.zh.ch`, 2026-08-03: the code read
`r["Schulgemeinde"]`, the source delivered `schulgemeinde`. The result was not
an error but an empty hit list and «Schulgemeinde nicht gefunden» — a failure
wearing the costume of an answer, indistinguishable from a real absence. Four of
six datasets, eight tools.
Every unit test stayed green, because the fixtures pin the old header: the suite
compared the code's assumption against a recording of the same assumption.
## Why this is not the live probe
`live_probe` compares live ↔ **fixture**. This compares live ↔ **code**. The
fixture and the live response can agree perfectly while the code reads a name
neither ever contained — and the code is what runs. Where a fixture is declared
here it is read only to report *why the tests stayed green*.
## The mapping is declared, never guessed
`schema_fields.toml` in the target names each dataset's URL, format and the
sites (`file` + `symbol`) that read it. Format refer