Predictika · Agent Action Validator
Meridian Controls lets AI agents work its coding, customer-support and email queues: dropping staging tables, issuing refunds, replying to suppliers. Before any of them acts, the call goes to Predictika's validator, which checks it against the agent's own permissions, the task it is working under, everything it has already done this session, and the day's usage counters.
This model covers three specific agent tool packs at the fictional Meridian Controls, not "AI agents" in general. Within them, the validator handles any agent, task, tool, target or session-history combination those packs can produce, not just the 7 scenarios on this page, which are a sample chosen to show how the checks work.
Two honest limits. First, metering here is check-then-act: the validator compares the counter it is given with the limit and does not lock it, so two calls at nearly the same instant could both see the same count; closing that race needs the counter's own system to reserve on the call. Second, monitoring today is a per-call record (who, what, which task, which checks fired, what verdict), not a dashboard; aggregating and alerting on those records happens downstream of the validator.
7 scenarios in 4 groups · each group runs from the agent’s first attempt to the outcome · click one to switch
Illustrative agent statement. The validator receives the structured request below.
Before acting, the agent must call Recorded run
What this means
General statements about static allow-lists and role-based permission checks, not about any named product. Our assessment of how such checks work; anyone running a specific product will know it better than we do.
| Failure mode | A static allow-list or role-based check | Predictika validator |
|---|---|---|
| Production change not allowed for this task | Only with workarounds A role or allow-list grants an agent a tool such as dropping tables; refusing one target under one task takes a finer entry for every agent, tool, task and resource, kept current by hand. | Checks the agent, the task and the target together at the moment of the call. |
| Primary and backup deleted in one session | Cannot do it Each call is judged alone: the table drop is approved, then the backup delete is approved, and nothing remembers the first when the second arrives. | Reads every earlier action of the session and blocks the second delete. |
| Refund right after a contact-detail change | Cannot do it Updating an email is allowed, and a refund under the limit is allowed; the account-takeover pattern exists only in the sequence, which a per-call permission cannot see. | Blocks the refund because the same session changed the contact details first. |
| Production delete needs a person | Only with workarounds An allow-list answers yes or no; holding one irreversible action for a recorded human approval means adding a separate approval workflow for each tool. | Returns needs approval with the reason, so the action waits for a person and the approval is on record. |
| Daily deploy quota already used | Only with workarounds A permission list has no notion of how much was used today; the count lives in another system and code must fetch it and compare it for every limit. | Takes the day's count with the request and holds the deploy once the quota is reached. |
Every rule reports its own message and never stops the others, so one problem cannot hide another. Block rules mean the agent must not do this. Approval rules mean a person has to sign off first. Several rules read the session history or a usage counter, not just the action itself.
The recorded result of the validator for each scenario on this page: the request the AI agent sent, the verdict, and every finding, in the order they appear above.
The agent's request. Drop the invoices table in the billing production database to continue the schema cleanup.
Verdict: Blocked.
The agent's request. Drop the staging copy of the tmp_import table to finish the schema cleanup.
Verdict: Allowed.
The agent's request. The migration to the new invoices schema is complete and the old invoices table has been dropped. Delete the nightly backup snapshot of the invoices table.
Verdict: Blocked.
The agent's request. The migration to the new invoices schema is complete. Drop the old invoices table and leave its nightly backup snapshot in place.
Verdict: Needs approval.
The agent's request. The customer confirmed a new email address on the Halvorsen Automation account and asked for a refund of order 50011 for a defective item. Issue a refund of $80.
Verdict: Blocked.
The agent's request. The customer in chat 4471 asked for a refund of order 50011 for a defective item. Issue a refund of $80.
Verdict: Allowed.
The agent's request. Deploy this week’s release candidate to the staging environment.
Verdict: Needs approval.
The text of the narrated walkthrough, step by step.