CRUMB logosundaki yalnızca ekmek karakteri: sağ üst köşesinden bir ısırık alınmış, gülümseyen bir dilim ekmek
Salona dön

CRUMB

Generative Game Studio · Demo

Tek satırlık bir oyun fikrinden oynanabilir bir taslağa, ajanların çalışması görünür ve müdahaleye açık hâlde.

CRUMB, gündelik oyun prototiplemesi için çok ajanlı bir stüdyo düzeneğidir.

Tasarım ve geliştirme · AI kodlama ajanlarıyla kuruldu

  • CLIYerel tanıtım
  • Web stüdyosuYerel tanıtım

CRUMB vocabulary

Lens
Game Pipeline
Build
Runtime Verification
Control Plane
Repair
Evidence
  1. spec
  2. build
  3. artifact
  1. qa check
  2. ac predicate
  3. verifier
  1. routing
  2. circuit breaker
  3. budget
  4. intervention
  1. transcript
  2. anti-deception
  3. studio

Spec: planner-lead · goal · question.socratic · step.design · spec · spec.update · acceptance_criteria · researcher · step.research.video · step.research_plan · ac_predicates · D1 spec_fit · research_plan_violationBuild: builder · build · spawn · sandwich.assembled.md · --append-system-prompt · agent-workspace · buildBuilderInputBundle · Phaser CDN · JuiceManager · PER_SPAWN_TIMEOUT_MS · juice_manager_missingArtifact: artifact.created · sha256 · artifacts/game.html · artifacts/game/index.html · pickEntry · artifact-watcher · version.released · manifest.toml · loc_own_bytes · VersionsQA Check: Phaser CDN · pickEntry · loc_own_bytes · qa_check · runQaCheck · qa.result · exec_exit_code · lint_passed · first_interaction · cross_browser_smoke · PLAYWRIGHT SMOKE · runtime_progress · qa-check-effect@v1 · QA_CHECK_TIMEOUT_MS · D2 exec · D6 portability · ac_results · ac_pass_count · deterministic · PASS WITHOUT EXEC · runtime_stalled_under_input · runtime_player_below_ground · forged_qa_result_attemptAC Predicate: acceptance_criteria · ACPredicateItem · predicate_js · runACInteractive · ac_predicates · ac_results · ac_pass_count · ACPredicateLedgerItem · verify_pass_with_ac_failureVerifier: D2 exec · D6 portability · verifier · judge.score · CourtEval · grader · critic · defender · regrader · step.judge · D1 spec_fit · verifier-llm · combineDimScore · PARTIAL · deviation · suggested_change · user_approve_partial · self_bias_risk_same_provider · cross_provider · buildVerifierInputBundle · ScorecardRouting: spawn · routeOnVerdict · verdict_pass · deviation · Critical · Important · Minor · suggested_change · rollback · handoff.rollback · sandwich_append · dispatch · adapter_swapped · user.veto · reduce(state, event)Circuit Breaker: circuit_breaker · CIRCUIT_OPEN_AT · adapter_override · adapter_swapped · circuit_open_auto_respawn · builder_circuit_open · claude-local · probeAdapter · adapter_substituted · intended_model · /swap · /reset-circuitBudget: spec.update · QA_CHECK_TIMEOUT_MS · builder_circuit_open · RESPEC_MAX · VERIFY_MAX · too_many_verify · TOKEN_BUDGET_HARD · token_exhausted · ratchet_revert · adaptive_stop · STUCK_THRESHOLD · budget_exhausted · PER_SPAWN_TIMEOUT_MSIntervention: PARTIAL · sandwich_append · STUCK_THRESHOLD · user.intervene · user.veto · user.approve · user.pause · user_approve_partial · ack · inbox.txt · parseInboxLine · /swap · /reset-circuit · consumed_intervene_ids · /api/sessions/:id/inboxTranscript: version.released · qa.result · qa-check-effect@v1 · dispatch · adapter_substituted · intended_model · ack · consumed_intervene_ids · transcript.jsonl · TranscriptWriter · ULID · O_APPEND · message.schema.json · reduce(state, event) · PURE REDUCER · REPLAY · replay_end_offset · CrumbState · parent_event_id · deterministic · audit_violations · applyEventFirewall · useTranscriptStream · otel.jsonlAnti-Deception: step.research_plan · buildBuilderInputBundle · JuiceManager · verify_pass_with_ac_failure · checkAntiDeception · PASS WITHOUT EXEC · self_bias_risk_same_provider · cross_provider · research_plan_violation · juice_manager_missing · runtime_stalled_under_input · runtime_player_below_ground · audit_violations · applyEventFirewall · forged_qa_result_attempt · buildVerifierInputBundleStudio: @crumb/studio · /api/stream · text/event-stream · useTranscriptStream · dockview-react · Pipeline · Scorecard · Waterfall · Versions · /api/sessions/:id/inbox · otel.jsonl

