TEKNOLOGI / OPEN SOURCE

Komponen biasa. Dirakit sekali.

Setiap venture membutuhkan backend, dan tidak satu pun seharusnya membangunnya. Bagian-bagian yang dibutuhkan sebuah perusahaan untuk ada ditulis sekali, sebagai harness open source dalam Rust. Venture memilih modul yang diinginkan, menghubungkannya dalam satu berkas, dan dirilis sebagai satu worker tanpa state dengan database miliknya sendiri.

Pabrik dalam angka

venture
2317 validasi · 1 prototipe · 5 peluncuran
di stack
17dari 23 venture, bagian bersama
open source
118 MIT · 3 Apache-2.0
berjalan di harness
1818 aktif saat ini · 1 direncanakan
catatan keputusan
30di repositori harness

BAGAIMANA VENTURE DIBANGUN

Satu berkas menamai perusahaan.

Backend venture adalah proyek Rust kecil. Proyek ini mendaftar modul yang dipakai, adapter yang menghubungkannya ke dunia luar, serta nama dan domain venture itu sendiri. Selebihnya adalah harness. Build proyek ini dan hasilnya adalah satu worker yang berisi persis modul-modul tersebut dan tidak ada yang lain.

Jika sebuah modul membutuhkan sesuatu yang tidak dapat disediakan runtime, atau dua modul mengklaim tabel yang sama, build gagal sebelum apa pun di-deploy. Venture yang salah konfigurasi tidak dapat mencapai produksi.

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()?
  1. Langkah 1

    Beri nama

    Venture, domainnya, modulnya, dan adapter yang menjawab untuknya. Satu file.

  2. Langkah 2

    Susun

    Build menolak modul yang port-nya tidak disediakan runtime, dan dua modul yang mengklaim tabel atau rute yang sama.

  3. Langkah 3

    Rilis

    Satu worker stateless yang berisi persis modul yang terdaftar, dengan database, rahasia, dan domain sendiri.

LAPISAN

Enam lapisan, dari runtime hingga produk.

Dibaca dari bawah ke atas: tempat kode berjalan, harness yang menjadi sumber kompilasi setiap backend, backend, produk bersama, agen yang menjalankan perusahaan, dan venture mandiri. Chip solid aktif saat ini, chip berkontur ada di harness, chip putus-putus direncanakan.

01RUNTIME

Cloudflare Workers, dikompilasi ke WebAssembly

Tempat setiap worker venture berjalan. Data dan email berada di sampingnya, dan kode yang sama dapat berjalan di server.

Workers (wasm32)Database D1Email ResendKVTurnstilePembatasan lajuPostgres, runtime native
02HARNESS

Cratefield: inti Rust open source

Port, router, dan modul. Modul meminta port; adapter menjawabnya.

Cratefield

Port

DatabaseMailerCaptchaRateLimiterKeyValueSigner

Modul

email-signupwaitlist
03BACKEND

Satu worker dan satu database per venture

Setiap venture disusun dari harness dan di-deploy sendiri-sendiri. Aktif di harness saat ini:

ColonizerFindsYou.workSupportGeniuspromptdecodeGroove GuruPosPluginKeep ShippingOwlpostBloodrankratecla.imSealbinrelease.showLiving BrainShoalTokkerLedgersGhostwritin'SqueezinYoginini
04RAK

Stack: produk yang dipasang oleh setiap venture

Produk bersama, dirak menurut fungsinya. Masing-masing adalah perusahaan dengan pelanggannya sendiri.

Rilis & operasikan

  • VibeCaddie
  • Keep Shipping
  • release.show
  • Shoal

Komunikasi

  • Owlpost
  • Squeezin

Keamanan

  • promptdecode
  • Sealbin

Pelanggan

  • SupportGenius
  • PosPlugin
  • Ledgers

Konten & AI

  • Kontinuum
  • Living Brain
  • Tokker
  • Ghostwritin'
05AGEN

Lima lapisan, satu agen untuk setiap fungsi

