Classify sitting-requester exchange failures and retry failed receipts.
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s

The reader login succeeded; the child died at preflight. Use bao for the
KV read, accept parent/sibling deny shapes, and record a failure class.

Assistant: grok
Assistant-Session: 01a0a23b-3bf0-7341-b4e5-9dc05f72573a
This commit is contained in:
codex 2026-09-15 20:51:28 +02:00
parent 73178f4ae2
commit 9ce42da97e
3 changed files with 95 additions and 32 deletions

View file

@ -45,6 +45,10 @@ class SittingRequesterExchangeTests(unittest.TestCase):
self.assertEqual(exchange.CLIENT_ID, 'informed-decision-sitting-requester')
self.assertEqual(exchange.POLICY, 'workload-kv-read-informed-decision-sitting-requester-client')
self.assertIn('approval-requester', exchange.SIBLING)
self.assertTrue(exchange.is_deny(['deny']))
self.assertTrue(exchange.is_deny([]))
self.assertFalse(exchange.is_deny(['read']))
self.assertEqual(exchange.capabilities({'data': {'capabilities': ['read']}}), ['read'])
if __name__ == '__main__':