Oyunu kuran ajanlar, onu yargılayan kanıttan ayrı tutulur.

Tek satırlık bir oyun fikrini şartname, derleme ve yürütme kontrollerinden geçiren yerel bir stüdyo tanıtımı. Her adım bir JSONL dökümüne düşer, saf bir reducer sonraki etkileri belirler ve yan etkileri yalnızca dispatcher gerçekleştirir. Yürütme QA'sı ve modelin hükmü; geçiş, yeniden tasarım, onarım ve insan yönlendirmesi arasında karar vermek için ayrı tutulur.

Tek satırda bir oyun önerin; Claude Code, Codex ve Gemini CLI ajanları Planner → Builder → deterministik QA → Verifier üzerinden iş birliği yapar, CRUMB Studio da olayları, ilerlemeyi ve artefaktları gösterir ve doğal dilde müdahaleyi kabul eder.

Herkese açık depodan klonlayıp yerelde çalıştırdığınız bir tanıtım.

Sistem haritası · herkese açık f5e17c0 commit'indeki kod yollarından çizildi
CRUMB stüdyo sistemiBir kişi Studio'dan bir oyun önerir ve yön verir; Studio komutları bir inbox'a yazar. Coordinator, inbox'tan ve dökümden gelen yeni olayları sırayla reducer'a aktarır; saf reducer durumu ve sonraki etkileri belirler ve yan etkileri yalnızca dispatcher gerçekleştirir. Planner'ın şartnamesi, Builder'ın derlemesi ve artefaktları, yürütme QA sonucu ve Verifier'ın yargısı hep döküm olaylarına dönüşür. Verifier yalnızca yansıtılmış kanıt alır ve reducer onun puanını QA sonucuna göre kontrol edip düzeltir: PASS oturumu bitirir, PARTIAL bir kişiyi bekler, geri kalan her şey yeniden tasarıma ya da onarıma döner.Oyun fikri · yönlendirmeYerelde çalıştıran bir kişipackages/studioOlaylar · artefakt görünümüInbox komutlarını yazsrc/transcripttranscript.jsonl · append-onlysrc/loop/coordinator.tsOlay döngüsü · replay · tailsrc/reducerDurum → sonraki etkilerHüküm yönlendirmesession doneBitti · PASS ya da durma nedenisrc/dispatcher/live.tsEtkileri çalıştır · actor'leri spawn etHakem girdisi yansıtmamodel-config · presetActor → düzenek · modelagent actor · CLIPlanner Lead · şartnameBuilder · oyunu yazarartifacts/Oyun dosyalarıdispatcher/qa-runner.tsYürütme QA'sı · kontrollerVerifier actorVerifier · model hükmüsrc/validatorAldatma önleme · puan düzeltmeKişiler · StudioOlay denetimidöküm, durumun kaynağıdırÇalışan ajanlar · artefaktlarDoğrulama · karar1öner · yön ver2user olayları3sırayla reduce et4etkiler5actor kurulumu6Planner'ı çalıştır7spec8Builder'ı çalıştır9 dosyalar · Builder · oyunu yazar → Oyun dosyaları910derleme kaydı11qa_check12ne çalışır13qa.result1qa.result2yalnızca kanıt3hakem girdisi4judge.score5puan · QA kanıtı6düzeltilmiş hüküm7bitti1düzeltilmiş hüküm2PARTIAL kontrolü3yeniden tasarım · onarım4bitti5öner · yön ver1yeni olaylar · replay2sırayla reduce et3okuma · SSE

