Commit graph

156 commits

Author SHA1 Message Date
cafb0ec9e4 test(05-03): add failing shared-volume attachment contract tests
- cover room-safe Matrix inbox paths under /agents workspaces
- assert /workspace and /agents file paths normalize to relative workspace paths
2026-04-28 01:04:31 +03:00
26eb27b01e docs(05): research mvp deployment phase 2026-04-28 00:42:24 +03:00
0f07634955 docs(05): add validation strategy 2026-04-27 23:00:33 +03:00
1a8f9cdca0 docs(05): research phase — DM-first onboarding, per-agent routing, file transfer, prod compose 2026-04-27 22:59:31 +03:00
e5c394f036 docs(05): finalize context — unauthorized users, !clear no-confirm, remove !settings 2026-04-27 22:51:49 +03:00
daa780c0b8 docs(05): single-chat arch + DM-first onboarding + !clear 2026-04-27 22:25:24 +03:00
e20634902e docs(05): update docker-compose decision — full stack with placeholder agent image 2026-04-27 22:17:34 +03:00
6553320001 docs(05): capture phase context 2026-04-27 22:13:52 +03:00
8ffbe7b6b3 wip: deployment architecture research — Phase 05 ready to plan
- docs/deploy-architecture.md: full deployment topology, agent API, file transfer via shared volume
- .planning/HANDOFF.json + .continue-here.md: session state for Phase 05 planning
2026-04-27 21:46:27 +03:00
c34db0e6c0 wip: first-chunk debug logging — paused waiting for platform-agent logs 2026-04-24 15:17:08 +03:00
2a23b30f83 chore: update STATE after Phase 04 multi-agent follow-up 2026-04-24 14:12:07 +03:00
e733119d1e feat: enforce agent routing and persist restart state
Task 4: stale room blocking + agent_id binding
- MatrixBot._check_agent_routing: blocks normal messages when user has no
  selected agent or room is bound to a different agent
- agent_routing_enabled flag on MatrixRuntime activates the check only
  in real multi-agent mode (RoutedPlatformClient)
- make_handle_new_chat now writes agent_id into new room metadata when
  user already has a selected agent

Task 5: durable restart state tests
- test_restart_persistence.py proves selected_agent_id, room agent_id,
  platform_chat_id, and the sequence counter all survive SQLiteStore
  close/reopen; also covers clean startup with no prior state
2026-04-24 14:01:49 +03:00
74cf028e8f feat: add !agent command and durable user agent selection
Users can now list available agents with !agent and select one by
number. Selection persists in user metadata (selected_agent_id). If the
current room has no agent binding yet, selecting an agent binds it
immediately so the user can start messaging without !new.

