df6d8bf628
feat(05-04): split prod and fullstack compose artifacts
...
- add bot-only production compose contract
- add health-gated internal fullstack harness
2026-04-28 01:14:05 +03:00
ae37476ddf
test(05-02): add failing regressions for clear routing
...
- cover room-local clear rotation and upstream disconnect behavior
- assert strict routed-platform failures on incomplete room bindings
2026-04-28 01:13:54 +03:00
8a80d004fd
feat(05-01): reconcile matrix rooms before live sync
...
- rebuild room and user metadata from synced space topology at startup
- run reconciliation before sync_forever and persist legacy platform_chat_id backfills
2026-04-28 01:08:15 +03:00
6693d72cbd
docs(05-03): complete shared-volume attachment hardening plan
...
- add 05-03 summary with task commits and verification details
- update roadmap and state for completed Phase 05 plan 03
2026-04-28 01:07:35 +03:00
a75b26a1cb
test(05-01): add restart reconciliation regression coverage
...
- add startup reconciliation tests for recovery, idempotence, and startup ordering
- extend restart persistence coverage for legacy platform_chat_id backfill
2026-04-28 01:05:59 +03:00
9a0316076a
fix(05-03): normalize shared-volume attachment paths
...
- strip /workspace and /agents roots before forwarding attachments upstream
- reuse the same normalization for send-file events returned to Matrix
2026-04-28 01:05:15 +03:00
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