Fikirden oyuna

Bir fikir şartnameye, derlemeye ve bir yürütme QA çalıştırmasına dönüşür. Her adım dökümden geçer; actor'ler birbirini çağırmaz.

  1. Oyun fikri · yönlendirmeÇalıştırma · yargı: öner · yön verInbox komutlarını yazpackages/studio

    Tek satırlık bir oyun fikri ve doğal dilde yönlendirme Studio'ya girilir; Studio komutları inbox'a yazar. Studio dökümü asla doğrudan düzenlemez.

  2. Inbox komutlarını yazpackages/studioVeri: user olaylarıOlay döngüsü · replay · tailsrc/loop/coordinator.ts

    Coordinator inbox komutlarını okur ve dökümde user olayları olarak kaydeder.

  3. Olay döngüsü · replay · tailsrc/loop/coordinator.tsÇalıştırma · yargı: sırayla reduce etDurum → sonraki etkilersrc/reducer

    Canlı olaylar bir kuyruktan tek tek reduce edilir ve her olayın etkileri sırasıyla korunur; dispatch'in kendisi eşzamansız çalışır.

  4. Durum → sonraki etkilersrc/reducerÇalıştırma · yargı: etkilerEtkileri çalıştır · actor'leri spawn etsrc/dispatcher/live.ts

    Reducer yalnızca durumu ve sonraki etkileri belirleyen saf bir fonksiyondur: bir goal Planner'ı, bir spec Builder'ı, bir build bir qa_check'i seçer.

  5. Actor → düzenek · modelmodel-config · presetÇalıştırma · yargı: actor kurulumusrc/dispatcher/live.ts

    Bir actor'ü hangi düzenek, sağlayıcı ve modelin çalıştıracağı CLI bayrağı > yapılandırma > preset > ambient > fallback sırasıyla çözülür. Bir actor sabit bir sağlayıcı değildir.

  6. Etkileri çalıştır · actor'leri spawn etsrc/dispatcher/live.tsÇalıştırma · yargı: Planner'ı çalıştırPlanner Lead · şartnameagent actor · CLI

    Dispatcher Planner'ı yansıtılmış girdiyle çalıştırır. Koşullu araştırma Planner'ın araştırma planı ve kanıt devriyle sürer; bu haritada katlanmıştır.

  7. Planner Lead · şartnameagent actor · CLIVeri: spectranscript.jsonl · append-onlysrc/transcript

    Planner'ın şartnamesi bir döküm olayına dönüşür ve reducer ondan Builder'ı seçer. Actor'ler birbirini çağırmaz.

  8. Etkileri çalıştır · actor'leri spawn etsrc/dispatcher/live.tsÇalıştırma · yargı: Builder'ı çalıştırBuilder · oyunu yazaragent actor · CLI

    Dispatcher Builder'ı çalıştırır. Aynı actor başarısız olmaya devam ederse bir circuit açılır ve adaptörü değiştirir; hatalar sürerse durur.

  9. Builder · oyunu yazaragent actor · CLIVeri: dosyalarOyun dosyalarıartifacts/

    Builder giriş dosyasını, kaynakları ve varlıkları artefakt olarak yazar.

  10. Builder · oyunu yazaragent actor · CLIVeri: derleme kaydıtranscript.jsonl · append-onlysrc/transcript

    Build olayı ve artifact.created, artefaktın kimliğiyle birlikte dökümde kaydedilir.

  11. Etkileri çalıştır · actor'leri spawn etsrc/dispatcher/live.tsÇalıştırma · yargı: qa_checkYürütme QA'sı · kontrollerdispatcher/qa-runner.ts

    Bir build olayından sonra reducer artefakt ve build kimliğini ve kabul koşullarını taşıyan bir qa_check etkisi yayar ve dispatcher onu çalıştırır.

  12. Oyun dosyalarıartifacts/Veri: ne çalışırYürütme QA'sı · kontrollerdispatcher/qa-runner.ts

    Yürütme QA'sı gerçek artefaktı kod ve tarayıcı kontrolleriyle çalıştırır. 120 saniyelik varsayılan zaman aşımı bir yapılandırma değeridir.

  13. Yürütme QA'sı · kontrollerdispatcher/qa-runner.tsVeri: qa.resulttranscript.jsonl · append-onlysrc/transcript

    Başarılı ya da başarısız, sonuç bir system qa.result olayı olarak kaydedilir. Kontrol bir istisna fırlatsa bile başarısız alanları içeren bir sonuç kaydedilir.

