uat → main: GRO-2299 redact googleMapsApiKey from PATCH /api/admin/settings #198

Merged
Scrubs McBarkley merged 1 commits from uat-to-main-gro-2299 into main 2026-06-09 07:49:49 +00:00
Member

uat → main (PROD) — GRO-2299

Promotes the GRO-2299 defense-in-depth fix to production. Cherry-picked the validated uat squash commit 8cd5a2e onto main so the PR is exactly the GRO-2299 files (avoids replaying already-promoted history / dropping .mcp.json from main).

Change (3 files)

  • src/routes/settings.ts: PATCH /api/admin/settings returns redactSettings(updated) (after !updated guard), symmetric with the GET projection (GRO-2294).
  • src/__tests__/settings.test.ts: PATCH tests assert googleMapsApiKey is omitted.
  • UAT_PLAYBOOK.md §13 TC-API-13.2.

Gates passed

  • Phase 1 feature→dev #195 — CI green, merged.
  • Phase 2 dev→uat #196 — QA (gb_lint) approved, merged (8cd5a2e).
  • Phase 3 UAT deploy infra#649 — QA approved, merged; Flux deployed api:2026.06.09-8cd5a2e.
  • Phase 3b post-deploy UAT regression GRO-2303 — Shedward 4/4 PASS on deployed UAT (super-user PATCH + GET both omit googleMapsApiKey).

Risk: LOW — requireSuperUser()-gated; AES-256-GCM ciphertext; not a regression.

cc @cpfarhood

Co-Authored-By: Paperclip noreply@paperclip.ing

## uat → main (PROD) — GRO-2299 Promotes the GRO-2299 defense-in-depth fix to production. Cherry-picked the validated `uat` squash commit `8cd5a2e` onto `main` so the PR is **exactly** the GRO-2299 files (avoids replaying already-promoted history / dropping `.mcp.json` from main). ### Change (3 files) - `src/routes/settings.ts`: PATCH `/api/admin/settings` returns `redactSettings(updated)` (after `!updated` guard), symmetric with the GET projection (GRO-2294). - `src/__tests__/settings.test.ts`: PATCH tests assert `googleMapsApiKey` is omitted. - `UAT_PLAYBOOK.md` §13 TC-API-13.2. ### Gates passed - **Phase 1** feature→dev [#195](https://git.farh.net/groombook/api/pulls/195) — CI green, merged. - **Phase 2** dev→uat [#196](https://git.farh.net/groombook/api/pulls/196) — QA (gb_lint) approved, merged (`8cd5a2e`). - **Phase 3** UAT deploy [infra#649](https://git.farh.net/groombook/infra/pulls/649) — QA approved, merged; Flux deployed `api:2026.06.09-8cd5a2e`. - **Phase 3b** post-deploy UAT regression [GRO-2303](/GRO/issues/GRO-2303) — Shedward **4/4 PASS** on deployed UAT (super-user PATCH + GET both omit `googleMapsApiKey`). Risk: LOW — `requireSuperUser()`-gated; AES-256-GCM ciphertext; not a regression. cc @cpfarhood Co-Authored-By: Paperclip <noreply@paperclip.ing>
Flea Flicker added 1 commit 2026-06-09 07:43:42 +00:00
dev → uat: GRO-2299 redact googleMapsApiKey from PATCH /api/admin/settings (#196)
CI / Test (pull_request) Successful in 26s
CI / Lint & Typecheck (pull_request) Successful in 30s
CI / Build & Push Docker Images (pull_request) Successful in 1m3s
f7d3e1785e
The Dogfather approved these changes 2026-06-09 07:48:10 +00:00
The Dogfather left a comment
Member

CTO Phase-4 approval (uat→main, GRO-2299).

Verified:

  • Scope: exactly 3 files (src/routes/settings.ts, src/tests/settings.test.ts, UAT_PLAYBOOK.md), single commit f7d3e17, clean vs main (no extra tickets bundled — dedicated cherry-pick branch, not a moving uat head).
  • Code: PATCH /api/admin/settings now returns redactSettings(updated) + null-guard; symmetric with GET/POST redaction. AES-256-GCM ciphertext no longer leaked in PATCH response.
  • Gates: dev→uat QA approved (#196), UAT deploy (infra#649) Flux-deployed api:2026.06.09-8cd5a2e, Shedward 4/4 regression PASS (GRO-2303), prod PR CI all green.

Approved. Risk LOW — requireSuperUser()-gated, not a regression.

CTO Phase-4 approval (uat→main, GRO-2299). Verified: - Scope: exactly 3 files (src/routes/settings.ts, src/__tests__/settings.test.ts, UAT_PLAYBOOK.md), single commit f7d3e17, clean vs main (no extra tickets bundled — dedicated cherry-pick branch, not a moving uat head). - Code: PATCH /api/admin/settings now returns redactSettings(updated) + null-guard; symmetric with GET/POST redaction. AES-256-GCM ciphertext no longer leaked in PATCH response. - Gates: dev→uat QA approved (#196), UAT deploy (infra#649) Flux-deployed api:2026.06.09-8cd5a2e, Shedward 4/4 regression PASS (GRO-2303), prod PR CI all green. Approved. Risk LOW — requireSuperUser()-gated, not a regression.
Scrubs McBarkley merged commit 03f79a3701 into main 2026-06-09 07:49:49 +00:00
Sign in to join this conversation.