O que o cliente não valida

O cliente verifica a forma de uma solicitação antes de enviá-la:

from stalwart_agents.client import Client

client = Client()
try:
    client.verify_guardrail("policy.co", "execute_transfer_funds", "is_authenticated",
                            config={"no_such_key": 1})
except ValueError as refused:
    print(refused)

Ele não verifica mais nada. Se uma combinação de escolhas pode responder à pergunta feita -- um perfil que não pode produzir um certificado para uma tabela que exige um, uma enumeração sob um perfil que a recusa -- é o serviço que diz, e ele o diz com um RefusedError cujo slug nomeia a regra. Uma segunda cópia dessas regras no cliente seria uma segunda versão delas, e no dia em que as duas divergissem um cliente seria recusado pela que ele não vê.

O cliente também não lê nenhum turno. Um plano, uma pergunta, um valor carregado e a contagem de turnos que se pediu para reformular são do runtime (ou do seu qls-router), devolvidos no context de cada plano e enviados de volta, sem alteração, com o próximo turno.