Doğrulamanın güven sınırı

Yürütme QA'sı artefaktı gerçekten çalıştırmaktan gelen kanıttır; Verifier ise yansıtılmış kanıtı yargılayan bir modeldir. Reducer, sonraki yolu seçmeden önce ikisini uzlaştırır.

  1. Yürütme QA'sı · kontrollerdispatcher/qa-runner.tsVeri: qa.resulttranscript.jsonl · append-onlysrc/transcript

    Başarılı ya da başarısız, sonuç bir system qa.result olayı olarak kaydedilir. Kontrol bir istisna fırlatsa bile başarısız alanları içeren bir sonuç kaydedilir.

  2. transcript.jsonl · append-onlysrc/transcriptVeri: yalnızca kanıtHakem girdisi yansıtmasrc/dispatcher/live.ts

    Verifier'ın girdisi en son goal, spec, build, qa.result ve artifact.created ile seçilmiş araştırma kanıtından yansıtılır. Bağlamı daraltır; yalıtımı ya da sızıntı olmadığını kanıtlamaz.

  3. Hakem girdisi yansıtmasrc/dispatcher/live.tsVeri: hakem girdisiVerifier · model hükmüVerifier actor

    Dispatcher Verifier'ı yansıtılmış girdiyle çalıştırır.

  4. Verifier · model hükmüVerifier actorVeri: judge.scoretranscript.jsonl · append-onlysrc/transcript

    Verifier'ın hükmü bir judge.score olayı olarak kaydedilir. Bu bir modelin yargısıdır, yürütmeye dair bir olgu değil.

  5. Durum → sonraki etkilersrc/reducerÇalıştırma · yargı: puan · QA kanıtıAldatma önleme · puan düzeltmesrc/validator

    judge.score geldiğinde reducer onu QA sonucu, Builder'ın sağlayıcısı ve araştırma planı ile kanıtıyla birlikte aldatma önleme kontrolüne aktarır.

  6. Aldatma önleme · puan düzeltmesrc/validatorVeri: düzeltilmiş hükümHüküm yönlendirmesrc/reducer

    Başarılı bir yürütme olmadan verilen PASS, FAIL olur ve yürütmeyle ilgili puan deterministik QA'dan düzeltilir. Diğer kurallar koşullu düzeltmelerdir; genel bir doğruluk kanıtı değildir.

  7. Hüküm yönlendirmesrc/reducerVeri: bittiBitti · PASS ya da durma nedenisession done

    PASS oturumu done olarak bitirir. Bütçe ve circuit durmaları da done olarak biter ama durma nedenini korur; dolayısıyla done her zaman PASS değildir.

Hata ve insan yönlendirmesi

