Record CMS schema checkpoint review

This commit is contained in:
2026-09-27 09:26:56 +03:30
parent 3b89eefa73
commit 964588e363
2 changed files with 29 additions and 1 deletions

View File

@@ -0,0 +1,26 @@
# Bundle 1 — Checkpoint C review
Prepared 2026-09-27. **Awaiting owner review.** This covers T06–T07 only; draft/publish permissions, admin editing, public and preview APIs, seed, and frontend adapter have not started.
## Implemented
- Additive `content.0001_initial` migration creates a single site identity, site/page revisions, fixed page slugs, ordered typed page sections, managed media, and a publication audit record. Published revision pointers are nullable so migration adds no public content.
- Model validation restricts Home/About section keys, fixed Home order, page kinds, text lengths, plain text, action route IDs, navigation/contact shape and URLs, image alt text, image signatures, dimensions, and upload size. The revision and section uniqueness rules have database constraints.
- Draft and publication columns are present for T08; no permission or publishing path is active. The required section set and About contact-last rule will be checked by the T08 publish service across the whole revision.
## Review choices
- CMS uploads accept PNG, JPEG, and WebP, up to **5 MiB** and **4096 × 4096 px**. The source/rights and alt fields are required. An `approved` flag exists for the later asset review gate.
- Text rejects HTML tags and character entities. Contact web links require HTTPS; email and phone contacts require `mailto:` and `tel:` respectively.
- A missing optional image is represented by a nullable media relation; text remains present. Publication must check asset approval before exposing media.
## Evidence
- Focused CMS integration tests: **6 passed**.
- Backend unit suite: **79 passed**.
- Backend integration suite: **164 passed** (includes the 6 new tests).
- `python manage.py migrate --noinput --settings=config.settings.test`: `content.0001_initial` applied successfully on the test database.
- `python manage.py check --settings=config.settings.test`: no issues.
- `python manage.py makemigrations --check --dry-run --settings=config.settings.test`: no changes detected.
No production database, media, or public route was changed. This review closes Checkpoint C only if the owner accepts the schema and validation choices above.