Проблема Или Возможность
Сейчас тип DocFrontmatter существует только как TypeScript-интерфейс, а на runtime почти все поля молча заполняются fallback-значениями:
lib/navigation.ts (line 10), lib/navigation.ts (line 150).
Это удобно на старте, но плохо для роста: ошибки в метаданных будут попадать в прод незаметно.
Предлагаемое Решение
Целевая архитектура: модуль content-schema на zod или json-schema, который проверяет title, description, order/sidebar_position, author, допустимые section-id, уникальность slug, наличие section index, корректность generated pages. В prepare:content должны появиться режимы error, warning, autofix-report, а в CI нужно публиковать content-report.json.
Эффект: вы получаете стабильный контракт данных, а backend перестает “догадываться”, что имел в виду автор документа.
Область Изменения
No response
Рассмотренные Альтернативы
No response
Критерии Готовности
No response
Проблема Или Возможность
Сейчас тип DocFrontmatter существует только как TypeScript-интерфейс, а на runtime почти все поля молча заполняются fallback-значениями:
lib/navigation.ts (line 10), lib/navigation.ts (line 150).
Это удобно на старте, но плохо для роста: ошибки в метаданных будут попадать в прод незаметно.
Предлагаемое Решение
Целевая архитектура: модуль
content-schemaна zod илиjson-schema, который проверяет title, description,order/sidebar_position,author, допустимыеsection-id, уникальностьslug, наличиеsection index, корректность generated pages. В prepare:content должны появиться режимы error, warning,autofix-report, а вCIнужно публиковать content-report.json.Эффект: вы получаете стабильный контракт данных, а backend перестает “догадываться”, что имел в виду автор документа.
Область Изменения
No response
Рассмотренные Альтернативы
No response
Критерии Готовности
No response