TECHNOLOGIE / OPEN SOURCE
Gewöhnliche Teile. Einmal zusammengesetzt.
Jedes Venture braucht ein Backend, und keines sollte eines bauen. Die Teile, die ein Unternehmen zum Bestehen braucht, werden einmal geschrieben, als Open-Source-Harness in Rust. Ein Venture wählt die gewünschten Module, verdrahtet sie in einer Datei und wird als ein einziger zustandsloser Worker mit eigener Datenbank ausgeliefert.
Die Factory in Zahlen
- Ventures
- 2317 Validierung · 1 Prototyp · 5 Launch
- im Stack
- 17von 23 Ventures, die gemeinsamen Teile
- Open Source
- 118 MIT · 3 Apache-2.0
- laufen auf dem Harness
- 1818 heute live · 1 geplant
- Entscheidungsprotokolle
- 30im Harness-Repository
SO WIRD EIN VENTURE GEBAUT
Eine Datei benennt das Unternehmen.
Ein Venture-Backend ist ein kleines Rust-Projekt. Es listet die verwendeten Module, die Adapter, die sie mit der Außenwelt verbinden, sowie Namen und Domain der Venture auf. Alles andere ist der Harness. Beim Build entsteht ein Worker, der genau diese Module enthält und nichts sonst.
Braucht ein Modul etwas, das die Laufzeit nicht liefern kann, oder beanspruchen zwei Module dieselbe Tabelle, schlägt der Build fehl, bevor etwas deployt wird. Ein falsch konfiguriertes Venture kann nicht in Produktion gelangen.
Harness::builder() .venture(Venture::new("factory0", "factory0.ventures") .cors_origins(["https://factory0.ventures"])) .module(EmailSignup::new().double_opt_in(true)) .module(Waitlist::new() .products(["kontinuum", "undercover-rockstars"])) .runtime(Cloudflare::new() .db("DB") .mailer(Resend::from_env()) .captcha(Turnstile::from_env())) .build()?
- Schritt 1
Benennen
Die Venture, ihre Domain, ihre Module und die Adapter, die für sie antworten. Eine Datei.
- Schritt 2
Zusammenstellen
Der Build lehnt ein Modul ab, dessen Port die Runtime nicht bereitstellt, sowie zwei Module, die dieselbe Tabelle oder Route beanspruchen.
- Schritt 3
Ausliefern
Ein zustandsloser Worker, der genau die aufgelisteten Module enthält, mit eigener Datenbank, eigenen Geheimnissen und eigener Domain.
DIE EBENEN
Sechs Ebenen, von der Runtime bis zu den Produkten.
Von unten nach oben gelesen: wo Code läuft, der Harness, aus dem jedes Backend kompiliert wird, die Backends, die gemeinsamen Produkte, die Agenten, die das Unternehmen betreiben, und die eigenständigen Ventures. Ausgefüllte Chips sind heute live, umrandete Chips sind im Harness, gestrichelte Chips sind geplant.
Cloudflare Workers, nach WebAssembly kompiliert
Wo jeder Venture-Worker läuft. Daten und Mail liegen daneben, und derselbe Code kann auf einem Server laufen.
Cratefield: der Open-Source-Rust-Kern
Ports, der Router und die Module. Ein Modul fordert einen Port an; ein Adapter antwortet.
Ports
Module
Ein Worker und eine Datenbank pro Venture
Jede Venture wird aus dem Harness zusammengestellt und eigenständig deployt. Heute live auf dem Harness:
Der Stack: Produkte, an die jede Venture andockt
Die gemeinsamen Produkte, nach ihrer Aufgabe in Regale sortiert. Jedes ist ein Unternehmen mit eigenen Kunden.
Ausliefern & betreiben
VibeCaddie
Keep Shipping
release.show
Shoal
Kommunikation
Owlpost
Squeezin
Sicherheit
promptdecode
Sealbin
Kunden
SupportGenius
PosPlugin
Ledgers
Inhalte & KI
Kontinuum
Living Brain
Tokker
Ghostwritin'
Fünf Ebenen, ein Agent für jede Funktion
Jede Funktion in jeder Ebene ist ein Agent. Colonizer betreibt die Coding-Agenten für die Build-Ebene.
- DISCOVER3 Agenten
- BUILD4 Agenten
- OPERATE4 Agenten
- DISTRIBUTE3 Agenten
- LEARN3 Agenten
Colonizer: Coding-Agenten, die GitHub-Issues in Pull Requests verwandeln
Die eigenständigen Ventures
Ventures außerhalb des Stacks. Sie erben das Fundament und erweitern es nicht.
Die sechs Ebenen, von unten nach oben
- runtime: Cloudflare Workers, kompiliert zu WebAssembly. Wo jeder Venture-Worker läuft. Daten und Mail liegen daneben, und derselbe Code kann auf einem Server laufen.
- harness: Cratefield: der Open-Source-Rust-Kern. Ports, der Router und die Module. Ein Modul fordert einen Port an; ein Adapter antwortet.
- backends: Ein Worker und eine Datenbank pro Venture. Jede Venture wird aus dem Harness zusammengestellt und eigenständig deployt. Heute live auf dem Harness:
- shelves: Der Stack: Produkte, an die jede Venture andockt. Die gemeinsamen Produkte, nach ihrer Aufgabe in Regale sortiert. Jedes ist ein Unternehmen mit eigenen Kunden.
- agents: Fünf Ebenen, ein Agent für jede Funktion. Jede Funktion in jeder Ebene ist ein Agent. Colonizer betreibt die Coding-Agenten für die Build-Ebene.
- products: Die eigenständigen Ventures. Ventures außerhalb des Stacks. Sie erben das Fundament und erweitern es nicht.
EINE ANFRAGE, DURCHGÄNGIG
Wer was tut, wenn sich ein Besucher anmeldet.
Gezeichnet ausschließlich aus den Verbindungen im Registry. Eine durchgezogene Linie ist heute live und führt Traffic; eine gestrichelte Linie ist geplant und führt noch keinen.
Besucher
eine Person auf einer Venture-Seite
Venture-Worker
ein Worker pro Venture, auf dem Cratefield-Harness
liveOwlpost
E-Mail für die Ventures
liveSupportGenius
Fehlerberichte und Support
geplantColonizer
Coding-Agenten, auf dem Harness
liveLiving Brain
Wissen, das bewahrt, was funktioniert hat
geplant
Die Verbindungen in diesem Ablauf: Besucher zum Venture-Worker, HTTPS-Anfrage: live. Venture-Worker zu Owlpost, Bestätigungsmail: live. Venture-Worker zu SupportGenius, Fehler werden zu Issues: geplant. SupportGenius zu Living Brain, Support speist das Wissen: geplant. Colonizer zu Living Brain, Agenten speisen das Wissen: live.
MODULE SEHEN NUR PORTS
Ports auf der einen Seite. Adapter auf der anderen.
Ein Modul fordert einen Port an, niemals einen Anbieter. Die Runtime antwortet über einen Adapter. Die Adapter gehören dem Harness; der Status zeigt, wo eine Live-Venture heute einen nutzt.
-
Database
Tabellen, Abfragen und Migrationen
- D1 (live)
- Postgres (im Harness)
- SQLite (im Harness)
-
Mailer
transaktionale Mails
- Resend (live)
- Owlpost (geplant)
-
Captcha
eine Bot-Prüfung, im Zweifel ablehnend
- Turnstile (im Harness)
-
KeyValue
kleiner Key-Value-Zustand
- Cloudflare KV (im Harness)
-
RateLimiter
Anfragebudgets pro Schlüssel
- Cloudflare Rate Limiting (im Harness)
- Redis (im Harness)
-
Payments
Checkout und Abrechnung
- Polar (geplant)
- Stripe (im Harness)
-
TextModel
eine Modellantwort
- Anthropic (im Harness)
- OpenAI-compatible (im Harness)
-
Push
Benachrichtigungen an Geräte
- APNs (im Harness)
- FCM (im Harness)
- Web Push (im Harness)
-
Signer
Signieren per Schlüsselreferenz
- Turnkey (im Harness)
Ports und ihre Adapter: Database (Tabellen, Abfragen und Migrationen): D1 (live), Postgres (im Harness), SQLite (im Harness). Mailer (transaktionale Mails): Resend (live), Owlpost (geplant). Captcha (eine Bot-Prüfung, die im Zweifel ablehnt): Turnstile (im Harness). KeyValue (kleiner Key-Value-Zustand): Cloudflare KV (im Harness). RateLimiter (Anfragebudgets pro Schlüssel): Cloudflare Rate Limiting (im Harness), Redis (im Harness). Payments (Checkout und Abrechnung): Polar (geplant), Stripe (im Harness). TextModel (eine Modellantwort): Anthropic (im Harness), OpenAI-compatible (im Harness). Push (Benachrichtigungen an Geräte): APNs (im Harness), FCM (im Harness), Web Push (im Harness). Signer (Signieren per Schlüsselreferenz): Turnkey (im Harness).
DESIGNREGELN
Vier Regeln, die das Design einhält.
01
Module sehen nur Ports.
Ein Modul verlangt eine Datenbank, einen Mailer, ein Captcha. Es berührt nie ein Cloudflare-Binding oder einen Anbieter-Client. Adapter antworten. Diese eine Regel macht den späteren Wechsel weg von Cloudflare zur Änderung eines einzigen Crates.
ModulMailerAdapter02
Die Komposition geschieht zur Compile-Zeit.
Kein Plugin-Laden, kein Registry-Dienst, keine Überraschungen zur Laufzeit. Der Worker enthält, was die Venture aufgelistet hat, und der Compiler ist der erste Reviewer. Ein Modul, dessen Quellcode nicht in den gemeinsamen Build gelangen soll, kann als eigener Worker laufen, über ein Service Binding unter demselben Pfad eingebunden. Es ist weiterhin zusammengestellt, nur nicht in dieselbe Binärdatei.
kompilierenablehnendeployen03
Ein Venture, eine Datenbank.
Zur Laufzeit wird zwischen Unternehmen nichts geteilt. Jedes hat seinen eigenen Worker, seine eigenen Daten, seine eigenen Secrets. Ein Venture lässt sich sichern, verschieben oder abschalten, ohne ein anderes zu berühren.
WorkerDatenbankGeheimnisseWorkerDatenbankGeheimnisseWorkerDatenbankGeheimnissekeine gemeinsame Runtime
04
Zustandslos von Grund auf.
Nichts überdauert eine Anfrage außer dem, was in die Datenbank geschrieben wird. Bestätigungs- und Abmeldelinks sind signierte Tokens, sodass kein Session-Speicher betrieben, skaliert oder geleakt werden muss.
AnfrageWorkerDatenbankkein Session-Speicher
STATUS
Wo der Harness steht.
Der Fortschritt wird offen als Issues und Meilensteine verfolgt.
- M0erledigt
Fundament
Workspace-Tooling, Core, die Cloudflare-Runtime, die Adapter für Resend und Turnstile, der SQLite-Adapter, die fz-CLI und das Test-Kit.
- M1erledigt
Erste Module
E-Mail-Anmeldung, Warteliste, Templates, die Sicherheits-Baseline und Observability.
- M2in Arbeit
Erste Venture live
Veröffentlichung auf crates.io, Dokumentation, Versionierung der Verträge und die erste Venture auf ihrer eigenen API-Domain.
- M3erledigt
Portabilität für Self-Hosting
Der Postgres-Adapter, die native Runtime, eine Paritäts-Suite auf SQLite und Postgres sowie Datenexport und -import.
- DESIGN
- 30 Entscheidungsprotokolle, alle im Repository
- ARCHITEKTUR
- 12 Abschnitte im Architekturdokument
- ERSTE MODULE
- E-Mail-Anmeldung und Warteliste, gebaut
- VERÖFFENTLICHT
- Die meisten Crates sind auf crates.io. Eine Release-Runde steht noch aus.
- MANAGED SERVICE
- Noch nicht gebaut. Die Control Plane ist entworfen, nicht geschrieben.
Harness-Zahlen: gelesen aus Cratefield/harness am 2026-10-21.
SICHERHEIT UND DATENSCHUTZ
Sechs Ebenen zwischen einer Anfrage und den Daten.
Jede Ebene ist eine Kontrolle, die der Harness dokumentiert. Die vollständige Liste steht in seinen Sicherheits- und Datenschutzdokumenten.
- 01 · EDGE
Nur die eigenen Origins der Venture
Der Worker der Venture antwortet auf ihrer eigenen Domain. CORS erlaubt nur die Origins, die die Venture auflistet, und jede Antwort gibt eine Request-ID zurück.
- 02 · MISSBRAUCH
Bots und Floods
Turnstile, im Zweifel ablehnend. Rate Limits auf jedem öffentlichen Schreibzugriff, über den RateLimiter-Port.
- 03 · ANFRAGEN
Fehler und Logs ohne Adressen
Fehler sind problem+json mit einem festen Slug je Fall. Eine strukturierte Zeile pro Anfrage, niemals eine E-Mail-Adresse.
- 04 · TOKENS
Links statt Sessions
Bestätigungs- und Abmelde-Links sind HMAC-signiert, mit Schlüsselrotation. Es gibt keinen Session-Speicher, den man betreiben, skalieren oder dessen Daten abfließen könnten.
- 05 · GEHEIMNISSE
Envelope-Verschlüsselung
Geheimnisse sind per Envelope-Verschlüsselung geschützt und an ihre Zeile gebunden. Der Local-File-Provider des KMS-Ports verweigert den Produktivbetrieb.
- 06 · ISOLIERUNG
Eine Venture, eine Datenbank
Keine Runtime wird zwischen Unternehmen geteilt. Jedes hat seinen eigenen Worker, eigene Daten und Geheimnisse und kann einzeln verschoben oder abgeschaltet werden.
WAS OFFEN IST
Die Fabrikhalle ist öffentlich. Die Rezepte nicht.
Der Harness, seine Runtime, seine Adapter und die ersten beiden Module stehen unter der MIT-Lizenz und werden offen entwickelt. Jeder kann darauf ein Backend bauen, und jede Venture, die wir betreiben, tut das. Die Module, die abbilden, wie Factory Zero seine Unternehmen betreibt, bleiben privat. Auch das Backend jeder Venture ist privat.
Ein Venture ist das Harness selbst. Cratefield nimmt das Open-Source-Harness und fügt die verwaltete Schicht darum hinzu: Es würde den Worker, die Datenbank und die Secrets in Ihrem eigenen Cloudflare-Konto bereitstellen und anschließend betreiben. Das Harness ist real und läuft; diese Control Plane ist entworfen und noch nicht geschrieben. Hier verdient die Modulgrenze auch ihren Platz: Ein Kunde kann ein eigenes Modul bauen und deployen, ohne dass der Quellcode je zu uns gelangt.
Entscheidungen werden festgehalten, während sie fallen. Das Architekturdokument und die Entscheidungsdokumente liegen im Repository, einschließlich desjenigen, das festhält, warum ein erster Versuch verworfen wurde.
- MITHarnessKern, Laufzeit, Adapter, E-Mail-Anmeldung, Warteliste, CLI, Test-Kit
- DOKArchitekturder vollständige Entwurf, zwölf Abschnitte
- ADREntscheidungsprotokollewarum Rust, warum Ports, warum die Zusammenstellung zur Kompilierzeit erfolgt
- MITVenture-Backend-Templateder Ausgangspunkt für ein neues Venture-Backend
- SRCdiese Websitestatisch, kein Build-Schritt, keine Abhängigkeiten
- FZ-004Cratefieldder verwaltete Service, der auf dem Harness gebaut wird
- ORGgithub.com/Factory-Zerodie Studio-Organisation; das Harness selbst liegt jetzt unter Cratefield
Lizenzen im gesamten Stack
Von den 17 Ventures im Stack sind 11 Open Source, jedes mit einem öffentlichen Repository unter einer OSI-Lizenz. Die Leiste und die Kacheln werden aus dem Lizenzfeld des Registers gespeist.
KontinuumMIT
CratefieldMIT
ColonizerMIT
SupportGeniusMIT
promptdecodeMIT
Keep ShippingMIT
LedgersMIT
Ghostwritin'MIT
SealbinApache-2.0
Living BrainApache-2.0
TokkerApache-2.0
VibeCaddieNicht Open Source
PosPluginNicht Open Source
OwlpostNicht Open Source
release.showNicht Open Source
ShoalNicht Open Source
SqueezinNicht Open Source
Stack-Ventures nach Lizenz: Kontinuum: MIT. Cratefield: MIT. VibeCaddie: Nicht Open Source. Colonizer: MIT. SupportGenius: MIT. promptdecode: MIT. PosPlugin: Nicht Open Source. Keep Shipping: MIT. Owlpost: Nicht Open Source. Sealbin: Apache-2.0. release.show: Nicht Open Source. Living Brain: Apache-2.0. Shoal: Nicht Open Source. Tokker: Apache-2.0. Ledgers: MIT. Ghostwritin': MIT. Squeezin: Nicht Open Source.