Setiap fungsi di setiap lapisan adalah agen. Colonizer menjalankan agen coding untuk lapisan build.

  • DISCOVER3 agen
  • BUILD4 agen
  • OPERATE4 agen
  • DISTRIBUTE3 agen
  • LEARN3 agen

Colonizer: agen coding yang mengubah issue GitHub menjadi pull request

06PRODUK

Venture mandiri

Venture di luar stack. Mereka mewarisi fondasi dan tidak menambahinya.

Undercover RockstarsYogininiFindsYou.workGroove GuruBloodrankratecla.im

Enam lapisan, dari bawah ke atas

  1. runtime: Cloudflare Workers, dikompilasi ke WebAssembly. Tempat setiap worker venture berjalan. Data dan email berada di sampingnya, dan kode yang sama dapat berjalan di server.
  2. harness: Cratefield: inti Rust open source. Port, router, dan modul. Modul meminta port; adapter menjawabnya.
  3. backend: Satu worker dan satu database per venture. Setiap venture disusun dari harness dan di-deploy sendiri-sendiri. Aktif di harness saat ini:
  4. rak: Stack: produk yang dipasang oleh setiap venture. Produk bersama, dirak menurut fungsinya. Masing-masing adalah perusahaan dengan pelanggannya sendiri.
  5. agen: Lima lapisan, satu agen untuk setiap fungsi. Setiap fungsi di setiap lapisan adalah agen. Colonizer menjalankan agen coding untuk lapisan build.
  6. produk: Venture mandiri. Venture di luar stack. Mereka mewarisi fondasi dan tidak menambahinya.

PERMINTAAN, DARI AWAL SAMPAI AKHIR

Siapa melakukan apa, saat pengunjung mendaftar.

Digambar hanya dari tautan yang ada di registry. Garis solid berarti aktif saat ini dan membawa lalu lintas; garis putus-putus berarti direncanakan dan belum membawa lalu lintas.

  1. Pengunjung

    seseorang di situs venture

  2. Venture worker

    satu worker per venture, di harness Cratefield

    aktif
  3. Owlpost

    email untuk venture

    aktif
  4. SupportGenius

    laporan bug dan dukungan

    direncanakan
  5. Colonizer

    agen coding, di harness

    aktif
  6. Living Brain

    pengetahuan yang menyimpan apa yang berhasil

    direncanakan

Tautan dalam alur ini: Pengunjung ke worker Venture, permintaan HTTPS: aktif. Worker Venture ke Owlpost, email konfirmasi: aktif. Worker Venture ke SupportGenius, error menjadi issue: direncanakan. SupportGenius ke Living Brain, dukungan memberi masukan ke pengetahuan: direncanakan. Colonizer ke Living Brain, agen memberi masukan ke pengetahuan: aktif.

Mendaftar di sebuah venture, dan ke mana pesan berlanjut setelahnya. Panah menunjukkan arah setiap tautan; statusnya berasal dari registry.

MODUL HANYA MELIHAT PORT

Port di satu sisi. Adapter di sisi lain.

Sebuah modul meminta port, bukan vendor. Runtime menjawab melalui adapter. Adapter adalah milik harness sendiri; statusnya menunjukkan di mana sebuah venture yang aktif menggunakannya saat ini.

  • Database

    tabel, kueri, dan migrasi

    • D1 (aktif)
    • Postgres (ada di harness)
    • SQLite (ada di harness)
  • Mailer

    email transaksional

    • Resend (aktif)
    • Owlpost (direncanakan)
  • Captcha

    pemeriksaan bot, gagal tertutup

    • Turnstile (ada di harness)
  • KeyValue

    state key-value kecil

    • Cloudflare KV (ada di harness)
  • RateLimiter

    batas permintaan per kunci

    • Cloudflare Rate Limiting (ada di harness)
    • Redis (ada di harness)
  • Payments

    checkout dan penagihan

    • Polar (direncanakan)
    • Stripe (ada di harness)
  • TextModel

    penyelesaian model

    • Anthropic (ada di harness)
    • OpenAI-compatible (ada di harness)
  • Push

    pemberitahuan ke perangkat

    • APNs (ada di harness)
    • FCM (ada di harness)
    • Web Push (ada di harness)
  • Signer

    penandatanganan lewat referensi kunci

    • Turnkey (ada di harness)

