ADR 008 (MCP): резолв active_scope и карта workspace → scope
Статус: Accepted (зеркало KB)
Дата: 2026-05-12
Канонический текст (KB): knowledge/adr/008-workspace-scope-map-hot-mcp-and-public-cut.md.
Связанные ADR
| ADR | Роль |
|---|---|
| 014 | [workspace] в TOML (--config, MCP 2.0) |
Резюме
- Цепочка
ResolveScope: явныйactive_scope→ карта путей → секцияactive-scope→ fallbackdoor-to-singularity. - С MCP 2.0 алиасы и
scope_mapиз TOML; META JSON иmcp-resolve-paths-v1.jsonв рантайме не читаются. - Карта путей в публичном kb-public за public-cut; полный hot — только локальный клон.
Контекст для разработчиков MCP
Инструменты read_hot_context, route_context, memory_health принимают опциональный параметр active_scope и при его отсутствии выводят scope из цепочки, реализованной в NotesStorage.ResolveScope (см. исходники: парсинг секций hot-документа).
Реализованный контракт (код)
Bootstrap путей: при загруженном
--config(MCP 2.0) —[workspace].scope_mapиscope_aliasesиз TOML. Без runtime (in-proc / тесты) — embeddedmcp-resolve-paths-defaults.jsonв AgentNotes.Core (work/local/...). Файлknowledge/META/mcp-resolve-paths-v1.jsonв 2.0 не читается.Если
active_scopeпередан и не пустой — нормализация алиасов из файла поscope_alias_map(см. п.0). Встроенной таблицы в коде нет. Формат строк как у карты workspace: краткий ключ, затем=>/:/=и канонический id slice (совпадает с суффиксом секцииscope-<id>). Строки-пути Windows в этот файл не кладутся (отфильтровываются).Иначе —
TryResolveScopeFromWorkspaceMap: файл поworkspace_scope_map(см. п.0); иначе содержимое секцииworkspace-scope-map-v1(fallback: legacyscope-map-v1); строки видаpath => scope, самый длинный префикс пути кworkspace_pathвыигрывает. Это отдельная ось: путь → slice, не алиасы коротких имён.Иначе — секция
active-scope: если есть строкаcurrent:— её значение (легаси-оверрайд), снова через словарь алиасов из п.1.Иначе —
door-to-singularity.
Карта путей в публичной сборке kb-public не должна присутствовать: в каноне для автора первая граница <!-- public-cut --> стоит до секции карты; полный hot с картой — только в локальном/полном клоне канона.
Эволюция
- MCP 2.0 (014): п.0 — TOML
[workspace]; META JSON удалён из кода. - Карта и алиасы по-прежнему в markdown под primary knowledge root; при смене алиасов —
scope-alias-map-v1.mdи тестыTestScopeAliasesMd.