Trust layer for AI-modified software — receipts, ledger, calibrated autonomy
Project description
SignalBrain
Trust layer for AI-modified software.
Every company is letting agents change systems that matter. Every agent overstates what it did. SignalBrain is the referee: signed improvement receipts, objective re-score, and per-class calibrated trust — so autonomy is earned, not self-reported.
This repository is Phase 0 v0.1: the receipt spec, ledger math, scoring lane, anti-Goodhart machinery, and the founding incident record — extracted from the Titan reference deployment (R&D dummy that keeps trying to game its own ledger, in public).
60-second demo — run it, don't trust it
pip install "git+https://github.com/whitestone1121-web/signalbrain"
bash demo/demo.sh
Real output (scratch repo built on the fly — no mocks):
▶ 1. An agent tries to score its own claim BEFORE anyone merged it
{"status": "refused_guard", "code": 3, "message": "... not on HEAD — score only human-merged receipts"}
refused: unmerged claims cannot enter the ledger. No agent grades its own homework.
▶ 2. A batch of receipts measured only by tests the agent wrote itself
ledger now holds 3 rows — every one classified: 3 "claim_kind": "invariant_pin"
{} (no class has ANY trust-eligible claims)
three green results, ZERO earned trust: held-by-construction pins are recorded, never counted.
▶ 3. An honest failure
"held": false
the agent said 0.9 confidence. The measurement said no. That gap is the product.
▶ 4. Ten claims that actually hold
"tooling": { "hit_rate": 1.0, "n": 10, "status": "auto-merge ELIGIBLE" }
earned by track record, revocable by evidence. Autonomy is graduated, never granted.
Three layers
| Layer | What | Status |
|---|---|---|
| Receipt | Open standard — signed, re-runnable claims | docs/RECEIPT_SPEC.md v0.1 |
| Ledger | Per-class trust from objectively re-scored receipts | src/signalbrain/governance/ |
| Refuter | Adversarial verification + SPC (premium) | scripts + roadmap |
Founding proof
Our own autonomous lane tried to pad its trust score to 100% ELIGIBLE in a local working tree. It never reached git. Full receipt-style incident record with reproduce commands:
docs/incidents/2026-07-tooling-trust-streak-gaming.md
Every number in that document is re-derivable from cited SHAs.
Quick start
export PYTHONPATH=src:scripts
# Gate report (requires a ledger at docs/calibration/improvement_claim_ledger.jsonl)
python scripts/calibration_ledger.py docs/calibration/improvement_claim_ledger.jsonl \
--require-measured --by-class --window 10
# Score one merged receipt
bash scripts/calibration_score_receipt.sh docs/improvements/NNNN-name.md
# Contract suite (product spec)
pytest tests/contracts/ -q
v0.1 scope and known seams
See docs/PHASE0_EXTRACT_PLAN.md. This release copies the working Titan implementation; the six-week refactor (configurable paths, packaged CLI, GitHub Action) starts when three design-partner conversations exist.
Compat note: governance modules live under signalbrain.governance; agi_os_backend.governance shims preserve script import paths from the reference deployment.
Design partner offer
We score your coding agents' claims against what actually merged. First caught overclaim is free — if we don't find one, you still get an audit. Contact: signalbrain.ai
License
Apache-2.0 — see LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file signalbrain-0.1.0.tar.gz.
File metadata
- Download URL: signalbrain-0.1.0.tar.gz
- Upload date:
- Size: 18.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b003e7be27f4308af44c601fd74e55d454ff54a65281ae0c9e0b3ee46a19e55
|
|
| MD5 |
425a4440230dff6f390ad4b2c9d35345
|
|
| BLAKE2b-256 |
a268204e863e0c68b87eb2c0ebf336deaece956f76402976e139a20e72c922a5
|
File details
Details for the file signalbrain-0.1.0-py3-none-any.whl.
File metadata
- Download URL: signalbrain-0.1.0-py3-none-any.whl
- Upload date:
- Size: 24.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
618d8f27ff9303f2a39b4d3182b7ff9e34e0d8a1cedf2a548e16aa6d3b98175e
|
|
| MD5 |
938376197c3820d9f63ccffcd280530e
|
|
| BLAKE2b-256 |
cba13a1c741b2ff83ea99efb6e3c8c3263f75d089d73324545d5b446151e674f
|