Let resident publisher observe scheduler skips

This commit is contained in:
Meta Vens 2026-07-16 00:29:37 +01:00
commit 956c37b7f8
2 changed files with 1 additions and 2 deletions

View file

@ -115,7 +115,6 @@ async function main(): Promise<void> {
});
if (!dryRun) {
await writeHeartbeatState(config.repoFaceHeartbeats.statePath, state);
publishSwarmDashboardSurface();
}
process.stdout.write(
`${JSON.stringify({
@ -139,7 +138,6 @@ async function main(): Promise<void> {
reason: "repo_face_heartbeats_disabled",
});
await writeHeartbeatState(config.repoFaceHeartbeats.statePath, state);
publishSwarmDashboardSurface();
return;
}

View file

@ -409,3 +409,4 @@
{"ts":"2026-07-15T23:17:32Z","type":"implementation","status":"ok","note":"Completed the swarm Eve live-state authority migration: voidbot.swarm_operator_view.v1 now owns summary, queue, selected Face/state/channels, operations, pressure, mentions/events, and route projections; Eve binds them as typed props instead of recomputing browser-visible facts from a generation snapshot. The renderer also registers the retained operator-view schema when reopening the shared CultCache store. Focused tests, TypeScript build, and isolated render/store smoke passed."}
{"ts":"2026-07-15T23:19:00Z","type":"repair","status":"ok","note":"Yggdrasil selected-turn execution exposed a missing extname import in native Persona memory rendering after source extraction. Restored the direct node:path dependency; typecheck, initiative smoke, and full dry-run selection passed before push."}
{"ts":"2026-07-15T23:27:00Z","type":"implementation","status":"ok","note":"Persona scheduler persistence now has one typed CultCache owner: state-store.ts stores voidbot.persona_scheduler_state in repo-face-heartbeats.cc, canonicalizes legacy .json configuration, migrates the old JSON once with a storage_migrated witness, fails closed on malformed .cc, commits before attention-inbox acknowledgement, and emits JSON only as a derived dashboard/debug projection. Tests prove the projection cannot override canonical state and bot/scheduler mention paths converge on the same .cc inbox."}
{"ts":"2026-07-15T23:29:00Z","type":"repair","status":"ok","note":"Applied the live swarm brake after Yggdrasil showed an accumulated ready backlog still dispatching one Persona per minute at heat 0.05. The paused branch exposed obsolete publishSwarmDashboardSurface calls whose renderer subprocess implementation had already been removed; deleted those calls because the resident swarm publisher watches the state projection and owns publication."}