From efdc11647c17d3702c9e847e746cc34f66378fdf Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Tue, 13 Oct 2026 17:35:40 +0200 Subject: [PATCH] docs(18-07): record the deferred RegisterDetailsParams reader and a pre-existing gofmt item --- .planning/phases/18-payment-gateway/deferred-items.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 .planning/phases/18-payment-gateway/deferred-items.md diff --git a/.planning/phases/18-payment-gateway/deferred-items.md b/.planning/phases/18-payment-gateway/deferred-items.md new file mode 100644 index 0000000..297b52d --- /dev/null +++ b/.planning/phases/18-payment-gateway/deferred-items.md @@ -0,0 +1,8 @@ +# Phase 18 deferred items + +Out-of-scope findings recorded during execution. They are not fixed in this phase. + +## 18-07 (unit tests) + +- **`cart.RegisterDetailsParams` has no reader (sm-paymentgateway-plugin).** The function stores a typed parameter set in `paramTypes`, and its doc says a row whose `parameters` carry `"_type": name` decodes into the registered struct. Nothing reads `paramTypes`: `decodeParameters` always returns a map. No plugin or application calls `RegisterDetailsParams` today. Making typed details parameters work means `Details` has to hold a struct beside its map, which is a design decision rather than a test-exposed bug. There are two options for a later phase: implement the typed decode, or drop the function and its README mention. `TestCartRegistry` pins what exists now: the allowlist, duplicate names, the nil constructor, and a `_type` in a row stays plain data. +- **gofmt in sm-paymentgateway-plugin.** `mail_smoke_test.go` (from plan 04) is not gofmt-clean. 18-05 noted this too. It is left untouched.