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).
To prevent silent failures, stale deadlines, or rogue infinite nudging, NetVM provides **External Loop Management**:
- **Dual-Surface Architecture:** Real-time local CLI management on `bl` (`super` and `box` commands) synchronized with an operator Web Console on the Google Cloud VM (`https://box.muse-dev.online/`).
- **Dynamic Runtime Control Variables:** Typed runtime knobs controlling sampling cadences, silence thresholds, and retry policies with atomic rollbacks.
The runtime variables engine ([`bin/variables.py`](file:///home/super/Projects/NetVM/bin/variables.py)) enforces type constraints, ranges, and dual-sync persistence between `/srv/box/variables.json` and `./variables.json`. Every mutation is appended to [`variables-history.jsonl`](file:///home/super/Projects/NetVM/variables-history.jsonl).
#### CLI Commands
```bash
# List all registered variables, values, units, and ranges
super vars list
# or
box vars-list
# Get specific variable
super vars get loop_health_threshold
# Set a variable (validated against schema)
super vars set loop_health_threshold 0.65
# Reset variable to default
super vars reset loop_health_threshold
# Inspect audit history
super vars history[name][limit]
# Atomic rollback
super vars rollback loop_health_threshold
```
#### VM REST Endpoints (`/api/box/loop/*`)
-`GET /api/box/loop/vars` → Retrieves full dictionary of runtime variables.
-`GET /api/box/loop/vars/history?name=...` → Returns append-only revision history.
---
### 3.2. Hierarchical Modulation Strategy
Follow-up tracking behavior ([`bin/modulate.py`](file:///home/super/Projects/NetVM/bin/modulate.py)) is resolved hierarchically across four precedence levels down to the builtin table:
$$\text{Override Precedence: } (T, S, A) \succ (T, \text{None}, A) \succ (T, S, \text{None}) \succ (T, \text{None}, \text{None}) \succ \text{Builtin}$$
1. Exact match: `(input_type, subtype, agent)`
2. Agent default: `(input_type, None, agent)`
3. Subtype default: `(input_type, subtype, None)`
4. Type default: `(input_type, None, None)`
5. Builtin table fallback
#### CLI Commands
```bash
# Show modulation matrix (builtins + active overrides)
- **Answered Loops:** If a pending follow-up in [`followups.json`](file:///home/super/Projects/NetVM/followups.json) has a matching reply detected in [`dm-log.jsonl`](file:///home/super/Projects/NetVM/dm-log.jsonl), it is automatically marked `resolved` with note `auto-healed: reply detected in dm-log`.
- **Expired Nudges:** If a loop deadline has lapsed but allowable nudges remain, the deadline is updated to `now` and [`bin/followup-sweeper.py`](file:///home/super/Projects/NetVM/bin/followup-sweeper.py) is invoked immediately.
2.**Hard Breaks (Loudly Escalated):**
-`silent_agent`: Agent unresponsive after exhausting all allowed nudges.
-`auth_rot`: Missing or corrupted SSH Ed25519 signing key (`~/.ssh/id_ed25519`).
-`scheduler_death`: Systemd user session or timer infrastructure offline.
- **Escalation Actions:** Emits structured event to [`job-log.jsonl`](file:///home/super/Projects/NetVM/job-log.jsonl) and dispatches an immediate DM alert to `opm` on `main`.
#### CLI Commands
```bash
# View fleet loop health table and ratio
super loop health
# View all active / reconstructed loops
super loop status --limit 50
# Diagnose detected loop breakages
super loop breaks
# Manually resolve a stuck loop
super loop close <dm_id> "Resolved via operator intervention"
# Trigger manual remediation pass
super loop remediate [--dry-run]
```
#### VM REST Endpoints
-`GET /api/box/loop/health` → JSON summary of fleet ratios and health verdicts.
-`GET /api/box/loop/status?limit=50` → Active loop instances.