From 762233772162a05be67432aa551a430b939250de Mon Sep 17 00:00:00 2001 From: Christophe Besson Date: Fri, 25 Sep 2026 01:30:47 +0200 Subject: refactor(node): split ops.py into the ops package Each section of ops.py becomes a module of meshbay_node/ops/ (core, node_toml, members, chat, groups, roots, files, settings, apps), cut as text; ops/__init__.py keeps the docstring and re-exports every name, so `ops.` is unchanged for every caller. Logger name unchanged. Co-Authored-By: Claude Opus 5.5 --- CLAUDE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'CLAUDE.md') diff --git a/CLAUDE.md b/CLAUDE.md index 41a5056..7db6540 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -876,7 +876,7 @@ here are kept only where they are a rule about *editing* the code. | Need | File | Note | |---|---|---| -| Operator operations | `meshbay_node/ops.py` | **One implementation, several front doors.** The loopback API, the CLI and the signed MNP handlers all call these | +| Operator operations | `meshbay_node/ops/` (one module per domain, `__init__.py` re-exports every name as `ops.`) | **One implementation, several front doors.** The loopback API, the CLI and the signed MNP handlers all call these | | Local control API | `meshbay_node/ui/app.py` | JSON only, loopback + per-run token. Each operation endpoint is one `_op(...)` line | | Roster, identities, devices, invites, group settings | `meshbay_node/roster.py` | §3.3, §3.4 | | Roots, availability, eject/plug | `meshbay_node/roots.py`, `config.py` | §6.2 | @@ -889,7 +889,7 @@ here are kept only where they are a rule about *editing* the code. | Stream handover, backpressure | `transport/webrtc/apps/streaming.py` — `_replace_stream`; `webrtc/files.py` — `DOWNLOAD_BUFFER_HIGH`; `webrtc/core.py` — `shutdown_tasks` | §8.5 | | Stream diagnosis | `transport/webrtc/apps/streaming.py` — `_do_client_diag` at DEBUG | the player's own view in the node's log; the only window into a phone | | Chat store and paging | `meshbay_node/chat/store.py` | `get_recent`/`get_before`/`has_before`; `get_messages` pages *forwards* and is not what a chat opens with | -| Chat epochs | `meshbay_node/ops.py` — `open_chat_epoch`, `ensure_chat_epoch`, `chat_epoch_keys` | §4.5 | +| Chat epochs | `meshbay_node/ops/chat.py` — `open_chat_epoch`, `ensure_chat_epoch`, `chat_epoch_keys` | §4.5 | | Keystore | `meshbay_node/keystore.py` | §4.6 | | Bundle store (GEK + keypair bundles) | `meshbay_node/bundle_store.py` | §3.7 | | Media cache, third-party metadata | `meshbay_node/media_cache.py`, `tmdb.py`, `musicbrainz.py`, `media_probe.py` | §6.5 | -- cgit v1.2.3