Files
mokosh/.planning/debug/resolved/01-12-stale-ai-call-recorder-references.md
Mark 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

6.6 KiB

slug, status, goal, trigger, phase, plan, opened, resolved, orchestrator_diagnosed
slug status goal trigger phase plan opened resolved orchestrator_diagnosed
01-12-stale-ai-call-recorder-references resolved find_and_fix Operator noticed during Plan 01-10 cycle-2 UAT 2026-05-20 — "let's rename to the session capture instead of ai call recorder oki?" — 4 trailing references to the pre-D-07 brand string "AI Call Recorder" survived the Plan 01-12 D-07 i18n migration. 01-stabilize-video-pipeline 01-12 2026-05-20 2026-05-20 true

Debug session 01-12-stale-ai-call-recorder-references — Brand-polish rename to "Mokosh"

Current Focus

hypothesis: 4 surgical content-only edits across welcome/copy.ts + README.md + package.json + manifest-i18n.test.ts comment will eliminate all non-historical references to "AI Call Recorder" while preserving .planning/intel/* audit trail. test: After edits, grep -r "AI Call Recorder" src/ tests/ README.md package.json --exclude-dir=.planning returns ZERO matches; existing test suites stay GREEN. expecting: All 4 acceptance gates pass + production bundle hook-free + Tier-1 grep gate keeps FORBIDDEN_HOOK_STRINGS at 12. next_action: COMPLETE — all gates passed; archive + commit.

Symptoms

expected: Operator-facing brand is consistently "Mokosh" across toolbar tooltip, welcome page CTA, README, and package.json metadata. actual: Russian welcome CTA reads "иконку AI Call Recorder" — pre-D-07 brand string. README H1 still reads "AI Call Recorder". package.json:name still "ai-call-extension". Test comment still references "AI Call Recorder" without noting that string is now historical. errors: None — content-only inconsistency, no compile-time/runtime failure. reproduction: After Plan 01-12 D-07 i18n migration (commit 5efc2a8), open welcome page in RU locale + read CTA line; H1 of README; package.json:name field; manifest-i18n.test.ts header comment line 8. started: 2026-05-19 — D-07 migration of manifest:name + i18n keys landed but did not propagate to non-manifest brand surfaces.

Eliminated

(none — diagnosis pre-orchestrated; surgical scope user-approved)

Evidence

  • timestamp: 2026-05-20 checked: src/welcome/copy.ts:67 found: Russian welcome CTA literal — 'Чтобы начать запись, нажмите иконку AI Call Recorder на панели ' implication: Operator-facing CTA out of sync with toolbar tooltip (Mokosh — щёлкните, чтобы начать запись).

  • timestamp: 2026-05-20 checked: README.md:1 found: # AI Call Recorder - Браузерное расширение для записи сессий операторов implication: First impression for developers/operators reading the repo references the pre-D-07 brand.

  • timestamp: 2026-05-20 checked: package.json found: "name": "ai-call-extension" + "description": "Browser extension for recording operator sessions" implication: Developer-facing npm artifact inconsistent with Chrome user-facing brand.

  • timestamp: 2026-05-20 checked: tests/i18n/manifest-i18n.test.ts:8 found: Comment "Polarity at Wave 0 land: RED across the board (manifest.name still 'AI Call Recorder'; no default_locale; no _locales/)" implication: Pre-D-07 state described as present — accurate at Wave 0 but misleading post-Wave-3.

  • timestamp: 2026-05-20 checked: _locales/en/messages.json + _locales/ru/messages.json + manifest.json found: Already post-D-07 canonical: en:extName='Mokosh — Session Capture', ru:extName='Mokosh — Запись сессии', manifest:name='MSG_extName'. implication: i18n layer is the source of truth; the 4 stale refs are content-only and do not affect runtime brand resolution.

Resolution

root_cause: Plan 01-12 D-07 migrated manifest.json:name + tooltipOff + extName/extDesc keys to chrome.i18n placeholders + _locales/{en,ru}/messages.json — but 4 trailing references to the pre-migration literal "AI Call Recorder" in non-manifest content surfaces (welcome copy CTA, README header, package.json metadata, one test header comment) were never updated. The D-07 brand decision was documented in .planning/intel/brand-decisions-v1.md but the propagation to non-manifest surfaces was scoped to the manifest + locales only.

fix: 4-file surgical content rename to "Mokosh" / "Mokosh — Session Capture" per user-approved scope. .planning/intel/* audit trail preserved verbatim (documents the "why" of D-07).

verification: All acceptance gates passed 2026-05-20:

  • Empirical grep src/ tests/ README.md package.json for "AI Call Recorder" → ZERO non-historical matches (only the intentional audit-trail anchor in tests/i18n/manifest-i18n.test.ts:8 rewritten to label the pre-D-07 state as history).
  • npx tsc --noEmit → exit 0, clean.
  • npm run build → exit 0 (✓ built in 5.29s).
  • npx vitest run tests/i18n/manifest-i18n.test.ts → 10/10 GREEN in isolation.
  • 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 — confirmed identical to pristine HEAD a2dfc8c via git stash baseline check; unrelated to brand rename).
  • npm run test:uat → 24/24 GREEN.
  • Production bundle grep dist/ for "AI Call Recorder" + "ai-call-extension" → ZERO matches.

files_changed:

  • src/welcome/copy.ts (welcome.body.cta.toolbar — "иконку AI Call Recorder" → "иконку Mokosh" + inline rationale comment cross-ref to tooltipOff i18n key and this debug session)
  • README.md (H1 + first paragraph rewritten: "Mokosh — Session Capture" + EN tagline line; rest of README body preserved verbatim including historical "AI Call Recorder" mentions in technical-stack section as project history)
  • package.json (name: "ai-call-extension" → "mokosh-session-capture"; description rewritten to Mokosh — Session Capture line; 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)

forward_looking:

  • .planning/intel/* preserved verbatim per scope: brand-decisions-v1.md (D-07 override decision), design-system.md, brand-identity.md, classifications/README-*.json, design-incoming/system/bundle/mokosh-handoff/handoff.html. These document the "why" of D-07 and are audit trail, not code.
  • _locales/en/messages.json + _locales/ru/messages.json + manifest.json untouched — already post-D-07 canonical.
  • Unblocks Plan 01-10 closure + Phase 1 final closure (REQUIREMENTS / ROADMAP / STATE marker flip).