ADR 0118: Agent Notes Core 2.0 — TOML, knowledge_path, паритет с agent-notes-mcp
Статус: Accepted · Implemented
Дата: 2026-05-16
Связанные ADR
| ADR | Роль |
|---|---|
| 0019 | Прецедент общего Core (git-mcp) |
| 0028 | TOML настроек, секреты |
| 0029 | TOML-first конфигурация IDE |
| 0048 | Поверхность IdeCommands |
| 0008 | Контракты MCP |
Вне репо: agent-notes-mcp ADR 014 (релиз 2.0, --config); NuGet AIGuiders.AgentNotes.Core 2.x.
Контекст
agent-notes-mcp 2.0:
- Обязательный
--config→ TOML ([knowledge],[workspace],[status]). - Тулы MCP: аргумент
knowledge_path(вместоcanon_path). - AgentNotes.Core 2.0:
LocalSettingsLoader,AgentNotesRuntime; без META JSON /AGENT_NOTES_CANON_PATHв supported path.
Cascade IDE до внедрения:
- NuGet
AIGuiders.AgentNotes.Core1.0.0. - In-proc
McpAgentNotesService; knowledge-команды сcanon_path. - Отдельно env
AGENT_NOTES_CANON_PATHи overlay KB-Base.
Решение
Зависимость Core ≥ 2.0.0 — в open-монорепо:
ProjectReferenceна../agent-notes-core; в CI после публикации NuGet —PackageReference.SSOT конфигурации — в
settings.toml:[agent_notes] config_path = "D:/agent-notes-mcp/agent-notes-mcp.toml"Тот же файл, что
--configвmcp.jsonдля Cursor. Относительный путь — от%LocalAppData%\CascadeIDE\.Загрузка:
AgentNotesRuntimeLoader.EnsureInitialized→LocalSettingsLoader.Load→AgentNotesRuntime.Initialize.canon_path→knowledge_pathвIdeCommands.Knowledge.*, executor, generated docs. В JSON args принимается legacy aliascanon_path(чтение вMcpCommandJsonArgs.KnowledgePath).KB-Base overlay (
kb_base_overlay_path) — ортогонально primary root из TOML; безAGENT_NOTES_CANON_PATH.Environment readiness: строка «agent-notes config (TOML)» — файл существует, TOML загружен, primary root на диске.
Вне scope
- [status] HTTP в IDE — только в процессе MCP (ADR 013).
- Автогенерация TOML из UI.
Реализация
| Компонент | Путь |
|---|---|
| Loader | Services/AgentNotesRuntimeLoader.cs |
| Settings | Models/AgentNotesSettings.cs — config_path |
| Example | docs/samples/settings.localappdata.example.toml |
Последствия
- Плюс: один TOML для Cursor MCP и CIDE in-proc; scope/workspace из
[workspace]. - Минус: breaking rename args; нужен опубликованный NuGet 2.0 для сборок без соседнего
agent-notes-core.
Отклонённые альтернативы
- Дубликат TOML в
%LocalAppData%\CascadeIDE\agent-notes.toml— расхождение с MCP; отклонено в пользуconfig_pathна один файл. - Только env
AGENT_NOTES_CANON_PATH— против MCP 2.0.