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 --- docs/MESHBAY_DESIGN.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'docs/MESHBAY_DESIGN.md') diff --git a/docs/MESHBAY_DESIGN.md b/docs/MESHBAY_DESIGN.md index 7d342aa..f260d6e 100644 --- a/docs/MESHBAY_DESIGN.md +++ b/docs/MESHBAY_DESIGN.md @@ -1069,8 +1069,8 @@ upload transcript the uploader signs — over node, group, root, path, content hash, account and timestamp, stored with the entry — would make it verifiable by any member instead. That is an open item (§15.3), not something the product has. -**One implementation, several front doors.** `meshbay_node/ops.py` holds every -operation. The loopback API, the CLI and the signed MNP handlers all call these +**One implementation, several front doors.** The `meshbay_node/ops/` package holds +every operation, one module per domain, all re-exported by `ops/__init__.py`. The loopback API, the CLI and the signed MNP handlers all call these functions; they take the daemon state, raise `OpError`, and know nothing about HTTP. Two implementations of one operation with two authorization checks is **C1**/**C6** one size down. @@ -1645,7 +1645,7 @@ is not authentication: any local process can reach it, as can a page in the operator's browser via DNS rebinding — and this API re-initialises group keys, issues invitations and reads the audit log. There is no server-rendered dashboard; the desktop client's Node page and the CLI are the two consumers, and each -operation endpoint is one `_op(...)` line onto `ops.py` (§5.4). +operation endpoint is one `_op(...)` line onto `ops` (§5.4). **Over MNP, the node's own controls need a proved operator device.** The node-wide surface — `node_status`, which lists every group on the machine with -- cgit v1.2.3