Name-preserving 1:1 port of the 7 audit-missing functions (_ct_core, _resolve_and_project, _run_contract_python, capture_signatures, save_signatures, load_signatures, main as contracts_main) into src/rust/contracts with IO behind injectable seams (CoreProbe / Invoker / Signaturer / MainIO); 8 new FFI kernels (ct_gate, ct_resolve, ct_run_python, ct_run_all, ct_capture, ct_save, ct_load, ct_main) wired in contracts_loader. Frozen truth: src/rust/contracts/src/ct_gap_truth.json (127 rows, freeze byte-identical + harness --verify 23/23 clean); battery src/rust/contracts/src/gap_battery.rs 19/19 green; live parity replay failures=0 (facade 30, kernel 15); clippy -D warnings clean; Python both pins green. Audit: contracts 11/11 FULL. One documented eager/lazy divergence (projection-crash row): crash on the delegated path, PASS on the lazy oracle path — pinned both ways.
46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
#!/usr/bin/env python3
|
|
"""ct_rig.py — deterministic fixture modules for the contracts gap-close
|
|
frozen truth (dichotomy wave, #2479 tranche).
|
|
|
|
The contracts oracle resolves modules with a bare ``__import__``; two of
|
|
its branches need modules no stdlib provides:
|
|
|
|
* import-time crash (``except Exception -> crash`` on import): see
|
|
``ct_rig_badimport.py`` (raises RuntimeError at import).
|
|
* projection-time crash (``_project`` raising on a hostile result):
|
|
``make_bad_len`` returns an object whose ``__len__`` raises, so
|
|
``hasattr(result, "__len__")`` is True but ``len(result)`` explodes.
|
|
|
|
``make_ok`` / ``ATTR_VALUE`` cover the plain found paths without depending
|
|
on any third-party module. Everything here is pure and deterministic —
|
|
safe to import from both the freeze generator and ``--verify`` (both run
|
|
with ``scripts/`` on ``sys.path``).
|
|
"""
|
|
|
|
ATTR_VALUE = "ct-rig-stable-value"
|
|
|
|
|
|
class _BadLen:
|
|
def __len__(self):
|
|
raise RuntimeError("boom")
|
|
|
|
|
|
def make_bad_len():
|
|
"""Return an object that breaks ``_project``'s ``len()`` call."""
|
|
return _BadLen()
|
|
|
|
|
|
def make_ok():
|
|
"""Return a plain JSON-safe dict (the found-path control case)."""
|
|
return {"ok": True, "n": 3}
|
|
|
|
|
|
def make_none():
|
|
"""Return None (the expect_not_none-fail control case)."""
|
|
return None
|
|
|
|
|
|
def raise_on_call():
|
|
"""Raise on call (the call-crash control case)."""
|
|
raise ValueError("rig call failure")
|