← All projects

SpecForge

0 comments

What it does

SpecForge is a software factory built on Mozaik (@mozaik-ai/core): nine participants — a Planner, three Builders working in parallel, a TestWriter, a deterministic TestRunner, a Reviewer, an Observer, and a human Operator — share one agentic environment and turn a one-page Markdown spec into a working TypeScript project (CLI or HTTP API) whose own checks pass: strict typecheck plus a node:test suite the factory writes itself. Coordination is entirely event-driven with work claimed atomically from shared state; there is no orchestrator loop. The factory notices and fixes its own mistakes: builders self-check with the compiler, the TestRunner attributes failures to the right agent (compiler errors to builders, test-authoring bugs back to the TestWriter), fix loops run under explicit budgets, and exhausted budgets are reported, never hidden. Every run writes a run-log.json trace with per-task owner, time, fix rounds, test results, and token usage per agent. Verified demo: a CLI spec built in 140 seconds with zero fix rounds and zero human interventions; the generated project and its trace are in the repo under examples/taskledger.

How the agents run concurrently

All agents live in one Mozaik AgenticEnvironment and react to semantic events (task.available, task.completed, tests.written, tests.passed/failed, tests.revise, fix.requested/completed, build.complete). The Planner emits one task.available per module; three Builder agents race to claim tasks through an atomic claim on shared FactoryState, then implement different modules simultaneously — their inference calls genuinely overlap. The TestWriter writes tests for each module as it lands, overlapping the remaining builds. On a failed check, the responsible builders fix in parallel while the TestWriter may be revising a test. A watchdog requeues stalled tasks. No participant calls another directly; there is no predefined workflow graph — concurrency emerges from events plus shared state.

Comments

No comments yet.

Sign in to like and comment