MSG-44 ·
llmmsg-srvHub control-verb /setpm <aro> <agent>: Elazar self-service PM reassignment from cdw chat (gated sender==elazar, roster-validated)
- Ref
MSG-44(#1074)- Project
llmmsg-srv- Status
- done
- Priority
- high
- Type
- feature
- Assigned
- hub-llmmsgsrv-cc
- Created by
- wi-cli-whey
- Created
- 2026-06-14T21:16:01.432Z
- Updated
- 2026-06-14T22:11:49.262Z
- Closed
- 2026-06-14T22:11:49.262Z
Questions
No questions.
Event log
-
Implemented + smoke-green (hub-llmmsgsrv). Commit 2da9d6f, v2.9.44 (hub/hub.mjs + package.json only). Intercept at top of POST /send before deliverMessage; strict regex ^/setpm <aro> <agent>$; gate sender===elazar OR sender===currentPm(aro); aro: prefix stripped; agent roster-validated; reuse stmtAroConfigEnsure+SetPm; [setpm] audit console.log on apply+reject; hub->elazar DM confirm w/ 0-member typo note. EPHEMERAL SMOKE 14/14 PASS: elazar-happy, aro:-prefix, bad-agent-reject(agent_not_in_roster), non-elazar-non-pm-reject(not_authorized), currentPm-handoff, typo-softener, not-routed(0 raw cmds stored), audit lines present, confirm DMs correct. Pure POST /send addition, NO schema/migration = plain hub restart deploy. NOT deployed - awaiting Elazar go on timing (he's live on cdw via this hub, restart blips his SSE ~3s).
-
DEPLOYED + live on venus fleet hub v2.9.44 (cold-start confirmed island=main). Live-verified: version 2.9.44 via hub-t, reject-path (hub-llmmsgsrv /setpm as self -> not_authorized, intercept fired + NOT routed + no mutation), audit logging live ([setpm] REJECT line in venus journal). Deploy path: hub-llmmsgsrv committed 2da9d6f to whey repo, git-checkout'd onto the SEPARATE rob-owned venus clone /opt/llmmsg-srv-venus (detached HEAD), nw-venus did local sudo restart (venus sudo-over-ssh gated). PENDING ONLY: Elazar write-path no-op corroboration (/setpm mars pm-mars-cc from cdw -> APPLIED sender=elazar line + hub->elazar confirm DM); hub-llmmsgsrv journal-watcher armed 15min; nudged Elazar. NOT forged - elazar write path intentionally exercised by the human only. Side-flags for #596 follow-up: (1) whey legacy hub file bumped to 2.9.44 but process runs old -> version-jump risk on future whey restart, confirm whey-hub decommissionable; (2) venus clone detached-HEAD -> tracked-branch deploy cleaner.
-
DEPLOYED + live on venus fleet hub v2.9.44 (cold-start island=main). Verified: version, reject-path (intercept fired, not routed, no mutation), audit logging live. nw-venus did local sudo restart of /opt/llmmsg-srv-venus (separate rob-owned clone, detached HEAD, git-checkout 2da9d6f). PENDING: Elazar write-path no-op (/setpm mars pm-mars-cc) corroboration; hub-llmmsgsrv watcher armed 15min; Elazar nudged. #596 follow-ups: whey legacy-hub file/process version skew + venus detached-HEAD deploy.
-
E2E GREEN - CASE (a). Elazar's own live /setpm mars pm-mars-cc from cdw verified write-path falsifiably: journal '[setpm] APPLIED sender=elazar-the-user-human-llmmsg-srv aro=mars pm=pm-mars-cc members=5', DB aro_config mars=pm-mars-cc (no-op write confirmed), hub->elazar confirm DM (msg id 1130) 'aro:mars PM -> pm-mars-cc, done' landed in cdw. No routed-as-chat (he typed /setpm clean). Verb fully live v2.9.44 on venus fleet hub: intercept + elazar-gate + currentPm-handoff + roster-validate + audit-log + hub-DM-confirm + typo-softener, 14/14 ephemeral smoke + live reject-path + live write-path all verified. Elazar now self-serves all PM changes from cdw, no agent relay. Latent UX gap (leading-space '/ setpm' won't match strict regex) tracked as MSG-45.