Port dan adapternya: Database (tabel, kueri, dan migrasi): D1 (aktif), Postgres (ada di harness), SQLite (ada di harness). Mailer (email transaksional): Resend (aktif), Owlpost (direncanakan). Captcha (pemeriksaan bot, gagal tertutup): Turnstile (ada di harness). KeyValue (state key-value kecil): Cloudflare KV (ada di harness). RateLimiter (batas permintaan per kunci): Cloudflare Rate Limiting (ada di harness), Redis (ada di harness). Payments (checkout dan penagihan): Polar (direncanakan), Stripe (ada di harness). TextModel (penyelesaian model): Anthropic (ada di harness), OpenAI-compatible (ada di harness). Push (pemberitahuan ke perangkat): APNs (ada di harness), FCM (ada di harness), Web Push (ada di harness). Signer (penandatanganan lewat referensi kunci): Turnkey (ada di harness).

ATURAN DESAIN

Empat aturan yang dijaga oleh desain ini.

  • 01

    Modul hanya melihat port.

    Sebuah modul meminta database, mailer, captcha. Modul tidak pernah menyentuh binding Cloudflare atau klien vendor. Adapter yang menjawab. Satu aturan itulah yang membuat perpindahan dari Cloudflare di kemudian hari cukup berupa perubahan pada satu crate.

    modulMaileradapter
  • 02

    Komposisi terjadi saat kompilasi.

    Tanpa pemuatan plugin, tanpa layanan registry, tanpa kejutan saat runtime. Worker berisi apa yang didaftarkan venture, dan compiler adalah peninjau pertama. Modul yang sumbernya tidak boleh masuk ke build bersama dapat berjalan sebagai worker tersendiri, dipasang di path yang sama melalui service binding. Modul itu tetap tersusun, hanya tidak di dalam binary yang sama.

    kompilasitolakdeploy
  • 03

    Satu venture, satu database.

    Tidak ada yang dibagi saat runtime antar perusahaan. Masing-masing memiliki worker, data, dan secret sendiri. Sebuah venture dapat dicadangkan, dipindahkan, atau dimatikan tanpa menyentuh yang lain.

    workerdatabaserahasia
    workerdatabaserahasia
    workerdatabaserahasia

    tanpa runtime bersama

  • 04

    Tanpa state sejak dirancang.

    Tidak ada yang bertahan melewati satu request kecuali yang ditulis ke database. Tautan konfirmasi dan berhenti berlangganan adalah token bertanda tangan, jadi tidak ada penyimpanan sesi untuk dijalankan, diskalakan, atau dibocorkan.

    permintaanworkerdatabase

    tanpa session store

STATUS

Posisi harness.

Kemajuan dilacak sebagai issue dan milestone secara terbuka.

  1. M0selesai

    Fondasi

    Tooling workspace, core, runtime Cloudflare, adapter Resend dan Turnstile, adapter SQLite, CLI fz, dan testing kit.

  2. M1selesai

    Modul pertama

    Pendaftaran email, waitlist, templat, baseline keamanan, dan observabilitas.

  3. M2sedang berjalan

    Venture pertama aktif

    publikasi crates.io, dokumentasi, versi kontrak, dan venture pertama di domain API-nya sendiri.

  4. M3selesai

    Portabilitas self-hosted

    Adapter Postgres, runtime native, suite paritas di SQLite dan Postgres, serta ekspor dan impor data.

DESAIN
30 catatan keputusan, semuanya ada di repositori
ARSITEKTUR
12 bagian dalam dokumen arsitektur
MODUL PERTAMA
Pendaftaran email dan waitlist, sudah dibangun
DITERBITKAN
Sebagian besar crate ada di crates.io. Putaran rilis sedang menunggu.
LAYANAN TERKELOLA
Belum dibangun. Control plane sudah dirancang, belum ditulis.

Angka harness: dibaca dari Cratefield/harness pada 2026-10-21.