PARTIAL bir kişiye, Critical yeniden tasarıma, Important ya da Minor onarıma gider; bütçe ya da circuit durmaları bir durma nedeni bırakır.

  1. Aldatma önleme · puan düzeltmesrc/validatorVeri: düzeltilmiş hükümHüküm yönlendirmesrc/reducer

    Başarılı bir yürütme olmadan verilen PASS, FAIL olur ve yürütmeyle ilgili puan deterministik QA'dan düzeltilir. Diğer kurallar koşullu düzeltmelerdir; genel bir doğruluk kanıtı değildir.

  2. Hüküm yönlendirmesrc/reducerÇalıştırma · yargı: PARTIAL kontrolüOyun fikri · yönlendirme

    PARTIAL bir kişinin kontrol etmesini bekler.

  3. Hüküm yönlendirmesrc/reducerÇalıştırma · yargı: yeniden tasarım · onarımsrc/dispatcher/live.ts

    FAIL ve REJECT arasında Critical yeniden tasarım için Planner'a, Important ya da Minor düzeltme geri bildirimi olarak Builder'a döner; hepsi dispatcher etkileri olarak çalışır.

  4. Hüküm yönlendirmesrc/reducerVeri: bittiBitti · PASS ya da durma nedenisession done

    PASS oturumu done olarak bitirir. Bütçe ve circuit durmaları da done olarak biter ama durma nedenini korur; dolayısıyla done her zaman PASS değildir.

  5. Oyun fikri · yönlendirmeÇalıştırma · yargı: öner · yön verInbox komutlarını yazpackages/studio

    Tek satırlık bir oyun fikri ve doğal dilde yönlendirme Studio'ya girilir; Studio komutları inbox'a yazar. Studio dökümü asla doğrudan düzenlemez.

Yeniden oynatma ve gözlem

Durumu dökümden yeniden kurmak hiçbir etkiyi çalıştırmaz ve Studio göstermek için aynı kaydı okur.

  1. transcript.jsonl · append-onlysrc/transcriptVeri: yeni olaylar · replayOlay döngüsü · replay · tailsrc/loop/coordinator.ts

    Writer şemayı doğrular, bir ULID ve zaman atar ve ekler. Replay sırasında geçmiş olaylar yalnızca reduce edilir; etkileri yeniden çalıştırılmaz.

  2. Olay döngüsü · replay · tailsrc/loop/coordinator.tsÇalıştırma · yargı: sırayla reduce etDurum → sonraki etkilersrc/reducer

    Canlı olaylar bir kuyruktan tek tek reduce edilir ve her olayın etkileri sırasıyla korunur; dispatch'in kendisi eşzamansız çalışır.

  3. transcript.jsonl · append-onlysrc/transcriptGözlem · rapor: okuma · SSEOlaylar · artefakt görünümüpackages/studio

    Studio dökümü ve artefaktları okur ve ilerlemeyi, metrikleri ve artefaktları SSE üzerinden gösterir. Uzak bir hizmete gönderilen telemetri değildir.

Her bağlantı aynı kalınlıkta. Yalnızca yolunu numaralı adımlarla vurgulamak için bir akış seçin.

  • Düz çizgi · girdi, sonuç ve kayıtların yönü
  • Kesikli · çalıştırma, yargı, istek
  • Uzun noktalar · gözlem ve raporlama, yargıdan ayrı
  • Kalın siyah çizgi · seçilen akış; numaralar sırayı verir
  • Kutu · bir kod ya da durum sınırı, adı başlığında
  • İç çip · o sınırın bir bileşeni
  • Noktalı kutu · o sınırın dışı
  • Turuncu çerçeve · bir modelin karar verdiği yer
  • Olay döngüsü · reducer · dispatcher
  • Kayıtlar · kurulum · artefaktlar
  • Deterministik kontroller · düzeltme
  • Studio · actor'ler

Herkese açık f5e17c0 commit'indeki kod yollarından çizildi. Actor'ler çalışma zamanı rolleridir; bu depoyu kurmak için kullanılan kodlama ajanlarından farklıdır.

Durumun kaynağı
Döküm durumun kaynağıdır ve reducer saf bir fonksiyondur. Yan etkileri (actor'leri çalıştırmak, QA, dosya yazmak) yalnızca dispatcher gerçekleştirir; bu yüzden yeniden oynatma durumu etkiler olmadan yeniden kurar.
Yeniden oynatmanın kapsamı
Yeniden oynatma aynı durumu verir; LLM üretimlerini ya da tarayıcı ve ağ davranışını deterministik yapmaz.
Hükmün kapsamı
Yürütme QA'sı yalnızca yapılandırılmış kontrolleri denetler ve Verifier'ın puanı kanıtın tek bir kanalıdır. Hiçbiri oyunun her davranışını, eğlencesini ya da kullanıcı memnuniyetini ölçmez.