Accept governed boolean leaves in memo envelopes.
type() excluded bool even though bool subclasses int, so schema fields requires_new_bind, required_ack, and sealed failed as invalid_type. Unknown leaves still fail closed. No submitter, token, or write-back change. Assistant: grok Assistant-Session: 01a10286-9185-7bb2-b411-89cf6ab4c0c6
This commit is contained in:
parent
49eeddbfed
commit
d61ba327fa
2 changed files with 21 additions and 1 deletions
|
|
@ -132,6 +132,25 @@ def test_envelope_is_bounded_and_does_not_echo_secrets():
|
|||
assert unknown.value.code == "unknown_field"
|
||||
|
||||
|
||||
def test_governed_boolean_leaves_round_trip():
|
||||
checked = envelope(memo={
|
||||
"id": MEMO,
|
||||
"question": "Accept the forwarded draft?",
|
||||
"sealed": False,
|
||||
"binding": {"target": {"requires_new_bind": True}},
|
||||
"highlights": [{"required_ack": True}],
|
||||
})
|
||||
memo = checked["memo"]
|
||||
assert memo["sealed"] is False
|
||||
assert memo["binding"]["target"]["requires_new_bind"] is True
|
||||
assert memo["highlights"][0]["required_ack"] is True
|
||||
rejected = envelope()
|
||||
rejected["memo"]["marker"] = object()
|
||||
with pytest.raises(ContractError) as error:
|
||||
validate_envelope(rejected)
|
||||
assert error.value.code == "invalid_type"
|
||||
|
||||
|
||||
def test_pose_replay_conflict_and_asserted_provenance(tmp_path):
|
||||
clock = Clock()
|
||||
transport = Transport([(201, receipt())])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue