Remove hardcoded sidechat UUIDs from dm.py (heartbeat, 646-opm-work)

Thread UUIDs rotate -- heartbeat-opm died twice in one day
(5bd5b350 -> 0077e918 -> dead), dropping self_main_loop digests.
SIDCHAT_ALIASES is now intentionally empty; targets fall through to
job-sidechats.json dynamic mappings then name-based sidechat use with
autoprovision, which self-heals. Also removed stale heartbeat-opm and
pipe-9735f2 entries (dead UUID 0077e918) from job-sidechats.json.

Test: dm.py send to heartbeat resolved via name and SENT+VERIFIED
(thread 5f18476d-8994-49e7-a9e0-4838732363fe).

Session: sidechat/chromebox-ops
This commit is contained in:
operator-main
2026-10-04 19:43:04 +00:00
parent 18db8ff80b
commit 793d3d78d7
2 changed files with 11 additions and 13 deletions
Executable → Regular
+11 -7
View File
@@ -205,15 +205,19 @@ LOG_FILE = "/home/super/Projects/NetVM/dm-log.jsonl"
# These bypass fuzzy name matching for reliable placement.
# Resolved 2026-10-04. Add new entries as sidechats are created.
SIDCHAT_ALIASES = {
"646-opm-work": "d410b9ad-f667-465f-a103-43fabc0f69fe",
"heartbeat": "0077e918-9ac8-40ba-b0ad-65f9f78037c4", # dedicated heartbeat sidechat (was colliding with 646 tasks)
# Intentionally empty. Thread UUIDs rotate (heartbeat-opm died twice in
# one day: 5bd5b350 -> 0077e918 -> dead). Hardcoded UUIDs misdeliver or
# drop. Targets fall through to job-sidechats.json dynamic mappings,
# then name-based `sidechat use` with autoprovision, which self-heals.
# Do NOT add hardcoded UUIDs here.
}
# NOTE 2026-10-04: "646 tasks" alias REMOVED -- the hardcoded UUID
# 1e75a740-d08f-443d-a0f9-793db196e24f is stale (not a valid thread on 646's
# account; the SPA redirects to another thread, causing misdelivery).
# "646 tasks" now falls through to passthrough -> fuzzy name search ->
# NOTE 2026-10-04: "646 tasks", "heartbeat", and "646-opm-work" aliases
# REMOVED -- all hardcoded UUIDs (1e75a740-..., 0077e918-..., d410b9ad-...)
# went stale (threads rotate; the SPA redirects to another thread, causing
# misdelivery or dropped digests). Targets now fall through to passthrough
# -> job-sidechats.json dynamic mapping -> fuzzy name search ->
# autoprovision, which registers the live UUID in job-sidechats.json.
# Do NOT re-add a hardcoded UUID here; use job-sidechats.json instead.
# Do NOT re-add hardcoded UUIDs here; use job-sidechats.json instead.
def resolve_sidechat_target(target):
"""Resolve target alias or name to UUID dynamically from job-sidechats.json."""