Models drift when they write into a repo blind. Structural maps give the session landmarks before the agent touches a file.
Agent-built apps can look complete.
Auth, data, payments, and deploy are still fragile .
After the first user it usually turns out that a demo is not a product. The truth surfaces on the first install on someone else's machine, the first Stripe webhook, the first security review, or a new developer on the team β they show you what no prompt ever truly took on.
The app works. Auth has two roles: admin and user β but seven profiles run in prod, and nobody mapped them. Tokens live wherever they end up: localStorage sometimes, HTTP-only cookie sometimes, both at once sometimes. First thing in an audit: nobody can tell who has access to what. Second: when someone leaves the team, the keys stay.
Stripe works. Until it does not. A webhook fails once β no retry, no dead letter queue, no alert. The customer notices the missing service before the system does. The founder hears about it on the support Discord, not from the dashboard.
Less magic
More inspectable work .
The vocabulary can stay vivid, as long as the system remains inspectable: context before edits, evidence after runs, and a release surface that says what is still uncertain.
Code generation is noisy. The Marbles loop gives that noise a place to show up: small loops, counterexamples, and visible unresolved work.
Structured Human-AI collaborative engineering. The craft is in the handoff: humans keep scope, taste, and irreversible decisions; agents do fieldwork with evidence attached.
Most AI coding sessions leave fragments.
Vibecrafted gives the work coordinates..
Without a board
Context evaporates.
The next session may inherit a diff, but not the reason behind it. The repo has changes; the work has no memory.
Retry becomes the method.
A green build starts to feel like proof. It is useful signal, but not enough to know whether the product is safe.
Done stays blurry.
Artifacts collect in comments, branches, notes, and screenshots. A future agent can see pieces, but not the shape.
With a board
The contract is visible.
Scope, owner, evidence, and next action sit on the same surface before the agent starts cutting.
The trail survives.
Reports and artifacts stay attached to the repo, so the next session can continue from evidence instead of mood.
Convergence is inspectable.
The board does not declare victory. It shows what landed, what moved, and what still asks for a decision.
05 PHASES
06 OPERATORS
01 SHARED BOARD
00 LOST CONTEXT
Not a rewrite. A cadence.
Every write earns a read .
Eleven stages alternate Read and Write. Every write β implement, marbles, polarize β is immediately falsified by a read β review, audit, DoU. Marbles raises entropy to fill the cracks; Polarize cuts it back to one truth. Each stage runs its leg and hands the baton to the next, so nothing ships unchecked.
Scaffold
read Β· map before the cut
Implement
write Β· agents deliver
Review
read Β· falsify the write
Converge
write Β· marbles β¬ polarize β¬
Release
write Β· ship for strangers
%%{init: {
"theme": "base",
"themeVariables": {
"background": "#07111f",
"primaryColor": "#0c1626",
"primaryTextColor": "#f3efe7",
"primaryBorderColor": "#2d3b56",
"lineColor": "#d8894b",
"secondaryColor": "#101b2d",
"tertiaryColor": "#0d1728",
"fontFamily": "Inter, ui-sans-serif, system-ui, sans-serif",
"fontSize": "16px"
},
"flowchart": {
"curve": "basis",
"htmlLabels": true,
"nodeSpacing": 32,
"rankSpacing": 46,
"padding": 14
}
} }%%
flowchart LR
S["Scaffold Β· R"] --> I["Implement Β· W"]
I --> RV["Review Β· R"]
RV --> WF["Workflow Β· W"]
WF --> FU["Follow-up Β· R"]
FU --> MA{{"Marbles Β· W β¬"}}
MA --> AU["Audit Β· R"]
AU --> PO{{"Polarize Β· W β¬"}}
PO --> DU["DoU Β· R"]
DU --> HY["Hydrate Β· W"]
HY --> RE["Release Β· W"]
classDef read fill:#0d1728,stroke:#3b6ea5,color:#dbe7f3,stroke-width:1.3px;
classDef write fill:#1a1410,stroke:#d8894b,color:#ffd9bd,stroke-width:1.6px;
classDef core fill:#1a1110,stroke:#e2935a,color:#ffd9bd,stroke-width:2.4px;
class S,RV,FU,AU,DU read;
class I,WF,HY,RE write;
class MA,PO core;How the pass runs .
Each workflow has one job. Read the repo, make the cut, test the real path, or audit what is still not ready. Names come later; the evidence comes first.
Install once. Then pass the baton .
$ curl -fsSL vibecrafted.io/install.sh | bash One local bootstrap. It installs the commands and opens the guided launcher. $ vibecrafted doctor A quick health check before agents touch the repo. $ vibecrafted init claude A first-context pass with a real agent inside a real repository. The repo gets a shared surface .
A session can end without disappearing. The operator is an agent: it runs the relay, and each leg hands the baton to the next runner β the next agent inherits reports, decisions, and open questions, not a cold prompt. You stay the founder β scope, taste, the hard transitions, the feel of the project β you never run the legs yourself.
- State has a place. Artifacts live under $VIBECRAFTED_ROOT/. Not in the memory of whichever tab happened to be open.
- Runs leave evidence. Each agent run leaves prompt, report, metadata, and the decision it was meant to back up.
- Undone stays visible. DoU and marbles keep the unresolved pieces on the board until somebody decides what they mean.
Start with the first useful signal .
Check the local surface.
Start with the boring signal: does the launcher know where it is, what is installed, and what needs attention?
$ vibecrafted doctor Let an agent read first.
Init may surface repo shape, recent context, and the first risks before any edit starts.
$ vibecrafted init claude Choose a lane.
Workflow helps when the task needs a little ceremony: examine the surface, research the gap, then implement the cut.
$ vibecrafted workflow claude --prompt "Plan and implement <task>" Look for what still bites.
Marbles runs small counterexample loops. It may find an edge case, a false assumption, or simply a place that needs a human decision.
$ vibecrafted marbles codex --count 3 --depth 3 Name the unfinished parts.
DoU is the moment to stop pretending. It asks what is missing across install, docs, runtime, trust, and release.
$ vibecrafted dou claude --prompt "Audit launch readiness" Prepare the handoff.
Release gathers the outward work: artifacts, deployment notes, docs, and the next human-readable step.
$ vibecrafted release codex --prompt "Prepare release steps" What we read before we built .
The convergence framework is the synthesis of research on agent handoffs, release gates, and runtime contracts. Sources below β consult before adopting.
The vibe hangover in the wild .
A few field notes from the wild β from agent-built products and our own release lanes. Anonymized, because the pattern says more than the name.
Two checkouts, two truths.
The upstream framework was already fixed, but the public landing repo still served older installer truth. Everyone was right inside their own checkout; the user saw drift.
FIELD NOTE Β· representative repo release laneThe runtime moved. The docs did not.
A helper script kept yesterday's path assumptions after the main runtime flow was repaired. The product worked, until an operator followed the stale trail.
FIELD NOTE Β· helper surface auditThe webhook that never retried.
A checkout path looked healthy until activation moved into claim and webhook truth. The sale happened; the entitlement story still needed a witness.
OBSERVED Β· real founder (redacted)Friday afternoon migration runs four times.
No staging, no smoke tests, no rollback. The migration deadlocks on a lock table. Support tickets spike while the founder tries to remember which tab ran last.
OBSERVED Β· field reports