Files changed: .gitignore CLAUDE.md credentials engine/.embcache.json engine/changelog.md engine/config.yaml engine/lib/__pycache__/agent.cpython-312.pyc engine/lib/agent.py engine/lib/lint.py engine/lint-report.md engine/sweep-full.log engine/sweep.sh vault/.obsidian/graph.json vault/.obsidian/workspace.json vault/INDEX.md vault/archive/projects/mmud/last-ember-chronicle.html vault/archive/projects/mmud/last-ember-howto.html vault/archive/projects/mmud/last-ember.html vault/archive/projects/mmud/mmud-phase5-prompt.md vault/archive/projects/mmud/mmud-phase6-prompt.md vault/archive/projects/mmud/mmud-prompts/mmud-prompts/01-update-planned.md vault/archive/projects/mmud/mmud-prompts/mmud-prompts/02-npc-nodes.md vault/archive/projects/mmud/mmud-prompts/mmud-prompts/03-darkcragg.md vault/archive/projects/mmud/mmud-prompts/mmud-prompts/04-dcrg-node.md vault/archive/projects/mmud/mmud-prompts/mmud-prompts/05-phase5.md vault/archive/projects/mmud/mmud-prompts/mmud-prompts/06-phase6.md vault/archive/projects/mmud/mmud-prompts/mmud-prompts/README.md vault/archive/projects/mmud/mmud-prompts/mmud-prompts/mmud-project.md vault/docs/hardware/environment.md vault/docs/hardware/ip-allocation.md vault/docs/matrix/archivist.md vault/docs/matrix/matrix_host.md vault/docs/matrix/mautrix_signal.md vault/docs/matrix/synapse.md vault/docs/matrix/synapse_retention_discovery.md vault/docs/navi/cc-rules.md vault/docs/navi/deployment.md vault/docs/navi/themes.md vault/docs/services/ots-setup.md vault/docs/services/services.md vault/docs/services/usenet.md vault/docs/software/authentik.md vault/docs/software/caddy.md vault/docs/software/dns.md vault/docs/software/geo-tools.md vault/docs/software/recon.md vault/docs/software/searxng.md vault/glossary.md vault/notes/echo6-landing-page-data-export.md vault/notes/ia-download-queue.md vault/plans/vaultwarden-plan.md vault/projects/advbbs-project.md vault/projects/argus.md vault/projects/deploy-livesync.md vault/projects/matrix-synapse-deployment.md vault/projects/meshtastic-headscale-runbook.md vault/projects/mmud-project.md vault/runbooks/add-peertube-channel.md vault/runbooks/authentik-access-groups.md vault/runbooks/authentik-create-invitation.md vault/runbooks/authentik-oidc-application.md vault/runbooks/authentik-upgrade.md vault/runbooks/ct-runbook.md vault/runbooks/edge2-access-reference.md vault/runbooks/expose-service-contabo.md vault/runbooks/expose-service-edge2.md vault/runbooks/expose-service-home.md vault/runbooks/headscale-onboard-node.md vault/runbooks/ia-cli-reference.md vault/runbooks/ia-download-mirror.md vault/runbooks/idahomesh-bridge-setup.md vault/runbooks/idahomesh-vpn-device-setup.md vault/runbooks/lxc-service-migration.md vault/runbooks/mailcow-create-mailbox.md vault/runbooks/meshmonitor-password-reset.md vault/runbooks/meshtastic-sidecar-node.md vault/runbooks/meshtasticd-sim-nodes-runbook.md vault/runbooks/nordvpn-lxc.md vault/runbooks/peertube-remote-runner.md vault/runbooks/pg-backup.md vault/runbooks/pi-nas-omv-runbook.md vault/runbooks/pipeline-patterns.md vault/runbooks/proxmox-create-ubuntu-vm.md vault/runbooks/proxmox-onboard-node.md vault/runbooks/recon-operations.md vault/runbooks/recon-service-integration.md vault/runbooks/syncthing-add-node.md vault/session-resume/SESSION-HANDOFF-meshai-test.md
2.6 KiB
| title | type | tags | aliases | related | updated | status | created | origin | resume-on | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Session Handoff — MeshAI radio-drop resilience test | session |
|
|
2026-06-18 | open | 2026-06-17 | matt-desktop (WSL) | cortex |
Session Handoff — MeshAI radio-drop resilience test
Created: 2026-06-17, from matt-desktop (WSL). Resume from cortex.
What we were doing
Matt unplugged/replugged the network cable on aida-nebra (AIDA-N2 Meshtastic node) to reboot it. The link dropped for ~12s then recovered. Matt then realized this is an accidental resilience test for MeshAI — he wants to see "how it dumps": how MeshAI handled losing and regaining its radio TCP connection (clean reconnect vs. errors/stack traces vs. crash+restart).
Key facts
- aida-nebra: 192.168.1.253 / TS 100.64.0.9 — meshtasticd node !27780c47, Nebra 2W hat, TCP API port 4403. Confirmed back online (LAN, :4403, and Tailscale all UP after the replug).
- MeshAI: utility CT 108, 192.168.1.144 / TS 100.64.0.32.
Docker image
ghcr.io/zvx-echo6/meshai:latest. Connects to the radio at 192.168.1.253:4403. Compose:/home/zvx/meshai/docker-compose.yml. - cortex and its host toc had a brief outage earlier this session; both back UP.
Why this stalled (the blocker)
matt-desktop's WSL SSH key is NOT authorized on utility (192.168.1.241):
Permission denied (publickey) — key SHA256:QL0Tm72T7RYVZfeDhPHJDUYnstRNFx2EF5/k8tKv3AM.
Could ping everything but not SSH in. Per policy, stopped instead of routing around.
cortex has working keys — that's why we're resuming there.
Next step on cortex (read-only diagnostic — do NOT restart/redeploy anything)
# find the meshai container + current status (did it restart through the blip?)
ssh zvx@192.168.1.241 "pct exec 108 -- docker ps --format '{{.Names}}\t{{.Image}}\t{{.Status}}'"
# pull logs across the blip window with timestamps
ssh zvx@192.168.1.241 "pct exec 108 -- docker logs --since 30m --timestamps <name> 2>&1 | tail -200"
Report: container uptime/restart count, verbatim disconnect→error→reconnect lines, and a one-line verdict (clean recover / crashed+auto-restarted / stuck).
NOTE: the blip was ~16:xx MT on 2026-06-17 (a few min before this file's timestamp). Logs roll — pull soon to still catch the disconnect/reconnect dump.
Working model reminder
Matt guides → Opus orchestrates (dispatch Sonnet for the SSH/log pull) → Sonnet executes the tight prompt above.