docs(project-state): B6b shipped — final OCR gate numbers and live assertions
Deploy / build (push) Successful in 14s
Deploy / build (push) Successful in 14s
Also carries scripts/og-gen/sync_prompts_catalog.py, the check that keeps the repo's art inputs (metaphors.json, captions/, prompts_catalog.json) in sync with the authoring tool dir after any metaphor change.
This commit is contained in:
1 parent
327d516ed9
commit
576a43a034
1 file changed
+4
-4
@@ -94,7 +94,7 @@ Living list of what's done and what's next for blog.hoelee.com. Work through the
|
||||
|
||||
### Phase F — Artwork rollout: v2 "one art, four targets" (NEXT; user decision 2026-10-18)
|
||||
|
||||
**Step B6b — Replace all 72 posts' artwork with the consultant-approved v2 set.** ✅ Rendered and staged 2026-10-19 (working tree; **not pushed** — awaiting the owner's read)
|
||||
**Step B6b — Replace all 72 posts' artwork with the consultant-approved v2 set.** ✅ **Done and live 2026-10-19** (`327d516`)
|
||||
|
||||
Everything below is measured, not planned. A fresh session needs no other context to continue.
|
||||
|
||||
@@ -109,7 +109,7 @@ Everything below is measured, not planned. A fresh session needs no other contex
|
||||
| Rendered targets | 72 EN cards + 72 ZH cards + 72 banner `.jpg` + 72 banner `.webp` + 144 thumbs, all in `public/`; the 72 v1 `public/og/*.png` and 72 v1 `public/banners/*.png` were deleted |
|
||||
| Frontmatter | 288 fields migrated by `scripts/og-gen/migrate_to_v2_assets.py --write` (144 files: EN `ogImage: /og/<slug>.jpg`, ZH `ogImage: /og/zh-<slug>.jpg`, both `banner: /banners/<slug>.jpg`) |
|
||||
| Component changes | `PostList.astro` thumb helper now derives **from the base slug** (a ZH card is `zh-<slug>.jpg` while the thumb is `<slug>-800.webp`); `[...slug].astro` `<picture>` regex accepts `.jpg` |
|
||||
| Live site | unchanged — still serving v1 (nothing pushed) |
|
||||
| Live site | **serving v2** — deploy green; EN/ZH cards, banner WebP and both listings' thumbs all asserted 200, v1 `.png` now 404 |
|
||||
| Reference delivery | `C:/Users/hoelee/Desktop/blog-og-image-redesign-brief/delivery-for-consultant-round4/` (+ `00-第四轮-实施反馈与3个待定细节.md` for the three open questions) |
|
||||
|
||||
**Rollout log — 2026-10-19 (every number measured this session).**
|
||||
@@ -119,8 +119,8 @@ Everything below is measured, not planned. A fresh session needs no other contex
|
||||
3. **Caption defect found and fixed (3 of 3 pilot frames).** With the subject described twice — `high_level_description` repeating the metaphor — the model drew a labelled diagram with a pseudo-title in the corner (`Oypert`, `Oyristes tool`, `CONTRACT`). One short noun phrase in the HLD + the subject only in `elements[].desc` cleared it.
|
||||
4. **The "no text anywhere" rule fails on the accepted samples too.** `sample_oom_169_00001_.png` OCRs as `Kenel L.aser` @0.874 plus six more hits. So the gate judges **legibility**, not hit count: a glyph box under ~14 px on the 1360×768 frame is invisible at banner (1600×900) and thumb (398 px) size.
|
||||
5. **The model renders the prompt's own label nouns as text.** Measured: `access-denied barrier` → "ACCCSS-DENIED", `attachment clip` → "Attachment Clip", `eight labelled ports` → a 389 px glyph, `id-stamped cards` → "ATACHMENT CLIP", `233 fresh rivets` → a row of numbers, `SSD slab` → a 66 px "SSD", `PLUGIN cartridge` → "PLUGIN". Rewriting the metaphor to describe shape/material/state only fixed every one of them on re-render.
|
||||
6. **Result after two correction rounds:** 45/72 frames fully clean, 18 with a single sub-threshold tick mark, and the 10 frames that exceeded the accepted reference all brought down to clean or reference level. Gate + tooling: `C:/AI/ideogram4/ocr_gate.py` (`--baseline` prints the accepted samples' numbers), `qc_frames.py` (per-frame stats + unlabelled contact sheets).
|
||||
7. **Delivery staged, not shipped.** Rendered 72 EN + 72 ZH cards, 144 banner files, 144 thumbs into `public/`; deleted the 144 v1 PNGs; migrated 288 frontmatter fields; fixed the two components. `npm run build` → **251 pages**, 216 distinct image references, **0 missing, 0 stale `.png`**; the ZH listing's thumbs resolve from the base slug (the old helper would have 404'd every one of them).
|
||||
6. **Result after three correction rounds (final gate, 2026-10-19 04:17):** **53 of 72** frames carry no ≥14 px OCR detection at all; **18** carry a single-character/geometry false positive only (`O`, `T`, `司`, `00%` — spot-checked by eye, they are edge and highlight misreads); **0** carry a legible word or phrase. Ten frames that had real pseudo-words were re-rolled (four of them twice), and every one came in at or below the accepted reference. The last two leaks were the model spelling an English noun phrase straight out of **the shared `style_description`** (`sleek developer tooling aesthetic` → "devalopertoolt"), so the style block is now free of generic noun phrases. Gate + tooling: `C:/AI/ideogram4/ocr_gate.py` (`--baseline` prints the accepted samples' numbers), `qc_frames.py` (per-frame stats + unlabelled contact sheets).
|
||||
7. **Delivery shipped 2026-10-19** (`327d516` → Gitea `main`, deploy green): 72 EN + 72 ZH cards, 144 banner files, 144 thumbs rendered into `public/`; the 144 v1 PNGs deleted; 288 frontmatter fields migrated; the two components fixed. `npm run build` → **251 pages**, 216 distinct image references, **0 missing, 0 stale `.png`**; live assertions afterwards: EN card 200 `image/jpeg`, ZH card 200 (did not exist before), banner WebP 200, thumbs 200 from both listings, v1 `.png` 404, and the ZH listing's thumbs resolve from the base slug (the old helper would have 404'd every one of them). The repo also carries the art inputs — `scripts/og-gen/metaphors.json`, `captions/<slug>.json` (72), a refreshed `prompts_catalog.json` with 72 distinct entries, via `scripts/og-gen/sync_prompts_catalog.py --check`.
|
||||
8. **Art weight: 13.4 MB → 15.4 MB (+2.0 MB), and it buys 72 ZH cards that did not exist before.** Per file: EN card 67 KB JPEG (v1 was 71 KB PNG), banner 40 KB JPEG + 30 KB WebP, thumb 7 KB WebP.
|
||||
|
||||
**Two observations for the owner** (not defects, both open):
|
||||
|
||||
Reference in new issue
Block a user