diff --git a/.planning/phases/18.1-payment-gateway-subscriptions/18.1-VERIFICATION.md b/.planning/phases/18.1-payment-gateway-subscriptions/18.1-VERIFICATION.md index c28964a3..3339f588 100644 --- a/.planning/phases/18.1-payment-gateway-subscriptions/18.1-VERIFICATION.md +++ b/.planning/phases/18.1-payment-gateway-subscriptions/18.1-VERIFICATION.md @@ -1,7 +1,7 @@ --- phase: 18.1-payment-gateway-subscriptions verified: 2026-10-16T15:45:06Z -status: human_needed +status: passed score: 5/5 roadmap success criteria verified (plan must-haves 65/65 verified, 4 of them as amended by user-accepted fixes) covered_files: - .planning/phases/18.1-payment-gateway-subscriptions/18.1-01-PLAN.md @@ -78,6 +78,8 @@ human_verification: - test: "Release go-ahead for the post-gate fixes: framework tag, plugin require bumps and tags, pushes" expected: "The user approves (or defers with a recorded reason) the release order from the quick-task summaries: push summercms.go master and tag v0.2.2 (carries pact.ListExtendRecords, pact.FormRecordTitle and meta.title); bump sm-paymentgatewaysubscriptions-plugin's require to v0.2.2, push main, tag (v0.1.1); bump sm-pgstripe-plugin's requires to v0.2.2 and the new pgsub tag, push main, tag (v0.1.1). After that a consumer pinned to the tags gets the G-18.1-8 boot fix, WR-01..WR-07 and G-18.1-7" why_human: "Project rule: nothing is pushed or tagged without the user's go-ahead. Today the released pgsub v0.1.0 lacks the G-18.1-8 fix, so an app built with `summer build` on the tagged plugin fails every command with 'database is not published' (the UAT 8 blocker). pgsub HEAD calls pact.ListExtendRecords and pact.FormRecordTitle, which no framework tag has; its go.mod requires summercms v0.2.1 and builds only through its replace ../summercms.go, which a consuming module ignores. Unpushed: framework 13 commits (3 code), pgsub 4, pgstripe 2" + result: passed + resolved: "2026-10-16, user go-ahead: summercms v0.2.2 (450c535), pgsub v0.1.1 (8b3a5c0), pgstripe v0.1.1 (b870e8d) tagged and pushed with master/main; sm-paymentgateway-plugin main pushed (16484ba, untagged as before)" --- # Phase 18.1: Payment Gateway Subscriptions Verification Report @@ -85,7 +87,7 @@ human_verification: **Phase goal:** The generic core of `Golem15.PaymentGatewaySubscriptions` and pgstripe's subscription gateway and webhook run on SummerCMS. Horoskopia's subscription flow (plans, checkout, Stripe webhook, `golem15.pgsub.*` events, cancel and portal) works as it does on PHP. Exceptions are the user's recorded amendments: event ordering (D-21 amendment, 2026-10-14), the portal `cancel_at` mapping (D-21 amendment, 2026-10-16), and the re-review fixes the user accepted in UAT row 5 (`canceled` fires once on a deletion, `incomplete` no longer blocks checkout). **Mode:** mvp. The ROADMAP goal is not in user-story form, so this report checks the goal text and its five success criteria, as the earlier verifications did. **Verified:** 2026-10-16T15:45:06Z -**Status:** human_needed (one item: the release go-ahead) +**Status:** passed (the one human item, the release go-ahead, was approved and executed on 2026-10-16; see Release record) **Re-verification:** Yes. The previous report (2026-10-16T14:45Z) had no `gaps:`. It went stale (covered_changed) after two quick tasks: 261016-myi (WR-01 to WR-07 and G-18.1-8) and 261016-nqk (G-18.1-7 and G-18.1-4). This run verifies both in full and regression-checks plans 01 to 09 through the full gate. ## Goal Achievement @@ -259,3 +261,17 @@ The status is `human_needed` only because the fixes are not released. The tagged _Verified: 2026-10-16T15:45:06Z_ _Verifier: Claude (msd-verifier)_ + +## Release record (2026-10-16) + +Approved by the user after UAT (8/8) and the security audit (threats_open 0). The full gate `PHASE181_REQUIRE_POSTGRES=1 bash scripts/check-phase18.1.sh --all` passed on 450c535 before tagging. + +| Repo | Pushed | Tag | +|---|---|---| +| summercms.go | master to 450c535 (18.1 fixes and docs, quick 261016-s8x) | v0.2.2 | +| sm-paymentgatewaysubscriptions-plugin | main to 8b3a5c0 (requires summercms v0.2.2) | v0.1.1 | +| sm-pgstripe-plugin | main to b870e8d (requires summercms v0.2.2, pgsub v0.1.1) | v0.1.1 | +| sm-paymentgateway-plugin | main to 16484ba | none (still required as v0.0.0 through replace/go.work) | +| vue-paymentgateway-layer | nothing new | v0.2.1 unchanged | + +Both tags resolve with `GOPROXY=direct go list -m`.