Skip to content

Extract Matrix plumbing to mx.client behind namespace guards#136

Merged
TroyHernandez merged 2 commits into
mainfrom
feature/mx-client-extraction
Jun 10, 2026
Merged

Extract Matrix plumbing to mx.client behind namespace guards#136
TroyHernandez merged 2 commits into
mainfrom
feature/mx-client-extraction

Conversation

@TroyHernandez

Copy link
Copy Markdown
Contributor

#7 from the cerebro work list. The Matrix adapter duplicated mx.client's stateful plumbing; delegate it.

Delegated to mx.client (verified byte-identical / signature-compatible): config persistence (config_path/legacy/load/save), session construction, the markdown→HTML converter, and the sync extractors (messages/invites/reaction verdicts). Net -163 lines in matrix.R.

Stays in corteza — the agent runtime, not a generic client: bot loop, command parsing, tool-approval-via-reactions, chat sessions, transcript archiving, flush signals. Also matrix_configure (stores corteza-only fields) and matrix_accept_invites (session-signature).

mx.client is a Suggests used via requireNamespace (same pattern as mx.api), so corteza stays CRAN-safe until mx.client publishes — then it graduates to Imports and the guards drop. Matrix tests skip when mx.client is absent. Full suite green (2331).

The Matrix adapter duplicated mx.client's stateful plumbing. Delegate it:
config persistence (path/legacy/load/save), session construction, the
markdown->HTML converter, and the sync-event extractors (messages,
invites, reaction verdicts) now call mx.client. corteza keeps its agent
runtime (bot loop, command parsing, tool approval, chat sessions,
archiving, flush signals) -- the part that isn't a generic client.

mx.client is a Suggests (alongside mx.api) and used via requireNamespace,
so corteza stays CRAN-safe until mx.client publishes; then it graduates
to Imports and the guards drop. Matrix tests skip when mx.client is
absent. Net -163 lines in matrix.R; markdown output verified byte-
identical; full suite green.
@TroyHernandez TroyHernandez merged commit 2715369 into main Jun 10, 2026
5 of 6 checks passed
@TroyHernandez TroyHernandez deleted the feature/mx-client-extraction branch June 10, 2026 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant