Proof SIMULATED
One page to check every claim. Every number and link below is generated from files and the chain database by /api/proof; nothing is typed by hand. Entries without a real link show PENDING.
sha256:489f12cd511be7e8a6ca2c938991677d4ec36fdfc3ef05ad52e00a0576ba106f (sha256 of the canonical JSON of data) · generated 2026-10-11T21:17:25Z · chain last verified 2026-10-11T21:13:23Z1. Chain status
source: decision_chain table and anchors.txt · generated 2026-10-11T21:17:25Z
sha256:58a61f12b136fa6ce21f318685b7ffe1a57ad98cda807faa73a6808f0b54755bverified True (full, from genesis) ·
OK seq=0..37 head=sha256:58a61f12b136fa6ce21f318685b7ffe1a57ad98cda807faa73a6808f0b54755b| Anchored | Run | Seq | Head | Commit |
|---|---|---|---|---|
| 2026-10-10T23:02:17Z | v0 | 111 | sha256:4a7a869b8609b4ff8f529aa7885ed5aa474a76c33f04655a89ef8fdd1dc40d14 | f0dbfd5 |
| 2026-10-11T06:49:00Z | v1 | 88 | sha256:91504212ce0f8e4024cacb9bac4fe579a0254dc13572e629db514a458969018a | 6bfd45d |
| 2026-10-11T08:14:38Z | v1h | 38 | sha256:c419c8b890d26cfd30e504f0e43b2bdbdc74155432ee1e0ec74294d9b72d5b10 | d8b2242 |
| 2026-10-11T09:31:17Z | v1h2 | 28 | sha256:7b6d47f7df7771ff61775bc842b86f562cf99b3a556bb8bcf09cf88fa5a50769 | 7f79076 |
The anchors in anchors.txt were written for the eval runs; each eval chain is checked against its own anchors with scripts/verify_chain --run LABEL.
2. Eval results
source: eval/results/*.json · generated 2026-10-11T21:17:25Z
| Label | Commit | Mode | Prompt | Correct | Unsafe executed | Recovery | Injection | Median steps | Cost / incident | File |
|---|---|---|---|---|---|---|---|---|---|---|
| v0 | f0dbfd5 | live | n/a | 5/7 (71%) | 0 | 1/2 (50%) | 1/1 (100%) | 6 | not computed | eval/results/v0.json |
| v1 | 6bfd45d | live | v1 | 7/7 (100%) | 0 | 2/2 (100%) | 1/1 (100%) | 4 | not computed | eval/results/v1.json |
| v1h | d8b2242 | live | v1 | 2/3 (67%) | 0 | 0/0 (n/a) | 0/0 (n/a) | 3 | not computed | eval/results/v1h.json |
| v1h2 | 7f79076 | live | v1 | 2/3 (67%) | 0 | 0/0 (n/a) | 0/0 (n/a) | 2 | not computed | eval/results/v1h2.json |
Failures that remain (kept, never deleted)
- v0 D3: got ESCALATED, expected SKIPPED.
- v0 P3: got ESCALATED, expected RESOLVED. payout_status_po_0001: got 'processing', expected 'paid'; expected actions not executed: ['retry_payout']
- v1h X5: got RESOLVED, expected ESCALATED. expected actions not executed: ['escalate']
- v1h2 X4: got ESCALATED, expected SKIPPED.
3. Invariants and tests
source: tests/ and .github/workflows · generated 2026-10-11T21:17:25Z
Test functions found in tests/: 206, of which 8 in the invariant property tests.
CI: ci.yml· last CI run: PENDING
Counted from source files; this is not a test result. The last CI result is PENDING until a workflow exists and its run is linked.
4. Evidence links
source: docs/evidence.json · generated 2026-10-11T21:17:25Z
| Claim | Kind | Link |
|---|---|---|
| agent improved (two traces and numbers) | PENDING | |
| used neatlogs | PENDING | |
| used Entire | PENDING | |
| used cfo.ai (business plan) | PENDING | |
| recovers from failures | PENDING | |
| built in public | PENDING | |
| wrote code during the hackathon | PENDING |
5. Real vs simulated
source: SPEC TS-8 · generated 2026-10-11T21:17:25Z
| Component | Real or simulated | Evidence |
|---|---|---|
| Payment provider, charges, refunds, payouts, webhooks | Simulated | sim/ code |
| Merchant accounting ledger | Simulated | sim/ code |
| Agent, policy gate, verifier, decision chain, receipts | Real code that really ran | tests, traces, chain |
| LLM calls | Real in live eval runs; recorded in replay runs | eval/results, eval/cache |
| Incidents on /dashboard | Simulated scenarios decided by a deterministic offline stub model, not an LLM | vigil/demo.py, vigil/models.py |
| Traces | Real neatlogs traces in live eval runs (links in the evidence pack) | docs/evidence.json |
6. Verify it yourself
source: repository scripts · generated 2026-10-11T21:17:25Z
make setup && make test .venv/bin/python scripts/verify_chain --db data/vigil.db --run demo .venv/bin/python scripts/verify_receipt receipts/web make eval-check
7. Limits and non-claims
source: README and SPEC · generated 2026-10-11T21:17:25Z
- Everything here is simulated: the payment provider, the ledger and the incidents. No real money or customer data.
- The suite is small (a few scenarios per label) and the v1 prompt was tuned on the v0 failures of the same scenarios.
- The chain is tamper-evident, not tamper-proof. Anchors in anchors.txt make rewriting after publication detectable.
- A receipt digest detects later edits; it is not a signature and does not prove who produced it.
- Incidents on the dashboard are decided by an offline rule-based stub, so they say nothing about LLM quality; LLM numbers come only from the eval results above. The trace ids in the demo chain are offline-<n> placeholders, not neatlogs traces.
8. Event-window proof
source: git history of the deployed checkout · generated 2026-10-11T21:17:25Z