Ideas · Builder Notes
Run budgets, and a human approval that actually withholds
In Kognita alpha, a HUMAN_APPROVAL outcome now returns nothing and retrieves nothing until a live grant exists, and runs carry call, token, cost and time budgets.
Context
A human approval hold that still retrieves data is not a hold. In Kognita, the tool path stopped before execution, but the question path still retrieved and returned data because an approval outcome counted as allowed.
Decision
- I separated preparation from release.
- A hold now returns no tool result and does not retrieve.
- A resume goes through continue_run with the approval resolved, and executes only when that approval is actually live.
- A denial never executes.
- Runs also carry max calls, tokens, cost, wall-clock time and a classification ceiling.
Why
Exceeding a budget is a DENY whose citation is the budget itself. Budgets sit inside the same explainable decision model as every other rule, with no side channel.
Outcome
Two Tier 0 defects closed: approval holds that withheld nothing, and an approval loop that was never closed.
Open
Token spend can only be enforced when the call site reports it, so token caps waited for the gateway to feed real usage.
Treat an approval as two gates. 'May this be prepared?' and 'may this be released?' are different questions and deserve different code paths.
Sources
Kognita is an open-source alpha. This note comes from Kognita PR #10 in the Kognita repository.
