refactor(agents): move MAC graph-state schema into multi_agent_chat/shared/state/

filesystem_state.py (the multi-agent graph state) and state_reducers.py
(its merge reducers) are consumed only by multi_agent_chat (filesystem
tools/middleware, kb projection, and the MAC-only shared middleware) plus
two unit tests -- no external app code. Relocate them into a dedicated
multi_agent_chat/shared/state/ package (filesystem_state.py + reducers.py)
and repoint every importer.

No behavior change; import-all + the full unit/middleware + unit/agents
suites (1066 tests) stay green.
This commit is contained in:
CREDO23 2026-06-05 10:54:15 +02:00
parent 2db4ad479e
commit 1d2519730e
30 changed files with 82 additions and 34 deletions

View file

@ -6,7 +6,7 @@ participate in the verification teaching from
``multi_agent_chat/subagents/shared/snippets/verifiable_handle.md`` those
tools now also need to write a :class:`Receipt` into the parent's
``state['receipts']`` list (declared on
:class:`~app.agents.shared.filesystem_state.SurfSenseFilesystemState`
:class:`~app.agents.multi_agent_chat.shared.state.filesystem_state.SurfSenseFilesystemState`
and backed by the append reducer).
:func:`with_receipt` wraps both behaviours: it returns the tool payload as
@ -51,7 +51,7 @@ def with_receipt(
"""Return a Command that ships ``payload`` as a ToolMessage AND appends ``receipt``.
The append happens via the ``_list_append_reducer`` on the ``receipts``
field of :class:`~app.agents.shared.filesystem_state.SurfSenseFilesystemState`,
field of :class:`~app.agents.multi_agent_chat.shared.state.filesystem_state.SurfSenseFilesystemState`,
so concurrent subagent batches (item 4 in the plan) won't clobber each
other's receipts.
"""