From 593f67d12d711f8b4ca0a4344611756a48b901b4 Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Tue, 13 Oct 2026 16:35:02 +0200 Subject: [PATCH] docs(18-06): record plan 06 progress in STATE and ROADMAP --- .planning/ROADMAP.md | 6 +++--- .planning/STATE.md | 19 ++++++++++++------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index b9b3f50..956aabe 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -1113,7 +1113,7 @@ Plans: 4. A host test proves the order-create, Stripe-pay and order-paid flow that Horoskopia relies on. 5. The new code has unit tests, delivered in the phase's last plan. -**Plans:** 5/7 plans executed +**Plans:** 6/7 plans executed Plans: **Wave 1** @@ -1132,7 +1132,7 @@ Plans: - [x] 18-05-PLAN.md — sm-pgstripe-plugin and the proof host: stripe-go v87 operator (Checkout and PaymentIntent, D-16/D-17), signature-only webhooks (D-14), browser return, refunds, encrypted settings with env fallback and `pgstripe:import-winter` (D-13), the D-03/D-04 host test with both pay paths **Wave 6** *(blocked on 18-05)* -- [ ] 18-06-PLAN.md — Customer order API `/_paymentgateway/api/v1` (D-06 contract gate, authz, twelve endpoints) and the new vue-paymentgateway-layer (typed client, Pg* components, i18n, tests); repository creation, fixture request, pushes and layer tag v0.1.0 with go-ahead +- [x] 18-06-PLAN.md — Customer order API `/_paymentgateway/api/v1` (D-06 contract gate, authz, twelve endpoints) and the new vue-paymentgateway-layer (typed client, Pg* components, i18n, tests); repository creation, fixture request, pushes and layer tag v0.1.0 with go-ahead **Wave 7** *(blocked on 18-01..18-06)* - [ ] 18-07-PLAN.md — Unit tests last: the 74-case PHP map, money and FSM matrices, legacy fixtures, security evidence, framework and layer tests, `scripts/check-phase18.sh`, validated 18-VALIDATION.md, final push approval @@ -1340,7 +1340,7 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → | 15. Journal plugin | 4/4 | Complete | 2026-10-06 | | 16. grzybyfunkcjonalne.pl on reusable blog views | 5/5 | In Progress| | | 17. Blog companions | 6/6 | In Progress| | -| 18. Payment Gateway | 5/7 | In Progress| | +| 18. Payment Gateway | 6/7 | In Progress| | | 18.1. Payment Gateway Subscriptions | 0/TBD | Not started | - | | 19. Chat and ChatChannels | 0/TBD | Not started | - | | 19.1. Chat satellites | 0/TBD | Not started | - | diff --git a/.planning/STATE.md b/.planning/STATE.md index 1c40cfd..449e2a7 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -4,16 +4,16 @@ milestone: v1.0 current_phase: 18 current_phase_name: Payment Gateway status: executing -stopped_at: Completed 18-05-PLAN.md -last_updated: "2026-10-13T12:59:09.514Z" +stopped_at: Completed 18-06-PLAN.md +last_updated: "2026-10-13T14:34:53.694Z" last_activity: 2026-10-13 last_activity_desc: Phase 18 execution started -state_head: 3255a815c78ddeaea658e1b2bdf5d35dca28a3f6 +state_head: 25cfb0a4cc5c9a9336529bcf5fa95b29f20e9ddb progress: total_phases: 40 completed_phases: 14 total_plans: 175 - completed_plans: 173 + completed_plans: 174 gsd_state_version: "1.0" milestone_name: milestone --- @@ -30,7 +30,7 @@ See: .planning/PROJECT.md (updated 2026-10-12) ## Current Position Phase: 18 (Payment Gateway) — EXECUTING -Plan: 6 of 7 +Plan: 7 of 7 Status: Ready to execute Last activity: 2026-10-13 — Phase 18 execution started @@ -230,6 +230,7 @@ Progress: [████░░░░░░] 44% | Phase 18 P03 | 45min | 3 tasks | 75 files | | Phase 18 P04 | 40 min | 3 tasks | 78 files | | Phase 18 P05 | 20min | 3 tasks | 31 files | +| Phase 18 P06 | 70min | 6 tasks | 52 files | ## Accumulated Context @@ -765,6 +766,10 @@ Recent decisions affecting current work: - [Phase 18]: 18-05: Stripe webhooks are verified by signature only (webhook.ValidatePayload) with a minimal local event decode, so the endpoint API version is irrelevant - [Phase 18]: 18-05: Authentic notifications for no payment of this application answer 200 ignored via the new paymentgateway sentinel operators.ErrNotificationIgnored - [Phase 18]: 18-05: All four Stripe secrets fall back to golem15.pgstripe. config keys (SUMMER_GOLEM15__PGSTRIPE__*) while their encrypted column is empty +- [Phase 18]: 18-06: customer API contract api-research (one-way): twelve endpoints under /_paymentgateway/api/v1, money {amount, amount_minor, currency}, 404 for unknown and forbidden orders, 409 Order state changed +- [Phase 18]: 18-06: customer cancel in AwaitingPayment uses the PHP Cancel transition after canceling open cash and bank transfer payments; process rolls back on an operator error so the order stays Placed +- [Phase 18]: 18-06: GET /orders behind api.RequireJWT (jwt guard, Bearer only); layer auth hook is the Nuxt provide paymentGatewayAuth +- [Phase 18]: 18-06: fixtures: none for shop-type legacy rows (human); three repos published, vue-paymentgateway-layer tagged v0.1.0 ### Pending Todos @@ -843,6 +848,6 @@ Items acknowledged and carried forward from previous milestone close: ## Session Continuity -Last session: 2026-10-13T12:59:08.504Z -Stopped at: Completed 18-05-PLAN.md +Last session: 2026-10-13T14:34:52.592Z +Stopped at: Completed 18-06-PLAN.md Resume file: None