update 0061/SESSION-0061.0-TRANSCRIPT-2026-06-01T10-28--INPROGRESS.md

This commit is contained in:
2026-06-01 12:21:59 -07:00
parent e7b00e612f
commit f0a9498bfa
@@ -116,32 +116,50 @@ Both shell assets pass `bash -n`; the param reader round-trips wiggle-snip's tom
### Arc 3 — Dogfood step 1: GCP foundation for wiggle-snip ### Arc 3 — Dogfood step 1: GCP foundation for wiggle-snip
Operator chose **full live bring-up** on a **new** billing account. Drove Operator chose **full live bring-up** on a **new** billing account. Drove
`scaffold-gcp-project` for wiggle-snip: `scaffold-gcp-project` for wiggle-snip: project `wiggle-snip` under org
`wiggleverse.org`; dedicated `wiggle-snip` profile **`--no-activate`** (verified the
active pointer stayed `benstull-infra`); **6/6 PASS** validate (gcloud-project WARN
cleared). Operator created a new billing account → linked → APIs enabled
(compute/secretmanager/iap) → ADC quota pinned to wiggle-snip.
- Created GCP project `wiggle-snip` under org `wiggleverse.org` (592336083752). ### Arc 4 — VM + firewall + runtime (3 skill bugs found by dogfooding)
- Created the dedicated `wiggle-snip` gcloud profile **`--no-activate`**; populated
account/project/region/zone scoped by `CLOUDSDK_ACTIVE_CONFIG_NAME` only. **Verified
the active pointer stayed `benstull-infra`** — the two-layer rule held.
- Re-ran `deployment validate`: **6/6 PASS, the gcloud-project WARN cleared** — the
§4.2 gate for `provision-vm` is green.
Blocked here on the operator plate (below): a **new billing account** is Console-only, - Static IP `35.255.99.91`; VM `wiggle-snip-ppe` (e2-micro, debian-12, shielded) RUNNING.
and APIs/VM can't proceed until billing links. - Firewall: IAP-only :22 (35.235.240.0/20), :80/:443 from Cloudflare ranges.
**Skill bug #1:** the default VPC ships `default-allow-ssh` (:22 from 0.0.0.0/0);
firewall rules union, so IAP-only wasn't structural until I deleted
default-allow-ssh + default-allow-rdp. Patched provision-vm Step 3 (3d).
- IAP SSH verified. provision-runtime installed the OS runtime (node 18.20.4, npm
9.2.0, python 3.11.2). **Skill bug #2:** clone temp dir `${INSTALL_DIR}.clone`
under root-owned /opt couldn't be created by the service user — now root
pre-creates it user-owned. **Skill bug #3:** the Gitea host has an AAAA record
but the VM has no IPv6 route → SSH clone died "Network is unreachable"; forced
IPv4 (`AddressFamily inet` / `ssh -4` / `ssh-keyscan -4`).
### Arc 5 — Gitea repo + the One-Name fork
- No GITEA_TOKEN in env; org push-to-create disabled. Operator created the repo —
as `wiggleverse/wiggleverse-wiggle-snip-app` (the `<org>-<product>-app`
convention), NOT `wiggle-snip`. **One-Name divergence (§3.3).** Operator chose:
keep deployment/project/VM = `wiggle-snip`, repoint `[app].repo` at the long
name. Logged as SPEC §3.3 friction (Wiggleverse repo convention vs
repo-name==One-Name). Pushed main + tag `v0.1.0` over SSH (as ben.stull).
- Repo is **private** (operator's choice). Added `gitea_read_secret_ref =
wiggle-snip/wiggle-snip-gitea-read-token` to the toml; re-validated (6/6);
re-imported. provision (private path) generated the VM deploy key
(`ssh-ed25519 …mYXY0 wiggle-snip-ppe-deploy`), pinned to the IPv4 fix.
--- ---
## What lands on the operator's plate (current) ## What lands on the operator's plate (current)
1. **New billing account** (Console-only) → give me the account ID (not a secret) so I 1. **Register the VM deploy key** (read-only) on wiggleverse-wiggle-snip-app — for
link it, or link it yourself: `gcloud billing projects link wiggle-snip the clone.
--billing-account=<ID>`. 2. **Store the read token**: `gcloud secrets create wiggle-snip-gitea-read-token`
2. **Gitea repo push** — export a `$GITEA_TOKEN` with org repo-create scope and either (stdin) — for flotilla's pin fetch. (NOT `flotilla secret set` — §5.1 keeps it
run, or let me run, `scaffold-gitea-repos/assets/init-and-push.sh --app-dir out of the app runtime env.)
~/projects/wiggleverse/wiggle-snip --repo wiggleverse/wiggle-snip` (public; no 3. **Cloudflare DNS** A `ppe.wiggle-snip.wiggleverse.org` → `35.255.99.91`, proxied,
`--private`). Pushes + tags `v0.1.0`. SSL Full — before phase 8 can go green.
3. **Cloudflare DNS** — a `$CF_API_TOKEN` + `$CF_ZONE_ID` in your env for the proxied
A record `ppe.wiggle-snip.wiggleverse.org` → the VM IP, SSL mode Full (provision
Step 6). Never pasted into the conversation.
--- ---