A release gate for automated work.
Automated workers are taking real actions. ABERNATE decides whether each action is permitted, at run time, and leaves a record that settles who allowed it.
{
"mission_id": "recover-sample-001",
"operational_status": "PASS",
"steps_planned": 4,
"steps_executed": 4,
"receipt_chain": "VALID",
"release_required": true,
"released": false,
"squad_leader": "BLOCKED: no SQUAD LEADER clearance for mission recover-sample-001: run the go/no-go board and record a GO before release",
"final_receipt_hash": "ec18a705d090f8d9c5b5ece7...",
"metrics": {
"completion_ratio": 1.0,
"successful_ratio": 1.0,
"authority_coverage": 1.0,
"receipt_integrity": 1.0
}
}
The work succeeded. Every step ran, the chain verified, every metric came back at 1.0. It still did not ship, because no human had recorded a decision. That is the product.
The failure organizations are insuring against is a single one: the system did something nobody authorized, and afterwards there is no record that settles what happened or who allowed it.
Most tooling answers that at deploy time, with configuration and review. ABERNATE answers it at run time, on every action.
Four layers decide whether an action may happen. No layer can grant what a higher layer forbids.
A human release gate sits at the end. It can only block, never grant. A policy that omits the gate is refused at load, so it cannot be disabled by being forgotten.
Every step emits a hash-chained receipt. Whoever receives that ledger can verify it with a shipped command, without our help and without trusting us.
| rewrite one receipt's status | CAUGHT |
| reverse the whole ledger | CAUGHT |
| delete a receipt from the middle | CAUGHT |
| swap two adjacent receipts | CAUGHT |
| remove the head receipt | CAUGHT |
| drop the last receipt | CAUGHT, missed in v9.1 |
| empty ledger | CAUGHT, missed in v9.1 |
| tamper then recompute the chain | UNDETECTED, structural |
Nobody has run it but us. No production deployment. No external user. We would rather you hear that here than find it.
There is no patent and there will not be one. The work was assessed against prior art and a filing was judged not warranted. The reasoning was written down rather than left as a gap. This is a copyright, trade-secret and contract asset.
44 of 44 tests pass cold on Python 3.12, standard library only, no network, no dependencies, offline. The internal manifest is generated from the tree and refuses when the two disagree, because a hand-typed count is what went wrong twice.
Available for outright sale or license. Delivered as a technical packet with provenance, hashes, and the full defect history. Evaluation copies are confidential and carry no patent license.
hello@abernate.com