# Template audit and versioned design library 27 October 2026. Source baseline: accepted A checkpoint `663023a`; local runtime checkpoint `73ea888` is additive. The nine existing theme IDs are retained for saved-document compatibility. New documents and explicit template Apply opt into `designVersion: 2`. Missing/version-one settings retain the original catalogue and rendering. Duplicate/restore preserve their stored design version. ## Inventory and changes Body typography, line height, paper size and default page margins remain theme-specific and unchanged. Existing font embedding and licensing remain authoritative. The revised scale below is in points for the name and millimetres for section/entry gaps. | Theme | Family | Name / section / entry | Revised treatment | |---|---|---|---| | Modern | Single column, blue header band | 25 / 5.8 / 4 | 3mm name gap and 5mm header-to-main separation | | Minimal | Plain single column | 25 / 7.5 / 4.8 | Open section/entry rhythm, restrained rules | | Executive | Centred editorial serif | 28 / 6.5 / 4.6 | Centred identity and measured entry spacing | | Technical | Left technical sidebar | 24 / 4.8 / 3.2 | 68mm sidebar, 8mm internal padding, readable teal/white palette | | ATS Classic | Plain text-oriented column | 23 / 5 / 3.4 | 3mm name gap and 5mm header-to-main separation | | Nordic | Right pale sidebar | 23 / 6 / 4.2 | Actual pale catalogue palette; wider identity column | | Elegant | Serif heading, editorial kicker | 27 / 7.5 / 5 | Distinct editorial hierarchy and entry rhythm | | Creative | Left magenta sidebar | 20 / 5.5 / 3.8 | Wider identity column, actual magenta/white palette | | Code | Numbered developer sections | 25.5 / 5.2 / 3.6 | 3mm name gap and 5mm header-to-main separation; mono details | Original sidebar usable width was approximately30mm; revised usable width is52mm. Version-two sidebars use fixed page backgrounds plus native print margin boxes, covering every physical page without consuming text-safe margins. Existing pagination/content rules are preserved. No source facts or filler are inserted to fill sparse pages. ## Real visual specimens The same synthetic short English, medium Bokmål, long English and dense Bokmål histories were rendered across all nine designs. They include long names, Norwegian characters, missing optional fields, long bullets, many skills and a deliberately nonhuman rectangle image. The reference profile is identical across themes; all outputs retain source markers and profile/document revision checks. | Corpus | Documents | Physical pages | Content/count/bounds | |---|---:|---:|---| | Version-one baseline | 36 | 122 | 36/36 passed | | Revised version two | 36 | 122 | 36/36 passed | | Matching letters, short EN / long NB | 18 | 38 | 18/18 passed | Final Windows roots: `.artifacts/pre-phase10-ux/templates-legacy`, `templates-revised-02`, `matching-letters-02`. Each includes source measurements and native PDF bytes. CV contact sheets cover first and last pages for all four histories; letter sheets cover both histories. CV Poppler review includes63 first/last images; letters render all38 pages. Earlier `*-01` roots remain immutable intermediate evidence. Linux qualification is recorded separately when executed. Physical page changes: short Creative2→1; long Technical4→5; dense Technical5→6; dense Creative7→6. Other cases retain their page counts. More readable spacing can require additional pages. The total remains122; no content was dropped to reduce page count. All43 revised CV sidebar pages pass an independent raster check at two physical edge columns, every pixel row including top/bottom, tolerance±2RGB. Initial version-two specimens still split an unhyphenated surname in Nordic/Creative: the added benchmark reported28/36 passes and8 failures. Their name sizes were adjusted to the measured52mm column; fresh specimens pass36/36 with no unhyphenated name fragments. Name wrapping now improves Technical7→4 lines, Nordic7→4 and Creative8→4. Natural hyphen breaks remain allowed. Arbitrary longer names/custom font sizes cannot be guaranteed; existing typography controls remain available. Minimal can retain a sparse final page. ## Fidelity and preservation accounting The unchanged marker oracle reports8/36 passes and28 S01-only failures in **both** baseline and revised CV sets. The large name marker's DOM Range top differs from the PDF character-cell top by2.05–3.16mm, exceeding the original2mm limit. Other marker position, font, colour and membership checks pass. The tolerance was not relaxed and these failures remain in `fidelity-results.json`. Separate actual-ink diagnostics compare the captured preview/PDF foreground pixels: maximum top difference2px baseline and3px revised. Viewed crops support a coordinate metric mismatch for this large marker, rather than demonstrated visible displacement. This diagnostic does not replace the original oracle or human print acceptance. Current-source version-one comparison passes36/36 exact CSS (including embedded fonts), normalized HTML, body and marker-order checks. Raw HTML is byte-identical12/36; the other24 differ only in the synthetic avatar data-URI bytes after decoded-pixel normalization. Only image payload bytes are excluded in that explicitly labelled comparison. Original goldens and historical acceptance records are preserved. The first letter proof used whole-page line extraction, interleaving sidebar and body text in six documents. Its12/18 result is retained in `matching-letters-01/pdf-proof-linear-reading.json`. Physical column-aware extraction then verifies all18 complete body/recipient/sender/subject texts without changing PDF bytes, marker counts, page dimensions or word-bound checks. Fresh final letter specimens also pass18/18. This is a reading-order correction in the independent proof, not a content tolerance exception. ## Actual previews and matching letters CV selection cards now lazily load the existing server-rendered synthetic sample endpoint and display a scaled sandboxed, noninteractive document. Only synthetic samples are cached; user documents are not placed in the thumbnail cache. The full candidate dialog remains read-only until explicit Apply. Skeleton/failure states are translated. The former test forbidding any thumbnail iframe was intentionally replaced because the owner explicitly requested actual rendered previews; isolation and distinct-theme checks remain covered. The letter chooser uses the same nine available/locked themes. Explicit Apply changes the local style snapshot and existing actual letter preview, preserving current text, sender, recipient, date, language and page size. Match CV also copies the reviewed heading font and existing paper-size behaviour. Existing letter revision/save/history owners remain unchanged. Version-two rendering matches palette, fonts and appropriate header/sidebar details; old letter settings remain version one and serialize without added null properties. Shared server-side persistence/preview checks reject new premium-theme activation without the existing ProThemes entitlement, including restore. Legacy settings and currently saved same-theme premium designs remain usable after downgrade. The review-discovered API bypass has5 actual RED failures followed by the full1394-test backend GREEN. ## Optional portrait safety The existing shared profile portrait remains the only image owner. CV controls link to that editor and retain per-CV Show Photo. Crop zoom and both axes have keyboard sliders, labels and existing bounded512px output. Uploads now validate actual stream size, decode still PNG/JPEG/WebP, enforce2048px axes/4million pixels, orient EXIF and re-encode PNG without source metadata. Decode concurrency is bounded. Corrupt, truncated, unsupported and animated inputs are rejected. Identity failure retains the old image; ambiguous acknowledgement loss preserves the staged target for reconciliation. Cleanup failure after durable success does not report a false failed save/removal. The existing hourly retention hook deletes unreferenced staged/exact legacy portrait files older than24hours, preserving current references and excluding reparse paths. Account export/erasure inventory includes owner-only staged and legacy leftovers. No second image store or master-profile owner was introduced. Decoder dependency: pinned SkiaSharp4.153.1 plus Linux native assets, locked transitive hashes; MIT upstream licence. Human accessibility, physical devices, native language review and manual printing remain open. Neither synthetic images nor browser automation establish those qualifications.