Migrating to MateProbe¶
MateProbe by Mate4B is the renamed distribution and import namespace for the current release. Update application configuration and test code as follows:
| Before | Current |
|---|---|
narrative-contracts |
mateprobe |
pytest-narrative-contracts |
pytest-mateprobe |
narrative_contracts |
mateprobe |
pytest_narrative_contracts |
pytest_mateprobe |
narrative pytest fixture |
mateprobe pytest fixture |
--narrative-report |
--mateprobe-report |
narrative-contracts CLI |
mateprobe CLI |
For example, change imports such as from narrative_contracts import ... to
from mateprobe import ..., rename a test parameter from narrative to
mateprobe, and install the two current distributions with:
python -m pip install mateprobe==0.1.0a4 pytest-mateprobe==0.1.0a4
The a2 and a3 records, reports, research artifacts, and references describe the versions that produced them and remain frozen. The old published distributions also remain available; this migration does not rewrite or republish them.
Built-in rule configuration type identifiers retain their original
narrative_contracts.* strings as stable report metadata, not executable imports.
This preserves configuration digests and frozen replay comparisons. Custom rules
continue to use their own fully qualified class names.
To replay the original real-output mutation experiment against the renamed library,
use an environment with MateProbe installed, then run
python benchmarks/replay_renamed_mutations.py --output /tmp/mateprobe-replay.
It verifies and executes the frozen generator and adapter bytes in a subprocess,
with historical import names bound to MateProbe only in that process. The original
source and corpus integrity checks remain active.
The replay command produces results; CI separately checks the summary byte for byte
and compares case reports with scripts/compare_replay.py, allowing only the
declared library_version transition from 0.1.0a2 to 0.1.0a4.