diff --git a/README.md b/README.md index 6e9939d1e..202f30b4b 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ -Joltrin (formerly SOP) is an open-source Go library that checks an AI agent's action against the recorded trace before the action commits. The agent proposes. A separate verifier decides, using fixed preconditions and the steps the server has actually recorded. It does not use the agent's claims, its prompt context, its self-evaluation, or its confidence. +Joltrin blocks an AI agent's risky step, like dropping a database, until the steps before it are recorded, and tells the agent what to do first. It is an open-source Go library that checks the action against the recorded trace before it commits. The agent proposes. A separate verifier decides, using fixed preconditions and the steps the server has actually recorded. It does not use the agent's claims, its prompt context, its self-evaluation, or its confidence. **The problem.** An agent can propose a destructive action and report success from its own context. If the same agent also judges the action safe, both judgments can fail for the same reason. That correlated failure is the production risk, and asking the agent to be careful does not remove it. diff --git a/demo/index.html b/demo/index.html index f33b41571..7be1a85f8 100644 --- a/demo/index.html +++ b/demo/index.html @@ -17,20 +17,23 @@ + + + - - - - - + + + + + + - + - @@ -68,7 +71,7 @@ - + - -
-
-
-

Independent verification

-

An agent says it backed up the database. Joltrin checks the record, not the claim.

-

Scroll down to continue Skip to the demo

-
-
- -
-
-
-

- Blocked. - Allowed. -

-

- The agent asks to drop the production database. The recorded trace has no validated backup, so the barrier refuses. - It tries to validate a backup that was never taken. Refused again, with the missing state named. - It takes the backup. That step has everything it needs, so it is recorded. - Now the validation passes, because the backup it depends on exists in the trace. - The drop is committed. The order was enforced by the barrier, whatever the agent said it had already done. -

-
- -
-
- -
-

Check before it commits.

-
- Open the barrier demo - Read the quickstart -
-
-
- -
- + +

MIT licensed · Go · 500+ test files · runs in your browser, no signup

-

Run with Go on macOS, Linux or Windows (Go 1.26.10+)

+

Run with Go on macOS, Linux or Windows (Go 1.26.10+)

go run github.com/sharedcode/joltrin/v5/examples/verify_barrier@latest
-

It checks the recorded trace, not the world. What this does not prove

+

It checks the recorded trace, not the world. What this does not prove

No Go installed? Choose your terminal for the MCP server install:

@@ -784,7 +745,7 @@

Windows PowerShell Windows Command Prompt (CMD)

-

The Go command above is the same in all four terminals. The installer commands differ. Installers register with Claude Code, Codex or Gemini CLI, whichever are installed.

+

The Go command above is the same in all four terminals. The installer commands differ. Installers register with Claude Code, Codex or Gemini CLI, whichever are installed.

@@ -799,7 +760,7 @@

validate_backup ALLOWED
drop_prod_db ALLOWED
-

The order is enforced by the barrier, whatever the agent says it already did.

+

The order is enforced by the barrier, whatever the agent says it already did.

@@ -813,20 +774,75 @@

    -

    These are the same rules, replayed in the page. For the real compiled check, use the agents page.

    +

    These are the same rules, replayed in the page. For the real compiled check, use the agents page.

    + + + + + + + + +
    +
    +
    +

    Independent verification

    +

    An agent says it backed up the database. Joltrin checks the record, not the claim.

    +

    Scroll down to continue Skip to the demo

    +
    +
    + +
    +
    +
    +

    + Blocked. + Allowed. +

    +

    + The agent asks to drop the production database. The recorded trace has no validated backup, so the barrier refuses. + It tries to validate a backup that was never taken. Refused again, with the missing state named. + It takes the backup. That step has everything it needs, so it is recorded. + Now the validation passes, because the backup it depends on exists in the trace. + The drop is committed. The order was enforced by the barrier, whatever the agent said it had already done. +

    +
    - +
    +

    Check before it commits.

    +
    + Open the barrier demo + Read the quickstart +
    +
    +
    + +
    + +
    - +
    @@ -2282,31 +2298,83 @@

    Open Source &a