Zephr

Governance · Guard

An agent may propose.Only Guard admits.

Guard is the trust firewall in front of the ledger. It binds every connection to one scope before the first tool call, refuses a capture that cannot support itself — with the rule named and the remedy stated — and records the decision as an event you can audit later.

Firewall + admissionTrustBench blocks CIReview workflowT3 judge
How it works

Five gates, in order, every time.

Guard has no fast path. A capture crosses the same five gates whether it came from an interactive session or an unattended agent — and a failure at any gate is visible, named, and recoverable rather than silent.

  1. Gate 1

    Admit before anything else

    The connection presents a project, a repository, and a worktree. Guard issues a binding with an epoch. Nothing has been read or written yet.

  2. Gate 2

    The agent proposes a write

    A capture arrives carrying a claim, the files it cites, and the commit it was true at. Guard treats it as a proposal, not a fact.

  3. Gate 3

    Policy evaluates it

    Rules run against the proposal and its scope. A pass records the claim as unreviewed. A failure refuses it by name and says what would fix it.

  4. Gate 4

    The ladder verifies it

    T1 re-checks the cited anchors against the current files. T2 contrasts the claim against what the scope already believes and opens a contradiction if they disagree.

  5. Gate 5

    A human disposes

    Contradictions and provisional claims land in a review queue that reads like a pull-request queue. Only an authenticated person moves a claim to confirmed.

The artifact

A refusal you can read.

This is what a blocked capture actually looks like: the rule that fired, the attempt that tripped it, and the refusal — with a remedy attached. Every card below is markup, not a screenshot. Select it, copy the digests, read it with styles off.

Guard · policy

Evidence required for credential claims

A claim that touches production credentials must cite a durable source and pass human review before it can be recalled as settled.

Scope
apps/billing
Binding
bnd_01HQ8R2V4C7YKD · epoch 4
On failure
Refuse and explain. Never downgrade quietly.
active in this scope
Claude Code · attemptUnreviewed

The rotation key was changed during the incident.

The agent tried to record a conclusion it drew from the conversation. It cited nothing — no file, no commit, no incident report.

Cited files
None supplied
Reviewer
Not requested
Verdict
Refused by policy
0 citations
Capture blocked
Production credential incident requires an evidence source and human review.
Fix: attach the incident report as evidence, then submit for your review.
Guard · audit eventBlocked

The refusal is itself a record

Nothing entered the ledger as a belief — but the attempt, the policy that stopped it, and the moment it happened were all appended as an event. A refusal you cannot audit is indistinguishable from a bug.

Illustrative example — not live data

The verification ladder

Three tiers, and only one of them may decide.

Trust is a measurement here, not an adjective. Each tier states what it can prove and what authority that earns it — and the tier with the most to say has the least power.

T1Shipped

Deterministic

Anchor content-hash checks, artifact drift against the current file state, and reproducible commands whose pass/fail is machine-decidable.

The only tier that may change a belief’s validity on its own — because its verdicts are facts, not opinions.

T2Shipped

Semantic contrast

Contradiction detection inside a scope, held as a graph of contradicts / supersedes / supports edges between belief versions.

Never auto-resolves. It surfaces the cluster and makes recall abstain until a T1 fact or a human settles it.

T3Designed, not built

Budgeted judgment

An advisory LLM judge under a hard per-org spend cap. When the budget runs out it refuses visibly rather than degrading to an unmarked cheaper path.

Proposes only. It can never change validity or review state — a human or a T1 fact disposes. No judge or provider code exists in the verifier today.

TrustBench · report cardGate passed

The suites that block a merge

TrustBench measures trust behaviour, not retrieval scores: does a claim carry its provenance, does a contradiction surface, does recall abstain when it should, and does review state survive a handoff.

  • AssertedProvenance completeness
  • AssertedContradiction surfacing
  • AssertedAbstention correctness
  • AssertedReview-state portability across handoff
  • Suite pendingT3 refuses at budget zero (mock transport)
run on every pull request and push
TrustBench · public scoresNot published

Why there is no number here

A published benchmark number is only worth reading if you can reproduce it. The rule we hold ourselves to: scores publish from a tagged public harness whose artifacts are archived, and the site links the harness version.

That harness is not released yet, so this page shows the suites and not a score. When it ships, the number and the command that produces it arrive together.

no score until the harness is tagged

Illustrative example — not live data

What Guard does

Every capability, with its real state.

Two of these are designed and not built. They are listed anyway, badged as such, because a governance layer that misrepresents its own coverage has already failed at its job.

  • Immutable scope admission

    Shipped

    A connection is admitted to one project, one repository, one worktree before its first tool call. First-tool-call binding is forbidden; changing scope requires a newly admitted connection.

  • Policy engine

    Shipped

    Rules evaluate every write. A refusal names the policy that fired, the scope it protects, and the concrete step that would make the capture admissible.

  • Human review workflow

    Evolving

    Review state — unreviewed, needs review, confirmed, rejected — is metadata on every belief, set only by an authenticated human, and carried through handoffs with its origin intact.

  • Verification ladder T1 / T2

    Shipped

    Deterministic checks and semantic contrast run today with no judge, no provider, and no network. Their verdicts are recorded as verification events.

  • Verification ladder T3

    Planned

    The budgeted judge is specified — spend cap, visible refusal, recorded model and prompt digest, no authority over validity — and deliberately not implemented yet.

  • TrustBench in CI

    Shipped

    TrustBench report cards block the pipeline. Gates may be tightened in a pull request; loosening one requires an architecture-decision amendment.

  • TrustBench public scores

    Planned

    Published numbers must be reproducible from a tagged public harness whose artifacts are archived. Until that harness is versioned and released, no score is published here.

  • Audit ledger

    Evolving

    Admissions, refusals, and verifications are appended as digest-bearing events. Superseding a record never overwrites the one before it.

See what it refuses before you trust what it accepts.

Guard is easiest to judge from its failures. Read the trust semantics, then walk the golden path and admit a scope yourself.