Quick Start¶
Entropy-Gated AI Framework¶
Who is this for¶
The Entropy-Gated AI Framework is for anyone who interacts with a language model and needs the output to be correct, controlled, and auditable.
Use it when:
- correctness matters more than speed
- results must be reviewable and auditable
- retries must not accumulate hidden context
- probabilistic behavior must be controlled
Core idea in one paragraph¶
The framework governs language model interactions through a three-part composition called a vial. Each set is a document in its own right, with sections called elements — each element defines a specific rule, requirement, or grouping of the two that governs how the session runs. A vial is loaded in sequence: the OIL_CONTRACT seals governance, the INVOKER arms an execution process, and the E_T defines what work is performed. Each position advances the vial state — Sealed, then Primed, then Charged — at which point execution is permitted. Every output is non-authoritative until ROLE_USER explicitly accepts it. Unaccepted outputs are pruned by editing the prior user turn before retrying, which architecturally removes them from context and prevents entropy accumulation.
What a vial is¶
A vial is a composed governance artifact that packages the three framework positions into a ready-to-use execution unit.
| Position | Artifact | Role |
|---|---|---|
| 1 of 3 | OIL_CONTRACT |
Governance law — authority, constraints, rules |
| 2 of 3 | INVOKER |
Execution process declaration — how execution occurs |
| 3 of 3 | E_T |
Execution Transmission — what work is performed |
All three vial types must be used in sequence to reach a Charged state. Each type is a separate file stored on the Shelf and contains a specific subset of the three positions:
| Type | Contents | What it needs next |
|---|---|---|
| Sealed | OIL_CONTRACT only |
INVOKER, then E_T |
| Primed | OIL_CONTRACT + INVOKER (process armed) |
E_T only |
| Charged | OIL_CONTRACT + INVOKER + E_T |
Nothing — ready to execute |
The reason vials are separated into distinct files rather than delivered as a single artifact is customization. A user may want to inspect or edit the OIL_CONTRACT before selecting a process mode, or review and modify the INVOKER before committing to an E_T. Loading one position at a time keeps each component editable before the next is introduced.
Pre-composed vials are stored on the Shelf at shelf/vials/. Two variants exist for each type:
- Manual — paste into a chatbot interface
- Gaffer — delivered programmatically via the EGAF gaffer
Process modes¶
Exactly one process mode must be declared in the INVOKER. Choose the mode before selecting a vial.
| Mode | Description |
|---|---|
SINGLE_PASS |
Atomic, one-shot execution. Stateless. One output, no retries. |
MULTI_TURN |
Iterative execution across multiple turns. Each turn derives from the last accepted output only. Hysteresis halt after 3 consecutive rejections. |
INTERACTIVE |
Governed conversational mode. Relaxed output structure. Passive entropy monitoring. |
PIPELINE |
Sequential multi-stage orchestration. Accepted output of each stage becomes immutable input for the next. Stage failure halts the chain. |
VERIFICATION |
Zero-entropy, read-only audit mode. ROLE_ASSISTANT may only validate, compare, and report. No new content generated. |
REVISION_AUGMENTED |
A sliding context window architecture for iterative, revision-driven execution |
Step-by-step (manual, minimal)¶
1. Choose a process mode¶
Decide which process mode fits the task. When uncertain, SINGLE_PASS is the default for fully-defined tasks. INTERACTIVE is the default for governed general use.
2. Get a vial from the Shelf¶
Navigate to shelf/vials/ and choose a starting point based on how much customization you need.
Start from Primed if you want to use the default OIL_CONTRACT as-is and only need to choose a process mode:
primed/manual/VIAL_SP_PRIMED.md— SINGLE_PASSprimed/manual/VIAL_MT_PRIMED.md— MULTI_TURNprimed/manual/VIAL_IX_PRIMED.md— INTERACTIVEprimed/manual/VIAL_PL_PRIMED.md— PIPELINEprimed/manual/VIAL_VF_PRIMED.md— VERIFICATIONprimed/manual/VIAL_RA_PRIMED.md— REVISION_AUGMENTED
Start from Sealed if you want to inspect or edit the OIL_CONTRACT before selecting a process mode. After pasting the Sealed vial and receiving acknowledgment, paste the INVOKER of your choice on the next turn.
Fill the SESSION_TIMESTAMP field if applicable before pasting.
3. Open a Lab and paste the vial¶
Open a new chat to act as the Lab. Paste the entire primed or charged vial.
ROLE_ASSISTANT will read the contract sequentially, acknowledge it, confirm the seal, verify the heartbeat anchor, and confirm the INVOKER is armed.
Vial state: Primed. No execution has occurred.
4. Paste the Execution Transmission¶
On the next ROLE_USER turn, paste a completed E_T. All fields must be filled, altered, or removed before pasting. ROLE_ASSISTANT will surface any unfilled field as ambiguity and will not infer values for it.
Vial state: Charged. Execution begins.
5. Review the output¶
All outputs are non-authoritative by default. Review before taking any disposition action.
6. Dispose of the output¶
ROLE_USER must explicitly dispose of every output before the session advances. Four disposition states are defined:
| State | Meaning |
|---|---|
ACCEPTED |
Output enters context. Stamped <<<Z::ACCEPTED::T={turn}>>> |
GOLDEN |
Output accepted and written to permanent record. Stamped <<<Z::GOLDEN::T={turn}>>> |
PRUNED |
Output rejected. Never enters context. Routed to garbage. |
EDIT |
Output requires targeted revision. Governed by the Edit Protocol. |
How pruning works¶
Pruning is performed by editing the prior ROLE_USER turn and retrying.
This removes the unaccepted ROLE_ASSISTANT output from the active message history before the next execution begins. Pruning is not an instruction to the model to ignore something — it is an architectural removal. The output never enters the context used for the next turn.
Pruning resets interaction-level entropy and is mandatory for clean retries.
How the Edit Protocol works¶
Two edit types are defined for targeted revision of prior outputs without discarding the entire response.
REVISE — use when changing part of a prior output:
ROLE_ASSISTANT_OUTPUT:
[prior output reproduced verbatim]
⟨REVISE⟩[region requiring revision]⟨/REVISE⟩
ROLE_USER_CONTENT:
[revision instruction targeting the marked region]
Only content inside ⟨REVISE⟩ tags re-enters probabilistic generation. Everything outside is implicitly accepted verbatim and must not be modified.
QUERY — use when asking a question about a prior output without changing it. The absence of ⟨REVISE⟩ tags signals a question, not a revision. ROLE_ASSISTANT answers only and does not regenerate any prior output.
ROLE_ASSISTANT_OUTPUT:
[prior output reproduced verbatim]
ROLE_USER_CONTENT:
[Question about prior output]
Common mistakes to avoid¶
- Expecting execution after pasting the vial — it does not begin until
E_Tis submitted - Submitting an
E_Twith unfilled fields —ROLE_ASSISTANTwill surface ambiguity and will not infer values - Retrying without pruning — unaccepted outputs remain in context and corrupt subsequent execution
- Letting a Lab grow too large — start a new Lab when scope changes
- Using
INTERACTIVEwhen a structured output mode is required
When to end a Lab¶
End the Lab when:
- results are accepted and work is complete
- retries are exhausted and scope needs to change
- the task definition changes materially
Start a new Lab for new work.
Final reminder¶
This framework enforces correctness only when you use it correctly.
Discipline produces quasi-deterministic outcomes.