| 1 | # Scope contour map (template) |
| 2 | |
| 3 | **Назначение:** white-label карта «личный scope → каталог в group KB» для org, где maintainer ведёт **personal** канон с **своими** именами `work/projects/<scope>/`, а участники читают **group** clone с **нейтральными** префиксами. |
| 4 | |
| 5 | **Экземпляр maintainer'а** (конкретные строки): `knowledge/work/org/scope-contour-map-v1.md` — **не** в kb-public (`work/` режется); каталог `work/org/` копируется в **group KB** при `seed-org-kb.ps1`. |
| 6 | |
| 7 | **Механика в контурах:** [`domains/agent-operations/map-kb-three-contours-v1.md`](../../domains/agent-operations/map-kb-three-contours-v1.md) § «Scope contour map». |
| 8 | |
| 9 | --- |
| 10 | |
| 11 | ## Не путать с другими картами |
| 12 | |
| 13 | | Карта | Где | Вопрос | |
| 14 | |-------|-----|--------| |
| 15 | | `workspace-scope-map-v1` | personal `work/local/` | `путь на диске` → **slice** (`<personal-scope>`) | |
| 16 | | `scope-alias-map-v1` | personal `work/local/` | короткий токен → **тот же** slice | |
| 17 | | **Scope contour map** (этот шаблон) | `work/org/` → group | personal **scope** → **имя каталога в group** + label | |
| 18 | |
| 19 | --- |
| 20 | |
| 21 | ## Файл экземпляра (maintainer) |
| 22 | |
| 23 | **Путь:** `knowledge/work/org/scope-contour-map-v1.md` (каталог **`work/org/`** — см. [`work/org/README.md`](../../work/org/README.md)). |
| 24 | |
| 25 | **Формат таблицы** (заполнить и поддерживать): |
| 26 | |
| 27 | | Personal scope (канон) | Group KB каталог | Label (для людей) | В group KB? | |
| 28 | |------------------------|------------------|-------------------|-------------| |
| 29 | | `<personal-scope-1>` | `<group-scope-dir-1>` | кратко: что за контур (продукты org, open stack, …) | да | |
| 30 | | `<personal-scope-2>` | — | (почему не в org) | нет (`group-kb.ignore`) | |
| 31 | |
| 32 | **Правила заполнения:** |
| 33 | |
| 34 | 1. **Personal scope** — как в `work/projects/<scope>/` и в MCP `active_scope` (личный канон). |
| 35 | 2. **Group KB каталог** — верхний префикс под `work/projects/` в **group**-репо после seed (может отличаться от personal). |
| 36 | 3. **Label** — 3–8 слов для onboarding; без внутренних шуток и имён дисков. |
| 37 | 4. **В group KB?** — `да` / `нет`; «нет» = scope в `knowledge/group-kb.ignore` или не экспортируется. |
| 38 | |
| 39 | --- |
| 40 | |
| 41 | ## Правила поведения (норма) |
| 42 | |
| 43 | 1. **`project-id` не обязан = scope-каталог.** Допустимо: `work/projects/<group-scope-dir>/<hub-project-id>/README.md` при seed-rename только **верхнего** префикса. |
| 44 | 2. **`seed-org-kb.ps1`** — копирует `work/projects/` с фильтром `group-kb.ignore`; опционально **переименование** первого сегмента пути по этой таблице (реализация в скрипте maintainer'а). |
| 45 | 3. **PR в group** — пути как в **group**-клоне (`<group-scope-dir>/`), не personal slug. |
| 46 | 4. **Импорт org → personal** — вручную; обратный mapping по таблице. |
| 47 | 5. **MCP:** `active_scope` и primary paths — **personal**; `knowledge_root_id=group` — пути из **group**-таблицы, не угадывать personal prefix. |
| 48 | |
| 49 | --- |
| 50 | |
| 51 | ## Чеклист maintainer (перед seed) |
| 52 | |
| 53 | - [ ] Таблица заполнена для всех scope, уходящих в group |
| 54 | - [ ] `group-kb.ignore` согласован с колонкой «В group KB?» |
| 55 | - [ ] Санитизация карточек: [`work/org/checklist-sanitize-paths-for-org-v1.md`](../../work/org/checklist-sanitize-paths-for-org-v1.md) (в group после seed; в kb-public не копируется) |
| 56 | - [ ] Если rename при seed — smoke: один файл под `work/projects/<group-scope-dir>/…` |
| 57 | |
| 58 | --- |
| 59 | |
| 60 | ## Related |
| 61 | |
| 62 | - [`template-project-card-v1.md`](template-project-card-v1.md) |
| 63 | - [`work/projects/README.md`](../../work/projects/README.md) (в каноне) |
| 64 | - [`playbook-org-kb-white-label-v1.md`](../../domains/agent-operations/playbook-org-kb-white-label-v1.md) |
| 65 | |
| 66 | |