diff --git a/ecomm/0034/SESSION-0034.0-TRANSCRIPT-2026-06-11T23-49--INPROGRESS.md b/ecomm/0034/SESSION-0034.0-TRANSCRIPT-2026-06-11T23-49--INPROGRESS.md index f947154..92c4b12 100644 --- a/ecomm/0034/SESSION-0034.0-TRANSCRIPT-2026-06-11T23-49--INPROGRESS.md +++ b/ecomm/0034/SESSION-0034.0-TRANSCRIPT-2026-06-11T23-49--INPROGRESS.md @@ -66,6 +66,48 @@ frontend build, 19 vitest); **`e2e.sh` 7/7** incl. `e2e_image_outcomes`. Remaining: 12 (engineering `provision-bucket`), 13 (docs/config/v0.7.0), 14 (merge + PPE deploy, operator gestures). +### Tasks 12–14 DONE (through merge) + +- **Task 12**: launch-app `provision-bucket` gesture built + merged — engineering + **PR #58** (merge `8ca6507`): idempotent per-env private media bucket + provisioner (regional Standard, uniform access, public-access-prevention, + `import-drafts/` 1-day lifecycle, objectAdmin to the VM SA only; bucket name = + non-secret overlay config; SPEC §6.6b). Default bucket `-ppe-media` = + `wiggleverse-ecomm-ppe-media`. +- **Task 13**: docs (products-domain image pipeline + re-targeted draft-blob + seam; OPERATIONS provision-bucket gesture + TEL-4/5 + RB-3/ALR-3), + `deployment.toml [overlay]` (`ECOMM_OBJECTSTORE_KIND=gcs`, + `ECOMM_OBJECTSTORE_BUCKET=wiggleverse-ecomm-ppe-media`), **v0.7.0** (VERSION + + package.json + lockfile). +- **Final code review** (whole-implementation): caught a **Critical** — + `DecompressionBombError`/unexpected processing or storage errors escaped + `process()`/`_process_one`, aborting `run_image_phase` before it set the run + status → run stranded `fetching_images` → recovery crash-loop (also a + decomp-bomb DoS). **Fixed** (commit `c929282`): `process()` treats the bomb as + `rejected_not_image`; `_process_one` wraps process+store in a per-image + catch-all → marks `failed` so one bad image never wedges the run; +2 regression + tests. Honest-docs fix for the `claim` single-worker assumption (review #2) and + the resumable mid-fetch-restart behavior (review #3, accepted by §6.9 design). + Minors #4–7 deferred (non-path / latent). Bootstrap-test extension skipped as + redundant (round-trip-over-images already locked by the property test + + `e2e_roundtrip_noop`/`e2e_image_outcomes`). +- **Task 14 (merge half DONE)**: final gates green — `check.sh` (202 backend + pytest, frontend build, 19 vitest) + `e2e.sh` **7/7**. Merged **PR #30** (merge + `8ed9b25`) → `main`; tagged **v0.7.0** on the merge commit. + +### PPE DEPLOY — pending the operator `provision-bucket` gesture + +The §9 pipeline's PPE stage is blocked on one operator-run provisioning gesture +(`flotilla-only-provisioning`, both postures). Runbook handed to the operator: +1. `provision-bucket` (launch-app skill) → creates `wiggleverse-ecomm-ppe-media`, + grants the VM SA objectAdmin, sets the lifecycle rule. **Operator-run.** +2. `CLOUDSDK_ACTIVE_CONFIG_NAME=wiggleverse-ecomm flotilla-core deploy ecomm` + (checks out the `v0.7.0` tag; may need a gcloud re-auth — prior-session gotcha). +3. ALR-3 gcloud log-based alert in project `wiggleverse-ecomm` (mirror ALR-2). +4. PPE verify: `/healthz` 0.7.0; import a CSV with a public image URL → run-detail + progresses to terminal; served `…/images/{id}/detail` loads; export→re-import + all-unchanged. Stamp `release/` (PST) on the deployed ref. + ## Deferred decisions _Autonomous-mode low-confidence calls the driver made and would have