|
|
d21ed17310
|
fix(01-12): brand polish — replace stale 'AI Call Recorder' refs with Mokosh (4 files)
Plan 01-12 D-07 (commit 5efc2a8) migrated manifest.json:name + tooltip
+ extName/extDesc keys to chrome.i18n placeholders + _locales/{en,ru}/
messages.json resolving to 'Mokosh — Session Capture' (EN) / 'Mokosh —
Запись сессии' (RU). However, 4 trailing references to the pre-D-07
literal 'AI Call Recorder' in non-manifest content surfaces were never
propagated. Operator noticed during Plan 01-10 cycle-2 UAT 2026-05-20.
This commit applies the user-approved 4-file surgical rename:
- src/welcome/copy.ts: welcome.body.cta.toolbar RU CTA
"иконку AI Call Recorder" → "иконку Mokosh" (matches toolbar tooltip
i18n key tooltipOff = "Mokosh — щёлкните, чтобы начать запись").
Inline rationale comment added cross-ref'ing the i18n key + this
debug session.
- README.md: H1 + first paragraph rewritten to
"# Mokosh — Session Capture" + EN tagline line. Rest of README body
preserved verbatim (technical-stack section historical mentions
left as project history, not brand surface).
- package.json: name "ai-call-extension" → "mokosh-session-capture",
description rewritten to "Mokosh — Session Capture: Chrome MV3
extension for operator session recording." version, scripts,
dependencies, devDependencies untouched.
- tests/i18n/manifest-i18n.test.ts: header comment block rewritten to
label the "AI Call Recorder" string as Wave-0 historical state +
describe the post-D-07 regression-pin role. Test bodies + assertions
unchanged (already pin the post-D-07 canonical state).
Preservation rationale: .planning/intel/* (brand-decisions-v1.md D-07,
design-system.md, brand-identity.md, classifications/README-*.json,
design-incoming/system/bundle/mokosh-handoff/handoff.html) is audit
trail documenting the "why" of D-07 — kept verbatim. _locales/{en,ru}/
messages.json and manifest.json already post-D-07 canonical — untouched.
Acceptance gates (all PASS 2026-05-20):
- Empirical grep src/ tests/ README.md package.json: ZERO non-historical
"AI Call Recorder" matches (only the labeled audit anchor in
tests/i18n/manifest-i18n.test.ts:8).
- npx tsc --noEmit: clean.
- npm run build: ✓ built in 5.29s.
- npx vitest run tests/i18n/manifest-i18n.test.ts: 10/10 GREEN.
- npx vitest run tests/background/no-test-hooks-in-prod-bundle.test.ts
(Tier-1 hook-string grep gate): 13/13 GREEN; FORBIDDEN_HOOK_STRINGS
list intact.
- npm test: 151/153 (2 pre-existing ffprobe/ffmpeg timeout flakes in
webm-remux + webm-playback — verified identical to pristine HEAD
a2dfc8c via git stash baseline; unrelated to rename).
- npm run test:uat: 24/24 GREEN.
- Production bundle grep dist/: ZERO "AI Call Recorder" + ZERO
"ai-call-extension" matches.
Unblocks Plan 01-10 closure + Phase 1 final closure (REQUIREMENTS /
ROADMAP / STATE marker flip).
Debug record: .planning/debug/resolved/01-12-stale-ai-call-recorder-references.md
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-20 11:49:46 +02:00 |
|
|
|
34a9ce10d4
|
test(01-12): wave-0 — scaffold RED unit tests (tokens / fonts / icons / no-remote-fonts / manifest-i18n / locale-parity)
Wave 0 of the design-integration plan. Six new test files at tests/build/
and tests/i18n/ pin the contracts that later waves will GREEN:
- tokens-adopted.test.ts (4 cases): src/shared/tokens.css exists +
parses; src/popup/style.css @imports it; popup/style.css has zero
hex literals; welcome.css conditional check.
- fonts-present.test.ts: 7 required WOFF2 faces (Lora normal + Plex Sans
×4 + Plex Mono ×2) + LICENSE-Lora + LICENSE-IBM-Plex + README +
optional Lora-Italic (A5 verify-at-execute).
- icons-present.test.ts (15 cases across 3 sizes): existence, size FLOOR
per assets-spec.md, PNG signature, dimensions, color-type byte === 6
(RGBA — RED until Wave 2 rsvg-convert overwrites the 16-bit-RGB
placeholders).
- no-remote-fonts.test.ts: production dist/ contains zero
fonts.googleapis.com / https://fonts / googleapis substrings (MV3 CSP
self-host invariant T-01-12-01).
- manifest-i18n.test.ts (10 cases): manifest:name === '__MSG_extName__',
:description === '__MSG_extDesc__', :default_locale === 'en',
:action.default_title === '__MSG_tooltipOff__'; _locales/{en,ru}/
messages.json carry D-07 + D-08 canonical strings.
- locale-parity.test.ts (4 cases): ru→en parity, en→ru symmetric,
non-empty .message strings (RESEARCH Pitfall 4 mitigation).
Current polarity: 29 RED + 18 GREEN across the 6 new files (placeholders
already clear dim+size floors; no-remote-fonts vacuous-GREEN since
tokens.css doesn't yet exist with remote URLs). Existing 100/100 vitest
baseline preserved (verified SKIP_BUILD=1 npx vitest run).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
2026-05-19 21:56:08 +02:00 |
|