18 lines
1.1 KiB
Python
18 lines
1.1 KiB
Python
import json, subprocess
|
|
from pathlib import Path
|
|
ROOT=Path(__file__).resolve().parents[1]
|
|
PACKET=ROOT/'references/oracle/kp_significator_workflow_gate_2026_07_23.json'
|
|
def test_kp_significator_workflow_gate_stays_blocked():
|
|
data=json.loads(subprocess.check_output(['python3','scripts/kp_significator_workflow_gate.py'],cwd=ROOT,text=True))
|
|
assert data['claim_status']=='calculable_displayable_public_oracle_blocked'
|
|
assert data['truth_matrix_allowed'] is False
|
|
assert data['summary']['ready_for_verified_prediction_count']==0
|
|
assert {s['step'] for s in data['workflow_steps']}=={'exact_cusp_raw','planetary_star_sub_raw','significator_table','ruling_planets','timing_outcome_oracle'}
|
|
def test_kp_gate_names_required_significator_and_holdout_layers():
|
|
data=json.loads(PACKET.read_text())
|
|
sig=[s for s in data['workflow_steps'] if s['step']=='significator_table'][0]
|
|
assert 'A planets in stars of occupants' in sig['requires']
|
|
rp=[s for s in data['workflow_steps'] if s['step']=='ruling_planets'][0]
|
|
assert 'query time and place' in rp['requires']
|
|
assert data['display_policy'].startswith('Show KP')
|