![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Create your own autonomous AI Inventor. Shape its Taste, give it direction, and let it dream up and develop original toys and games for people to buy.
Autonomous Workshop is the engine behind this vision: anyone can build a toy studio around their own Inventors. The creator shapes taste and direction. The Inventor researches, invents, and makes. Autonomous brings the toys to the shop, with physical production, shipping, and customer support owned by Operations.
Our first category is toys and games. Our focus is autonomous Inventors that people create and direct. Conversation is the main creative interface; individual toy briefs and CAD edits support that relationship.
The planned Manage Inventors page gives each creator a collection of Inventors. Click Add Inventor, start a conversation about the toys you want to put into the world, and develop a recognizable creative point of view together. Each Inventor has one persistent workspace:
- Chat: give direction, explore ideas, discuss a particular toy, and hear about meaningful progress and customer feedback.
- Taste: an editable
TASTE.mdthat captures what the Inventor loves, rejects, and aims to make unmistakably its own. Clear lasting preferences from conversation become visible, versioned updates with undo; a request about one toy stays with that toy. - Inventions: the Inventor's toy library, including ideas, work in progress, released products, revision history, units sold, and buyer ratings with review counts. A new revision can be in development while an earlier revision remains on sale.
Creators can have multiple Inventors with different tastes. Each works within explicit operating limits and publishing permissions. Creators return to see what their Inventors have made, learn from the results, and shape their next direction.
- Be the first creators. We create and operate the initial Inventors ourselves, testing the same tools and product journey we intend to offer others.
- Invite creators. A small group establishes its own Inventors and toy studios, helping us prove that distinctive toys and dependable fulfillment can work beyond our own team.
- Open creation to everyone. Anyone can create and direct Inventors; shared quality requirements and operating controls apply as the community grows.
Our initial Inventors seed the shop and exercise the system. The long-term platform brings together many creators, their autonomous Inventors, and people who want to buy their toys.
- Available in the CLI:
workshop create inventor --taste ./TASTE.mdcreates a specialist bundle from your exact Taste and connects its publishing account.workshop start <inventor>repeatedly dreams, builds, and attempts publication until stopped or its failure limit is reached.workshop daydream <inventor>lets you inspect an idea before building it. See the Quickstart and Build an Inventor. - Implemented production boundary: the host seals and checks each enabled stage, then publishes the accepted digital product and manual through Factory with authenticated readback. Operations owns physical production, hands-on checks, shipping, and customer support after that handoff. Publication alone does not prove manufacture or delivery.
- Planned creator workspace: the hosted Manage Inventors page, persistent creator chat, conversation-driven Taste revisions, and invention performance views described above.
- Planned learning loop: creator feedback and actual product outcomes inform future work. Today's notebook remembers previous ideas to avoid repetition; sales, playtests, and customer reviews do not yet flow back into it. Outcome feedback should improve an Inventor's judgment while preserving the creator's control over its Taste.
Internally, the sealed brief that begins one product run is still called a Wish. Existing Wish commands and frozen run contracts remain part of the engine; the consumer experience centers on creating and directing an Inventor.
git clone https://github.com/autonomous-ai/autonomous-workshop.git
cd autonomous-workshop
codex login
uv run workshop doctorWhen an Inventor is not yet connected, Workshop opens Connect Inventor during create or start. Choose the Autonomous account that should publish this Inventor's toys, then approve the connection. Workshop continues in the terminal; if the browser does not open, follow the URL it prints.
Each Inventor has its own owner-only credential file under $WORKSHOP_HOME/credentials/inventors/. The browser returns only a short-lived, one-time authorization code; Workshop exchanges it directly with the Autonomous Toys API. Publishing credentials never enter a browser URL, product workspace, or coding-agent session. To choose a different account later, run uv run workshop login <inventor-id>.
One command runs the whole loop, and keeps running it. Pico Press daydreams one brand-new idea that fits its Taste, the host rejects anything too close to a toy already made, the survivor is sealed as the brief, the run makes and publishes it (✨ Spark, Make -> Release, with Codex as the Workshop Manager; the idea is already the concept), and then Pico Press dreams the next one:
uv run workshop start pico-pressIt runs until you stop it: Ctrl-C, or from another terminal:
uv run workshop stop pico-press # ends after the current step
uv run workshop stop pico-press --now # interrupts now; the current run stays resumableThree consecutive failed daydreams or builds stop the loop on their own. --once dreams and builds a single idea; --max-ideas N stops after N. --effort goes deeper: 🔥 Forge adds Invent (Invent -> Make -> Release), 🗺️ Quest adds Invent and Playtest:
uv run workshop start pico-press --effort forgeWant to see an idea before building? workshop daydream pico-press prints the card and stops. Build a saved idea later with workshop start pico-press --idea <daydream-id>.
--manager chooses the Workshop Manager for the daydream and the run. Grok's first ✨ Spark run, from a typed brief, produced Horn Tip:
grok login
uv run workshop start pico-press --manager grok --effort sparkEvery run prints a run ID (a Wish ID). Check on it or continue the same session:
uv run workshop status <wish-id>
uv run workshop resume <wish-id>Long turns remain attached to the same session if the locally installed Codex CLI receives a supported in-place update. Workshop still rejects downgrades, major-version changes, and same-version policy drift. Timeouts and exact recognized provider disconnects resume that same session; unknown failed turns still stop safely for an explicit operator resume.
One run is one native coding-agent session — the shop lead. Resume cannot switch Managers.
uv run workshop start pico-press --manager codex # default
uv run workshop start pico-press --manager claude # experimental
uv run workshop start pico-press --manager grok # experimental| Manager | CLI | Status |
|---|---|---|
| Codex | codex |
Default. Omit --manager. |
| Claude Code | claude |
Experimental. |
| Grok Build | grok |
Experimental. Spark E2E: Horn Tip. |
Each Inventor expresses a specialist point of view. Several can make the same kind of toy in their own way. The bundled Inventors are our first studios and public examples; creators can already add their own through the CLI. The hosted creation and management experience is planned.
An Inventor is a declared specialist bundle: TASTE.md for creative judgment, inventor.json for identity and skill hashes, and a required <id>-inventor skill. Optional extra Inventor-prefixed skills may hold scripts, references, or tested deterministic tools. For a run, .codex/agents/*.toml is the sole roster. Inventor code cannot launch agents, choose stages, pass gates, or perform authenticated effects.
uv run workshop create inventor \
--taste ./TASTE.mdThe file must be named TASTE.md. Workshop preserves its exact bytes, derives the Inventor id from the frontmatter name, creates the required specialist skill, and validates the bundle.
---
name: Ada
description: Choose Ada for hand-cranked creatures; not static models or games.
---
# Ada's taste
I love mechanisms whose motion tells the story. I reject decoration without play.Read Build an Inventor for the specialist contract.
Alice — reinvent the classics (TASTE.md)
Chess, go, dominoes, puzzles — games everyone already knows, made into a set that is yours. Alice never touches the rules. She changes what the pieces are, so the set is about you.
Leo — invent games that don't exist yet (TASTE.md)
Brand new games, invented for one wish: new rules, new pieces, a new reason to sit at a table. Quest effort exercises those rules with seeded Playtest evidence; Spark and Forge truthfully release without claiming that testing occurred.
Blindcap.Duel.mp4
Blindcap: Duel — a two-player hidden-information strategy game of mushrooms, probes, and crowns
Bob — invent machines that move (TASTE.md)
Things that do one delightful thing when you wind them up, let them go, or drop something in. No motors, no batteries, no electronics — the movement has to come out of the shape itself.
Trotter.mp4
Trotter — a palm-size, rubber-band-powered quadruped
Ivy — invent science toys you can hold (TASTE.md)
The planets, a swinging pendulum, a shape that looks impossible — real science, small enough to pick up. Ivy says where her numbers came from and what she left out, because here being wrong is worse than being boring.
A solar system with its orbits engraved — $59.99
Eve — invent little worlds (TASTE.md)
Your dog, your bike, your desk, your homelab — turned into a small world you can put on a shelf. Eve's only counts if it could not have existed before your wish.
Sonora Reed — sculpt sound from geometry (TASTE.md)
Passive acoustic toys whose playable voices come from visible printed ridges, chambers, tracks, and resonant bodies—never electronics or decorative claims.
Vela Bloom — make small shapes transform (TASTE.md)
Compact rigid-link toys that deploy, iris, unfurl, or blossom through one legible, collision-aware transformation with deliberate end states.
Kestrel Knot — make continuity feel impossible (TASTE.md)
Topology-driven captive-motion toys built from open loops, crossings, braids, and continuous routes whose geometry and clearances can be checked exactly.
Orin Shadow — make geometry tell a second story (TASTE.md)
Mechanical shadow-play toys whose held form casts a hidden creature, place, or event under ordinary light. Orin authors the solid object, its negative space, and its hand-powered projected transformation as one printable mechanism.
Toys that already left the Workshop. After Factory publication, a sanitized snapshot lands in toys/<inventor>-<slug>/. These are public examples, not private run workspaces.
Horn Tip is a Spark run on Grok. A later run with the same brief is the same route, not a replay of those CAD bytes. Cradle Crescent and False Lantern are older snapshots.
Private runs live outside Git at $WORKSHOP_HOME/runs/<wish-id>/workspace. New
toy READMEs report best-effort gross, cached, and uncached Manager input plus
output and reasoning-output tokens by stage, alongside elapsed time from run
intake through authenticated Factory public readback. This is telemetry, never
a gate, and no dollar estimate is inferred. See
toys/README.md for what a snapshot includes and
docs/QUALITY_ECONOMICS.md for the paired quality
and cost benchmark.
Forge and Quest now make the cheapest exact mechanism/form falsifier the first
persisted Make deliverable under <cad-project>/review/early-proof/, before the
complete part tree. Native Make iteration uses source-fresh print-preflight
without destructive cache cleanup; the trusted isolated host alone performs
the authoritative fresh rebuild before Made can advance. The v9 proof uses one
shared helper and three exact state entries that each expose one module-scope
gen_step(), and the host supplies exact
$WORKSHOP_PYTHON-prefixed generate, export, and render commands so Make does
not spend its bounded proof phase rediscovering package entrypoints. New deep
runs bind a private run-local cache, defer the broad CAD skill until final
Make, batch all mandatory proof reads, author source as the next durable action,
and execute proof commands as one foreground batch. A fixed-camera
--state-sheet renders the three exact state STLs and rejects visually
indistinguishable frames; rotating one unchanged mesh is only viewpoint
evidence. The root performs the cheap early direction check; the independent
blind critic remains at the final hash-bound Make review.
The floorplan of the shop. An Inventor's idea walks one frozen route; Operations takes the sealed Release and the shop sells it.
Daydream -> one liked idea -> a frozen effort route:
✨ Spark: Make -> Release (default)
🔥 Forge: Invent <-> Make -> Release
🗺️ Quest: Invent <-> Make <-> Playtest -> Release
Release -> Shop (order one, printed to order, photographed, ships in days)
Shop -> Scoreboard (views, orders, prints, returns) -> back to Daydream
Route diagrams: Spark · Forge · Quest.
Every run is keyed by a Wish id. Passed-through stages create no turn, artifact, gate, or evidence; Spark and Forge record Playtest as not-run. The reverse arrows are evidence-bound repair routes that spend a shared revision budget, not free retries.
Who does what. The selected Workshop Manager does the product work in one persistent native session, one Goal at a time. Every step is one native Goal, Daydream included, and every Goal ends with a run-local finalizer writing agent-outcome.json, which is the only completion signal the host trusts. The Python host is narrow and trusted: identity, exact bytes, lifecycle order, budgets, session start and resume, deterministic gates, credential isolation, and authorized effects. There is no second agent framework, prompt chain, or reward loop.
Two sessions, by design. workshop start is a loop: dream, build, dream again. A daydream is its own short native session. It ends when the idea is sealed: linted, hashed, written to the Inventor's notebook, and rendered as the brief. Each liked idea then gets its own persistent build session, one per run, exactly as a typed brief would. The idea is an immutable input to the build, so Make can never quietly rewrite what it is building; daydreams can run on their own cadence; a saved idea can be built later, on any route or Manager, or rebuilt after a failed Make; and a build failure never touches the idea.
What Make must prove. Every printable part passes a fixed print preflight (bed fit, mesh validity, wall thickness at a 0.4 mm nozzle). One independent critic then reviews exact renders blind, before the brief is revealed, and the host rebuilds the CAD in isolation and seals the bytes. When a stage is truly blocked, it records a Need: that the receipt and workshop status show; nothing waits silently.
What Release means. Three facts about the same exact bytes:
- full-tier, thickness-checked, ready-to-print CAD
- a self-contained printable
MANUAL.pdffor the box - authenticated public Factory readback of those CAD and manual hashes
Workshop code ends there. Printing, delivery, and Review belong to Operations. Publication does not claim a physical print, pack, or delivery.
inventors/ reusable Inventor sources (Taste, skills, tools)
toys/ sanitized public snapshots after Factory readback
.agents/product-run complete template copied into every new toy project
src/cli/ command parsing, presentation, exit codes
src/workshop/ trusted host: daydream, stages, workflow, runtime, gates, effects
tests/ component-mirrored deterministic suite
docs/ architecture, ADRs, and contributor guides
Private state stays outside the agent-visible checkout: $WORKSHOP_HOME/daydreams/<inventor>/, $WORKSHOP_HOME/runs/<wish-id>/workspace, and $WORKSHOP_HOME/state/<wish-id>/. Factory credentials live in $WORKSHOP_HOME/credentials/inventors/<inventor-id>.env (0600 inside a 0700 directory) and never enter the native agent's session.
Turn budgets, compaction ceilings, recovery windows, and the blind-review protocol are specified in Native coding-agent runtime. See also Workshop architecture, the publication boundary, and Playtest evidence.
This is the shop floor for Workshop code and Inventor sources. To change the CLI, runtime, workflow, or product-run protocol, follow CONTRIBUTING.md. To add a specialist, start from Build an Inventor.
uv run workshop doctor
PYTHONPATH=src python -m unittest discover -s tests -t . -p 'test_*.py'Never commit credentials, runtime databases, private keys, generated backups, or someone else's source without written permission and a record of where it came from.
Licensed under Apache-2.0.




