A functional Patio proof using code-drawn presentation and three basic captures.
Godot mobile tower defense
Loafer's Bad Yard Day
A deterministic Patio proof became a warm, household-built tower-defense slice with comic framing, original enemies, tactile feedback, and a reviewable evidence trail.
Outcome
Five gates accepted; device gate remains open
This report separates accepted product truth from preserved candidate work. A missing critic or device proof is treated as an open gate, not a semantic technicality.
A five-wave playable with an opening comic, original household towers, readable enemy roles, material art, VFX, audio, touch and accessibility contracts, replay, and a local review room.
Accepted boundary
- LF-G1 through LF-G4 presentation, narrative, art, VFX, and audio work
- LF-G6 evidence-led product and development review room
- Crossbow, real Glue Gun, and Catapult combat roles with victory and defeat routes
Held, candidate, or unstarted
- LF-G5 mobile behavior is implemented but not promoted without arm64 Simulator evidence
- Physical iPhone acceptance and broader campaign remain human-gated
- Four unrelated iOS-lane edits remain quarantined outside the Gauntlet checkpoint
Gate history
Decision timeline
The useful unit is not the turn. It is the gate: a bounded claim, its evidence, and the verdict that controlled promotion.
Patio contract and isolated presentation rules established.
Comic stakes and first-run story accepted.
Original household apparatus, bug art, VFX, and outcomes accepted.
Tactile original audio and isolation checks accepted.
Touch/accessibility/recovery built; arm64 Simulator runtime unavailable.
Review room accepted after correcting a mislabeled evidence frame.
Run ended at budget_exhausted with device truth preserved.
Existing evidence
Frames from the run.
No images were generated for this report. These are existing repository artifacts with shortened SHA-256 anchors. Candidate frames remain visibly labeled.



Testable now
Reproduce the current truth.
Commands are repository-root commands from the project's canonical debrief. They are shown for technical review, not as a public playable deployment claim.
godot --headless --path runtime/vertical-slice-godot --script res://tests/patio_stage_smoke.gd
godot --headless --path runtime/vertical-slice-godot --script res://tests/patio_retry_soak.gd
godot --headless --path runtime/vertical-slice-godot --script res://tests/presentation_isolation_smoke.gd
godot --headless --path runtime/vertical-slice-godot --script res://tests/patio_audio_isolation_smoke.gd
node --test tools/patio-gauntlet-review/tests/review.test.mjsDesktop and Web evidence are reproducible. Do not call the mobile gate accepted until the real arm64 Simulator route runs.
Git anchors
- Gauntlet checkpoint a6d896c
- LF-G6 accepted
- LF-G5 device-gated
Known token floor
4,060,850
Visible goal telemetry at wind-down. Descendant-specific usage and backend-plan accounting were unavailable.
Candid postmortem
Failures that changed the run.
The point of the case study is not that agents wrote code. It is that the system found reasons not to trust its own first answer.
Loops, stalls, and defects
- Early art direction was too flat before the warm material-world pass.
- The first audio pass was tonal rather than tactile.
- An empty Wave 4 frame was mislabeled as a Catapult payoff and rejected by a fresh critic.
- The available Godot simulator binary could not provide arm64 iOS runtime truth.
What carries forward
- Evidence captions are product claims and deserve independent criticism.
- Tool availability must be recorded as evidence, not treated as an entitlement.
- The largest quality gains came from art, sound, and causal feedback rather than more mechanics.
On a compatible Mac/Xcode/Godot arm64 lane, run the existing mobile-accessibility matrix without changing product code. Promote LF-G5 only on real device evidence, then open the next campaign gate.