What a thing is worth, and whether it's real — the Finn's whole job in Gibson's Sprawl, and this program's.
loa-finn is the home of the Finn experiment program — and the runtime that rides it.
The program asks one question of the agentic economy, over and over, with instruments instead of opinions: is this real, or is it theater? Each answer is a pre-registered, sha-pinned experiment — bars set before the data exists, an instrumented run, a readout that has to survive its own falsifications. The answers accrete on a public research spine (observatory/), where every dot traces to a committed artifact.
Underneath sits the runtime that makes the experiments cheap and durable: multi-model routing, a write-ahead log, a cron system, a tool sandbox, and a checksummed cost meter that closes the bill before the response returns. The program is the soul; the runtime is the body it rides.
In William Gibson's Sprawl trilogy, the Finn is a fence — a Lower East Side dealer in hardware and information who knows what a thing is worth and whether it's counterfeit. By Mona Lisa Overdrive he's gone: persisted as an AI construct his friends still consult, a voice in a machine that appraises the real from the fake. He's the obvious patron for this work. The whole experiment program is the Finn's eye turned on the agent economy — tell real commerce from registration theater, and price it honestly. (Loa itself is named from the same Sprawl: AI entities that ride you through the interface. See the Loa framework.)
Every experiment follows the same discipline: register the bars (pinned before data), probe (instrumented run), settle (a verdict from a deterministic instrument — HELD / FALSIFIED / INSUFFICIENT — never from an LLM). A falsification is progress.
graph LR
subgraph Register["① Register · pre-data"]
BARS["sha-pinned bars<br/><i>HELD/FALSIFIED thresholds<br/>set before data exists</i>"]
end
subgraph Probe["② Probe · instrumented run"]
RUN["deterministic instrument<br/><i>SQL · RPC · stdlib<br/>no LLM in the score path</i>"]
METER["cost meter<br/><i>src/cost/cost-atom.ts<br/>checksummed · append-only · closes before response</i>"]
end
subgraph Settle["③ Settle · verdict from the bars"]
V{"measured vs pinned"}
H["HELD"]
F["FALSIFIED<br/><i>progress, not failure</i>"]
I["INSUFFICIENT<br/><i>abstain over fabricate</i>"]
end
subgraph Spine["observatory/ · the research spine"]
SP["register · probe · settle<br/><i>every dot cites a committed artifact</i>"]
end
BARS -->|pinned first| RUN
RUN --> METER
METER -->|measured| V
V --> H & F & I
H & F & I -->|recorded| SP
style BARS fill:#0f3460,stroke:#16c79a,color:#e0e0e0
style V fill:#1a1a2e,stroke:#533483,color:#e0e0e0
style F fill:#0f3460,stroke:#e94560,color:#e0e0e0
style I fill:#0f3460,stroke:#e94560,color:#e0e0e0
| # | Experiment | Question | Settled |
|---|---|---|---|
| EXP-001 | cost-of-play | Where does a per-call dollar go — infra or inference? | H1/H2 FALSIFIED (inference is 93.7% of per-call cost, not infra; no amortization) · H3 HELD |
| EXP-002 | agent-commerce forensics | Is the on-chain agent economy real commerce? | Registration theater — 39,999 registered → ~0 transacting; $320.9M of "commerce" was prize distribution |
| EXP-003 | verify-the-void | Is the verification market a place to build? | GO-vertical / NO-GO-horizontal — demand is real but vertical + in-house; deterministic verification is the moat |
| EXP-004 | graduation gate | (next) Can the forensic score prove itself? | Pre-registered: a real sybil layer + a precision/recall validation harness — the substrate the product needs first |
The spine renders this at observatory/ (npm --prefix observatory run dev). The method came out of EXP-001 and held across all four — see grimoires/loa/context/epistemology-deterministic-layers.md.
The standing lesson (earned the hard way, score-api #269): a deterministic formula is not the product. The validated substrate — a real sybil layer, labeled ground-truth, measured precision/recall — must exist before any "forensic" claim. EXP-004 is that gate. And a converged review pass is not verification: independent cross-model review still caught real defects in code that had already "passed." Both lessons are load-bearing here.
The runtime is real and grounded — it's what makes the experiments cheap (~$0 marginal at the cheapest tier) and reproducible.
- Cost meter — per-request 3-ledger record (inference / infra / orchestration), checksummed (sha256 per line), append-only, single-writer, integer micro-USD, closes before the response returns and is immutable once written (
src/cost/cost-atom.ts). This is the instrument EXP-001 read. (Tamper-evident against corruption per line; not yet inter-line hash-chained — deletion/reorder detection is a tracked follow-up. Thesrc/safety/audit trail below is hash-chained.) - Score core — deterministic, no-LLM forensic scoring (
src/score/). Sprint-1 (leaderboard / features / cluster / screen) is pure and unit-tested; the on-chain edge adapters areNotImplementedErrorby design (fixtures-only until EXP-004 builds the validated substrate). - Multi-model routing — alias resolution, capability matching, budget enforcement, fallback chains (
src/hounfour/router.ts). - Write-ahead log — append-only WAL with R2 checkpoint + Git archive for crash recovery (
src/persistence/wal.ts). - Cron + sandbox + audit — circuit-breakered jobs (
src/cron/service.ts), worker-thread tool isolation with a filesystem jail (src/agent/sandbox.ts), and a SHA-256 hash-chained audit trail (src/safety/audit-trail.ts). - Cost-safe on-chain data routes through
@freeside/dune-meter— cost-capped, metered, never raw Dune (the EXP-002 budget scar, made structurally impossible).
Prerequisites: Node.js 22+, ANTHROPIC_API_KEY.
git clone https://github.com/0xHoneyJar/loa-finn && cd loa-finn
npm install
export ANTHROPIC_API_KEY=sk-ant-...
npm run dev # runtime — http://localhost:3000, health at GET /health
npm --prefix observatory run dev # the research spine
docker compose up # or run containerized| Module | Purpose |
|---|---|
| cost | The checksummed append-only per-request cost meter — the experiment instrument |
| score | Deterministic no-LLM forensic scoring (Sprint-1 core; substrate is EXP-004) |
| hounfour | Multi-model routing, budget, JWT, orchestration |
| gateway | HTTP API, WebSocket, auth, rate limiting |
| persistence | WAL, R2 sync, Git sync, crash recovery |
| cron / scheduler | Scheduled jobs with circuit breakers + health |
| agent | Session management, sandbox, worker pool |
| safety | Audit trail, firewall, secret redaction |
| substrate | Effect-loader runtime + EventStore bridge |
| bridgebuilder | GitHub PR review automation |
| Topic | Where |
|---|---|
| Experiment program + epistemology | grimoires/loa/context/ (epistemology, experiment-economics, the EXP pre-registrations) |
| Research spine | observatory/ |
| Architecture · Operations · API | docs/architecture.md · docs/operations.md · docs/api-reference.md |
| Security · Contributing · Changelog | SECURITY.md · CONTRIBUTING.md · CHANGELOG.md |
- Score edges are unbuilt —
src/score/edge/throwsNotImplementedError; the core runs on fixtures, and no precision/recall harness exists yet (that's EXP-004). No "forensic/court-admissible" claim is earned until both EXP-004 kill gates fire. - Single-writer WAL — no concurrent sessions per WAL file (
src/persistence/wal.ts). - No horizontal scaling — single Hono instance per deployment.
- BridgeBuilder COMMENTs only — it cannot APPROVE or REQUEST_CHANGES.
Active. The experiment program is at EXP-004 (graduation gate); the runtime is in production-shaped use. Maintainer: @deep-name.
AGPL-3.0 — use, modify, distribute freely; network deployments must release source. Commercial licenses available.
Ridden with Loa. Appraised by the Finn.