Verify exact ordinary review against native Approval Engine contract

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a0e387-534d-70e3-ad53-4ea05676db8c
This commit is contained in:
tegwick 2026-09-27 21:03:57 +02:00
parent 21a4d28a0f
commit 815fbecbf0

View file

@ -66,3 +66,31 @@ def test_runtime_passes_only_configured_ids_to_human_client(tmp_path):
data['ordinary_approval_ids'] = ['worker-apply']; path.write_text(json.dumps(data))
runtime = Runtime.from_file(path)
assert runtime.controller.approval_factory(session()).ordinary_approval_ids == frozenset({'worker-apply'})
from test_approval_component import component
from test_browser_auth import signing_key
def test_real_engine_retains_ordinary_control_and_records_actual_human(component):
from datetime import datetime, timedelta, timezone
_, engine, transport, human, _ = component
now = datetime.now(timezone.utc)
engine.create({'actor':'synthetic-requester','principal':'factory-fixture',
'action':'deliver','purpose':'ordinary-component-proof','target':{'resource':'fixture'}},
{'not_before':(now-timedelta(seconds=1)).isoformat(),
'expires_at':(now+timedelta(minutes=10)).isoformat()},
human_control=False, approval_id='ordinary-fixture')
strict = ApprovalHTTPClient('https://approval.test', human, transport=transport)
with pytest.raises(ApprovalEngineError, match='invalid_approval_response'):
strict.add_entry('ordinary-fixture')
assert not engine.get('ordinary-fixture').entries
admitted = ApprovalHTTPClient('https://approval.test', human, transport=transport,
ordinary_approval_ids=['ordinary-fixture'])
result = admitted.add_entry('ordinary-fixture')
record = engine.get('ordinary-fixture').as_dict()
assert result.status == 'approved' and record['binding']['human_control'] is False
assert len(record['entries']) == 1
assert record['entries'][0]['principal_type'] == 'human'
assert record['entries'][0]['subject_id'] == human.subject
assert not any(url.endswith('/consume') for _, url in transport.calls)