5.6 KiB
| phase | task | total_tasks | status | last_updated |
|---|---|---|---|---|
| 04-matrix-mvp-shared-agent-context-and-context-management-comma | 3 | 3 | paused | 2026-04-21T22:33:11.666Z |
<current_state>
Phase 04 как MVP-фаза по сути закрыта: Matrix real backend работает, transport layer очищен до thin adapter над pinned upstream platform-agent_api.AgentApi, ветка чистая и запушенная. Текущее состояние зафиксировано как "working but problematic": после tool/file flow остаётся подтверждённый upstream bug платформы, из-за которого начало ответа может пропадать.
Ключевой результат последней сессии: raw tracing показал, что первый повреждённый MsgEventTextChunk появляется уже внутри platform-agent до websocket-клиента. Это сняло основное подозрение с surfaces.
</current_state>
<completed_work>
- Переведён
sdk/agent_api_wrapper.pyв тонкий factory/shim без собственной stream-semantics. - Переведён
sdk/real.pyна pinned upstream contract: без post-END drain, без custom listener, без локальной реконструкции стрима. - Обновлены тесты под новый transport layer:
tests/platform/test_real.pytests/adapter/matrix/test_dispatcher.pytests/core/test_integration.py
- README обновлён под новое состояние интеграции и known limitations.
- Создан финальный отчёт:
docs/reports/2026-04-22-platform-streaming-final-bug-report-ru.md. - Временная диагностика в vendored
platform-agentиplatform-agent_apiбыла использована только для расследования и полностью удалена; nested repos снова clean. - Последний кодовый commit с рабочим состоянием:
0c2884c(refactor: use thin upstream transport adapter). </completed_work>
<remaining_work>
- Передать платформенной команде финальный отчёт и дождаться triage/fix proposal.
- После ответа платформы решить, открываем ли отдельную follow-up phase для production hardening в
surfaces. - После platform fix повторить live smoke:
- text-only
- staged attachments
- tool/file flow
- large image failure path </remaining_work>
<decisions_made>
- Больше не трогать vendored platform repos ради рабочей реализации.
- Больше не добавлять локальные transport hacks, маскирующие streaming bug.
- Считать текущий missing-first-chunk баг platform-side дефектом до опровержения raw evidence.
- Оставить
tokens_used=0как честное ограничение current upstream contract, не симулировать это значение локально. </decisions_made>
surfacesсейчас максимально близок к upstream transport semantics.- Если снова полезет corruption чанков, исходная презумпция должна быть "сначала смотреть platform-agent", а не придумывать новый локальный workaround.
- Главные артефакты для чтения перед продолжением:
README.mddocs/reports/2026-04-22-platform-streaming-final-bug-report-ru.mdsdk/agent_api_wrapper.pysdk/real.pytests/platform/test_real.py
Если придётся продолжать без платформы, разумные задачи уже не про баг с чанками, а про clean/prod-ready улучшения вокруг него:
- сделать
tokens_usedoptional в локальном контракте - развести
RealPlatformClientна pool/adapter слои - добавить bounded session cache / idle eviction
- убрать
sys.pathimport hack в пользу нормальной dependency wiring - переименовать конфиг
AGENT_WS_URLв более честныйAGENT_BASE_URL - добавить protocol contract tests против fake WS server
<next_action> Start with:
- Открыть
docs/reports/2026-04-22-platform-streaming-final-bug-report-ru.md - Отправить этот отчёт платформенной команде как основной артефакт
- Не менять transport layer до получения их ответа
Если работа продолжается автономно без ответа платформы, следующий допустимый шаг — оформлять отдельную follow-up phase на hardening surfaces, а не повторно "чинить" стрим локальными обходами.
</next_action>