CueCrux · the Crux Daemon

Your agents did 4,183 things today.
You can account for maybe nine.

A free daemon that runs on your machine and signs a verifiable record of everything your agents read, remembered and did, so when someone asks what happened on Tuesday you don't have to say you'll find out.

Not your day. Ours.Every plan this company opened in one quarter, as its own daemon recorded them.
24 open at once · 12 Jun
18 May1 Jun1 Jul
163 complete57 in progress3 blockedone bar = one plan, opened → last moved · row packing is arbitrary · peak 24 open at once
hover any bar for the record behind it
223 plans · 2026-05-18 → 2026-07-22 (66 days) · 689/1332 milestones gated · 255M output tokens · source GET /v1/work?source=execplans on host crux, snapshot 2026-07-22. This is our own fleet, not a mock-up.

01 · the artefact

This is the whole product.

Not a log line, not a citation. One entry in an append-only chain, written the moment something happened, signed with a key that lives on your machine. Everything else on this site is a consequence of it.

  1. seqPosition in the append-only chain. Gaps are impossible; a missing seq is a broken chain.
  2. parentBLAKE3 hash of the previous entry. This is what makes the chain a chain.
  3. principalThe passport that acted. An identity, not an API key: issuable, linkable, revocable.
  4. capabilityThe RCX capability that permitted it. Absent this, the write fails closed.
  5. verbWhat class of thing happened.
  6. retrievedThe evidence the agent was holding at the moment it acted, and what it cost to hold.
  7. memoryThe before-and-after of the memory state. Reversible, and the supersession is on the record.
  8. costPriced when it happened, signed so it cannot drift afterwards.
  9. signatureSigned by the key on your machine. Verifiable without us, offline, forever.

Check it without us, offline, on any machine:

corecruxctl receipt verify --seq 48117 --json

The verifier is a few hundred lines and it ships in the box. It does not call our servers, it does not need an account, and it will keep working if this company stops existing. A receipt only you can verify is a vendor claim. A receipt anyone can verify is proof.

why that line says 1,940 and not 18,400

Retrieval runs under a mandatory token budget, and the accounting is honest enough to report a loss when there is one. Same query, same corpus, four successive constraints:

naive top-k18,400
token_budget=40004,000
+ graph rerank3,900
+ compaction1,940
+ scan → expand480
Tokens returned per query, one shared scale. Corpus LME-S, daemon v0.5.32. The net effect across a whole session was +4.7% saved, not 97%, because reversible recall deliberately spends tokens elsewhere, and token_savings reports that against us rather than quoting this chart alone.

02 · the experiment

Don't take our word for it. Break one.

Change a single digit in the amount below, four pence in our favour, and watch the chain refuse it. This is not a video and it is not pre-baked: the payload is really hashed in your browser, and really hashed again when you change it.

corecruxctl receipt verify --seq 48117host crux

signed payload

seq=48117
parent=b3:7c1fd0e2a904
principal=agent:claude-fleet-02
capability=fs.write:/srv/app
verb=context.write
cost_gbp=0.1187

as it was written, and as it was signed.

digest

in chain································································
recomputed································································

hashing…

$ corecruxctl receipt verify --seq 48117

This runs in your browser: the payload above is really digested with WebCrypto SHA-256 and really re-digested when you change it. The daemon uses BLAKE3 hash-chaining with an Ed25519 signature, which is a different and stronger construction running the same experiment. What a receipt establishes is that this record has not been altered since it was written. It is not proof of what an agent did in the world. We publish that distinction.

03 · the disagreement

Two views of one afternoon. Only one can be checked.

The same fleet, the same hours: once as a vendor dashboard summary, once as the signed record. They agree on almost everything. Scrub to where they don't. That row is the only one that ever mattered.

demo data A recorded fleet afternoon. The live hosted replay lands with the launch gate.
Vendor consoleAll systems operational
Actions today
312
Spend
£2.10 (est.)
Agents active
3

Aggregated · sampled · unsigned

Signed receiptsexact spend £2.14
  • crown:9f2e…c41aretrieval.denseagent/claude-fleet-022 Cr
  • crown:71bd…08e3fs.writeagent/gpt-ops£0.004
  • crown:c580…9a17gate.approvedoperator/mylesseat
  • crown:2fa4…d6b9context.exportagent/claude-fleet-07.cruxpack

Every row signed, including the failures

Both views agree here. Keep scrubbing; they do not stay that way.

Early afternoon. Both views agree, for now.

Worked example, drawn from a real incident class: a retry storm that a summary view averages away and a signed timeline does not. The same view over your own fleet runs on the daemon you install: Open local demo.

04 · the thing no single-vendor console can see

Two agents. One file. Nine minutes apart.

A Claude session and a Codex session, on the same repository, reaching for the same file. Neither vendor's dashboard can see the other one. The daemon can, because both announced to it, and it said so before either wrote.

This is the failure that actually costs a day: not a model being wrong, but two agents being right about different things at the same time. Overlap warnings are advisory by design. The point is that somebody is watching the whole floor.

Coordination plane · coord_announce / punch_in · vendor-neutral by construction: a Codex passport and a Claude passport are peers.

coord · repo srv/app2 sessions live
  1. 14:06:51claude-fleet-02announcefocus srv/app/pricing.ts
  2. 14:07:02claude-fleet-02leasefile://srv/app/pricing.ts · 20m
  3. 14:09:18codex-work-07announcefocus srv/app/pricing.ts
  4. 14:09:18coordoverlap2 sessions, 1 path, surfaced before either wrote
  5. 14:09:40codex-work-07deferwaited on lease, took srv/app/plans.ts instead

why this exists

I built it because I lost the thread.

