← All projects

HonorAnchor

0 comments

What it does

A TypeScript port of the Accountable Crew idea — agents that hire each other under a spend mandate, with every spend gated and every action receipted — onto the Mozaik v4 runtime (@mozaik-ai/core 4.2.0). Demo thesis: "trust me" multi-agent demos become provable ones. Two concurrent agents (Lead + Researcher) work a job under Warrant-shaped spend mandates. Every simulated spend is checked by a cumulative mandate gate before it executes; overspend, tampering, and anonymous spending are blocked; the whole run leaves a signed receipt trail anyone can verify offline with one public key. It is NOT the Python build. No live Agent-Rider rail, no MCP calls, no x402/on-chain payment, no Zetaris, no real money. Spend is simulated cents against mandate caps. The receipt trail is a signed receipt trail, CuNi-shaped check envelopes reimplemented in TypeScript — NOT the verified Python cuni_envelope. Verification proves signature + canonical integrity only. Inference is scripted (deterministic, labeled "scripted" in every receipt). The demo runs with zero API keys. Keys are fresh ephemeral Ed25519 key pairs generated in memory at runtime. Verified locally: 18/18 tests, 17/17 receipts, run run-2026-10-31T103002Z, re-verified run-2026-10-31T103634Z. Add-on (per Corey): Boxoffice — https://github.com/ceedot-rock/boxoffice — in-memory HTTP JSON API for selling event tickets: accounts, events with tiers, held orders, discount codes, waitlist, sales report (TypeScript, Node 22, zero runtime dependencies).

How the agents run concurrently

Two concurrent agents, Lead and Researcher, plus an operator and an Observer, run on Mozaik v4 (@mozaik-ai/core 4.2.0). The operator (createHuman) sends STEP messages to Lead / Researcher (createAgent); each agent reacts only to its own STEP: prefix. In the recorded demo transcript, Lead (10c) and Researcher (15c) loops are sent with no await between them — the transcript shows both inference.started at 19:08:40.326Z, overlapping completions, and 2 distinct loopIds in the window. They share state through CrewState (shared RuntimeState). Tools read runtime state lazily at invoke time: pay_for_research (gated), fetch_price (free), and deliver_result (free). The Observer's event log (transcript.log) shows loop interleaving. Every simulated spend is checked by the cumulative mandate gate (MandateLedger; deny codes WARRANT_DENIED | WARRANT_EXPIRED | OVER_BUDGET | AGENT_MISMATCH) before it executes, and each action leaves a signed receipt in trail.jsonl, verified offline with the issuer public key only.

Comments

No comments yet.

Sign in to like and comment