/technology/capabilities/ · The whole surface

Every capability, its status, and the evidence.

Two things are described here and the label controls the tense. Harness is the open-source Rust core, and most of it is shipping in the public repo today. Cratefield is the managed service that would run it, and it is not running yet. Nothing below claims otherwise, and every shipping row links to the code that backs it.

Shippingmerged, tested, in the public repo Designedspecified in public issues, unbuilt Plannednamed, unspecified

Every Harness and Cratefield capability with its current status and evidence.
Capability What it is Status Evidence
Harness coreModule trait, Harness builder, 23 ports, problem+json errors, request scope, event bus, template registryShippingcratefield-core 0.10.1
Edge runtimeD1, KV, rate limiting and wait_until mapped to portsShippingcratefield-runtime-cloudflare 0.5.0
AdaptersSQLite, Postgres, Resend, Turnstile, APNs, FCM, Web Push, Stripe, Polar and moreShipping24 published adapter crates
Modules17 published module crates — email-signup, waitlist, cms, notifications, webhooks, telemetry and more; email-signup, waitlist and cms each declare a UI surfaceShippingcrates/module-*
fz CLI, conformance kit, contract versioningCI: fmt, clippy -D warnings, tests, cargo deny, worker-build --releaseShipping.github/workflows
Postgres adapter, native runtimeThe same modules as a native tokio binary on Postgres; every module tested against both engines; fz data export moves a venture acrossShipping#18–#21
PaymentsA Payments port with Stripe and Polar adapters — Stripe over the form-encoded REST API with HMAC webhook verification, Polar as merchant of record. No card data crosses the portShipping#102, #690, cratefield-adapter-stripe 0.3.4, cratefield-adapter-polar 0.2.3
PushA Push port with an APNs adapter and an ES256 provider JWT. The code is merged and tested; a live send against Apple’s sandbox is not yet on the recordShipping#104, cratefield-adapter-apns 0.3.2
Blob storageA Blob port with an R2 adapter on the Cloudflare runtime and a directory adapter on the native oneShipping#105
RealtimeA Realtime port with an in-process adapter, which is the native runtime’s halfShipping#103
AI modelsA TextModel port asked by tier, never by vendor: streaming, structured output, tool calling and image input, with Anthropic and OpenAI-compatible adapters — the latter at any base URL: OpenAI, OpenRouter, Workers AI’s compatible endpoint, or a local serverShippinganthropic, openai-compatible
ClassifierA Classifier port for typed, calibrated decisions over batched questions, with adapters over a purpose-trained model, over any wired TextModel, and over Workers AIShippingtypesafe, classifier-llm, workers-ai
Declared tables and data APITables declared in the venture manifest become DDL, row validation and a JSON Schema view, served as permission-checked CRUD routes with a typed client generated from the published contractShipping#153, tables
EmailOutbound mail over the Mailer port — Resend or Owlpost — venture-themed HTML and plain-text templates, and inbound mail verified and deduplicated before a module sees itShippingresend, owlpost, mail-templates
Background workCron-scheduled jobs fanned out to every module on both runtimes, a transactional outbox with at-least-once delivery, an inbox dedup ledger, and deferred work that outlives the responseShippingcratefield-core
TrackerFiling into someone else’s tracker with per-tenant, envelope-encrypted credentials — GitHub Issues, Jira, Linear, or a signed webhookShippinggithub-issues, jira, linear, webhook-tracker
Usage meteringA durable per-subject allowance counter — what a subject may spend this period and what they have spent, checked locally before the network callShipping#588
TelemetryCounted aggregate usage telemetry with a consent model built in — pseudonymous, failing closed, accumulated in the venture’s own databaseShippingtelemetry
Custom hostnamesCustomer-owned hostnames served by the venture over Cloudflare for SaaS; refusals are recorded failures, not silentShippingcloudflare-saas, #590
OrgsOrganizations, memberships, roles, invitations, service accounts, access grants and an audit logShippingorgs
ConnectionsPer-subject OAuth connections — authorize, sealed token storage, refresh, revoke — with presets for X, Google, LinkedIn, Vercel, GitLab and LinearShippingconnections, oauth-client
Device authThe OAuth 2.0 device authorization grant (RFC 8628): a client shows a code, a signed-in person approves it, and the venture’s issuer mints the credentialShippingdevice-auth, #587
Outbound webhooksPer-subscriber endpoints with HMAC-signed deliveries, exponential backoff, dead letters and replayShippingwebhooks, #536
PrivacySubject access and erasure driven by what each module declares it holds — one export or erase reaches the whole ventureShippingprivacy
ChangelogA project’s GitHub releases or CHANGELOG.md mirrored into the venture’s own database and served over an API — reads hit the database, never GitHubShippingchangelog
TelegramA TelegramBot port over the Telegram Bot API, with a module for bot-side state and flowsShippingtelegram-bot, telegram
CRMContacts, organisations and tags, with an idempotent upsert API other modules can callShippingcrm
SealedThe server half of client-side sealed blobs — opaque ciphertext at rest, crypto-shred erasure, no server-side recovery pathShippingsealed
Wallets, keys and guardrailsLink EVM and Solana wallets by signature; sign by key reference through a policy engine — hard denies, allowlists, required simulation, micro-USD caps, a kill switch and audit — with Turnkey as a providerShippingwallets, guardrails, turnkey
i18nServer-side localisation: Fluent catalogs, BCP 47 negotiation and text direction, shared by mail, push and the auto-constructed UIShippingi18n
Supabase importerA read-only inspect that classifies every schema object, RLS policy and auth provider, then moves auth users with a dry-run by defaultShippingimport-supabase
MCP serverThe fz CLI as MCP tools — plan, deploy, add modules, verify — so a coding agent drives the same commands a developer would; served from source, not on crates.ioShippingmcp
Browser runtimeThe same harness compiled to wasm on sqlite-wasm/OPFS for in-browser preview; unpublished, and not a third deployment target yetShippingruntime-browser
Realtime at the edgeThe same port backed by a Cloudflare Durable Object, so realtime works on the hosted runtime too. Specified, unbuiltDesigned#103
NotificationsOne notify() call fans out across push (APNs on iOS, FCM on Android, Web Push for browsers and for Google-free Android over UnifiedPush, since both speak RFC 8030), an in-app inbox that needs no permission and updates live over the Realtime port, and email over the Mailer port with RFC 8058 one-click unsubscribe, each in the recipient’s own language resolved at delivery timeDesignedepic #192, #177–#191, #201
Auto-constructed UIModules declare a surface; the harness serves /__surface, renders forms and admin pages at /ui, and ships a 4 KB embed for static sitesShippingcratefield-ui 0.4.2
Auth: passkeys, GoogleSessions, account linking, authorization code + PKCE, ES256 JWTs with JWKS, and a client crate that verifies themShippingauth-core, auth-passkeys, auth-oidc
Auth: the restApple, Meta, email and password, magic links, rate limiting and lockout. Email and password needs the paid Workers plan: Argon2id at m=19456, t=2, p=1 is ~40 ms per verify and the free tier allows 10 ms of CPUShippingApple in auth-oidc; auth-meta, auth-password, auth-magic-link
Sidecar mountA module as its own worker over a service binding, mounted at the same path, its surface merged into /__surfaceShipping#57, #60, #76
Sidecar programmeBuild-artifact cache, cold-start handshake, module template, conformance parity across both mounts, deployment model (#67 decided for v1)Designed#56, #59, #61–#67
Multi-tenant schema systemPer-tenant migration history and checksums ship; boot-time reconciliation and one database per tenant on the native runtime are specified, unbuiltDesigned#23, #26–#36
Secrets, KMS, auditTwo-tier secrets, envelope encryption, KMS trait, tamper-evident audit chain, key rotationShippingcratefield-secrets 0.4.2, cratefield-kms 0.2.0
Cratefield control planeSign in behind a whitelist, pick modules, connect Google, get a running backend: accounts, catalog, connections and the provisioning enginePlannedbuilding in the open · not running
Hosted on our accountWorkers for Platforms, dispatch namespacesPlanneda pre-scale upgrade, not adopted
Published crates65 crates on crates.io, MIT. cratefield-core is at 0.10.1. cargo add cratefield pulls the core and picks a runtime, adapters and modules by featureShippingcrates.io, version history

Every published module has a page under /modules/, with the ports it asks for and the routes it serves. The managed control plane is being built in the open in Cratefield/harness. It is not running and not available, so it stays Planned, and no fee for it is purchasable; when it runs, this table says so.