diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 8c1833d..7d03683 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -1156,11 +1156,11 @@ Plans: 4. A host test proves checkout, activation, `invoice.paid`, `past_due` with its grace period, cancel and duplicate-event idempotency against a Stripe fake. 5. The new code has unit tests, delivered in the phase's last plan. -**Plans:** 6 plans +**Plans:** 1/6 plans executed Plans: **Wave 1** -- [ ] 18.1-01-PLAN.md — Framework (summercms.go): core cabana `taglist` field and flat (Sortable) reorder (D-17), OpenAPI, dist, docs; framework tag with go-ahead +- [x] 18.1-01-PLAN.md — Framework (summercms.go): core cabana `taglist` field and flat (Sortable) reorder (D-17), OpenAPI, dist, docs; framework tag with go-ahead - [ ] 18.1-02-PLAN.md — sm-paymentgatewaysubscriptions-plugin core tracer (new repo): baseline gate (D-04/D-16), models and checks, contracts and build-time registries, six events, gateway-neutral Apply and claim, `user` subscribable, service API; remote and push with go-ahead **Wave 2** *(blocked on Wave 1 completion)* @@ -1364,7 +1364,7 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → | 16.3. Backend admin personal API tokens with scopes (INSERTED) | 4/4 | Complete | 2026-10-12 | | 17. Blog companions | 6/6 | Complete | 2026-10-13 | | 18. Payment Gateway | 8/8 | Complete | 2026-10-14 | -| 18.1. Payment Gateway Subscriptions | 0/TBD | Not started | - | +| 18.1. Payment Gateway Subscriptions | 1/6 | In Progress| | | 19. Chat and ChatChannels | 0/TBD | Not started | - | | 19.1. Chat satellites | 0/TBD | Not started | - | | 19.2. Chat polish against WavePath clients | 0/TBD | Not started | - | diff --git a/.planning/STATE.md b/.planning/STATE.md index 58ded81..2922274 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -2,18 +2,18 @@ msd_state_version: "1.0" milestone: v1.0 current_phase: "18.1" -current_phase_name: payment-gateway-subscriptions +current_phase_name: Payment Gateway Subscriptions (INSERTED) status: executing -stopped_at: Completed 18-08-PLAN.md -last_updated: "2026-10-14T12:32:40.622Z" -last_activity: 2026-10-13 -last_activity_desc: Phase 18 execution started -state_head: e37ccbeacbd85ad4b41ebd54e61f1ec279a74d59 +stopped_at: Completed 18.1-01-PLAN.md +last_updated: "2026-10-14T14:38:44.555Z" +last_activity: 2026-10-14 +last_activity_desc: Phase 18.1 execution started +state_head: 1e18143ef3cf5f7e00d322aee8cdcffdd7bc119a progress: total_phases: 40 - completed_phases: 14 + completed_phases: 31 total_plans: 182 - completed_plans: 176 + completed_plans: 177 gsd_state_version: "1.0" milestone_name: milestone --- @@ -25,14 +25,14 @@ milestone_name: milestone See: .planning/PROJECT.md (updated 2026-10-12) **Core value:** An existing WinterCMS-shaped app can be ported plugin by plugin to a single Go binary without its frontend noticing: the PHP version's API contract is the acceptance test. -**Current focus:** Phase 18 — Payment Gateway +**Current focus:** Phase 18.1 — Payment Gateway Subscriptions (INSERTED) ## Current Position -Phase: 18.1 (payment-gateway-subscriptions) — READY TO EXECUTE -Plan: 8 of 8 +Phase: 18.1 (Payment Gateway Subscriptions (INSERTED)) — EXECUTING +Plan: 2 of 6 Status: Ready to execute -Last activity: 2026-10-13 — Phase 18 execution started +Last activity: 2026-10-14 — Phase 18.1 execution started Progress: [████░░░░░░] 44% @@ -233,6 +233,7 @@ Progress: [████░░░░░░] 44% | Phase 18 P06 | 70min | 6 tasks | 52 files | | Phase 18 P07 | 75 min | 5 tasks | 62 files | | Phase 18 P08 | 20min | 4 tasks | 7 files | +| Phase 18.1 P01 | 31min | 5 tasks | 37 files | ## Accumulated Context @@ -779,6 +780,9 @@ Recent decisions affecting current work: - [Phase 18]: 18-08: payment_intent.payment_failed is not terminal: the Stripe operator logs one Warn line and leaves the payment Sent; only checkout.session.async_payment_failed rejects; checkout.session.expired and payment_intent.canceled stay 200 no-ops closed by pg:cancel-sent-payments — Stripe sends the event on every declined attempt and the customer may retry on the same Checkout page or client secret; Reject is final, and PHP never moved a payment from a notification except to Accept (gap 1 of 18-VERIFICATION, A-CR-01) - [Phase 18]: 18-08: a paid signal the payment machine refuses is logged at Error level (refuses Accept) for never-accepted payments; Accepted and Refunded are silent; no payment event, automatic refund or data write — The log line is the alert hook; a new event would be a public contract on a shared plugin with no listener, and a refund moves money (A-CR-02 logging half; session expiry on cancel stays open) - [Phase 18]: 18-08 push: sm-pgstripe-plugin main pushed to 0313820 after the human reply push; no tag, summercms.go not pushed — Task 4 checkpoint:decision; no application mounts the plugin yet, so no pointer bump +- [Phase 18.1]: 18.1-01 release gate: human replied "hold"; framework tag v0.1.26 held until plan 06, nothing pushed (22 commits origin/master..master local) +- [Phase 18.1]: 18.1-01: flat reorder inferred WinterCMS-Sortable style (no parentColumn key, no parent_id column); flat flag omitempty keeps tree payloads byte-identical +- [Phase 18.1]: 18.1-01: required taglist is checked on its normalised tags; generic required rule skipped for taglist as for repeater ### Pending Todos @@ -857,6 +861,6 @@ Items acknowledged and carried forward from previous milestone close: ## Session Continuity -Last session: 2026-10-13T22:20:33.417Z -Stopped at: Completed 18-08-PLAN.md +Last session: 2026-10-14T14:38:43.710Z +Stopped at: Completed 18.1-01-PLAN.md Resume file: None