90 lines
5.3 KiB
JSON
90 lines
5.3 KiB
JSON
{
|
||
"version": "1.0",
|
||
"timestamp": "2026-04-23T11:46:45.938Z",
|
||
"phase": "04",
|
||
"phase_name": "Matrix MVP: shared agent context and context management commands",
|
||
"phase_dir": ".planning/phases/04-matrix-mvp-shared-agent-context-and-context-management-comma",
|
||
"plan": 3,
|
||
"task": 3,
|
||
"total_tasks": 3,
|
||
"status": "paused",
|
||
"completed_tasks": [
|
||
{
|
||
"id": 1,
|
||
"name": "Стабилизировать Matrix MVP runtime: numeric platform_chat_id mapping, staged attachments, clean vendored platform repos",
|
||
"status": "done",
|
||
"commit": "4524a6a"
|
||
},
|
||
{
|
||
"id": 2,
|
||
"name": "Локализовать missing-first-chunk bug, оформить финальный bug report и очистить runtime до thin upstream integration boundary",
|
||
"status": "done",
|
||
"commit": "0c2884c"
|
||
},
|
||
{
|
||
"id": 3,
|
||
"name": "Перейти на direct upstream AgentApi per request, убрать local wrapper из prod path и зафиксировать AGENT_BASE_URL как основной runtime contract",
|
||
"status": "done",
|
||
"commit": "7d58dd1"
|
||
}
|
||
],
|
||
"remaining_tasks": [
|
||
{
|
||
"id": 4,
|
||
"name": "Решить, закрываем ли Phase 04 окончательно или продолжаем Matrix через live smoke в реальном окружении",
|
||
"status": "not_started"
|
||
},
|
||
{
|
||
"id": 5,
|
||
"name": "Если двигаемся дальше по Matrix, прогнать text/tool/file smoke на direct AgentApi per-request path и проверить отсутствие regressions",
|
||
"status": "not_started"
|
||
},
|
||
{
|
||
"id": 6,
|
||
"name": "Если начинаем новую surface, открыть follow-up phase для prod messenger architecture без собственного transport layer",
|
||
"status": "not_started"
|
||
}
|
||
],
|
||
"blockers": [
|
||
{
|
||
"description": "В worktree остаётся посторонний локальный diff в core/handlers/message.py, не связанный с direct AgentApi fix",
|
||
"type": "technical",
|
||
"workaround": "Не смешивать с runtime/surface работой без отдельной задачи; handoff commit этот файл не включает"
|
||
}
|
||
],
|
||
"human_actions_pending": [
|
||
{
|
||
"action": "Выбрать следующий трек: Matrix live validation или планирование новой prod surface вроде Telegram/Max",
|
||
"context": "Кодовый фикс уже сделан и запушен; дальше работа зависит от продуктового направления, а не от transport-debug",
|
||
"blocking": false
|
||
},
|
||
{
|
||
"action": "При следующем отдельном planning/cleanup коммите привести STATE/roadmap в полное соответствие с direct upstream per-request решением",
|
||
"context": "Локальный STATE уже обновлён как checkpoint, но handoff WIP commit включает только HANDOFF и .continue-here",
|
||
"blocking": false
|
||
}
|
||
],
|
||
"decisions": [
|
||
{
|
||
"decision": "Для prod path Matrix surface больше не держит собственный transport layer; используется прямой upstream AgentApi с fresh connection per request",
|
||
"rationale": "Это убрало reuse-sensitive загрязнение между запросами, после чего missing-first-chunk симптом перестал воспроизводиться локально",
|
||
"phase": "04"
|
||
},
|
||
{
|
||
"decision": "AGENT_BASE_URL принят как основной runtime contract; AGENT_WS_URL оставлен только как backward-compat fallback в env wiring",
|
||
"rationale": "Так surface говорит с платформой по их реальному API contract, а не через локальный ws shim",
|
||
"phase": "04"
|
||
},
|
||
{
|
||
"decision": "Для следующих surfaces не строить custom transport wrapper поверх платформы",
|
||
"rationale": "Surface должна владеть integration/session boundary, а не альтернативной stream semantics",
|
||
"phase": "04"
|
||
}
|
||
],
|
||
"uncommitted_files": [
|
||
".planning/STATE.md",
|
||
"core/handlers/message.py"
|
||
],
|
||
"next_action": "При возобновлении сначала прочитать обновлённый handoff, затем выбрать один из двух треков: либо Matrix live smoke на direct AgentApi per-request path, либо новая phase/spec для prod surface без собственного transport layer",
|
||
"context_notes": "Старый checkpoint про platform triage устарел. После диалога с платформой runtime переведён на прямой upstream AgentApi с fresh connection per request, локальный wrapper убран из prod path, tests прошли, commit 7d58dd1 запушен в origin/feat/matrix-direct-agent-prototype. Важный вывод для будущей архитектуры surfaces: upstream transport считать authoritative, а локально держать только lifecycle, serialization, attachment forwarding, error mapping и reconciliation."
|
||
}
|