opencode-config/docs/decisions/066-pr-155-validate-switcher-anchor.md
Sergey 556a5b57eb
fix(create-readme): validate EN switcher anchor symmetrically (#155)
* fix(create-readme): validate EN switcher anchor symmetrically

* docs(handoff): add handoff and ADR for switcher validation

* docs(handoff): set PR number

---------

Co-authored-by: opencode-agent <agent@opencode.local>
2026-07-30 19:57:46 +03:00

1.3 KiB
Raw Permalink Blame History

ADR-066: Symmetric switcher anchor validation

Статус

Accepted (2026-07-30)

Контекст

validateReadme в .opencode/tools/create-readme.ts проверяла language switcher асимметрично: RU-переключатель проверялся строгим full-anchor чеком [Русский](#-русский), а EN — только подстрокой [English] без проверки anchor. Template рендерит switcher симметрично: [English](#-english) | [Русский](#-русский), но валидация не зеркалировала это.

Решение

Убрать 2 избыточных substring-чека и заменить на 2 строгих симметричных full-anchor чека: [English](#-english) и [Русский](#-русский). Substring-чеки были избыточны — строгий чек субсумирует их ([English](#-english) содержит [English]).

Альтернативы

Оставить асимметрию и добавить отдельный regex-чек для EN anchor — отвергнуто как избыточное усложнение. Простой includes() достаточен и зеркалирует существующий RU-чек.