KEAMANAN DAN PRIVASI

Enam lapisan antara permintaan dan data.

Setiap lapisan adalah kontrol yang didokumentasikan oleh harness. Daftar lengkapnya ada di dokumen keamanan dan privasinya.

  1. 01 · EDGE

    Hanya origin milik venture sendiri

    Worker venture menjawab di domainnya sendiri. CORS hanya mengizinkan origin yang didaftarkan venture, dan setiap respons menggemakan request id.

  2. 02 · PENYALAHGUNAAN

    Bot dan banjir permintaan

    Turnstile, gagal tertutup. Batas laju pada setiap penulisan publik, melalui port RateLimiter.

  3. 03 · PERMINTAAN

    Error dan log tanpa alamat email

    Error berupa problem+json dengan slug tetap untuk setiap kasus. Satu baris terstruktur per permintaan, tidak pernah berisi alamat email.

  4. 04 · TOKEN

    Tautan, bukan sesi

    Tautan konfirmasi dan berhenti berlangganan ditandatangani dengan HMAC, dengan rotasi kunci. Tidak ada session store yang perlu dijalankan, diskalakan, atau bocor.

  5. 05 · RAHASIA

    Enkripsi amplop

    Rahasia dienkripsi amplop dan terikat pada barisnya. Provider file lokal milik port KMS menolak produksi.

  6. 06 · ISOLASI

    Satu venture, satu database

    Tidak ada runtime yang dipakai bersama antarperusahaan. Masing-masing punya worker, data, dan rahasia sendiri, dan dapat dipindahkan atau dimatikan sendiri.

APA YANG DIBUKA

Lantai pabrik terbuka untuk publik. Resepnya tidak.

Harness, runtime-nya, adapter-nya, dan dua modul pertama berlisensi MIT dan dikembangkan secara terbuka. Siapa pun dapat membangun backend di atasnya, dan setiap venture yang kami jalankan melakukannya. Modul yang mengodekan cara Factory Zero mengoperasikan perusahaan-perusahaannya tetap privat. Backend milik setiap venture juga privat.

Satu venture adalah harness itu sendiri. Cratefield mengambil harness open source dan menambahkan lapisan terkelola di sekelilingnya: ia akan menyediakan worker, database, dan secret di dalam akun Cloudflare Anda sendiri lalu mengoperasikannya. Harness-nya nyata dan berjalan; control plane itu sudah dirancang tetapi belum ditulis. Di sinilah juga batas modul membuktikan gunanya: pelanggan dapat membangun dan men-deploy modulnya sendiri tanpa source-nya pernah sampai ke kami.

Keputusan dicatat saat dibuat. Dokumen arsitektur dan catatan keputusan ada di repositori, termasuk yang mencatat alasan percobaan pertama dibuang.

Lisensi di seluruh stack

Dari 17 venture di stack ini, 11 adalah open source, masing-masing dengan repositori publik di bawah lisensi OSI. Bilah dan kotak diambil dari kolom lisensi di registry.

  • KontinuumMIT
  • CratefieldMIT
  • ColonizerMIT
  • SupportGeniusMIT
  • promptdecodeMIT
  • Keep ShippingMIT
  • LedgersMIT
  • Ghostwritin'MIT
  • SealbinApache-2.0
  • Living BrainApache-2.0
  • TokkerApache-2.0
  • VibeCaddieBukan open source
  • PosPluginBukan open source
  • OwlpostBukan open source
  • release.showBukan open source
  • ShoalBukan open source
  • SqueezinBukan open source

Venture di stack menurut lisensi: Kontinuum: MIT. Cratefield: MIT. VibeCaddie: Bukan open source. Colonizer: MIT. SupportGenius: MIT. promptdecode: MIT. PosPlugin: Bukan open source. Keep Shipping: MIT. Owlpost: Bukan open source. Sealbin: Apache-2.0. release.show: Bukan open source. Living Brain: Apache-2.0. Shoal: Bukan open source. Tokker: Apache-2.0. Ledgers: MIT. Ghostwritin': MIT. Squeezin: Bukan open source.