What changed.
Fleet product changes. Spec changes — wire format, scope grammar, audit-bundle structure — live at docs.ochk.io and in the relevant oc-*-protocol repo's CHANGELOG.md. We do not bundle protocol-spec changes into product release notes.
- v1.2.02026-05-03v1.2.0renameadaptersnpm
console.ochk.io → fleet.ochk.io · four adapter packages shipped.
Big rebrand. The commercial managed-infra surface is now fleet.ochk.io. “Console” was a generic developer-tools word that said nothing about what we do — fleet describes the product literally: enterprise fleet management for AI agents that hold Bitcoin-bound authority. The dashboard list at /agents is your fleet; the Pledge premium tier is fleet-wide bonded reputation; the audit bundle is your fleet's replayable history. The name finally matches the surface.
Four adapter packages shipped. The integration story stopped being “available to design partners on request” and became “
yarn addand go.”@orangecheck/agent-anthropic,@orangecheck/agent-openai,@orangecheck/agent-vercel, and@orangecheck/agent-langgraphall published at v0.2.0. Each one shipsstamp…,postActionToFleet, and a high-level wrapper (invokeWithStampAndPost,ocTool, orocToolNode) — pre-call scope enforcement, post-call agent-action envelope emission, optional fire-and-forget POST to fleet.ochk.io. Each is MIT.Webhook verifier published.
@orangecheck/webhook-verify@0.2.0— drop-in HMAC-SHA256 timing-safe verifier for outbound webhook deliveries. Three lines on your endpoint replaces a hand-rolled comparator (which is the only place hand-rolling timing-safe HMAC ever fails closed).Family-wide rebrand mechanics. 10 repos updated (every
oc-*-webfooter, the docs site's /fleet section,oc-www's products list,oc-me-web's charter cross-pointers, and the v1.2-federation prose inoc-agent-protocol);@orangecheck/ui@0.2.0with the renamedEcosystemSwitcherslug; Vercel project renamed; GitHub repo renamed;ConsoleClient→FleetClient,postActionToConsole→postActionToFleetacross every adapter. No redirects: we confirmed nobody was using the old domain.Persistence is live. The v1.1 in-memory mock has been replaced with real Postgres-via-Drizzle-via-Supabase-pooler. /api/health/deep probes the live DB on every check. Dashboard pages still keep the mock-data fallback when
DATABASE_URLisn't set, so the OSS self-host path is preserved.Subdelegation cron coverage. The three background workers (
republish-nostr,retry-webhooks,upgrade-ots) now handle subdelegation envelopes (kind 30086) alongside delegation envelopes. Envelope-class symmetry in the audit pipeline — no special-case branches between the two. - v1.1.12026-04-29v1.1.1authfix
sign-in fixed (was looping); contract test added.
A real bug shipped in v1.1: clicking sign-in routed to the auth host but landed back on whichever page you started from instead of
/dashboard, and once you were on/dashboardthe session-check endpoint didn't exist on fleet — so the auth gate looped you back to ochk.io which sent you back to the dashboard which looped again. Three real bugs stacked into one symptom.Three fixes:
- The header sign-in chip used
return_to=<current_page>as default (auth-client behavior). NowOcSessionProvidersetsdefaultReturnTo="/dashboard"so every sign-in lands on the operator surface regardless of where you clicked from. /signinandDashboardShellwere sending?redirect=to ochk.io but the auth host accepts?next=or?return_to=— so my param was silently dropped. Both call sites now use the canonical?return_to=./api/auth/medidn't exist on fleet. The provider polled it, got 404, flippedstatustoerror, the dashboard guard redirected to ochk.io, ochk.io bounced back, repeat. Endpoint now implemented (Ed25519 verify againstOC_AUTH_PUBLIC_JWK, no DB), with a contract test that catches this exact bug class.
Plus a few more low-risk additions in the same window:
/api/auth/logout(local cookie hygiene),/api/health(liveness probe for uptime monitors), /500 custom server-error page, /press brand kit,/docs308 → docs.ochk.io.Lesson: 200-status smoke tests don't catch redirect-loop logic. Live auth flows now have contract tests that exercise the real signing + verification path so this class of bug fails in CI, not in production.
- The header sign-in chip used
- v1.1.0 + v1.2 / v2 previews2026-04-28v1.1dashboardcheckoutfederationpledge
operator surface, real checkout, federation plan, pledge composer.
Big push. Same release window as launch but the surface multiplied:
Language fix. Every “OpenTimestamps anchor” reference now leads with OC Stamp — receipts are OC Agent action envelopes (kind 30084) reusing OC Stamp's envelope structure; OpenTimestamps is named only as the underlying anchor rail. We dogfood the family.
v1.1 — operator dashboard. /agents, /agents/new,
/agents/[id]with overview / scope / audit / settings tabs, /audit with full filtering + signed-bundle export, /billing with cycle usage + invoice history at sat-USD parity, /team with RBAC + SSO config, /settings with project, scope-policy, API tokens, webhooks, danger-zone. Sidebar shell auth-gated againstochk.io; backend persistence wired against in-memory mock until v1.2.v1.1 — real checkout, env-driven. /pricing Pro CTAs now POST to
/api/checkout/stripe(Stripe Checkout subscription mode) and/api/checkout/lightning(BTCPay Server, BTC + BTC-LN, no custodian). Webhooks at/api/webhooks/{stripe,btcpay}with raw-body signature verification. Buttons fall through to/contactwhen env isn't set — no broken UX, real activation is just a credentials swap.v1.1 — integration detail pages. anthropic, openai, vercel-ai, langgraph. Each documents what the adapter will do, why the stack matters, the realistic status, with a preview snippet of the eventual API.
@orangecheck/agent-mcpis already on npm at v0.1.0 with runnable examples inoc-agent-examples; the MCP page reflects that.v1.2 preview — federation sign-in. /federation explains the strategic case for Fedimint guardians as first-class principals (M-of-N BIP-322 quorum). The /signin chooser shows both methods; federation is gated “v1.2” with a link to the explainer.
v2 preview — pledge premium tier. Public reputation profiles at
/a/[address]render every published OC Pledge against an address — claim, resolution rule, bonded sats, witnesses, delivery state, OC Stamp anchor. Pledge composer at /reputation/compose drafts an envelope with live JSON preview; ends at “sign in wallet” pending v2 wallet plumbing. - v1.0.02026-04-28launchmarketing-surfaceauthmcp-preview
fleet.ochk.io launches.
First public version of OrangeCheck Fleet. Marketing surface live with full copy: why, integrations, pricing, reputation, security, charter, about, contact, status.
BIP-322 sign-in routed through the family auth host at
ochk.io. Dashboard stub at /dashboard accepts design-partner waitlist signups.MCP integration page published. The
@orangecheck/agent-mcpadapter — already on npm at v0.1.0 — is the canonical reference.
Spec changes live in the relevant oc-*-protocol repo's CHANGELOG.md. Package changes live in oc-packages.