diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-25 01:30:47 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-25 01:30:47 +0200 |
| commit | 762233772162a05be67432aa551a430b939250de (patch) | |
| tree | 311a2f72fef30fec6017313c55ed5beefcf0237e /docs/MESHBAY_DESIGN.md | |
| parent | 320620a18399eb43c4d9056e9fe4c3ffac8fcfd4 (diff) | |
| download | meshbay-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.md | 6 |
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 |