SLICE-7: images pipeline end-to-end — fetch/host/serve + INV-12 over images (SD-0002 §7.2) #30
Reference in New Issue
Block a user
Delete Branch "worktree-slice-7-images"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
SLICE-7 — the products images pipeline end-to-end (SD-0002 §7.2), closing PUC-7.
Ships:
platform/images(decode + resolution bar Q-3=500px + WebP renditions) ·platform/objectstore(local/GCS port) · the post-commit SSRF-guarded, bounded, resumable image-fetch phase (domains/products/imagefetch.py) · the storefront-authorized app-served image route (INV-16, immutable cache) · hosted-URL recognition extending INV-12 over images (export emits hosted detail URLs for fetched images; re-import resolves them to the existing record, never re-fetched; unknown hosted id → row error) · run-detail images section (live poll) + Products-page image-problems notice band + history image column · TEL-4/TEL-5 · v0.7.0.Cross-repo: launch-app
provision-bucketgesture built + merged (engineering #58) — the operator runs it at the PPE deploy to createwiggleverse-ecomm-ppe-media.Invariants: INV-12 (200-seed property test mixing fetched/non-fetched), INV-14 (storefront-scoped), INV-16 (hosted-only serving), INV-18 (≤20MB/30s/image-type + SSRF public-IP-only, no cross-guard redirects). A final code review caught + fixed a Critical decompression-bomb / unexpected-error path that could wedge a run (bomb→rejection + per-image error isolation).
Gates:
check.shgreen (lint-imports, 202 backend pytest, frontend build, 19 vitest);e2e.sh7/7 incl.e2e_image_outcomes(local fixture image host, no egress). Issue #13 stays open until SLICE-8 (Shopify dialect).🤖 Generated with Claude Code