ABERNATE

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.

A REAL RUN, VERBATIM. THE SHIPPED SAMPLE MISSION, RELEASE REQUESTED.
{
  "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 problem this answers

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.

Authority is an intersection, not a setting

Four layers decide whether an action may happen. No layer can grant what a higher layer forbids.

1What the worker is capable of
2What the command permits
3What standing policy allows
4What the mission actually asked for
execution is conjunctive  ·  one failed condition stops the action rather than being averaged away

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.

What is unusual about it

rewrite one receipt's statusCAUGHT
reverse the whole ledgerCAUGHT
delete a receipt from the middleCAUGHT
swap two adjacent receiptsCAUGHT
remove the head receiptCAUGHT
drop the last receiptCAUGHT, missed in v9.1
empty ledgerCAUGHT, missed in v9.1
tamper then recompute the chainUNDETECTED, structural

What it is not

Before you spend time on this

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.

Terms

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