summaryrefslogtreecommitdiffstats
path: root/CLAUDE.md
diff options
context:
space:
mode:
Diffstat (limited to 'CLAUDE.md')
-rw-r--r--CLAUDE.md4
1 files changed, 3 insertions, 1 deletions
diff --git a/CLAUDE.md b/CLAUDE.md
index f68bb05..350e22c 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -1168,7 +1168,9 @@ which pytest also runs when `ANDROID_HOME` is set (`test_android_shell.py`).
| Remote paths, listing, local names | `client/paths.py`, `client/tree.py`, `client/names.py` | `names.UPLOAD_NAME` is copied from the node's `SAFE_UPLOAD_NAME` |
| Downloads and uploads | `client/transfers.py`, `client/upload_plan.py` | §5.5; `upload_plan` is shared by `put` and the interactive mode |
| Search across groups | `commands/search.py` | `search_listed` honoured before the index is asked; one result per content hash |
-| Chat: read and post | `client/chat.py`, `commands/chat.py` | `chatbox` seal/verify; signature before decryption; unreadable shown, never dropped; Tier 2 roster check not done |
+| Chat: read and post | `client/chat.py`, `commands/chat.py` | `chatbox` seal/verify; signature before decryption; unreadable shown, never dropped |
+| Chat: whose device signed (Tier 2) | `client/roster.py` | port of `transport-roster.js`, held to it by `test_account_pinning.py`; account pins in `state.json` |
+| Interactive chat | `tui/chat.py` | `meshbay-cli chat` alone; pushed `chat_msg` live; Esc or /part back to the groups |
| Deleting files | `client/remove.py`, `commands/rm.py` | §5.4: the uploader's account or the node's operator; the whole run is checked before asking |
| Interactive mode | `meshbay_cli/tui/` | Textual; names are drawn as text, never markup |
| Man page | `meshbay_cli/manpage.py` | generated from the parser at build time; `test_manpage.py` |