- 33-14-vue-demo-app-locale.patch and 33-14-sm-demo-app-locale.patch move the
demo to prefix_except_default on top of the 33-12 demo patches
- release-note drafts for the framework, the three plugins and four layers
- the read-only RISK-MAX query for production databases
- deferred items and the broken-windows ledger after the six fixes
- layers: node --test runs checked with a TAP detector (self-tested), every
vue-seo-layer smoke, guard:check and purge:check, all five journal
expectation files (postTitleTag h1 and p), the journal purge checks and
check-git-install.sh --self-test
- consumers: the 33-12 and 33-13 app patches pass git apply --check, and
the 33-14 demo locale patches apply on top of the 33-12 ones in scratch
worktrees
- pact: the content kinds and tools, zero facts, the value types
- cabana: mergeRequestOptions precedence, one call per type, fail-open,
no shared maps
- attach: VariantKey on thumbnail names
- attach/webp: every image kind, the stored content type, the
broken-image thumbnail and a refused mode
- go: the framework's new unit tests by required name
- plugins: the sitemap, SEO and Journal unit tests by required name
- docker: the phase's Postgres suites by required name per plugin,
TestChromeRenderer when a Chrome or Chromium binary is present, and the
framework's lagoon/attach packages
- deploy log: after-tags, production in 33-14 (no separate uat since the
2026-10-31 cutover), the en and Additional addresses steps confirmed at
the 33-14 release checkpoint, the production check list
- summary with the rehearsal, head diff and self-check
- deferred items: the demo moves to prefix_except_default (decided)
- sm-grzybyfunkcjonalne-app: Journal tag pages off and author pages at
/autor/:author, the sitemap and SEO config, nginx without the root-file
locations (P33-49), check-deploy, smoke.sh (companions, route report,
page names, seo-pages.csv, Additional addresses, rebuild), smoke-seo.sh,
urls.txt, pl as the only enabled locale, seo-settings.yaml with the
author templates and page suffix, DEPLOY.md release steps, tests
- vue-grzybyfunkcjonalne-app: nuxt.config on the SEO layer options
without @nuxtjs/seo keys, no page useSeoMeta, footer sitemap link,
title template for pages the CMS does not answer, SEO fixtures from
the rehearsal
- local wiring note and the deferred findings
demo:seed tags no post, so the tag_pages check in TestSEOOutput passed
without config/golem15.journal.yaml as well. The test now tags the seeded
post and requires /blog/tag/releases to resolve not_found; without the
config it fails.
- sm-demo-app: Journal, sitemap and SEO config, nginx without sitemap
locations, env templates, DEPLOY.md SEO steps, seo-pages.csv,
TestSEOOutput, scripts/smoke-seo.sh, release smoke on the new format
- vue-demo-app: seo.noindexRoutes for the decks, page meta for auth and
signed-in pages, SeoSitemapLink in the footer, @nuxtjs/seo keys removed
- vue-summercmsio-app: changelog on seo.cms false, expectations for it
- sm-summercmsio-app: no change beyond the pin bumps
- 33-12-local-wiring.md: the scratch wiring for 33-13 and 33-14
- attach.VariantKey: a thumbnail's copy in another format next to it
- attach/webp (separate package, so only binaries that import it link
the encoder): Encode at quality 80 and Variant, which writes the WebP
copy of a thumbnail once and leaves no file on a failed encode
- github.com/gen2brain/webp v0.6.4, decided in
.planning/notes/2026-10-28-webp-gen2brain.md
- lagoon README and docs/database/attachments.md
github.com/gen2brain/webp pinned at v0.6.4 (approved 2026-11-04), with
how it runs (purego or the wasm2go-transpiled libwebp), the linking
consequence, the benchmark and where the code lives.
- Task 4 answers: chromedp v0.21.0 and gen2brain/webp v0.6.4 approved
- the tracer resolve answer for the layer fixtures
- deferred: a repeater cannot carry a trigger (local_hours)
- 33-04-SUMMARY.md: image and News sitemaps, IndexNow, HTML sitemap API,
management API and MCP tools in sm-sitemap-plugin
- deferred-items.md: taglist options cannot come from records
- WINDOWS.md: #29 fixed, #31 the News sources taglist deviation
- pl validation.yaml string line is Polish (Winter's pl file leaves it
in English); the header notes the deliberate divergence
- pl validate.yaml min and max use Winter's numeric wording, since those
keys only serve numeric and integer bounds
- min and max compare the characters of a string or a number's decimal
form and the element count of a slice or map on any field without
numeric or integer (Laravel's getSize), with the min.array and
max.array messages for lists
- blank values, booleans, dates and byte slices are not measured; a
malformed bound is an error on every non-numeric field
- reverse the 261104-f4x pin, prove it through the cabana settings save
sequence, and update the README, docs and the storePassword comment
- on a string or url field that is not numeric or integer, min and max
compare utf8.RuneCountInString (Laravel's mb_strlen) and answer with
the lagoon::validation min.string / max.string messages
- a min or max argument that is not a whole number is the
unrecognized-rule error, whatever the value
- rule strings without string or url keep their results (pinned by a
test); between is unchanged
- string requires a string value (pointers and named string types
included), url a URL matching Laravel's pattern (urlPattern, shared
with lagoon.ValidateRequest); both skip an empty or blank value
- lagoon::validate.string and .url in the en and pl catalogs, English
fallbacks for a nil translator
- settings saves whose model rules use nullable|string|max:255 or
nullable|url|max:500 no longer fail with an unrecognized-rule error
- planned contents of framework v0.6.1: the two 33-01 seams and the
gate script; the six Phase 32 fixes listed as already released in
v0.5.2
- newest plugin and layer tags with no unreleased commits; versions
read from git tag in 33-14
- release order and an empty executed-steps table