From edf11f967cedfcaa193d43ae0645e11e0c6bf499 Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Fri, 9 Oct 2026 12:25:09 +0200 Subject: [PATCH] docs(16): resolve research open questions --- .../16-RESEARCH.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.planning/phases/16-grzybyfunkcjonalne-pl-on-reusable-blog-views/16-RESEARCH.md b/.planning/phases/16-grzybyfunkcjonalne-pl-on-reusable-blog-views/16-RESEARCH.md index 840a79a..9713fc7 100644 --- a/.planning/phases/16-grzybyfunkcjonalne-pl-on-reusable-blog-views/16-RESEARCH.md +++ b/.planning/phases/16-grzybyfunkcjonalne-pl-on-reusable-blog-views/16-RESEARCH.md @@ -605,17 +605,25 @@ The scan this session found 0 matches in all export `content`/`content_html` (ba | A10 | `/sitemap.xsl` can be dropped | URL Inventory | Cosmetic only | | A11 | nginx/supervisor ports and paths in examples | Code Examples | Placeholders; fix on server | -## Open Questions +## Open Questions (RESOLVED) + +All six were resolved by the user on 2026-10-09 and recorded in 16-CONTEXT.md. The decisions below override the original recommendations. 1. **Author page (D-05) has no API support.** - What we know: no author endpoint; the `author` filter is editor-only; the author payload has no slug/bio/avatar; imported posts have no author; `/autor/admin` is the only live author URL, unlinked and not in the sitemap. - Options: (a) layer author page backed by a Nitro route that pages `/posts` and filters by `author.login`, with bio/avatar from app config (no Go change); (b) additive `sm-journal-plugin` change (anonymous `author=` filter + `author.slug` in payload), which reopens the frozen API, so it needs the user's explicit OK; (c) ship the route but 404 until authors exist, keeping `/autor/:author` reserved. - Recommendation: (a) for the layer, plus assigning authors in `/gfadmin` after import if the user wants author pages populated. + - **RESOLVED → D-20:** option (b). A pre-execution `/msd-quick` task adds an anonymous author endpoint to `sm-journal-plugin`; the layer consumes it. The recommendation (a) above is superseded. 2. **Category pillar content location** (A3): app markdown per slug (recommended) or a Journal schema change? + - **RESOLVED → D-21:** Journal schema change. A pre-execution quick task adds a rich content field to Category (admin + categories API); plan 16-03 fills it from the PHP DB. The app-markdown recommendation is superseded. 3. **Featured images**: who runs the SQL on the PHP DB to produce the slug → disk_name map, and are live images under `Golem15\Blog\Models\Post` or `Golem15\Journal\Models\Post` morphs on the server? Option (a) Go command vs (b) API upload. + - **RESOLVED → D-22:** option (a), an app-local Go command that keeps the Winter disk names, fed by a SQL export run on the PHP server. 4. **Server environment**: hostname, staging domain (e.g. `staging.grzybyfunkcjonalne.pl`?) and TLS, Postgres ≥15 with ICU, Node ≥22.18, supervisor and nginx layout on the PHP server. These must be confirmed before the deploy plan. + - **RESOLVED → D-19 / plan 16-04:** confirmed at the 16-04 Task 1 human checkpoint before deploy. 5. **Analytics**: the live layout loads GA `G-MLSV7WJ6W4`. Carry it over (needs a consent decision), or drop it on staging? + - **RESOLVED → D-23:** carry over `G-MLSV7WJ6W4` through Nuxt runtime config; staging may leave it empty. 6. **Draft posts and `amanita-muscaria`**: 42 drafts are imported as drafts; `/amanita-muscaria` shows 0 posts live. Keep it (it is in the sitemap) or drop it? + - **RESOLVED → D-24:** keep `/amanita-muscaria`; the layer always requests categories with `include_empty=1`. Drafts are imported as drafts. ## Environment Availability