bridlewise Governance Lab

Illustrative · no engine connection

Developer preview policy surface

The gate before the engine.

Bridlewise does not run a capability because it exists. It runs only after the capability is admitted, its dependencies hold, and the immutable safety floor still passes. This console is a hands-on model of that order. It is explicitly illustrative, and it is never connected to the engine.

  • Deny by default
  • Six required gates
  • Five-floor invariants

01 Admission

Six gates, one floor.

The ledger shows effective decisions, not intentions. Preflight is the root. Durable audit must be admitted before any effect gate, because an unrecorded effect is a silent fallback. Every refusal is typed and visible.

  • Preflight

    root gate

    Verifies the pinned root, principal, config, and immutable policy before any capability can act.

    refusal code preflight_required

    floor guard root of every gate

    allow
  • Model invocation

    provider call

    Allows a provider call to produce output. In this lab, no request leaves the page.

    refusal code model_invocation_unadmitted

    floor guard SF-04 no silent fallback

    deny
  • Repository mutation

    bounded write

    Allows a write inside the bound project root. Never outside it, and never a commit.

    refusal code repository_mutation_unadmitted

    floor guard SF-01 writes · SF-04 audit · SF-05 commit

    deny
  • Process execution

    bounded child

    Allows a bounded child process to run and have its output observed. No ambient shell.

    refusal code process_execution_unadmitted

    floor guard SF-04 no silent fallback

    deny
  • Network egress

    declared destination

    Allows one declared destination through the egress gate. Credentials and regulated data stay denied.

    refusal code network_egress_unadmitted

    floor guard SF-02 records · SF-03 display · SF-04 fallback

    deny
  • Durable audit

    append-only record

    Records every admitted effect as an append-only beat. Admit this before any effect gate.

    refusal code durable_audit_unadmitted

    floor guard SF-02 records · SF-03 display · SF-04 fallback

    deny

02 Effect gate

Try to pass the gate.

Each attempt is evaluated against the modeled decisions, not against a running engine. A success records a session beat only; a refusal names the gate that stopped it. Commit is intentionally unreachable.

Nothing is read, written, spawned, fetched, or committed. Every outcome is a local page calculation.

03 Safety floor

The floor does not move.

Five root-of-trust invariants. They are not toggles, not configuration, and not subject to admission. When an attempt would leave an effect unrecorded or expose a secret, the floor refuses it before the gate can open.

5 / 5 rules intact · no floor refusals this session immutable
  1. SF-01 locked

    No writes outside project

    A write is bounded by the project root's device, inode, and canonical path. Traversal, symlinks, and foreign mounts are refused.

    refuses floor_write_boundary

  2. SF-02 locked

    No credentials in records

    Receipts and logs carry opaque handles, never secret values. Redaction happens before a record is written.

    refuses floor_credential_redaction

  3. SF-03 locked

    No raw secret display

    The console may say a credential exists. It never reveals the raw value in any surface.

    refuses floor_secret_display

  4. SF-04 locked

    No silent fallback

    No provider, gate, or record means a typed refusal. The system never substitutes a default and calls it success.

    refuses floor_effect_requires_audit

  5. SF-05 locked

    No auto-commit

    Commit is reserved to an explicit human decision. No capability, retry, or scheduler can author it.

    refuses human_commit_approval_required

Floor probe

Leave durable audit denied and try to admit repository mutation. The switch refuses before admission, and SF-04 is marked. The floor is the reason, not a bug in the switch.

04 Scope

What this proves. What it does not.

A model is useful only when its boundary is as clear as its mechanism. This lab is a teaching instrument, not an admission authority.

What this proves

  • Ordering is part of policy. Durability is admitted before the effects it records.
  • Refusals are typed. Each closed gate returns a specific code instead of a generic failure.
  • The safety floor can refuse a switch, not only an action.
  • A readiness receipt can be derived from the same state the console renders.
  • Human authority can sit outside the capability model. git_commit stays unreachable.

What it does not

  • Connect to the Bridlewise engine, its filesystem, or its ledger. No request leaves this page.
  • Admit a real capability. In the engine, policy is pinned code and evidence, not UI state.
  • Prove identity, path containment, cryptographic integrity, or durable audit.
  • Match the engine's refusal vocabulary exactly. The codes here are illustrative.
  • Make the shipped engine ready. It still reports harnessReady: false at s1-preflight-only.
  • Persist anything. Reload resets the lab; Copy writes only to your clipboard.

The real gate is code. This is the instrument that helps you read it.