From d55aec427a44889168d170be3bff2e5b3338c59e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A0=D0=BE=D0=B1=D0=BE=D1=82?= Date: Mon, 12 Oct 2026 15:06:30 +0200 Subject: [PATCH] SITE-038 closed on the board (PR #117 deployed as Worker 6fe71891; receipt PR #118) Co-Authored-By: Claude Opus 5.5 (1M context) --- docs/backlog.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/backlog.md b/docs/backlog.md index 3dafba81..e81c9276 100644 --- a/docs/backlog.md +++ b/docs/backlog.md @@ -42,7 +42,7 @@ rows into the workspace’s agent-workplace goal. IDs persist; completion does n | SITE-035 | Home video captions for pl, ko, pt-br, zh-hans, ja (W10 follow-up) | done 2026-10-12 — PR #112 `1ba1d23`: `home-{pl,ko,pt-br,zh-hans,ja}.vtt` on `home.vtt`'s cue timings, each page on its own track labelled in its language (pl, ko, pt-br, ja by hand; zh-Hans by the copy agent, $0.0518); copy checks 0 findings in all five; deployed from `main`, Worker `83ff5bef-6036-4450-9c7a-cc778a0043a6`, `verify-live.py` PASS | [evidence](evidence/2026-10-12-site-035/README.md); native-speaker review stays with SITE-026 | | SITE-036 | Russian copy pass over every /ru/ page, the Worker's and scripts' messages and the agent prompt (operator 2026-10-12: «весь русский … надо пересмотреть — выглядит очень плохо»): calques, bureaucratic register, mixed English («AI-native», «синтетические демо-данные», «написанный пример»), dashes used as asides, agreement and word order; product terms per terminology.md and the products' own Russian dictionaries | closed 2026-10-12 — PR #114 merged as `3100046`, with PR #115 (`38a6623`, releases:sync: launcher 0.1.39, adapter 0.15.0) deployed from `main` as Worker `44c232ef-e2ab-4955-b65e-dfa3fb4b2841`, `verify-live.py` PASS; 340 of 1385 catalog strings in 18 catalogs; Russian hero «Операционная система для команд с любыми ИИ-агентами» (facts row *homepage hero*, same five lines as SITE-021) | [evidence](evidence/2026-10-12-ru-copy/README.md); [webkit.json](evidence/2026-10-12-ru-copy/webkit.json); [live.json](evidence/2026-10-12-ru-copy/live.json); [webkit-live.json](evidence/2026-10-12-ru-copy/webkit-live.json) | | SITE-037 | At 390 px two Russian h1 overflow the viewport by one long word: /ru/fabric/agents/ («программирования,», page 450 px wide) and /ru/privacy/ («конфиденциальности», 417 px); present on `main` before SITE-036, English is not affected | closed 2026-10-12 by SITE-039 — Russian h1–h3 hyphenate at 620 px and below, at least four letters on each side of the break; a `break-word` safety net on every heading; WebKit at 390 and 320 px: no page wider than the screen | [evidence](evidence/2026-10-12-site-039/README.md); [webkit-audit.json](evidence/2026-10-12-site-039/webkit-audit.json) | -| SITE-038 | The Worker cut a field by UTF-16 unit, so a cut inside an emoji left a lone surrogate (platform PLAT-027); run the Platform's golden vectors (HMAC v1, the email list) here too | done on the branch `agent/plat-027-codepoint-cut` — `str()` drops the first half of a split pair; tests: *a cut inside an emoji…* (fails without the fix), *the forward signature matches the Platform golden vector*, *the email golden list…*; `npm run check` 114/114 | Worker change: deploy from `main` per [DEPLOYMENT](DEPLOYMENT.md) after merge; the Platform already tolerates the half emoji since its 0.2.0 | +| SITE-038 | The Worker cut a field by UTF-16 unit, so a cut inside an emoji left a lone surrogate (platform PLAT-027); run the Platform's golden vectors (HMAC v1, the email list) here too | closed 2026-10-12 — PR #117 merged as `ed93b2a`, deployed from `main` as Worker `6fe71891-52b5-4327-b9f2-162684240779`; `npm run check` 114/114; live intake checks pass; `verify-live.py` FAIL only on the 77 version-bearing pages and download routes (release snapshot ahead of the sources: SITE-003, PR #88) | [evidence](evidence/2026-10-12-site-038/README.md); [live.json](evidence/2026-10-12-site-038/live.json) | | SITE-039 | The home video near the top (operator 2026-10-12, paraphrased: the video is good, move it near the top), a layout pass over the whole site (15 pages × 10 languages × 1440/1024/768/390/320 px in WebKit) and the copy questions left from SITE-036 | done on the branch `agent/site-layout-video` — the player directly under the hero in every language (top at 935 px instead of 3507 px on `/` at 1440); 73 → 0 loads wider than the screen (SITE-037, the 320 px header, /start/ steps, the agents table); one-row phone navigation (SITE-023); Safari header blur; 44 px header controls; the 404 page's "For companies" → "For organizations"; dash asides in two English FAQs and their translations; stale registry rows; brand lint 185 → 165 errors | [evidence](evidence/2026-10-12-site-039/README.md); deploy from `main` per [DEPLOYMENT](DEPLOYMENT.md) after merge | | SITE-040 | Layout follow-ups from SITE-039 that are design decisions: (a) at 1440 × 900 the hero fills the first screen, so the video starts just under the fold (935 px) — a compact hero, or the video as the hero's companion at wide widths; (b) the six journey-step links are 20 px tall (they pass WCAG 2.2 2.5.8 by its spacing exception; larger targets would be kinder); (c) step 01's launcher command breaks inside the package name at 1024 px | open — design decision | [evidence](evidence/2026-10-12-site-039/README.md) | | SITE-041 | Brand pack gaps the copy cannot close by itself: no Russian term for "AI-native", "agent harness" or "claims" in [terminology](brand/terminology.md); no `docs/brand/locales/` file for ru, de or fr (lint B070: address form, humor level, length coefficient); 160 numbers in the public copy without a facts row (B030, most of them one number repeated per language) | open — the terms and the locale profiles are the operator's decision; B030 needs either facts rows or a lint scope for repeated numbers | super-ux `brand_lint.py docs/brand`, [evidence](evidence/2026-10-12-site-039/README.md#copy) |