Clean swarm CTB TUI rows

This commit is contained in:
Meta Vens 2026-06-05 15:27:09 +01:00
commit a4f06557a2
2 changed files with 14 additions and 4 deletions

View file

@ -1173,8 +1173,8 @@ function buildEveProviderState(snapshot) {
}, upcoming.slice(0, 14).map((turn, index) =>
eveNode(`turn-${stableId(turn.identityId)}-${index}`, "text", {
role: "mono",
text: `${String(index + 1).padStart(2, " ")}. ${String(turn.displayName ?? turn.identityId ?? "face").padEnd(10, " ")} ${turnState(turn).padEnd(9, " ")} ${minutesText(turn.nextTurnInMinutes).padStart(6, " ")} ${mentionText(turn).padEnd(5, " ")} s${formatNumber(turn.effectiveSpeed, 3)} h${formatNumber(turn.heat, 2)}`,
status: turnState(turn),
text: formatTurnText(turn, index),
status: turnStatus(turn),
detail: `${turn.repoName ?? "repo"} / due ${minutesText(turn.nextTurnInMinutes)} / ${mentionDetail(turn)}`,
}),
)),
@ -1195,11 +1195,20 @@ function stableId(value) {
.replace(/^-+|-+$/g, "") || "id";
}
function turnState(turn) {
function formatTurnText(turn, index) {
const rank = String(index + 1).padStart(2, " ");
const name = String(turn?.displayName ?? turn?.identityId ?? "face").padEnd(10, " ");
const status = turnStatus(turn).padEnd(7, " ");
const due = minutesText(turn?.nextTurnInMinutes).padStart(6, " ");
const mention = mentionText(turn).padEnd(5, " ");
return `${rank}. ${name} ${status} ${due} ${mention} s${formatNumber(turn?.effectiveSpeed, 3)} h${formatNumber(turn?.heat, 2)}`;
}
function turnStatus(turn) {
if (turn?.activeJobId) return "active";
if (turn?.restState?.isNapping) return "nap";
if ((turn?.pendingMentionCount ?? 0) > 0) return "mention";
return minutesText(turn?.nextTurnInMinutes);
return "idle";
}
function minutesText(value) {

View file

@ -351,3 +351,4 @@
{"ts":"2026-06-05T13:52:45Z","type":"implementation","status":"ok","note":"Restored Odin visibility for voidbot.swarm: Odin/VoidBot CultMesh consumers now import cultmesh-ts and cultcache-ts package roots instead of private dist subpaths, normal swarm dashboard publication writes the CultMesh witness again, and CTB Eve text now shows due time plus anchored/unanchored mention markers (m1 vs m?1)."}
{"ts":"2026-06-05T14:16:31Z","type":"ops","status":"blocked","note":"Nightwing dashboard not visible because Nightwing host is unreachable from Starfire: Nightwing.Home resolves to 192.168.1.75, but ping, SSH 22, Eve dashboard 8795, and browser 8891 do not answer; a quick LAN TCP sweep only found Starfire 8795 and EVE/iPad SSH on 192.168.1.72."}
{"ts":"2026-06-05T14:23:01Z","type":"ops","status":"warn","note":"Nightwing reboot restored host reachability and visible-ops, but the Nightwing-local voidbot.swarm broker tab is not the live Odin/CultMesh swarm surface: ws://192.168.1.75:8795/eve/deck/voidbot.swarm renders 'VoidBot Swarm snapshot missing' from /srv/gamecult/eve-dashboard/state/voidbot-swarm-state.json, while Odin at 192.168.1.66:8797 exposes the live voidbot.swarm CultMesh lowering."}
{"ts":"2026-06-05T14:26:56Z","type":"implementation","status":"ok","note":"Cleaned the VoidBot swarm CTB Eve text contract: CTB rows now format rank/name/state/due/mention/speed/heat explicitly, so scheduled turns publish state=idle plus a single due time instead of duplicating due time as both status and due."}