docs: 3 стенда (test/dev/prod), приоритет curated-примеров, инцидент генератора nav
This commit is contained in:
@@ -18,6 +18,22 @@
|
||||
|
||||
---
|
||||
|
||||
## 1.1 Стенды
|
||||
|
||||
Ассистент **stand-aware**: `stand` берётся из первого сегмента пути, индекс —
|
||||
из `VM_DOCS_BASE_URL/<stand>/search/search_index.json`. Включён на всех трёх стендах:
|
||||
|
||||
| Стенд | URL | Виджет | Эндпоинт |
|
||||
|---|---|---|---|
|
||||
| `nubes-test` | `/nubes-test/` | ✅ | ✅ |
|
||||
| `nubes-dev` | `/nubes-dev/` | ✅ | ✅ |
|
||||
| `nubes` (prod) | `/nubes/` | ✅ | ✅ |
|
||||
|
||||
Каждый стенд отвечает по **своему** индексу. Кэш индекса/ответов и лимиты
|
||||
ключуются по стенду.
|
||||
|
||||
---
|
||||
|
||||
## 2. Архитектура
|
||||
|
||||
```
|
||||
@@ -154,8 +170,11 @@ tf_docs (Node.js, кластер nodejsk8s) [orchestrator.js]
|
||||
отбрасывание стоп-слов (рус. + англ.).
|
||||
- **Транслит** (`TRANSLIT` в `search.js`): «постгрес»→`postgres`, «бакет»→`bucket`,
|
||||
«топик»→`topic` и т.д.
|
||||
- **Буст по типу страницы**: страница ресурса ×2.0, руководство (`_manual`) ×0.6,
|
||||
служебная (`curated`/`30_registry`) ×0.4.
|
||||
- **Буст по типу страницы** (приоритет — «примеры в первую очередь»):
|
||||
- `curated/*` (готовые примеры, проверенные на реальных деплоях) — **×2.4**;
|
||||
- страница ресурса — ×2.0;
|
||||
- руководство (`_manual`) — ×0.6;
|
||||
- служебная (`30_registry`) — ×0.4.
|
||||
- **Подресурс → родитель**: `nubes_postgres_database` при поиске дополняется
|
||||
токеном `postgres` (`resourceBaseSegment`).
|
||||
- **Предтокенизация**: токены всех 823 документов считаются один раз при загрузке
|
||||
@@ -283,3 +302,26 @@ tf_docs (Node.js, кластер nodejsk8s) [orchestrator.js]
|
||||
6. Один под (replicas=1) — лимиты/кэш не шарятся между репликами (принято в брифе 7.4).
|
||||
7. Задержка доминируется LLM; ускоряется стримингом (SSE) или параллелизацией
|
||||
этапа 1 с поиском (v2).
|
||||
|
||||
---
|
||||
|
||||
## 14. Исправленный инцидент: сборка `nubes-dev`
|
||||
|
||||
При публикации dev-документации сборка падала на YAML-ошибке nav:
|
||||
|
||||
```
|
||||
- [DEPRECATED] Публичные IP адреса: ← невалидный YAML
|
||||
```
|
||||
|
||||
**Причина:** генератор `TOOLS/docs-generator/internal/writers/writers.go`
|
||||
(`WriteNavFragment`) писал `ServiceDisplayName` без кавычек. У `vcexternalip` в
|
||||
dev имя = `[DEPRECATED] Публичные IP адреса` → ломал парсер.
|
||||
|
||||
**Фикс (корень):** в генератор добавлен `yamlScalar()` — заголовки с спецсимволами
|
||||
(`[ ] : # & *` и др.) кавычатся. Затронул все стенды на будущее.
|
||||
|
||||
**Разовый обход:** для немедленной публикации dev строка в
|
||||
`generated/dev/docs/_nav_fragment.yml` закавычена вручную (файл генерируемый,
|
||||
перезапишется корректно после фикса генератора).
|
||||
|
||||
Коммит фикса: `tf_provider` `322235c`.
|
||||
|
||||
Reference in New Issue
Block a user