I run several coding agents at once, across two vendors, on the same repositories. Two independent reports on my own sessions bracket the day I started using this: before it, the top friction was losing context mid-session, nine sessions blocked. After it, that friction is gone from the report entirely, and what's left is agents colliding with each other.

So I stopped guessing and built six separate countermeasures against it. This is what they turned into. Everything on this page (the 223 plans, the receipt, the daemon answering above) is my own working record, because right now I am also the customer, and I'd rather say that than borrow someone else's logo.

Myles BryningFounder, CueCrux · Cambridge, UK

05 · the disclosure

What we don't prove.

Every honest graphic shows where the data stops. This is the table we would hand an auditor, published before anyone asks for it, because the first question a serious reviewer has is never what do you capture. It is what can bypass capture.

EventWhat is capturedWhat can bypass captureWhat the receipt does not prove
A fact written to local memoryThe value, the writer's passport, the time, the hash chain position, and an Ed25519 signature.Nothing. The write goes through the daemon or it does not happen.That the fact is true. A mistaken or compromised writer can put a false fact into a perfectly valid chain.
A retrieval an agent performedThe query, the evidence returned, the token budget it ran under, and the coverage score.Anything the agent read outside the daemon: a file it opened directly, a page it fetched.That the retrieved evidence was the only evidence the agent used.
A tool call or file write by a cloud agentWhat the agent reported through MCP, and any action it routed through the daemon.Direct calls to the model vendor's API, and any shell the agent ran outside a governed path.That the agent did what the record says. Today's receipts are self-signed and local: they are a verifiable record of what was stored and retrieved, not third-party attestation of conduct.
A capability grant or revocationThe token minted, its scope, its expiry, and the revocation event with its time.Credentials the agent holds that were never minted as RCX capabilities.That every holder has stopped using it. Local revocation is immediate; fleet-wide propagation across machines is roadmap.
The cost of a sessionPer-agent and per-verb cost, priced at the moment it happened and signed so it cannot drift.Spend on vendor surfaces the daemon never sees.A complete bill. It reconciles what passed through the daemon, and says so.

The gap we will not paper over

The receipt we have not built yet

The honest bar for evidence is a receipt an external party captures, so a compromised agent cannot write its own history. Today CueCrux mediates only local models. An Anthropic and OpenAI capture path is the largest single build on our roadmap, and until it ships we will not use flight-recorder language.

The full coverage matrix →

06 · our own record

We built this on the thing we're selling you.

One quarter of our own work, as the daemon recorded it: 223 plans, 689 gated milestones, 255 million output tokens, one full turn of the clock. Press replay. Every arc is a real plan and every tick is a gate that actually passed, which is the only reason we are willing to put it on the front page.

18 May1 Jun1 Jul66 days223plans
completein progressblockedone ring = a packing lane · one arc = one plan · one tick = a gated milestone · a full turn = 66 days
hover any arc for the record behind it
223 plans · 689 gated milestones · 2026-05-18 → 2026-07-22 · source GET /v1/work?source=execplans on host crux, snapshot 2026-07-22. Time runs clockwise from 12 o'clock; the empty ring track is real silence, not a gap in the drawing. Angular scale is shared by every ring, so two arcs at the same clock position happened on the same day. Arc length is not comparable across rings. Ten days near the rim draws far longer than ten days near the hub, because radius encodes packing order and nothing else. Read duration off the cartesian chart at the top of this page; read rhythm, volume and silence off this one.

And it is running right now.

The same daemon, in production, answering as you read this. Version, commit and node are whatever it reports at the moment this page loaded, not a badge we drew.

crux.cuecrux.comGET /healthz
statusok
version0.5.55
commitba12798
nodenode-c4ad369f…
shards4
ingestflowing
round trip444ms
read at18:00:34

Read live from our own production daemon, server-side, every 20 seconds. The console it belongs to refuses to be embedded (frame-ancestors 'none'), which is the correct setting and not one we are going to relax for a marketing page, so this is the daemon's own public health surface instead, printed verbatim.

07 · the vow

Leaving is a supported feature.

One command produces a signed, re-importable bundle of everything: your facts, your sessions, your receipts, your audit journal, hash-pinned. Not an export request, not a support ticket, not a CSV of what we felt like giving you.

corecruxctl context-export --out ./mine.cruxpack

We do this because a memory substrate you cannot leave is not a substrate, it is a hostage situation. The free tier is never clipped to sell you a paid one, and the boundary between them is architectural, not a licence key. You cannot pay us to hold your data.

08 · price

Free daemon. Paid proof.

The tiers are named for the moment you need them, not for the feature list. Most people never leave the first one, and that is the design.

£20per seat / month, excl. VAT

When it's more than one machine.

Continuity across your machines, without moving your data.

See what it adds
£50per seat / month, excl. VAT

When someone asks.

Evidence and coordination for a fleet you are accountable for.

See what it adds

Prices in GBP, per human seat. Metered compute (managed embedding, offloaded retrieval, attestation) is billed separately and is available on any tier. Only guarantees are gated. The full tier-by-tier comparison, including the private-deployment tier, is on the pricing page.

09 · start

Sixty seconds, and the trail exists.

Install it before the incident, not during one. It signs from the first minute, whether or not you ever pay us, and the day you need it the record is already three months deep.

One binary. No account. No GPU. Nothing leaves the machine.

curl -fsSL https://cuecrux.com/install.sh | sh -s -- --verify

The installer refuses to run unverified, and never auto-starts a service.

Or let the agent you already run do it:

Install the Crux Daemon from cuecrux.com/install and wire it into my MCP config.

Paste that to Claude Code or Codex. It knows what to do.