docs(16.2-03): update state and roadmap after plan 03
This commit is contained in:
@@ -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:** 2/6 plans executed
|
||||
**Plans:** 3/6 plans executed
|
||||
|
||||
Plans:
|
||||
**Wave 1**
|
||||
@@ -1007,7 +1007,7 @@ Plans:
|
||||
- [x] 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)*
|
||||
- [ ] 16.2-03-PLAN.md — Journal Go integration: blogeditor and mlblogeditor types, strip-and-report Decode per locale (SanitizeHTMLReport), D-07 Load, post and category fields (category 422 gate retired), content_html companion writes without goldmark, bluemonday policy extended for the editor's own output (corpus test), editor uploads through the extracted media storage
|
||||
- [x] 16.2-03-PLAN.md — Journal Go integration: blogeditor and mlblogeditor types, strip-and-report Decode per locale (SanitizeHTMLReport), D-07 Load, post and category fields (category 422 gate retired), content_html companion writes without goldmark, bluemonday policy extended for the editor's own output (corpus test), editor uploads through the extracted media storage
|
||||
- [ ] 16.2-04-PLAN.md — vue-journal-layer: sanitize-html mirror extended for the editor's own output (corpus copy), expandEmbeds as the last step after sanitizeJournalHtml, SSR proof, tag v0.2.0 (human push gate), pin in vue-grzybyfunkcjonalne-app
|
||||
|
||||
**Wave 3** *(blocked on Wave 2 completion)*
|
||||
|
||||
@@ -4,16 +4,16 @@ milestone: v1.0
|
||||
current_phase: "16.2"
|
||||
current_phase_name: Plugin-provided field types and the Blog Editor formwidget
|
||||
status: executing
|
||||
stopped_at: Completed 16.2-02-PLAN.md
|
||||
last_updated: "2026-10-10T09:55:19.276Z"
|
||||
stopped_at: Completed 16.2-03-PLAN.md
|
||||
last_updated: "2026-10-10T10:13:50.309Z"
|
||||
last_activity: 2026-10-10
|
||||
last_activity_desc: Phase 16.2 execution started
|
||||
state_head: 5600c02a730d9ca18ff1324314778f1cc3db83a3
|
||||
state_head: 2a7e9761a45ad2c33422a51506f35a844e4a9227
|
||||
progress:
|
||||
total_phases: 34
|
||||
completed_phases: 13
|
||||
total_plans: 157
|
||||
completed_plans: 149
|
||||
completed_plans: 150
|
||||
gsd_state_version: "1.0"
|
||||
milestone_name: milestone
|
||||
---
|
||||
@@ -30,7 +30,7 @@ See: .planning/PROJECT.md (updated 2026-09-16)
|
||||
## Current Position
|
||||
|
||||
Phase: 16.2 (Plugin-provided field types and the Blog Editor formwidget) — EXECUTING
|
||||
Plan: 3 of 6
|
||||
Plan: 4 of 6
|
||||
Status: Ready to execute
|
||||
Last activity: 2026-10-10 — Phase 16.2 execution started
|
||||
|
||||
@@ -204,6 +204,7 @@ Progress: [██████████] 100%
|
||||
| Phase 16.1 P03 | 12 min | 3 tasks | 8 files |
|
||||
| Phase 16.2 P01 | 34min | 4 tasks | 51 files |
|
||||
| Phase 16.2 P02 | 25min | 3 tasks | 24 files |
|
||||
| Phase 16.2 P03 | 13min | 3 tasks | 21 files |
|
||||
|
||||
## Accumulated Context
|
||||
|
||||
@@ -665,6 +666,9 @@ Recent decisions affecting current work:
|
||||
- [Phase 16.2]: Blog Editor bundle built through the Vite application pipeline (single ES entry, fixed names, exports kept) because library mode never minifies ES whitespace
|
||||
- [Phase 16.2]: Blog Editor link parsing, rendering and commands use isPolicyUrl (http, https, mailto, relative); on* attributes are never captured; external values load outside the undo history
|
||||
- [Phase 16.2]: Uncaptioned editor images are inline (<p><img></p>); captioned ones are figure with figureImage and figcaption
|
||||
- [Phase 16.2]: Plan 03: the Journal HTML policy needed exactly the four editor-output rules (figure data-embed/data-id, img alt, ol start); the corpus showed no fifth
|
||||
- [Phase 16.2]: Plan 03: editor uploads must sniff as a JPEG/PNG/GIF/WebP type matching the extension; uniqueMediaKey errors instead of overwriting when all numbered names are taken
|
||||
- [Phase 16.2]: Plan 03: admin saves of post content write the Decode output to content and content_html per written locale (FormBefore*/FormAfter* hooks), no goldmark; category 422 gate retired
|
||||
|
||||
### Pending Todos
|
||||
|
||||
@@ -734,6 +738,6 @@ Items acknowledged and carried forward from previous milestone close:
|
||||
|
||||
## Session Continuity
|
||||
|
||||
Last session: 2026-10-10T09:55:18.559Z
|
||||
Stopped at: Completed 16.2-02-PLAN.md
|
||||
Last session: 2026-10-10T10:13:41.137Z
|
||||
Stopped at: Completed 16.2-03-PLAN.md
|
||||
Resume file: None
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
schema_version: 1
|
||||
open_count: 8
|
||||
open_count: 10
|
||||
waived_count: 0
|
||||
fixed_count: 6
|
||||
total_count: 14
|
||||
last_updated: 2026-10-10T09:54:57.583Z
|
||||
total_count: 16
|
||||
last_updated: 2026-10-10T10:12:10.986Z
|
||||
---
|
||||
|
||||
# Broken Windows Ledger
|
||||
@@ -29,6 +29,8 @@ last_updated: 2026-10-10T09:54:57.583Z
|
||||
| 12 | 16.1 | unrun-verify | .planning/phases/16.1-journal-admin-urgent-fixes-relation-search-list-state-post-f/16.1-VALIDATION.md | | sm-journal-plugin TestPostsAdminResaveKeepsHTML (posts_admin_smoke_test.go) not run here (no Docker); run go -C ../sm-journal-plugin test -count=1 ./... on a Docker host before /msd-verify-work | open | | 2026-10-09T20:51:27.671Z | |
|
||||
| 13 | 16.2 | deviation | tests/blogeditor/fixtures/imported-post.html | | sm-journal-plugin: 16.2-02 imported-post fixture is synthetic (same structure as the export post) because reading the journal export was refused by the environment's PII classifier; swap in the real export content if wanted | open | | 2026-10-10T09:54:57.288Z | |
|
||||
| 14 | 16.2 | unrun-verify | plugin_test.go | | sm-journal-plugin: TestJournalSVGEmbed now asserts AdminFS embeds assets/dist/blogeditor.js and .css; the root package TestMain needs Docker, so it was not run here; run go -C ../sm-journal-plugin test -count=1 . on a Docker host (plan 06) | open | | 2026-10-10T09:54:57.583Z | |
|
||||
| 15 | 16.2 | unrun-verify | .planning/phases/16.2-plugin-provided-field-types-and-the-blog-editor-formwidget/16.2-03-PLAN.md | | sm-journal-plugin posts_admin_smoke_test.go: TestPostsFormCompiles, TestPostsAdminCreateSmoke, TestPostsAdminResaveKeepsHTML, TestPostsAdminSaveSanitizesHTML compile under go vet but need a Docker host (plan 06) | open | | 2026-10-10T10:12:10.725Z | |
|
||||
| 16 | 16.2 | unrun-verify | .planning/phases/16.2-plugin-provided-field-types-and-the-blog-editor-formwidget/16.2-03-PLAN.md | | sm-journal-plugin journal_api_categories_test.go TestCategoriesAdminContent (strip assertions) and journal_api_task3_test.go media upload route tests after the StoreMedia refactor need a Docker host (plan 06) | open | | 2026-10-10T10:12:10.986Z | |
|
||||
|
||||
````json
|
||||
[
|
||||
@@ -213,6 +215,32 @@ last_updated: 2026-10-10T09:54:57.583Z
|
||||
"recorded_at": "2026-10-10T09:54:57.583Z",
|
||||
"resolved_at": null,
|
||||
"milestone": "v1.0"
|
||||
},
|
||||
{
|
||||
"id": 15,
|
||||
"kind": "unrun-verify",
|
||||
"phase": "16.2",
|
||||
"file": ".planning/phases/16.2-plugin-provided-field-types-and-the-blog-editor-formwidget/16.2-03-PLAN.md",
|
||||
"line": null,
|
||||
"description": "sm-journal-plugin posts_admin_smoke_test.go: TestPostsFormCompiles, TestPostsAdminCreateSmoke, TestPostsAdminResaveKeepsHTML, TestPostsAdminSaveSanitizesHTML compile under go vet but need a Docker host (plan 06)",
|
||||
"status": "open",
|
||||
"reason": "",
|
||||
"recorded_at": "2026-10-10T10:12:10.725Z",
|
||||
"resolved_at": null,
|
||||
"milestone": "v1.0"
|
||||
},
|
||||
{
|
||||
"id": 16,
|
||||
"kind": "unrun-verify",
|
||||
"phase": "16.2",
|
||||
"file": ".planning/phases/16.2-plugin-provided-field-types-and-the-blog-editor-formwidget/16.2-03-PLAN.md",
|
||||
"line": null,
|
||||
"description": "sm-journal-plugin journal_api_categories_test.go TestCategoriesAdminContent (strip assertions) and journal_api_task3_test.go media upload route tests after the StoreMedia refactor need a Docker host (plan 06)",
|
||||
"status": "open",
|
||||
"reason": "",
|
||||
"recorded_at": "2026-10-10T10:12:10.986Z",
|
||||
"resolved_at": null,
|
||||
"milestone": "v1.0"
|
||||
}
|
||||
]
|
||||
````
|
||||
|
||||
@@ -144,5 +144,5 @@
|
||||
"label": "Advance to the next step",
|
||||
"reason": "Phase 16.2 of 34 · executing"
|
||||
},
|
||||
"updated_at": "2026-10-10T09:55:05.823Z"
|
||||
"updated_at": "2026-10-10T10:13:36.073Z"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user