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

13 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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-чек.