Controlled vibe coding as a governed cycle

Vibe coding becomes an engineering workflow only when AI has bounded input, an allowed change area, a short feedback loop, and a human control point. The goal is not to obtain the largest diff, but to quickly test one hypothesis without losing traceability.

Before each iteration, record the task contract, affected paths, expected signal, and stop condition. If the model proposes a change outside the boundaries, adds unnecessary cleanup, or cannot explain the verification path, stop the cycle instead of expanding the prompt.

Small diff as a quality boundary

SignalControlled variantHOLD / stop
ScopeOne behavior or one reviewable sliceUnexpected modules or redesign
DiffSmall related changes with an explanationMass cleanup or mixed concerns
VerificationTargeted check defined before editingNo oracle or result is Unknown
DecisionA human reviews the diff and next stepAutomatic continuation without a checkpoint

Iteration contract

CONTROLLED_VIBE_CODING.md — documented example
# CONTROLLED_VIBE_CODING.md
Goal: implement one bounded change
Allowed paths: <explicit files or directories>
Expected diff: one behavior, no unrelated cleanup
Check: <targeted command or review step>
Stop when: scope expands, contract is unclear, or check is unavailable
Human gate: inspect diff and decide continue / revise / HOLD
Status: documented example; execution result: Unknown.

Canonical lesson source · JavaRush

Open JavaRush material