diff --git a/.planning/phases/19.7-generic-mcp-module/19.7-GAP-INPUTS.md b/.planning/phases/19.7-generic-mcp-module/19.7-GAP-INPUTS.md index 6885757a..d02a4bc2 100644 --- a/.planning/phases/19.7-generic-mcp-module/19.7-GAP-INPUTS.md +++ b/.planning/phases/19.7-generic-mcp-module/19.7-GAP-INPUTS.md @@ -62,3 +62,12 @@ The routes are guarded by `APITokenGuard` plus `middleware.Scope("servers:write" ### Open design point for the planner `pact.HasTokenScopes` today feeds the backend `g15_` catalog in cabana. If the user plugin also reads it, a scope a plugin declares for member tokens would also appear in the admin token catalog, and the reverse. Decide between reusing the interface (one catalog, both token kinds) and a separate frontend interface. The escalation does not ask for any change to the backend catalog, so a separate interface (or an audience field) is likely the safer choice. Record the choice as a decision. + +## Planning decisions (user, 2026-10-23) + +- **Four gap-closure plans:** + - 19.7-06, pier hardening (lane A), wave 1 + - 19.7-07, framework auth (`auth_time`), cabana and admin SPA (lane B), plus the E-2 framework seam, wave 1 + - 19.7-08, the plugins (sm-user-plugin with C-CR-01, C-CR-02, C-WR-01, E-1 and E-2; oauthserver with C-CR-01 and C-WR-02; Journal with C-IN-01) and the demo, wave 2 + - 19.7-09, unit tests, the extended gate and the security-review corrections, wave 3 (the last plan, by project rule) +- **Release order:** no tag in plans 06-09. Everything is developed and tested against the local framework (`replace ../summercms.go` / go.work). After the re-review, verification, Nyquist validation and UAT pass: tag framework v0.5.0, then tag sm-user-plugin, sm-oauthserver-plugin and sm-journal-plugin requiring v0.5.0, then bump the applications. sm-servers-app waits for that release for E-2.