add 0060/SESSION-0060.0-TRANSCRIPT-2026-06-01T06-30--2026-06-01T10-16.md + replace placeholder/variant SESSION-0060.0-TRANSCRIPT-2026-06-01T06-30--2026-06-01T10-03.md

This commit is contained in:
2026-06-01 10:16:53 -07:00
parent eea79509a1
commit 09ea650f2f
@@ -262,35 +262,63 @@ republished.
---
## Session close
Stopped here at the operator's call — Slice 2 shipped + merged across three
repos, the OHM shim merged + dep-pinned (Arc 12), and `flotilla-core` tagged
`v0.3.0`. **Done this session:** Slice 2 (engineering #3, flotilla-core #1), the
shim merge (former follow-up #c), and the dep pin to v0.3.0 (part of #b). No live
OHM deploy. The next-session launch prompt below is the closing handoff.
## Next-session prompt
> **State (after Slice 2, 2026-06-01):** launch-app SPEC is **v0.0.2**;
> `define-deployment` (§6.6) + `scaffold-gcp-project` (§6.5) skills exist;
> `flotilla-core` is **v0.3.0** on `wiggleverse/flotilla-core` `main`
> (private repo now created) with `deployment scaffold|validate|import` +
> `gcloud.describe_config`, tagged **`v0.3.0`**, sitting atop the merged
> preview-environments line. `ohm-rfc-app-flotilla` `main` is now the **thin
> shim** (v1.8.0) pinned to `flotilla-core>=0.3.0`. wiggle-snip has a validated
> `deployment.toml`.
>
> **Next: Slice 3 — `provision-vm` + `scaffold-gitea-repos`** (SPEC §2, §6.7,
> §6.8). `provision-vm` gates on `deployment validate` (§4.2) — built + proven.
> wiggle-snip needs its GCP foundation first (`scaffold-gcp-project`), which
> clears the one dogfood WARN.
>
> **Open follow-ups:** (a) install/symlink the launch-app suite skills for
> invocation; (b) **CI installability of the private `flotilla-core`** — the
> shim's `pip install -e .[test]` can't fetch a private, index-less dep without
> SSH/token wiring (deploys run from the laptop, so this is a CI gap, not a
> deploy blocker); (b2) add `flotilla-core` to the Patchwatch runner build
> context before its next rebuild; (c) Slice-5 backlog: `scaffold` emits an
> unused `APP_URL` overlay key by default. **Done this session:** the shim merge
> (former #c) and the dep pin to v0.3.0 (part of former #b).
>
> **Coordination:** a parallel preview-environments line shares `flotilla-core`.
> Work each line in its own **worktree**; never run mutating git in the shared
> main checkout while it's active. Both lines touch `cli.py` (additive command
> groups) — expect trivial conflicts only.
>
> **Scope guard:** pre-prod only, single environment. Slots / ramp / canary /
> rollback are guide §10, out of scope (SPEC §10).
```
# 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,
~/projects/wiggleverse/engineering/launch-app/skills/define-deployment/).
- 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. It 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.
## Read first
- SPEC: ~/projects/wiggleverse/engineering/launch-app/SPEC.md (§2 topology, §6.7
provision-vm, §6.8 scaffold-gitea-repos)
- ROADMAP: same dir, Slice 3
- Session 0060 transcript (wiggleverse/ohm-session-history, 0060/) for context.
## Task
1. wiggle-snip has no GCP foundation yet — run scaffold-gcp-project for it FIRST
(clears the one dogfood WARN and gives provision-vm a project to target).
2. Build `provision-vm` (§6.7): create the micro VM (IAP-only, no public :22),
install the runtime (Python, Node, nginx, systemd unit), TLS via Cloudflare.
Idempotent / re-runnable. It gates on `flotilla-core deployment validate`.
3. Build `scaffold-gitea-repos` (§6.8): the repo set + bot user/token; record
whether pre-prod uses its own Gitea or shares.
4. Proof: a fresh micro VM comes up, /api/health reachable through nginx after a
hand-run deploy, re-running the skill is a no-op.
## Constraints
- Scope: pre-prod, single environment. NO slots/ramp/promote/rollback (guide §10).
- Hard secrets rule (SPEC §8.3): stdin-piped `secret set` gestures only; NEVER
ask for secret bytes.
- gcloud isolation: pin CLOUDSDK_ACTIVE_CONFIG_NAME per-process; never touch the
shared on-disk active-config pointer.
- A parallel preview-environments line shares flotilla-core — if you touch that
repo, use an isolated git worktree; never run mutating git in a checkout the
parallel session holds.
- Spec-driven; cite section numbers in commits; branch + PR (Gitea, no gh CLI).
## Open follow-ups (pick up if relevant, not blocking)
- CI installability of the private flotilla-core for the shim's runner
(SSH/token wiring or a package index).
- Add flotilla-core to the Patchwatch runner build context before its rebuild.
- Install/symlink the launch-app skills so they're invocable.
- Slice-5 backlog: define-deployment's scaffold emits an unused APP_URL overlay
key by default — make derived-but-optional overlay keys a choice.
```