CROSSWIRE / tests /test_roadmap_integration.py
Kai9987kai's picture
Release crosswire-formal-synthesis-2026-11-03 from GitHub 91e7ac87c4e4
450ac2f verified
Raw History Blame Contribute Delete
4.76 kB
from copy import deepcopy
from dataclasses import asdict
import json
import pytest
from crosswire import cli
from crosswire.identity import canonical_hash, scientific_view
from crosswire.receipts import pack, replay
from crosswire.study import RunConfig, paired_comparisons, run, run_study, study_configs
def test_structural_instances_are_an_explicit_configuration_dimension():
cfg = RunConfig.from_dict({'family': 'generated_protocol', 'instance_seed': 12, 'seed': 17})
assert cfg.instance_seed == 12 and cfg.seed == 17
assert RunConfig(family='generated_protocol').instance_seed == 0
for value in (True, -1, 2**32, 1.2, '3'):
with pytest.raises(ValueError):
RunConfig.from_dict({'family': 'generated_protocol', 'instance_seed': value})
with pytest.raises(ValueError, match='instance_seed'):
RunConfig.from_dict({'family': 'latch', 'instance_seed': 1})
def test_structural_study_grid_is_bounded_and_rejects_duplicate_effective_instances():
spec = {'families': ['generated_protocol'], 'instance_seeds': [2, 3], 'seeds': [17, 42],
'budgets': [8], 'policies': ['fixed', 'entropy'], 'admissions': ['robust']}
cfgs = study_configs(spec)
assert len(cfgs) == 8
assert {c.instance_seed for c in cfgs} == {2, 3}
with pytest.raises(ValueError, match='Duplicate'):
study_configs({**spec, 'instance_seeds': [None, 0]})
with pytest.raises(ValueError, match='512'):
study_configs({**spec, 'instance_seeds': list(range(64)), 'seeds': list(range(9))})
def test_generated_instances_receive_distinct_parent_identity_but_share_nuisance_parent():
from crosswire.fixtures import make_case
first = make_case('generated_protocol', 17, instance_seed=1)
nuisance = make_case('generated_protocol', 42, 'table', instance_seed=1)
assert first.public['parent_instance_id'] == nuisance.public['parent_instance_id']
assert first.public['target_id'] != nuisance.public['target_id']
result = run(RunConfig(family='generated_protocol', instance_seed=1, budget=0, horizon=4))
assert result['instance_design'] == first.public['instance_design']
assert result['evidence_certificate']['model_diagnostics']['inclusion_status'] == 'UNKNOWN'
assert replay(pack(result))['valid'] is True
def test_instance_seed_is_part_of_the_exact_matched_cell():
# Distinct structural draws may deduplicate to one semantic parent; matching
# a policy at one draw with another draw's nuisance outcome is still invalid.
def row(policy, instance):
cfg = asdict(RunConfig(family='generated_protocol', policy=policy, instance_seed=instance))
return {'configuration': cfg, 'parent_instance_id': 'shared-dynamics',
'audit': {'contract_satisfied': True}}
assert paired_comparisons([row('task', 1), row('fixed', 2)]) == []
compared = paired_comparisons([row('task', 1), row('fixed', 1), row('task', 2), row('fixed', 2)])
assert len(compared) == 1
assert compared[0]['parent_clusters'] == 1 and compared[0]['matched_cells'] == 2
def test_study_includes_reliability_and_replays_all_independent_evidence():
spec = {'families': ['generated_protocol'], 'instance_seeds': [1, 2], 'seeds': [17],
'budgets': [0], 'policies': ['entropy'], 'admissions': ['robust'],
'probe_safety': 'model_safe'}
result = run_study(spec)
assert len(result['rows']) == 2
assert result['reliability']
assert result['reliability'][0]['independent_parents'] == 2
assert replay(pack(result))['valid'] is True
forged = deepcopy(pack(result))
forged['payload']['reliability'][0]['independent_parents'] = 2000
forged['payload']['scientific_hash'] = canonical_hash(scientific_view(forged['payload']))
forged['payload_hash'] = canonical_hash(forged['payload'])
assert replay(forged)['valid'] is False
def test_cli_accepts_structural_seed_and_passes_it_to_the_runtime(tmp_path, monkeypatch, capsys):
# Stub only the expensive scientific execution; actual CLI argument plumbing
# is exercised and the run config is independently checked.
seen = []
def capture(cfg):
cfg.check()
seen.append(cfg)
return {'decision': {}, 'audit': {'contract_satisfied': None}, 'scientific_hash': 'test'}
monkeypatch.setattr(cli, 'run', capture)
monkeypatch.setattr(cli, 'pack', lambda result: result)
target = tmp_path / 'run.json'
assert cli.main(['run', '--family', 'generated_protocol', '--instance-seed', '7', '--out', str(target)]) == 0
assert seen[0].instance_seed == 7
assert json.loads(capsys.readouterr().out)['scientific_hash'] == 'test'