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 ledgerVerified 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
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.
npm run trueforge:wsl
Then open locally: http://127.0.0.1:8790/settings
| Connection | Where to enter it | TruthLease 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
$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
$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
- Add the relay URL printed by Terminal B as MCP server
truthlease-local. - Confirm exactly five TruthLease tools are discovered, including
apply_containment_patch. - Create the agent from the latest
config/trueforge-agent-manifest-*.jsonin this repository. - 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.
- 01Decision bound
The approval records one exact patch and argument set.
- 02Mutation applied
The controlled local state changes only after approval.
- 03State re-read
Verification reads persisted state rather than trusting the write response.
- 04Record appended
The ordered ledger preserves evidence, decision, mutation, and verdict.
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