docs(16.2-01): update state and roadmap after plan 01

This commit is contained in:
2026-10-10 11:28:33 +02:00
parent 8237b7a19f
commit 5600c02a73
3 changed files with 22 additions and 17 deletions

View File

@@ -999,11 +999,11 @@ 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:** 6 plans
**Plans:** 1/6 plans executed
Plans:
**Wave 1**
- [ ] 16.2-01-PLAN.md — Framework (summercms.go): pact field-type API (human API checkpoint), cabana registry, boot option checks, Decode/Load/list in the save transaction, Decode notices as meta.notices (D-10 strip report), untouched skip, FieldWritesFromContext, field-types and field upload routes, OpenAPI and TS types, SPA PluginField/MLPluginField, global loader and notice display, dist, READMEs and docs
- [x] 16.2-01-PLAN.md — Framework (summercms.go): pact field-type API (human API checkpoint), cabana registry, boot option checks, Decode/Load/list in the save transaction, Decode notices as meta.notices (D-10 strip report), untouched skip, FieldWritesFromContext, field-types and field upload routes, OpenAPI and TS types, SPA PluginField/MLPluginField, global loader and notice display, dist, READMEs and docs
- [ ] 16.2-02-PLAN.md — Journal Blog Editor element (sm-journal-plugin assets/src to assets/dist): TipTap package check (human), untouched value contract, lossless schema and serializer, policy-safe links, uploads and YouTube embeds, the committed editor-output corpus, JS build, vitest, check-dist, embed
**Wave 2** *(blocked on Wave 1 completion)*

View File

@@ -2,18 +2,18 @@
msd_state_version: "1.0"
milestone: v1.0
current_phase: "16.2"
current_phase_name: plugin-provided-field-types-and-the-blog-editor-formwidget
current_phase_name: Plugin-provided field types and the Blog Editor formwidget
status: executing
stopped_at: Completed 16.1-03-PLAN.md
last_updated: "2026-10-10T00:27:04.316Z"
last_activity: 2026-10-09
last_activity_desc: Phase 16.1 execution started
state_head: 94900f233bf34d8dc585d404021c5038c8c621b6
stopped_at: Completed 16.2-01-PLAN.md
last_updated: "2026-10-10T09:28:16.322Z"
last_activity: 2026-10-10
last_activity_desc: Phase 16.2 execution started
state_head: 8237b7a19f82e480825493cf0b4426c8ea440319
progress:
total_phases: 34
completed_phases: 13
total_plans: 157
completed_plans: 147
completed_plans: 148
gsd_state_version: "1.0"
milestone_name: milestone
---
@@ -25,14 +25,14 @@ milestone_name: milestone
See: .planning/PROJECT.md (updated 2026-09-16)
**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 16.1 — Journal admin urgent fixes: relation search, list state, post form content and excerpt (INSERTED)
**Current focus:** Phase 16.2 — Plugin-provided field types and the Blog Editor formwidget
## Current Position
Phase: 16.2 (plugin-provided-field-types-and-the-blog-editor-formwidget) — READY TO EXECUTE
Plan: 3 of 3
Phase: 16.2 (Plugin-provided field types and the Blog Editor formwidget) — EXECUTING
Plan: 2 of 6
Status: Ready to execute
Last activity: 2026-10-09 — Phase 16.1 execution started
Last activity: 2026-10-10 — Phase 16.2 execution started
Progress: [██████████] 100%
@@ -202,6 +202,7 @@ Progress: [██████████] 100%
| Phase 16.1 P01 | 11 min | 4 tasks | 20 files |
| Phase 16.1 P02 | 1h 26m | 3 tasks | 4 files |
| Phase 16.1 P03 | 12 min | 3 tasks | 8 files |
| Phase 16.2 P01 | 34min | 4 tasks | 51 files |
## Accumulated Context
@@ -655,6 +656,10 @@ Recent decisions affecting current work:
- [Phase 16.1]: 16.1-02: UAT Go log checks read /var/log/supervisor/grzybyfunkcjonalne-go.log directly; supervisorctl tail fails on ANSI escapes in GORM log lines and makes grep-count checks vacuous
- [Phase 16.1]: 16.1-02: D-01/D-03 end-of-phase UAT checks are human-reported but not independently confirmed; queued for /msd-verify-work
- [Phase 16.1]: FormatHTML refuse tests require an error and empty result for every unsafe input: with html.WithUnsafe the gate is the only XSS defence
- [Phase 16.2]: pact.FormFieldType.ListValue is func(ctx context.Context, value any) string (human adjust at the 16.2-01 checkpoint); plans 03, 05 and 06 use the ctx form
- [Phase 16.2]: Plugin field type registry is built per Activate by compileFieldTypes and passed down the compile functions; existing compile functions stay nil-registry wrappers
- [Phase 16.2]: Only pact.FormFieldError from a plugin field type's Decode or Upload is a 422; every other plugin error, Load included, is the opaque 500
- [Phase 16.2]: Untouched plugin field values are skipped on update by canonical encoding/json comparison with the served value (stored value through Load), per field and locale
### Pending Todos
@@ -724,6 +729,6 @@ Items acknowledged and carried forward from previous milestone close:
## Session Continuity
Last session: 2026-10-09T20:52:41.534Z
Stopped at: Completed 16.1-03-PLAN.md
Last session: 2026-10-10T09:28:15.731Z
Stopped at: Completed 16.2-01-PLAN.md
Resume file: None

View File

@@ -142,7 +142,7 @@
"next": {
"command": "/msd:progress --next",
"label": "Advance to the next step",
"reason": "Phase 16.1 of 34 · executing"
"reason": "Phase 16.2 of 34 · executing"
},
"updated_at": "2026-10-09T18:51:01.734Z"
"updated_at": "2026-10-10T09:28:05.053Z"
}