docs: sync onboarding runbooks, node inventory, bridge mappings, and box api docs

This commit is contained in:
operator
2026-10-05 15:58:37 +00:00
parent 7c6c3a8fbf
commit 94d6502289
44 changed files with 185 additions and 10 deletions
+16
View File
@@ -107,6 +107,22 @@ If Instagram linking is not available, operator can complete the verification us
7. Meta sends security confirmation: *"Did you just move your profiles into the same Meta Account?"*. 7. Meta sends security confirmation: *"Did you just move your profiles into the same Meta Account?"*.
8. Once confirmed in Accounts Center, simply navigate back or reload `https://muse.ai/` inside the NetVM node. The `/access` lockout drops immediately, and the node enters active chat (*"Hey! I'm your personal agent..."*). 8. Once confirmed in Accounts Center, simply navigate back or reload `https://muse.ai/` inside the NetVM node. The `/access` lockout drops immediately, and the node enters active chat (*"Hey! I'm your personal agent..."*).
### Phase 4.2: Automated CDP Meta Linking Bot
When an edge-gate is detected or when linking a fresh client profile:
1. Trigger the automated CDP driver:
```bash
sudo ip netns exec warp-<node> python3 /home/super/Projects/NetVM/bin/meta-acct.py link-instagram <node>
```
2. The bot:
- Navigates headless Chromium to `https://accountscenter.meta.com/manage/`.
- Locates and clicks **Add profiles and devices**.
- Selects the Instagram cross-app linking flow.
- Automatically navigates to the `frl_web_settings` FXCAL OAuth grant.
3. Once completed or after submitting Instagram credentials, re-query the account state:
```bash
super cred meta-audit --node <node>
```
--- ---
### Phase 5: Vitality & Status Monitoring ### Phase 5: Vitality & Status Monitoring
+3 -3
View File
@@ -11,6 +11,6 @@ Unified naming: node == agent == profile == API account.
- 2026-10-03: Renamed smoke->muse, phone-test->pip for unified naming. - 2026-10-03: Renamed smoke->muse, phone-test->pip for unified naming.
Profiles preserved, sessions persisted (muse). WireGuard identities renamed. Profiles preserved, sessions persisted (muse). WireGuard identities renamed.
| 646 | warp-646 | 104.28.195.181 | 9430 | active | 646 (phone_otp, first Meta Account option) | | 646 | warp-646 | 104.28.195.181 | 9430 | active | 646 (phone_otp, first Meta Account option) |
| opm | warp-opm | 104.28.195.181 | 9440 | active | opm (yourfriendnico@proton.me, email_otp, Nico Parada) | | opm | warp-opm | 104.28.195.181 | 9440 | active | opm (artglobal.cc@gmail.com, email_otp, Nico Parada) |
| def | warp-def | 104.28.195.181 | 9450 | inactive | (unassigned) | | def | warp-def | 104.28.195.181 | 9450 | active | def (defnotabotnet@gmail.com, email_otp, IG paradahub) |
| dev | warp-dev | 104.28.195.181 | 9460 | inactive | (unassigned) | | dev | warp-dev | 104.28.195.181 | 9460 | active | dev (paradaproduced@gmail.com, email_otp, IG veryraremeta) |
+49 -2
View File
@@ -27,16 +27,63 @@
"linked_at": "2026-10-03T19:19:30.565219+00:00", "linked_at": "2026-10-03T19:19:30.565219+00:00",
"linked_by": "operator", "linked_by": "operator",
"purpose": "646 P2P outbox to muse", "purpose": "646 P2P outbox to muse",
"status": "active" "status": "active",
"peer_bridge_id": "br-20261005002039"
}, },
{ {
"bridge_id": "br-20261003191930", "bridge_id": "br-20261005002039",
"frontdoor_channel": "#ops", "frontdoor_channel": "#ops",
"muse_side_chat_id": "6db43088-b87d-43a3-ae2a-157acebcfa21", "muse_side_chat_id": "6db43088-b87d-43a3-ae2a-157acebcfa21",
"agent": "muse", "agent": "muse",
"linked_at": "2026-10-03T19:19:30.606558+00:00", "linked_at": "2026-10-03T19:19:30.606558+00:00",
"linked_by": "operator", "linked_by": "operator",
"purpose": "muse P2P inbox from 646", "purpose": "muse P2P inbox from 646",
"status": "active",
"peer_bridge_id": "br-20261003191930",
"note": "P2P pair with br-20261003191930 (646 outbox); ID de-duplicated 2026-10-05"
},
{
"bridge_id": "br-20261005002228-646",
"frontdoor_channel": "#ops",
"muse_side_chat_id": "1dfb3199-2f99-446c-83e3-848ae2da0a12",
"agent": "646",
"linked_at": "2026-10-05T00:22:28.036368+00:00",
"linked_by": "operator-646",
"purpose": "main-loop prompt sidechat for 646",
"sidechat_name": "646 tasks",
"status": "active"
},
{
"bridge_id": "br-20261005002228-opm",
"frontdoor_channel": "#ops",
"muse_side_chat_id": "5f18476d-8994-49e7-a9e0-4838732363fe",
"agent": "opm",
"linked_at": "2026-10-05T00:22:28.036368+00:00",
"linked_by": "operator-646",
"purpose": "main-loop prompt sidechat for opm",
"sidechat_name": "main-loop brain",
"status": "active"
},
{
"bridge_id": "br-20261005002228-pip",
"frontdoor_channel": "#ops",
"muse_side_chat_id": "5f33b1ab-a310-4cbb-9ccc-bb7bcd3d1b34",
"agent": "pip",
"linked_at": "2026-10-05T00:22:28.036368+00:00",
"linked_by": "operator-646",
"purpose": "main-loop prompt sidechat for pip",
"sidechat_name": "pip tasks",
"status": "active"
},
{
"bridge_id": "br-20261005002228-muse",
"frontdoor_channel": "#ops",
"muse_side_chat_id": "414cc0fc-4c46-4cb4-9fa6-07f06912384a",
"agent": "muse",
"linked_at": "2026-10-05T00:22:28.036368+00:00",
"linked_by": "operator-646",
"purpose": "main-loop prompt sidechat for muse",
"sidechat_name": "muse tasks",
"status": "active" "status": "active"
} }
] ]
+2
View File
@@ -1,5 +1,7 @@
# BOX-API-DESIGN-DMS.md: DM and Message Endpoint Design # BOX-API-DESIGN-DMS.md: DM and Message Endpoint Design
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Status:** Design v0.1 (design only — no implementation). **Status:** Design v0.1 (design only — no implementation).
**Owner:** operator-main. Sanctioned by the human 2026-10-04. **Owner:** operator-main. Sanctioned by the human 2026-10-04.
**Companion:** `BOX-API-SPEC.md` (timer/job API), `DM-SPEC.md` (DM trust model), **Companion:** `BOX-API-SPEC.md` (timer/job API), `DM-SPEC.md` (DM trust model),
+2
View File
@@ -1,5 +1,7 @@
# Box API: Per-Agent Thread Oversight — Contract Draft # Box API: Per-Agent Thread Oversight — Contract Draft
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Status: **draft 2026-10-04** — for the UI/UX agents. Not implemented, not deployed. Status: **draft 2026-10-04** — for the UI/UX agents. Not implemented, not deployed.
Companion docs: `BOX-API-DESIGN-DMS.md`, `BOX-UI-DESIGN.md`, `BOX-API-DESIGN-TIMERS.md`. Companion docs: `BOX-API-DESIGN-DMS.md`, `BOX-UI-DESIGN.md`, `BOX-API-DESIGN-TIMERS.md`.
+2
View File
@@ -1,5 +1,7 @@
# BOX-API-DESIGN-TIMERS.md: Timer & Job Endpoint Design # BOX-API-DESIGN-TIMERS.md: Timer & Job Endpoint Design
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Status:** Design only. No implementation. **Status:** Design only. No implementation.
**Owner:** operator-main. Sanctioned direction from human 2026-10-04. **Owner:** operator-main. Sanctioned direction from human 2026-10-04.
**Supersedes:** the endpoint sketches in `BOX-API-SPEC.md` §§ "Endpoints" **Supersedes:** the endpoint sketches in `BOX-API-SPEC.md` §§ "Endpoints"
+2
View File
@@ -1,5 +1,7 @@
# BOX-API-SPEC.md: Agentic Timer Management Interface # BOX-API-SPEC.md: Agentic Timer Management Interface
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## Overview ## Overview
The box page (`https://box.muse-dev.online/`) provides an agentic interface The box page (`https://box.muse-dev.online/`) provides an agentic interface
+2
View File
@@ -1,5 +1,7 @@
# BOX-UI-DESIGN.md: Box Console UI/UX Design # BOX-UI-DESIGN.md: Box Console UI/UX Design
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## Overview ## Overview
The box console (`https://box.muse-dev.online/`) is the operator interface for The box console (`https://box.muse-dev.online/`) is the operator interface for
+2
View File
@@ -1,5 +1,7 @@
# Box Web Surface & Orchestration Architecture # Box Web Surface & Orchestration Architecture
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
This guide describes the architecture connecting the **4 autonomous browser agents** (`muse`, `pip`, `646`, `opm`) across `bl` (`100.123.153.75`) and the public Web UI surfaces hosted on the Google Cloud VM (`34.139.37.135` / `box.muse-dev.online`). This guide describes the architecture connecting the **4 autonomous browser agents** (`muse`, `pip`, `646`, `opm`) across `bl` (`100.123.153.75`) and the public Web UI surfaces hosted on the Google Cloud VM (`34.139.37.135` / `box.muse-dev.online`).
--- ---
+13 -3
View File
@@ -1,5 +1,7 @@
# Bridge Spec: Front-Door ↔ muse.ai Side Conversations # Bridge Spec: Front-Door ↔ muse.ai Side Conversations
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## Overview ## Overview
Metadata bridge (not message relay) linking front-door chat channels Metadata bridge (not message relay) linking front-door chat channels
(muse-dev.online) to muse.ai side conversations. Operators manage via (muse-dev.online) to muse.ai side conversations. Operators manage via
@@ -96,11 +98,19 @@ bridge remove <bridge_id>
## Implementation Status ## Implementation Status
- [ ] `bin/bridge.py` CLI - [x] `bin/bridge.py` CLI (exists at `bin/bridge.py`)
- [ ] `sidechat tag` command in muse-chat-api.py - [ ] `sidechat tag` command in muse-chat-api.py
- [ ] `sidechat bridge` query command - [ ] `sidechat bridge` query command
- [ ] `bridge/mappings.json` schema - [x] `bridge/mappings.json` schema (live, 8 mappings as of 2026-10-05)
- [ ] Documentation - [x] Documentation (this spec)
### P3 reconciliation (2026-10-05, operator-646)
- Bridge IDs enforced unique per spec (`bridge_id: string (unique)`); duplicate
`br-20261003191930` de-duplicated, P2P pair linked via `peer_bridge_id`.
- Main-loop prompt sidechats for all four agents (646, opm, pip, muse) registered
as bridge mappings, so the registry drives the main-loop `prompt_sidechat` map.
- `peer_bridge_id` (optional): links two ends of a P2P bridge pair. Additive,
does not break the v0.1 data model.
## Notes ## Notes
+2
View File
@@ -1,5 +1,7 @@
# Chromebox Runbook # Chromebox Runbook
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Operator's guide to the Chromebox/NetVM browser fleet on `bl` (100.123.153.75). Operator's guide to the Chromebox/NetVM browser fleet on `bl` (100.123.153.75).
Written 2026-10-04. If you're reading this at 2am, start at [Quick Triage](#quick-triage). Written 2026-10-04. If you're reading this at 2am, start at [Quick Triage](#quick-triage).
+26 -2
View File
@@ -1,5 +1,7 @@
# Digest Protocol Runbook # Digest Protocol Runbook
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
How the main loop sends digests and how agents close them. How the main loop sends digests and how agents close them.
**Status:** spec (2026-10-04). Implemented in `self_main_loop.py` + `response-harvester.py`; **Status:** spec (2026-10-04). Implemented in `self_main_loop.py` + `response-harvester.py`;
@@ -129,7 +131,7 @@ message previews from 5 to 3 to fit it:
``` ```
[main-loop] [JOB ml-646-20261004-213000] 3 new in 646 main chat — reply needed: [main-loop] [JOB ml-646-20261004-213000] 3 new in 646 main chat — reply needed:
- human: <preview> [?] - human: <preview> [?]
Reply: [ACK id] seen | [CLAIM id] mine | [RESULT id] done | [DECLINE id] | [NO-ACTION id] Reply: [ACK id] seen | [CLAIM id] mine | [RESULT id] done | [DECLINE id] | [NO-ACTION id]. Report back here. Box dispatches the next step; do not DM the next agent directly.
``` ```
The footer is the primary contract. This doc is the reference. The footer is the primary contract. This doc is the reference.
@@ -142,7 +144,7 @@ The footer is the primary contract. This doc is the reference.
[from:opm] [id:a6579a8d] [main-loop] [JOB ml-646-20261004-213000] 3 new in 646 main chat — reply needed: [from:opm] [id:a6579a8d] [main-loop] [JOB ml-646-20261004-213000] 3 new in 646 main chat — reply needed:
- human: should we archive the stale pipe-7d2896 thread? [?] - human: should we archive the stale pipe-7d2896 thread? [?]
- opm: propose yes, it's superseded by the brain channel [?] - opm: propose yes, it's superseded by the brain channel [?]
Reply: [ACK id] seen | [CLAIM id] mine | [RESULT id] done | [DECLINE id] | [NO-ACTION id] Reply: [ACK id] seen | [CLAIM id] mine | [RESULT id] done | [DECLINE id] | [NO-ACTION id]. Report back here. Box dispatches the next step; do not DM the next agent directly.
# 646 picks it up # 646 picks it up
@@ -209,5 +211,27 @@ the existing `followups.json`.
--- ---
## 11. Recursive workflow discipline (box -> agent -> box)
Success = `box -> agent -> box -> agent -> box` (recursive). The failure mode is
`box -> agent : agent` — work handed agent-to-agent in chat threads, with nothing
ever returning to box. The tooling (`box job result|status|next|chain`) makes the
recursive path the easy path; this section makes it the default:
- **Reply in-thread.** Post `[RESULT <id>] <outcome>` back in the digest thread
(this thread). The harvester watches it; `box job result <job-id>` records it
into `job-log.jsonl`.
- **Box chains the next step.** A `[RESULT]` on a chained job fires
`trigger_chain_next()` (or `box job next` to dry-run, `box job chain` to wire);
box dispatches the next step to the next agent. The agent never needs to know
who goes next.
- **Never DM the next agent directly.** Handing work off in a chat thread
bypasses box orchestration: no followup record, no chain state, no
`job status` visibility. If you catch yourself composing a DM to hand off
work, stop and post the `[RESULT]` instead — box routes onward.
- **The footer says it.** Every ACTIONABLE digest now closes with:
*"Report back here. Box dispatches the next step; do not DM the next agent
directly."* — the contract is in-band, not tribal knowledge.
*Companion docs: `DM-SPEC.md` (DM format), `THREAD-BOOKKEEPING.md` (pin/archive), *Companion docs: `DM-SPEC.md` (DM format), `THREAD-BOOKKEEPING.md` (pin/archive),
`WARP-EGRESS-FIX.md` (partition handling).* `WARP-EGRESS-FIX.md` (partition handling).*
+2
View File
@@ -1,5 +1,7 @@
# DM over HTTPS: System Design # DM over HTTPS: System Design
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Date:** 2026-10-04 **Date:** 2026-10-04
**Author:** operator-646 (design agent) **Author:** operator-646 (design agent)
**Status:** Design only — no implementation **Status:** Design only — no implementation
+2
View File
@@ -1,5 +1,7 @@
# DM over HTTPS: System Design # DM over HTTPS: System Design
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Date:** 2026-10-04 **Date:** 2026-10-04
**Author:** operator-646 (design agent) **Author:** operator-646 (design agent)
**Status:** Design only — no implementation **Status:** Design only — no implementation
+2
View File
@@ -1,5 +1,7 @@
# DM Spec: Work Orders + Server-Side DM Logging + Box Visibility # DM Spec: Work Orders + Server-Side DM Logging + Box Visibility
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## Companion spec ## Companion spec
This is the **logging/tracking layer**. The message layer — what DMs This is the **logging/tracking layer**. The message layer — what DMs
+2
View File
@@ -1,5 +1,7 @@
# DM Spec — Direct Messaging as the Agent Control Plane # DM Spec — Direct Messaging as the Agent Control Plane
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Status:** DRAFT for discussion, 2026-10-03. **Status:** DRAFT for discussion, 2026-10-03.
**Context:** `dm.py` on bl injects text into another agent's Muse chat (main or side chat) via headless Chromium over CDP. This spec defines what DMs *mean* — the semantics, trust model, and safety rules — so the mechanism can grow into fleet-wide agent automation without becoming a confused-deputy nightmare. **Context:** `dm.py` on bl injects text into another agent's Muse chat (main or side chat) via headless Chromium over CDP. This spec defines what DMs *mean* — the semantics, trust model, and safety rules — so the mechanism can grow into fleet-wide agent automation without becoming a confused-deputy nightmare.
+2
View File
@@ -1,5 +1,7 @@
# DOM Headless Approvals Spec (muse.ai automation) # DOM Headless Approvals Spec (muse.ai automation)
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## Overview ## Overview
When headless automation (`muse-chat-api.py` via CDP) drives a muse.ai When headless automation (`muse-chat-api.py` via CDP) drives a muse.ai
session, the browser may surface permission/confirmation dialogs that block session, the browser may surface permission/confirmation dialogs that block
+2
View File
@@ -1,5 +1,7 @@
# DOM: Approval & Permission Dialogs # DOM: Approval & Permission Dialogs
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Companion to `DOM-APPROVALS-SPEC.md` (behavioral contract: detection → Companion to `DOM-APPROVALS-SPEC.md` (behavioral contract: detection →
classification → handling → exit codes). This doc is the **DOM surface classification → handling → exit codes). This doc is the **DOM surface
reference**: what the dialogs look like in the tree, which selectors find reference**: what the dialogs look like in the tree, which selectors find
+2
View File
@@ -1,5 +1,7 @@
# muse.ai Chat Panel & Sidechat DOM Reference # muse.ai Chat Panel & Sidechat DOM Reference
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
> Originally captured live via CDP on `opm` browser (warp-opm netns, CDP 9440). > Originally captured live via CDP on `opm` browser (warp-opm netns, CDP 9440).
> **Re-verified 2026-10-04** via CDP `Runtime.evaluate` on three nodes: > **Re-verified 2026-10-04** via CDP `Runtime.evaluate` on three nodes:
> `opm` (warp-opm, CDP 9440), `muse` (warp-muse, CDP 9410), `pip` (warp-pip, CDP 9420). > `opm` (warp-opm, CDP 9440), `muse` (warp-muse, CDP 9410), `pip` (warp-pip, CDP 9420).
+2
View File
@@ -1,5 +1,7 @@
# muse.ai Edge States DOM Reference # muse.ai Edge States DOM Reference
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
> Captured live via CDP on `opm` browser (warp-opm netns, CDP 9440) on 2026-10-04. > Captured live via CDP on `opm` browser (warp-opm netns, CDP 9440) on 2026-10-04.
> Re-verified 2026-10-04 across `muse` (9410), `pip` (9420), `opm` (9440) — > Re-verified 2026-10-04 across `muse` (9410), `pip` (9420), `opm` (9440) —
> see §10. No alerts, toasts, approval dialogs, or offline markers on any node. > see §10. No alerts, toasts, approval dialogs, or offline markers on any node.
+2
View File
@@ -1,5 +1,7 @@
# muse.ai DOM Index — Master Reference # muse.ai DOM Index — Master Reference
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
> **Entry point for all muse.ai DOM automation work.** > **Entry point for all muse.ai DOM automation work.**
> Read this first. It indexes every `data-testid`, every key selector, every > Read this first. It indexes every `data-testid`, every key selector, every
> automation recipe, and flags known contradictions between the detailed docs. > automation recipe, and flags known contradictions between the detailed docs.
+2
View File
@@ -1,5 +1,7 @@
# DOM Reference: Message Actions & Thread Interactions # DOM Reference: Message Actions & Thread Interactions
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Inspected live via CDP on the opm browser (warp-opm netns, CDP 9440), 2026-10-04. Inspected live via CDP on the opm browser (warp-opm netns, CDP 9440), 2026-10-04.
Covers main chat (`https://muse.ai/`) and sidechat threads (`/thread/<uuid>`). Covers main chat (`https://muse.ai/`) and sidechat threads (`/thread/<uuid>`).
Read-mostly probes; the only state-changing probes were opening/closing the Read-mostly probes; the only state-changing probes were opening/closing the
+2
View File
@@ -1,5 +1,7 @@
# muse.ai Message DOM Map # muse.ai Message DOM Map
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Reference for automation against the muse.ai chat UI. Captured live via CDP Reference for automation against the muse.ai chat UI. Captured live via CDP
on the `opm` headless browser (viewport 780×493), 2026-10-04 ~03:45 UTC. on the `opm` headless browser (viewport 780×493), 2026-10-04 ~03:45 UTC.
Verified states: main chat (`https://muse.ai/`) and empty new thread Verified states: main chat (`https://muse.ai/`) and empty new thread
+2
View File
@@ -1,5 +1,7 @@
# DOM reference: notifications & activity (muse.ai) # DOM reference: notifications & activity (muse.ai)
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Inspected live via CDP on the opm browser (warp-opm netns, port 9440), Inspected live via CDP on the opm browser (warp-opm netns, port 9440),
2026-10-04. Re-verified 2026-10-04 across all three fleet nodes 2026-10-04. Re-verified 2026-10-04 across all three fleet nodes
(muse 9410, pip 9420, opm 9440). (muse 9410, pip 9420, opm 9440).
+2
View File
@@ -1,5 +1,7 @@
# muse.ai DOM Page Structure Reference # muse.ai DOM Page Structure Reference
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Generated:** 2026-10-04 via live CDP inspection (opm browser, warp-opm netns, CDP 9440) **Generated:** 2026-10-04 via live CDP inspection (opm browser, warp-opm netns, CDP 9440)
**Purpose:** Reference for future automation development. All selectors verified against live DOM. **Purpose:** Reference for future automation development. All selectors verified against live DOM.
+2
View File
@@ -1,5 +1,7 @@
# DOM Reference: Search (`docs/DOM-SEARCH.md`) # DOM Reference: Search (`docs/DOM-SEARCH.md`)
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Muse.ai global search (quick-search / command palette). Inspected live on bl via CDP Muse.ai global search (quick-search / command palette). Inspected live on bl via CDP
against the opm browser (warp-opm netns, CDP 127.0.0.1:9440) on 2026-10-04. against the opm browser (warp-opm netns, CDP 127.0.0.1:9440) on 2026-10-04.
All selectors verified against the live DOM. All selectors verified against the live DOM.
+2
View File
@@ -1,5 +1,7 @@
# DOM Reference: Settings, Profile & Dock Rail # DOM Reference: Settings, Profile & Dock Rail
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Inspected live via CDP on the opm browser (warp-opm netns, CDP 9440), 2026-10-04. Inspected live via CDP on the opm browser (warp-opm netns, CDP 9440), 2026-10-04.
Re-verified 2026-10-04 across all three fleet nodes (muse 9410, pip 9420, opm 9440). Re-verified 2026-10-04 across all three fleet nodes (muse 9410, pip 9420, opm 9440).
Structure only — no credential, token, or personal values are recorded here. Structure only — no credential, token, or personal values are recorded here.
+2
View File
@@ -1,4 +1,6 @@
# Fleet Autonomous Development Handoff Charter # Fleet Autonomous Development Handoff Charter
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Effective Timestamp**: 2026-10-04T23:41:00Z **Effective Timestamp**: 2026-10-04T23:41:00Z
**Authority**: Off-Board Super **Authority**: Off-Board Super
**Scope**: Full autonomous development, orchestration, and continuous operation handover to Fleet Operators (`646`, `pip`, `opm`, `muse`). **Scope**: Full autonomous development, orchestration, and continuous operation handover to Fleet Operators (`646`, `pip`, `opm`, `muse`).
+2
View File
@@ -1,5 +1,7 @@
# Hybrid Headless Gateway & Chromebox Architecture: `muse-cli` Adaptation # Hybrid Headless Gateway & Chromebox Architecture: `muse-cli` Adaptation
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## Overview ## Overview
NetVM previously automated agent interaction (thread reading, message sends, job execution) solely via headless Chromebox containers over Chrome DevTools Protocol (CDP) and DOM manipulation. NetVM previously automated agent interaction (thread reading, message sends, job execution) solely via headless Chromebox containers over Chrome DevTools Protocol (CDP) and DOM manipulation.
+2
View File
@@ -1,5 +1,7 @@
# Identity Variance Testing # Identity Variance Testing
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## Why ## Why
All NetVM nodes currently egress from a single Cloudflare IP (`104.28.195.181`), All NetVM nodes currently egress from a single Cloudflare IP (`104.28.195.181`),
+2
View File
@@ -1,5 +1,7 @@
# JOB-SPEC.md: Hosted Job Scheduler and Distributor # JOB-SPEC.md: Hosted Job Scheduler and Distributor
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## Overview ## Overview
A hosted system on bl that processes and distributes jobs to agents via DM. A hosted system on bl that processes and distributes jobs to agents via DM.
+2
View File
@@ -1,5 +1,7 @@
# NetVM Intrinsic Loop Management — Operational Runbook & Architecture Specification # NetVM Intrinsic Loop Management — Operational Runbook & Architecture Specification
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## 1. Executive Overview ## 1. Executive Overview
NetVM coordinates an autonomous agent mesh (`muse`, `pip`, `646`, `opm`, `super`) communicating via inter-agent direct messages (DMs), scheduled jobs, and live browser sidechats. **Intrinsic Loops** represent communication cycles requiring closure (e.g. follow-ups, results, acknowledgements). NetVM coordinates an autonomous agent mesh (`muse`, `pip`, `646`, `opm`, `super`) communicating via inter-agent direct messages (DMs), scheduled jobs, and live browser sidechats. **Intrinsic Loops** represent communication cycles requiring closure (e.g. follow-ups, results, acknowledgements).
+2
View File
@@ -1,5 +1,7 @@
# Meta Accounts Center API # Meta Accounts Center API
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Status:** active (2026-10-03) **Status:** active (2026-10-03)
**Motivation:** the phone number used in the muse.ai OTP pilot is linked to a **Motivation:** the phone number used in the muse.ai OTP pilot is linked to a
Facebook account with its own credentials. Meta account management must be a Facebook account with its own credentials. Meta account management must be a
+2
View File
@@ -1,5 +1,7 @@
# Phone-OTP Login Flow # Phone-OTP Login Flow
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Status:** proven on bl (2026-10-03) **Status:** proven on bl (2026-10-03)
Alternative to the email-OTP path for muse.ai login; same form, same OTP Alternative to the email-OTP path for muse.ai login; same form, same OTP
mechanics, different delivery channel (SMS instead of email). mechanics, different delivery channel (SMS instead of email).
+2
View File
@@ -1,5 +1,7 @@
# Per-Node Rate Limit Policy (2026-10-04) # Per-Node Rate Limit Policy (2026-10-04)
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## Why ## Why
All 4 fleet nodes (muse, pip, 646, opm) egress from a single Cloudflare IP All 4 fleet nodes (muse, pip, 646, opm) egress from a single Cloudflare IP
+2
View File
@@ -1,5 +1,7 @@
# Sidechat-Only Policy — Failure Triage Runbook # Sidechat-Only Policy — Failure Triage Runbook
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Policy:** DMs go to side chats by default. Main chat requires explicit opt-in **Policy:** DMs go to side chats by default. Main chat requires explicit opt-in
(`--allow-main-chat` / job JSON `"allow_main_chat": true`). Anything that lands (`--allow-main-chat` / job JSON `"allow_main_chat": true`). Anything that lands
in main without opt-in is either intentional-by-design (final nudges, escalations) in main without opt-in is either intentional-by-design (final nudges, escalations)
+2
View File
@@ -1,5 +1,7 @@
# Sidechat Reliability Runbook # Sidechat Reliability Runbook
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Fleet sidechat DMs are the fleet's nervous system. On 2026-10-04 they were Fleet sidechat DMs are the fleet's nervous system. On 2026-10-04 they were
measured at ~1/3 navigation success. This runbook is the single place that measured at ~1/3 navigation success. This runbook is the single place that
explains how the machinery works, how each known failure looks in the logs, explains how the machinery works, how each known failure looks in the logs,
+2
View File
@@ -1,5 +1,7 @@
# Side Chat Spec (muse.ai) # Side Chat Spec (muse.ai)
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## Overview ## Overview
Side chats are isolated conversation contexts within a muse.ai agent. Side chats are isolated conversation contexts within a muse.ai agent.
Each side chat maps to an organizational unit (channel, thread, task) Each side chat maps to an organizational unit (channel, thread, task)
+2
View File
@@ -1,5 +1,7 @@
# Thread Bookkeeping with Pin & Archive # Thread Bookkeeping with Pin & Archive
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Status:** runbook (2026-10-04) **Status:** runbook (2026-10-04)
**Applies to:** muse.ai side-chat threads used by the fleet DM system **Applies to:** muse.ai side-chat threads used by the fleet DM system
+2
View File
@@ -1,5 +1,7 @@
# Timer Stagger — Fleet Polling De-correlation # Timer Stagger — Fleet Polling De-correlation
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
**Date:** 2026-10-04 ~21:50 UTC **Date:** 2026-10-04 ~21:50 UTC
**Why:** All 4 NetVM nodes egress via the same Warp IP (104.28.195.181). Synchronized **Why:** All 4 NetVM nodes egress via the same Warp IP (104.28.195.181). Synchronized
timers = 4x correlated traffic bursts from one IP = correlated rate-limit risk. timers = 4x correlated traffic bursts from one IP = correlated rate-limit risk.
+2
View File
@@ -1,5 +1,7 @@
# Exec-constrained token policy # Exec-constrained token policy
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Tokens for the bl exec endpoint (`bin/exec-constrained.py`) are infrastructure Tokens for the bl exec endpoint (`bin/exec-constrained.py`) are infrastructure
secrets. This policy binds every operator and agent in the fleet. secrets. This policy binds every operator and agent in the fleet.
+2
View File
@@ -1,5 +1,7 @@
# Thread-UUID rotation: measurement & mapping hygiene proposal # Thread-UUID rotation: measurement & mapping hygiene proposal
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Date: 2026-10-04. Source: `dm-log.jsonl` (window 2026-10-03 21:36Z → 2026-10-04 19:46Z, Date: 2026-10-04. Source: `dm-log.jsonl` (window 2026-10-03 21:36Z → 2026-10-04 19:46Z,
~22h, 3318 lines — the log does not cover a full 7 days; rates below are ~22h, 3318 lines — the log does not cover a full 7 days; rates below are
extrapolated from this window and should be re-measured on a longer one). extrapolated from this window and should be re-measured on a longer one).
+2
View File
@@ -1,5 +1,7 @@
# WARP Egress Fix — Distinct Egress IPs per NetVM Node # WARP Egress Fix — Distinct Egress IPs per NetVM Node
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
Date: 2026-10-04 Date: 2026-10-04
Status: DESIGN (not yet implemented) Status: DESIGN (not yet implemented)
Author: operator-main Author: operator-main
+2
View File
@@ -1,5 +1,7 @@
# dm.py Cross-Operator DMs — Operator Runbook # dm.py Cross-Operator DMs — Operator Runbook
> **Box is the main surface.** All operator work goes through Box (box.muse-dev.online). The web UI, `box` CLI, and agents share the same API endpoints. No UI-only powers.
## The `--to` Flag ## The `--to` Flag
Send messages between operators (opm, 646, pip, muse) using the recipient's Send messages between operators (opm, 646, pip, muse) using the recipient's