ctrlrun.ApprovalAnswer — class, defined at src/ctrlrun/adapter.py:157
approver names a channel wherever the framework’s primitive does not identify a
person — "langgraph:interrupt", in the same register as v0.1’s "cli:local". It is what
grant_approval writes on the record, and from there what reaches APPROVAL_CONSUMED and
the receipt’s approver field. Authenticating the approver is not in scope (SPEC-v0.3 §13),
so no document may describe this field as who approved.
approved_arguments are the arguments the answer was given against, as the adapter
recovered them from its framework’s own record of it. Required where the interrupt declares
carries_approved_arguments; None only where it does not. Never a copy of
PendingApproval.arguments: handing back exactly what you were given makes every comparison
trivially pass, which is manufacturing the check.