From 1bdf456bb5918bcefe51671a68cb8d6d9118386c Mon Sep 17 00:00:00 2001 From: hoelee Date: Mon, 19 Oct 2026 11:10:56 +0800 Subject: [PATCH] =?UTF-8?q?docs(project-state):=20round=207=20delivered=20?= =?UTF-8?q?=E2=80=94=20OCR=2072/72,=200=20clipped=20banners,=20live=20hash?= =?UTF-8?q?es=20verified?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/project-state.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/docs/project-state.md b/docs/project-state.md index 6a8b2dc..34f2d1e 100644 --- a/docs/project-state.md +++ b/docs/project-state.md @@ -178,6 +178,29 @@ and `running-production-infrastructure-solo` to `sample_oom_169_00001_.png` / `sample_prod_169_00001_.png` — **those two frames were the HUD-carrying ones the consultant flagged**, and the pins also kept those slugs out of the crop plan. +**Round-7 — delivered (2026-10-19, Gitea `f391682` + `4f60cdc`, pushed to GitHub too).** +Final numbers, all measured on the delivered artifacts: + +* **OCR gate (the consultant's bar:** glyph box ≥ 12 px **and** ≥ 2 alphanumeric/percent + characters): **72/72 frames clean**; 16 frames carry sub-threshold single-glyph hits, + exempt as geometry noise. Nine frames failed the first pass after the prompt rewrite and + were re-rendered: every offending noun is now in the assertion list (a literal + `marked at 28` printed "28"; `storefront kiosk` → "PRINATA"; `voucher card` → "Voucher"; + `market booths` → "10MARKET"; `glass button` → "OC"; `gateway pylon` → "GATELY"). +* **Banner crops:** 72 banners, **0 with the subject touching an edge**, silhouette width + median **47.0 %** (min 39.9 %, max 63.6 %), centre x median **53.5 %**. Two composition + outliers, both reported rather than hidden: `hello-world` (64 % wide, centre 63 % — an + open box whose platform spans the frame) and + `my-backup-was-using-someone-elses-api-quota` (25 % — genuinely small object). +* **Live assertions (blog.hoelee.com):** EN card, ZH card, banner webp and 400 px thumb are + **byte-identical to the local files** (sha256), 24 assets sampled across 8 posts with 0 + mismatches; the retired `/og/.png` returns 404; `og:image` and the `` + source resolve to the new `.jpg`/`.webp`; the light-theme rule is live in the built CSS + (`html:not([data-theme=dark]) … border-color:#0f172a1f; box-shadow:…`); + `zh` post titles now print “ ” both on the card and in the HTML. +* Two slugs no longer point at the consultant's accepted sample frames (`sample_oom_…`, + `sample_prod_…`) — those were the HUD-carrying frames. + **Two observations for the owner** (both now decided by the consultant's round-5 ruling): - The hero banner's dead black left half is fixed by the renderer's reframing (above); what remains is that a genuinely slender subject (a thin cylinder) still reads small — that is the base frame's composition, and widening the caption `bbox` was measured not to change it. - Several frames are intentionally very dark; at full banner width the subject can read as small.