TruthLease Back to case file

Bring your own integrations

Run the real evidence loop on your machine.

The hosted site is a read-only case file. To fetch current evidence and reach a genuine approval pause, run the local companion with your own TrueForge, model provider, and Bright Data connection.

Credentials
Local TrueForge only
Approval
Native TrueForge screen
Mutation
Local controlled state only

Credential boundary

Do not paste a key into TruthLease or Vercel.

Enter provider credentials only at http://127.0.0.1:8790/settings after local TrueForge is running. They are not needed in this website, the TruthLease repository, a Vercel environment variable, or a TruthLease .env file.

Evidence-ledger entry

Start with the case record

Read the hosted TL-042 case file first. It shows the causal record and authority boundaries, but it cannot fetch with your services, approve a patch, or mutate retailer state.

Verify before continuing

Confirm the hosted interface says read-only and that no provider key is requested. Then return here to initialize the local operator.

Inspect the evidence ledger

Verified path: Windows + Ubuntu WSL

Initialize local TrueForge

Use a clean checkout. The setup verifies required Ubuntu sandbox commands, then installs pinned Node and TrueForge runtimes into your WSL user data directory.

Show verified installation commands
PowerShell
git clone https://github.com/gptexplorer9-creator/truthlease.git
cd truthlease
npm ci
npm run trueforge:wsl:setup

The script does not install missing Ubuntu packages. If it names one, install that package through your normal administrator-approved process and rerun the check. Native Linux or macOS may use TrueForge 0.1.4 with an equivalent native sandbox, but that path is not yet verified by this project.

Verify: setup ends with a successful native Bubblewrap probe and a pinned TrueForge version. Stop if either check fails.

Local TrueForge Settings

Bind Bright Data and a model provider

Start TrueForge, then open its local Settings page. The services and credentials stay in TrueForge.

PowerShell - keep running
npm run trueforge:wsl

Then open locally: http://127.0.0.1:8790/settings

ConnectionWhere to enter itTruthLease requirement
OpenAI API keyModel provider Local TrueForge Settings - Model providers - OpenAI Tested default. TruthLease currently verifies the supplied OpenAI agent manifest.
Bright Data authorizationMCP server Local TrueForge Settings - MCP servers - bright-data Required. It is the qualifying transport for current official web evidence.
Other AI providerOptional, unverified Local TrueForge Settings - Model providers May work if TrueForge supports it, but you must change manifest.model.name; this project has not verified that path.

OpenAI is a model-provider connection, not the evidence MCP. Bright Data is the required evidence MCP. Never commit, screenshot, or paste either credential into an issue or chat.

Verify: TrueForge Settings shows one connected model provider and an authenticated MCP server named bright-data. No credential should appear in TruthLease.

Credential-free bridge - native approval

Reach the genuine approval pause

Start the local server and WSL relay in separate terminals, then bind the printed relay URL as truthlease-local. Run Now may investigate and propose one patch, but only TrueForge can ask you to approve it.

Show local bridge commands
Terminal A - TruthLease
$env:TRUTHLEASE_RUN_NOW_ENABLED='true'
$env:TRUTHLEASE_RUN_NOW_AGENT='truthlease-recall-containment-p0-v4'
$env:TRUTHLEASE_TRUEFORGE_URL='http://127.0.0.1:8790'
npm run dev
Terminal B - WSL relay
$env:TRUTHLEASE_WSL_RELAY_HOST = (wsl.exe sh -lc "ip route | sed -n 's/^default via \([^ ]*\).*/\1/p'").Trim()
if (-not $env:TRUTHLEASE_WSL_RELAY_HOST) { throw "Could not determine the Windows host address visible to WSL." }
npm run mcp:relay:wsl

In local TrueForge

  1. Add the relay URL printed by Terminal B as MCP server truthlease-local.
  2. Confirm exactly five TruthLease tools are discovered, including apply_containment_patch.
  3. Create the agent from the latest config/trueforge-agent-manifest-*.json in this repository.
  4. Keep native approval required for apply_containment_patch. Do not weaken the manifest's sandbox or MCP limits.

Verify: Run Now stops on a native TrueForge approval screen that shows the exact patch arguments. No mutation event exists before your decision.

Fail closed: if TrueForge reports that its sandbox cannot install pydantic through the allowlisted proxy, stop. Do not disable sandboxing or treat an unsandboxed calculation as valid.

Verified mutation - immutable record

Close the loop with a persisted re-read

After an approval, TruthLease applies the exact authorized local patch once, re-reads persisted state, and appends the mutation and verification receipts to the ordered case record.

  1. 01
    Decision bound

    The approval records one exact patch and argument set.

  2. 02
    Mutation applied

    The controlled local state changes only after approval.

  3. 03
    State re-read

    Verification reads persisted state rather than trusting the write response.

  4. 04
    Record appended

    The ordered ledger preserves evidence, decision, mutation, and verdict.

What is real in this demo?

The official recall evidence is fetched live through your Bright Data connection, the analysis runs in the genuine TrueForge sandbox, and approval is a real native pause. The containment mutation targets the repository's controlled local retailer state, not a third-party production retailer.

Verify: the ledger shows both patch.applied and a later verification.completed event with passed: true. A denial must show no mutation.

Authority stays visible

The Vercel site never becomes the operator.

It explains the loop and shows its evidence ledger. Your local TrueForge holds provider connections and approval state; your local TruthLease companion holds the controlled case state.

Return to the hosted case file