diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 356483e..592905b 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -999,7 +999,7 @@ Plans: **Goal:** Plugins can register their own admin form field types (todo: cabana-richeditor-field-type), and the Journal plugin ships a first-class Blog Editor formwidget for post content — beyond the current markdown field or a plain rich editor — that edits imported HTML posts losslessly. **Requirements**: TBD **Depends on:** Phase 16.1 -**Plans:** 5/6 plans executed +**Plans:** 6/6 plans executed Plans: **Wave 1** @@ -1014,7 +1014,7 @@ Plans: - [x] 16.2-05-PLAN.md — Release gate (human), summercms tag v0.1.18 (next free), journal and host bumps, UAT redeploy and on-server smoke, UAT acceptance: untouched re-saves byte-identical, editor edit with upload and embed, unsafe markup stripped and reported **Wave 4** *(blocked on Wave 3 completion)* -- [ ] 16.2-06-PLAN.md — Unit tests: resave contract at every layer, strip-and-report and notices, policy cross-check corpus (both policies, identical copies), category strip, full Go and JS coverage, Postgres tests for a Docker host, phase gate scripts/check-phase16.2.sh, validation map +- [x] 16.2-06-PLAN.md — Unit tests: resave contract at every layer, strip-and-report and notices, policy cross-check corpus (both policies, identical copies), category strip, full Go and JS coverage, Postgres tests for a Docker host, phase gate scripts/check-phase16.2.sh, validation map ### Phase 16.3: Backend admin personal API tokens with scopes (INSERTED) @@ -1026,6 +1026,7 @@ Plans: - Tokens keep the `g15_` prefix and are stored only as a hash. The rest of the format can change, and WinterCMS Apparatus tokens are not migrated. - The user picks the scope when creating a token. Plugins register their own scopes. Scope design (names, read-only variants, system-wide) is settled in discuss-phase. - Tokens are managed in two places, as in WinterCMS: a panel on the admin SPA backend user form (create, show once, revoke) and a `summer` CLI command. + **Success Criteria** (what must be TRUE): 1. The `backend` guard accepts a valid, unexpired, unrevoked `g15_` token as well as the backend JWT, and the request runs as the token's backend user. @@ -1034,6 +1035,7 @@ Plans: 4. The Journal API accepts a Journal-scoped token for writes, so an agent can manage blog posts as a backend author. 5. Module READMEs and `docs/` cover the token API, scopes and CLI commands. 6. The new code has unit tests, delivered in the phase's last plan. + **Plans:** 0 plans Plans: diff --git a/.planning/STATE.md b/.planning/STATE.md index 6332876..48dc719 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -3,17 +3,17 @@ msd_state_version: "1.0" milestone: v1.0 current_phase: "16.2" current_phase_name: Plugin-provided field types and the Blog Editor formwidget -status: executing +status: verifying stopped_at: Phase 16.3 context gathered -last_updated: "2026-10-10T13:33:03.540Z" +last_updated: "2026-10-10T14:21:46.539Z" last_activity: 2026-10-10 last_activity_desc: Phase 16.2 execution started -state_head: c07da3912b1cc4b5d112200f7af16c5ad3061d02 +state_head: 9652834ca02230d338888344c5bb0d0c0550abed progress: total_phases: 35 completed_phases: 13 total_plans: 157 - completed_plans: 152 + completed_plans: 153 gsd_state_version: "1.0" milestone_name: milestone --- @@ -31,7 +31,7 @@ See: .planning/PROJECT.md (updated 2026-09-16) Phase: 16.2 (Plugin-provided field types and the Blog Editor formwidget) — EXECUTING Plan: 6 of 6 -Status: Ready to execute +Status: Phase complete — ready for verification Last activity: 2026-10-10 - Completed quick task 261010-iwu: Blog Editor live preview pane Progress: [██████████] 100% @@ -207,6 +207,7 @@ Progress: [██████████] 100% | Phase 16.2 P03 | 13min | 3 tasks | 21 files | | Phase 16.2 P04 | 50 min | 3 tasks | 15 files | | Phase 16.2 P05 | 25 min | 3 tasks | 7 files | +| Phase 16.2 P06 | 43min | 3 tasks | - files | ## Accumulated Context diff --git a/.planning/state.json b/.planning/state.json index d6a85d6..0b9aaa3 100644 --- a/.planning/state.json +++ b/.planning/state.json @@ -141,8 +141,8 @@ ], "next": { "command": "/msd:progress --next", - "label": "Advance to the next step", - "reason": "Phase 16.2 of 34 · executing" + "label": "Advance to the next step (verify)", + "reason": "Phase 16.2 of 35 · ready to verify" }, - "updated_at": "2026-10-10T12:47:48.195Z" + "updated_at": "2026-10-10T14:21:45.523Z" }