docs(16.2): add root causes from diagnosis

This commit is contained in:
2026-10-10 17:27:53 +02:00
parent ae1dc75a35
commit 6340bb0dbc

View File

@@ -1,9 +1,9 @@
---
status: partial
status: diagnosed
phase: 16.2-plugin-provided-field-types-and-the-blog-editor-formwidget
source: [16.2-VERIFICATION.md]
started: 2026-10-10T14:54:46Z
updated: 2026-10-10T15:16:43Z
updated: 2026-10-10T15:27:52Z
---
## Current Test
@@ -55,8 +55,22 @@ blocked: 1
reason: "Observed by Claude running the postgres stage: TestPhase10OpenAPIConformance fails: admin route GET /field-types (added in 16.2) has no conformance case in modules/cabana/openapi_conformance_test.go; the Journal Postgres suites never ran because the stage aborted"
severity: major
test: 1
artifacts: []
missing: []
root_cause: "Two 16.2 test defects, hidden because both checks live in Docker-gated packages and the 16.2 execution host had no Docker: (1) TestPhase10OpenAPIConformance has no case for the two routes plan 16.2-01 added to phase09Routes/admin.json, GET /field-types and POST /{vendor}/{plugin}/{controller}/{id}/fields/{field}/upload (map order decides which is reported); (2) sm-journal-plugin TestJournalSVGEmbed still asserts post content type mlmarkdown, but 16.2-03 changed it to mlblogeditor. The gate's go stage (FRAMEWORK_RUN) never runs the route check. All four Journal Postgres suites named in Test 1 and the rest of cabana pass on a Docker host."
artifacts:
- path: "modules/cabana/openapi_conformance_test.go"
issue: "no conformance case for GET /field-types or the field upload route; conformPlugin registers no plugin field type; route-key check runs after the testcontainers setup"
- path: "../sm-journal-plugin/plugin_test.go"
issue: "TestJournalSVGEmbed lines 122-123 expect type: mlmarkdown"
- path: "scripts/check-phase16.2.sh"
issue: "FRAMEWORK_RUN does not include the route-coverage check"
- path: ".planning/phases/16.2-plugin-provided-field-types-and-the-blog-editor-formwidget/16.2-PATTERNS.md"
issue: "new-route checklist omits openapi_conformance_test.go"
missing:
- "Conformance case for GET /field-types (200, cabana.FieldTypesResponse), with conformPlugin implementing pact.HasFormFieldTypes"
- "Conformance case for the field upload route (201, cabana.Envelope-cabana_FieldUploadResponse, multipart file)"
- "TestJournalSVGEmbed expects type: mlblogeditor"
- "Route-coverage check runnable without Docker and included in the gate's go stage"
debug_session: .planning/debug/postgres-gate-field-types-conformance.md
- gap_id: G-16.2-2
truth: "Changing one word in a category body and saving shows no removal notice, and the site shows the change"
@@ -64,5 +78,12 @@ blocked: 1
reason: "User reported: something is wrong. Updated content in https://uat.grzybyfunkcjonalne.pl/gfadmin/golem15/journal/categories/2 (\"Te grzyby, szczególnie\" changed into \"Te grzyby, a szczególnie\") and i see the change in backend even after refresh but not on frontend"
severity: major
test: 2
artifacts: []
missing: []
root_cause: "Not a 16.2 save defect. DB row (category 2, content) and the Journal API both hold the new text. The public page was served from the host Nuxt app's Nitro swr route cache (nuxt.config.ts routeRules '/**': { swr: 300 }, per Phase 16 D-07): /cordyceps was cached at 14:59:08 UTC, 40 s before the first save, and all post-save views fell inside the 300 s fresh window. Nothing purges the cache on admin save; after expiry the first view still gets stale content and triggers revalidation. At 15:25 UTC the page served the new text with no intervention. The UAT expectation omitted the cache window."
artifacts:
- path: "sm-grzybyfunkcjonalne-app/vue-grzybyfunkcjonalne-app/nuxt.config.ts"
issue: "swr 300 / 120 route cache with no purge path on admin save (by design, Phase 16 D-07)"
- path: ".planning/phases/16.2-plugin-provided-field-types-and-the-blog-editor-formwidget/16.2-UAT.md"
issue: "Test 2 expectation does not account for the swr TTL"
missing:
- "Decision: accept the TTL (reword expectation, re-test) or add a purge / admin-bypass path in a later phase"
debug_session: .planning/debug/category-content-not-on-site.md