External validator integrations¶
Requires mateprobe==0.1.0a4. These APIs are not available in a2.
These opt-in, offline examples audit authored domain obligations against two existing
third-party validator configurations. They do not add either library to core
mateprobe, and make no claim about production coverage or adoption.
The jsonschema example authors an IPv4 obligation. JSON Schema's format keyword is
an annotation by default, so Draft202012Validator(schema) accepts 999.1.1.1 and
not-an-ip. The corrected configuration supplies FormatChecker(). Adapter IDs use
the actual validator error code and absolute path, such as format@/address; schema
failures such as required@$ remain distinct.
The Pydantic example authors an HTTPS-only policy. A default HttpUrl accepts an
http:// URL. The corrected model uses Annotated[HttpUrl,
UrlConstraints(allowed_schemes=["https"])]. IDs use each structured error's type
and loc, for example url_scheme@/url and url_parsing@/url. The weaker before
result exposes a missing policy setting, not a library bug.
Run in the isolated integration environment with:
python -m pip install -r requirements-integrations.txt
python -m pytest tests/test_external_validators.py
python examples/external_validators.py --output reports/external-validators
The CLI writes before/after JSON and Markdown reports plus one measurement manifest per integration. Manifests record authored case and obligation counts, physical source lines for the path helper, normalization adapter, entrypoint wrappers, and corpus factory, manually mapped fields, installed library versions, and optional observed Git metadata and the integration script's SHA-256 digest. Repository metadata does not prove where the callable came from. These measurements exclude total integration LOC and human effort. With the pinned environment, the current measured values are:
| Integration | Normalization | Path helper | Wrappers | Corpus factory | Cases | Obligations |
|---|---|---|---|---|---|---|
| jsonschema-ipv4 | 4 | 4 | 6 | 43 | 4 | 2 |
| pydantic-https | 8 | 4 | 4 | 33 | 3 | 2 |
These values are source measurements and can change with formatting edits. No external service is called.
Observed targeted detections are 1/3 → 3/3 for the three JSON Schema faults, and 1/2 → 2/2 for the two Pydantic faults. Each trial preserves its one authored valid control before and after the configuration correction. These tiny corpora demonstrate the adapters and policy gaps; neither provides an accuracy estimate.
Official descriptions of the behavior: jsonschema format validation and Pydantic HttpUrl. The defaults are intentional. The correction changes the application's configuration, not either third-party library.
Together with the LifeCard adapter, this gives three existing engines exercised by our code. It is not three independent teams integrating the tool. We have not measured independent onboarding time or retention.