# Session 0061.0 — Transcript > Date: 2026-06-01 > Start: 2026-06-01T10-28 (PST implied) > Status: **PLACEHOLDER — claimed at session start; finalized at session end.** > > This file reserves session ID 0061. The driver replaces this body > with the full transcript before publishing, and renames the file to > its final SESSION-0061.0-TRANSCRIPT-2026-06-01T10-28--.md form. --- ## Launch prompt ``` launch-app Slice 3 — provision-vm + scaffold-gitea-repos (SPEC §2, §6.7, §6.8) State (after Slice 2 / session 0060, 2026-06-01): - launch-app SPEC is v0.0.2; ROADMAP Slice 2 closed. - Skills exist: scaffold-gcp-project (§6.5), define-deployment (§6.6). - flotilla-core v0.3.0 on wiggleverse/flotilla-core main (private, tagged v0.3.0): deployment scaffold|validate|import + gcloud.describe_config, 371 tests green. Sits atop a parallel preview-environments line (still active). - ohm-rfc-app-flotilla main is the v1.8.0 thin shim, dep pinned flotilla-core>=0.3.0. - wiggle-snip (~/projects/wiggleverse/wiggle-snip, NOT a git repo) has a validated deployment.toml. The §5.3 validate gate is built + proven. Task: 1. Run scaffold-gcp-project for wiggle-snip FIRST (clears the dogfood WARN). 2. Build provision-vm (§6.7): micro VM (IAP-only, no public :22), runtime install (Python, Node, nginx, systemd unit), TLS via Cloudflare. Idempotent. Gates on flotilla-core deployment validate. 3. Build scaffold-gitea-repos (§6.8): repo set + bot user/token; record whether pre-prod uses its own Gitea or shares. 4. Proof: fresh micro VM up, /api/health reachable through nginx after a hand-run deploy, re-running the skill is a no-op. Constraints: pre-prod single env (NO slots/ramp/promote/rollback); hard secrets rule (stdin-piped secret set only); gcloud isolation (CLOUDSDK_ACTIVE_CONFIG_NAME per-process); parallel preview-environments line shares flotilla-core (worktree if touched); spec-driven (cite section numbers); branch + PR (Gitea, no gh CLI). ```