Session Log¶
Reverse-chronological log of work sessions on GPUS-IT infrastructure and forms portal. Latest session is always at the top.
2026-04-24 — Phase 2 forms backend LIVE¶
Shipped¶
- Commits
9511f5aand8c1f018pushed tomain forms-backendCloud Run service deployed to revision00027-sdvwith Phase 2 stubs- Added forms API contract, frontend design spec, and Phase 2 deploy checklist to mkdocs portal
auth_v2module shipped as additive layer alongside Phase 1 auth (no breakage)
Key decisions made¶
- Went with the cream theme over dark for the forms portal (matches Greenpeace brand warmth, better legibility for long-form intake)
- Moss-green CTA buttons instead of standard Greenpeace campaign green (differentiates internal tooling from public-facing activism sites)
- Fork submission flow into long-form vs short-form paths rather than a single adaptive form (cleaner validation, simpler per-path audit)
auth_v2is an additive module — Phase 1/api/forms*routes stay exactly as they are; Phase 2 gets its own namespace- Role derivation lives on the token, not in a DB lookup (keeps the hot path stateless)
Bugs found and fixed¶
- Org-wide scope bug in
gpus-okta-auth.js— fixed in commit6cf8c5d - Canonical email mismatch: Okta profile returns
.usbut tokens carry.org— normalized in auth layer - Repo had an older Phase 2 scaffold that predated the v1 work — removed before layering in the new stubs
Verified working¶
/health/phase2returns 200 with build metadata/api/mereturns caller identity with derived roles/api/configreturns Phase 2 feature flags/api/admin/formsgated correctly (admin-only)- Token-based role derivation confirmed for both
submitterandadminroles - 10 environment variables set on Cloud Run revision
00027-sdv(verified viagcloud run revisions describe)
Open for next session¶
- Deploy
forms-frontendCloud Run service - Wire Phase 2 routes through to the Phase 1 data layer
- SQLi tabletop + red/blue drill — this gates Phase 3 and must happen before any new write paths land
Reference¶
- Commits:
9511f5a,8c1f018 - Design spec: architecture/forms-frontend-design-spec.md
- API contract: architecture/forms-api-contract.md
- Deploy checklist: architecture/forms-phase2-stubs-deploy.md