Metadata-Version: 2.2
Name: fable-engine
Version: 1.3.6
Summary: Independent deterministic System 2 cognitive engine and mechanical time-lock MCP server
Author: REX-codebase
License: MIT License
        
        Copyright (c) 2026 REX-codebase contributors
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
        
Project-URL: Homepage, https://github.com/REX-codebase/fable-mode
Project-URL: Repository, https://github.com/REX-codebase/fable-mode
Project-URL: Issues, https://github.com/REX-codebase/fable-mode/issues
Keywords: mcp,model-context-protocol,ai-agents,coding-agents,agent-safety,verification,red-team,llm-tools
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Dynamic: requires-python

<div align="center">

<br/>

<img src="./assets/logo-light-mode.svg" width="120" alt="Fable Mode"/>

# Fable Mode

<!-- mcp-name: io.github.REX-codebase/fable-mode -->

**Agents that think before they write.**

<br/>

<a href="https://github.com/REX-codebase/fable-mode"><img src="https://img.shields.io/badge/python-3.10%2B-black" alt="Python 3.10+"/></a>
&nbsp;
<a href="./LICENSE"><img src="https://img.shields.io/badge/license-MIT-black" alt="MIT"/></a>
&nbsp;
<a href="https://modelcontextprotocol.io"><img src="https://img.shields.io/badge/protocol-MCP-black" alt="MCP"/></a>
&nbsp;
<img src="https://img.shields.io/badge/dependencies-0-black" alt="Zero Dependencies"/>
&nbsp;
<img src="https://img.shields.io/badge/tests-490%20passing-black" alt="490 tests passing"/>

<br/><br/>

</div>

---

<br/>

Fable Mode is an open-source control plane for AI coding agents.

It makes an agent deliberate, produce evidence, and survive adversarial review
**before** it earns permission to write to your workspace. The gates are
mechanical, not prompt advice: no timer, no proof, no write access.

<br/>

<div align="center">
  <img src="./assets/flow-simple.svg" width="720" alt="Think → Prove → Attack → Write"/>
</div>

### Demo

**KERR // ORRERY**

One self-contained HTML file. Raw WebGL, zero libraries, zero external assets,
and zero build step.

https://github.com/user-attachments/assets/8287bbfe-e3ee-4dcf-ba0f-f9ff22ae79bd

<sub>7 renders rejected before final · 2 bugs caught · 10/10 red-team probes passed</sub>

<br/>

**Fable Mode overview**

https://github.com/user-attachments/assets/27f4f8a2-b1bb-4398-a08c-bc9fd93d69d7

<br/>

### Quick start

A session starts locked. Confidence does not unlock it.

1. Install the MCP server using one of the options below.
2. Add the optional Agent Skill if you want the full workflow.
3. Ask your agent to use Fable Mode for a concrete coding task and choose a time budget.

A new session starts with execution locked:

```json
{
  "action": "create_session",
  "session_name": "demo-refactor",
  "objective": "Refactor the parser without changing public behavior",
  "time_budget_minutes": 2
}
```

The agent then records evidence and an invariant. An early `unlock_execution`
request is rejected until the authority timer and proof prerequisites pass.
Use `get_status` at any point to see the active phase, remaining time, evidence
counts, and lock state.

The same gates guard every phase: evidence receipts for claims, a five-vector
red-team swarm for code, and a sealed record of what was verified.

<br/>

### Install

```bash
pip install fable-engine
```

Or install the MCP server in your editor:

[![Install MCP server in VS Code](https://img.shields.io/badge/VS_Code-Install_MCP_server-007ACC?logo=visualstudiocode&logoColor=white)](vscode:mcp/install?%7B%22name%22%3A%22fable-engine%22%2C%22command%22%3A%22uvx%22%2C%22args%22%3A%5B%22--from%22%2C%22fable-engine%3D%3D1.3.6%22%2C%22fable-engine%22%5D%7D)
[![Add to Cursor](https://img.shields.io/badge/Cursor-Add_MCP_server-black)](cursor://anysphere.cursor-deeplink/mcp/install?name=fable-engine&config=eyJjb21tYW5kIjoidXZ4IiwiYXJncyI6WyItLWZyb20iLCJmYWJsZS1lbmdpbmU9PTEuMy4zIiwiZmFibGUtZW5naW5lIl19)

These links configure Fable Engine for AI agents in VS Code Chat or Cursor. They do not install a standalone editor extension. Both use `uvx`, which downloads and runs the pinned PyPI release in an isolated environment.

Point your agent at the MCP server manually:

```jsonc
// Claude Code: claude mcp add fable-engine -- uvx --from fable-engine==1.3.6 fable-engine
// Cursor: ~/.cursor/mcp.json
{
  "mcpServers": {
    "fable-engine": {
      "command": "uvx",
      "args": ["--from", "fable-engine==1.3.6", "fable-engine"]
    }
  }
}
```

Python 3.10+, zero runtime dependencies. Published on [PyPI as `fable-engine`](https://pypi.org/project/fable-engine/).

<br/>

### Optional: the Agent Skill

Installing `fable-engine` gives your agent the MCP tools. It does not install
or activate the Fable Mode Agent Skill - the prompt-side workflow in
[`skills/fable-mode`](./skills/fable-mode/SKILL.md). Nothing in the package
activates those instructions on its own; the skill is always a separate,
explicit opt-in.

The complete skill tree ships inside the wheel. To install it into your
project's skills directory (the cross-client `.agents/skills/` convention):

```bash
uvx --from fable-engine==1.3.6 fable-mode install-skill --yes
```

This copies the skill to `.agents/skills/fable-mode`. Preview first with
`--dry-run`, choose another location with `--target <dir>`, and reload your
agent afterwards so it picks up the skill.

<br/>

### How it works

1. **Think** — Time-locked deliberation. The agent cannot write until the timer ends.
2. **Prove** — Claims need real evidence (tool receipts, hashes, invariants).
3. **Attack** — A red-team swarm tries to break the code.
4. **Write** — Only then is the workspace unlocked.

<br/>

### Optional: AI evidence adjudicator

The evidence in a session is written by an AI agent, so Fable can optionally
ask an external reviewer model to audit that evidence before the workspace
unlocks. Stdlib-only, one bounded HTTPS call, no local model, no extra RAM to
speak of. Off by default; fail-closed when enforcing. It raises the cost of
fabricated proof - it cannot guarantee deception is impossible, and the
mechanical gates stay the primary authority. Setup and honest limits:
[AI evidence adjudicator](./docs/ai-evidence-adjudicator.md).

<br/>

### What it is not

- Not a claim of flawless code. It is a checkable workflow, not a guarantee.
- Not a bigger prompt. The locks are enforced by the engine, not by wording.
- Not a framework lock-in. It speaks MCP and runs beside your current agent.

<br/>

### Docs

- [Start here: practical guide](./docs/stop-ai-agents-writing-too-early.md)
- [Agent Skill reference](./skills/fable-mode/SKILL.md)
- [V1 → V2 migration](./docs/fable-v1-v2-migration.md)
- [V2 architecture](./docs/fable-v2-architecture.md)
- [System 3 (experimental)](./docs/system3-architecture.md)
- [AI evidence adjudicator (optional)](./docs/ai-evidence-adjudicator.md)

<br/>

### Contributing

Issues and pull requests are welcome. See [CONTRIBUTING.md](./CONTRIBUTING.md).

<br/>

---

<div align="center">

<sub>MIT License · Built by REX</sub>

</div>
