From db6243c8c2b9dbe594c7c3e538fe2581a5a10411 Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Tue, 6 Oct 2026 18:49:33 +0200 Subject: [PATCH] docs(15-02): record journal admin plan progress in STATE and ROADMAP Co-authored-by: Cursor --- .planning/ROADMAP.md | 6 +++--- .planning/STATE.md | 22 ++++++++++++++-------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 1485941..0beb6d2 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -883,7 +883,7 @@ Plans: 3. Plugin README and docs stay application-neutral (`the application`, example names such as `blog`). 4. The new code has unit tests, delivered in the phase's last plan. -**Plans:** 1/4 plans executed +**Plans:** 2/4 plans executed Plans: @@ -891,7 +891,7 @@ Plans: - [x] 15-01-PLAN.md — Clone plugin, squashed `golem15_journal_*` schema, Translatable, host 3-plugin boot + CORS **Wave 2** *(blocked on Wave 1 completion)* -- [ ] 15-02-PLAN.md — Admin YAML (`mlmarkdown`), FormatHTML, permissions/nav SVG, import/export +- [x] 15-02-PLAN.md — Admin YAML (`mlmarkdown`), FormatHTML, permissions/nav SVG, import/export **Wave 3** *(blocked on Wave 2 completion)* - [ ] 15-03-PLAN.md — `/_journal/api/v1`, buckets, backend Bearer writes, media, Typesense gate off @@ -960,7 +960,7 @@ Phases execute in numeric order: 1 → 2 → 3 → 4 → 5 → 6 → 7 → 8 → | 14. Domain jobs and external integrations | 6/6 | In Progress| | | 14.1. OAuth identities and fonoteka me routes (INSERTED) | 2/2 | Complete | 2026-10-05 | | 14.2. Local Fonoteka frontend on local SummerCMS backend (INSERTED) | 0/TBD | Not started | - | -| 15. Journal plugin | 1/4 | In Progress| | +| 15. Journal plugin | 2/4 | In Progress| | | 16. grzybyfunkcjonalne.pl on reusable blog views | 0/TBD | Not started | - | | 20. Płytarium cutover | 0/TBD | Not started | - | diff --git a/.planning/STATE.md b/.planning/STATE.md index e3a6b34..60d70ea 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -4,16 +4,16 @@ milestone: v1.0 current_phase: 15 current_phase_name: Journal plugin status: executing -stopped_at: Completed 15-01-PLAN.md -last_updated: "2026-10-06T16:30:40.697Z" +stopped_at: Completed 15-02-PLAN.md +last_updated: "2026-10-06T16:48:34Z" last_activity: 2026-10-06 -last_activity_desc: Phase 15 execution started -state_head: 90b946db40f690a1bba322e795d465eb7ce92cba +last_activity_desc: Completed 15-02 journal admin YAML and import/export +state_head: 685837a3c8e23c2f05e2b367f42bd8d53e9b432b progress: total_phases: 26 completed_phases: 12 total_plans: 135 - completed_plans: 132 + completed_plans: 133 milestone_name: milestone --- @@ -29,11 +29,11 @@ See: .planning/PROJECT.md (updated 2026-09-16) ## Current Position Phase: 15 (Journal plugin) — EXECUTING -Plan: 2 of 4 +Plan: 3 of 4 Status: Ready to execute -Last activity: 2026-10-06 — Phase 15 execution started +Last activity: 2026-10-06 — Completed 15-02 journal admin YAML and import/export -Progress: [░░░░░░░░░░] 0% +Progress: [█████░░░░░] 50% ## Performance Metrics @@ -187,6 +187,7 @@ Progress: [░░░░░░░░░░] 0% | Phase 14.2.1 P05 | 11 | 3 tasks | 24 files | | Phase 14.2.1 P06 | 41min | 3 tasks | 15 files | | Phase 15 P15-01 | 11 | 3 tasks | 31 files | +| Phase 15 P15-02 | 75 min | 3 tasks | 39 files | ## Accumulated Context @@ -593,6 +594,11 @@ Recent decisions affecting current work: - [Phase 15]: translate replace stays in journal go.work, not go.mod, so the host workspace module path does not conflict — Host use ./plugins/golem15/translate vs sibling-relative replace - [Phase 15]: Uncategorized is seeded (A4 PHP seed_all_tables still inserts it); first post is not seeded — Execute-time read of seed_all_tables.php at pin 02110eb1 - [Phase 15]: slug is in Translatable() as well as TranslatableIndexes() because SetTranslated requires a declared translatable field — PHP Post.php translatable includes slug with index +- [Phase 15]: D-11 is a no-op — post content is mlmarkdown; FormatHTML lives in the plugin (goldmark Footnote+Table+WithAttribute + rejectUnsafe); cabana.RenderMarkdown is not edited +- [Phase 15]: preset is valid only on type: text; post/category mltext slugs omit preset; tag slug stays type: text with preset +- [Phase 15]: journal:export-posts/import-posts are JSON-per-slug files matching PHP ExportPosts/ImportPosts (--path, --dry-run, --force), not a Winter CSV framework +- [Phase 15]: Posts toolbar extra buttons are HasAdminActions names exportPosts/importPosts with golem15.journal.access_import_export; create/delete stay reserved +- [Phase 15]: NavigationItem has no IconSvg; journal-icon.svg is go:embed in AdminFS; user_id is WritableForeignKey and FormBeforeCreate stamps it when empty ### Pending Todos