Also updates the dispatcher test to reflect that real-mode platform is
now RoutedPlatformClient, not a bare RealPlatformClient.
2026-04-24 13:54:25 +03:00
a65227e490 test: align matrix dispatch chat id contract 2026-04-24 13:29:49 +03:00
9ccba161a2 fix: require matrix agent registry in real mode 2026-04-24 13:24:56 +03:00
242f4aadd3 feat: add matrix routed platform facade 2026-04-24 13:22:05 +03:00
7627012f24 Keep Matrix registry docs preparatory 2026-04-24 13:14:52 +03:00
98caca100c Clarify Matrix agent registry docs 2026-04-24 13:12:29 +03:00
3b0401fb7c Require string agent registry fields 2026-04-24 13:11:02 +03:00
25aa5d9313 Make Matrix agent registry immutable 2026-04-24 13:08:25 +03:00
2fb6c10a5a Reject null agent registry fields 2026-04-24 13:05:26 +03:00
e801225220 Tighten Matrix agent registry validation 2026-04-24 13:02:19 +03:00
b53523ad6c Reject non-mapping agent registry entries 2026-04-24 12:57:00 +03:00
37f7ce27a2 Add Matrix agent registry loader 2026-04-24 12:54:30 +03:00
32b03becc8 docs: clarify matrix multi-agent routing specs 2026-04-24 12:42:58 +03:00
842117900a test: cover agent api base url suffix handling 2026-04-24 12:39:50 +03:00
59fbb52c20 docs: add matrix multi-agent and restart state specs 2026-04-24 12:28:53 +03:00
76230392fa fix: normalize attachments to core Attachment type in message handler
Upstream AgentApi responses can return attachment objects that don't
implement the Attachment dataclass. _to_core_attachments coerces them
via duck-typing so OutgoingMessage always carries typed Attachment
instances regardless of the upstream response shape.
2026-04-23 14:56:00 +03:00
be4607b422 wip: 04-matrix-mvp-shared-agent-context-and-context-management-comma paused at task 3/3 2026-04-23 14:53:30 +03:00
7d58dd1caf fix: use direct agent api per request 2026-04-22 15:31:28 +03:00
7d270d3d31 chore: save handoff context for next agents 2026-04-22 01:34:47 +03:00
0c2884c2b1 refactor: use thin upstream transport adapter 2026-04-22 01:25:11 +03:00
569824ead1 refactor: shrink agent api wrapper to thin adapter 2026-04-22 00:22:20 +03:00
4d917ac794 docs: add thin transport adapter plan 2026-04-22 00:17:15 +03:00
3a3fcdc695 docs: add thin transport adapter design 2026-04-22 00:11:20 +03:00
7a2ad86b88 docs: clarify matrix file sending flow 2026-04-21 23:47:06 +03:00
4524a6abc8 feat: finalize matrix platform audit and docs 2026-04-21 15:35:03 +03:00
6422c7db58 feat: support shared-workspace file flow for matrix 2026-04-21 00:26:21 +03:00
323a6d3144 feat: commit staged matrix attachments on next message 2026-04-20 21:39:37 +03:00
f111ed3348 feat: add matrix staging list and remove flow 2026-04-20 21:37:12 +03:00
83c9a1513b feat: parse matrix staged attachment commands 2026-04-20 16:26:37 +03:00
0eaf124e21 feat: add matrix staged attachment state 2026-04-20 16:21:00 +03:00
105ecc68ed docs: add matrix staged attachments design 2026-04-20 16:05:28 +03:00
8b04fcaf77 docs: add matrix shared workspace file flow design 2026-04-20 15:04:20 +03:00
e6a42d9297 wip: pause session — 3 fixes committed, file ingestion next 2026-04-19 21:22:19 +03:00
73c472ecc4 feat(matrix): implement !reset via new platform_chat_id
Instead of calling a /reset endpoint on platform-agent, !reset now
generates a new thread_id (platform_chat_id) for the room. The old
WebSocket connection is closed and the next message creates a fresh
context automatically. No platform changes required.
2026-04-19 21:20:31 +03:00
4a5260ca79 docs: clarify Matrix onboarding via DM 2026-04-19 21:12:02 +03:00
b3331464d9 docs: update README with Matrix MVP runbook and feature status
Add step-by-step setup for running Matrix surface with real platform-agent,
document all available commands, and clearly list what works vs what is
blocked (StateBackend cross-chat load, hardcoded tokens, missing /reset,
no file upload API).
2026-04-19 21:06:03 +03:00
fbcf44980e fix(sdk): correct WebSocket URL pattern for platform-agent
AgentApiWrapper._build_ws_url was building /v1/agent_ws/{chat_id}/
which does not exist in platform-agent. Fixed to /agent_ws/?thread_id={chat_id}
to match the actual endpoint and query-param isolation scheme.

Also simplify Matrix MVP settings handlers to MVP_UNAVAILABLE stubs
and add handle_unknown_command for unregistered !commands.
2026-04-19 21:05:02 +03:00
07c5078934 feat(task-7): verify matrix per-room context routing 2026-04-19 17:43:18 +03:00