aboutsummaryrefslogtreecommitdiffstats
path: root/docs/MESHBAY_DESIGN.md
diff options
context:
space:
mode:
authorChristophe Besson <cbesson@gmail.com>2026-09-25 01:30:47 +0200
committerChristophe Besson <cbesson@gmail.com>2026-09-25 01:30:47 +0200
commit762233772162a05be67432aa551a430b939250de (patch)
tree311a2f72fef30fec6017313c55ed5beefcf0237e /docs/MESHBAY_DESIGN.md
parent320620a18399eb43c4d9056e9fe4c3ffac8fcfd4 (diff)
downloadmeshbay-762233772162a05be67432aa551a430b939250de.tar.gz
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.<name>` is unchanged for every caller. Logger name unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Diffstat (limited to 'docs/MESHBAY_DESIGN.md')
-rw-r--r--docs/MESHBAY_DESIGN.md6
1 files changed, 3 insertions, 3 deletions
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