"""Allowlist, argument contract, authorization, and explicit not-found."""
def dispatch(name, args, *, allowed):
    if name != 'order_status':
        return {'status': 'unknown_tool'}
    if type(args) is not dict or set(args) != {'order_id'} or type(args['order_id']) is not str:
        return {'status': 'invalid_arguments'}
    if not allowed:
        return {'status': 'forbidden'}
    orders = {'A1': 'shipped'}
    value = orders.get(args['order_id'])
    return {'status': 'ok', 'value': value} if value is not None else {'status': 'not_found'}
assert dispatch('order_status', {'order_id':'A1'}, allowed=True) == {'status':'ok','value':'shipped'}
assert dispatch('delete_order', {}, allowed=True)['status'] == 'unknown_tool'
assert dispatch('order_status', {'order_id':0}, allowed=True)['status'] == 'invalid_arguments'
for malformed in (None, 42, ['order_id']):
    assert dispatch('order_status', malformed, allowed=True)['status'] == 'invalid_arguments'
assert dispatch('order_status', {'order_id':'A1'}, allowed=False)['status'] == 'forbidden'
assert dispatch('order_status', {'order_id':'X'}, allowed=True)['status'] == 'not_found'
print('PASS: success, allowlist, invalid arguments, forbidden, not found')
