Retire Windows mood writer
This commit is contained in:
parent
15a7c58e1b
commit
9709760039
5 changed files with 4 additions and 12 deletions
|
|
@ -224,6 +224,7 @@ Git history and smoke artifacts carry routine proof. `state/evidence.jsonl` shou
|
|||
- Yggdrasil rollout is verified at code revision `f23bfbd`: deployed initiative smoke passes; two consecutive resident pulses returned `agent_swarm_paused` with zero selected/queued turns; `docker top` showed only `node apps/persona-scheduler/dist/index.js` and no pulse child process. The one-minute observation loop is now actually cheap while paused, rather than merely avoiding model inference after paying process bootstrap.
|
||||
- Remaining pulse ownership is mapped in `notes/voidbot-daemon-organ-migration-map.md`. Live inspection found the Local Orchestrator and every queried per-organ Starfire task disabled, with no Yggdrasil moderation/mood/memory/watchdog/dispatch worker. Void moderation, rumination, physiology, and memory belong in the VoidBot daemon; Bifrost dispatch belongs in Bifrost; operations supervision belongs in Idunn/ops. Do not revive the Windows omnibus to fill the gap.
|
||||
- Portable Void physiology now lives in `void-physiology-domain.ts` and `void-physiology-organ.ts`. The resident daemon invokes it on a five-minute cadence even while Persona inference is paused. It derives last speech from typed receipts, writes only typed sleep/speaking-pressure operations, freezes sleep transitions during active moderation, and emits sleep-memory pressure as an intent for the future memory organ. It never reads the old last-speech JSON cache or launches PowerShell/model maintenance.
|
||||
- Yggdrasil physiology rollout is verified at `15a7c58`: the first pulse entered the due nap, updated typed speaking pressure, and emitted `sleep_short_term_pressure` for one memory; four subsequent one-minute observations did not rerun the five-minute organ; the container retained only its resident Node process. `void-mood-drift` has been deleted from `run-gamecult-orchestrator.ps1`, so re-enabling the disabled Windows omnibus cannot restore a competing mood writer.
|
||||
- Direct Face `UPDATE REQUEST` and `BIFROST TOPIC` packets are ignored while `REPO_FACE_BIFROST_ENABLED=false`. Do not debug missing Bifrost jobs as a live failure unless that flag has been deliberately enabled again.
|
||||
- Live model-facing prompt prose has started moving out of executable code. The shared loader is `packages/shared/src/prompt-template.ts`; extracted prompt surfaces live under `prompts/`, including repo Face turn/reviewer prompts, provider wrapper prompts, situational social read prompts, source-grounding reminders, consensus-feed prompts, and repo Face model-smoke scenarios. Code should project data and select prompt names; prompt files should own behavioral prose.
|
||||
- Identity collapse has started. Active bot, worker, MCP repo-identity tools, and Face CTB scheduler paths now load through the canonical Face registry and treat repo Discord identities as compatibility projections. Next bounded move is to finish removing remaining direct conceptual dependence on repo identities, then split the Face turn loop into scheduler, context assembler, prompt renderer, candidate parser, policy gate, and transport adapter.
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ The disabled tasks are not standby owners. The listed organs currently have no r
|
|||
|
||||
## Cut Sequence
|
||||
|
||||
1. Extract portable Void physiology from `simulate-void-mood.mjs` into an app organ with injected clock/state/maintenance-request ports; run it from the resident daemon without PowerShell.
|
||||
1. Portable Void physiology is live in the daemon with injected typed state/moderation ports and maintenance intent; the Windows omnibus mood writer is deleted.
|
||||
2. Extract memory-maintenance context, model actuator, validation, and typed-operation application from `run-void-memory-maintenance.ps1`; let physiology emit maintenance intent to that organ.
|
||||
3. Split `run-void-moderator-rumination.ps1` into shared Discord/context sources plus separate moderation-heartbeat and person-shaped rumination coordinators.
|
||||
4. Add serialized daemon cadence for those three Void-owned organs, with independent due state, timeout, and telemetry. Do not route them through Persona initiative.
|
||||
|
|
|
|||
|
|
@ -478,7 +478,6 @@ try {
|
|||
$agentSwarmPaused = Test-AgentSwarmPaused
|
||||
$agentSwarmOrganIds = @{
|
||||
"bifrost-dispatch" = $true
|
||||
"void-mood-drift" = $true
|
||||
"void-moderation-heartbeat" = $true
|
||||
"void-moderation-rumination" = $true
|
||||
}
|
||||
|
|
@ -510,15 +509,6 @@ try {
|
|||
Executable = $node
|
||||
Arguments = @((Join-Path $PSScriptRoot "render-voidbot-swarm-dashboard.mjs"))
|
||||
},
|
||||
[pscustomobject]@{
|
||||
Id = "void-mood-drift"
|
||||
Label = "Void mood drift"
|
||||
IntervalMinutes = Get-ConfigInt -Config $config -Name "VOIDBOT_MOOD_INTERVAL_MINUTES" -Default 5 -Minimum 5
|
||||
TimeoutMinutes = 10
|
||||
Cwd = $repoRoot
|
||||
Executable = $powershell
|
||||
Arguments = @("-NoProfile", "-NonInteractive", "-ExecutionPolicy", "Bypass", "-File", (Join-Path $PSScriptRoot "run-void-mood-drift.ps1"))
|
||||
},
|
||||
[pscustomobject]@{
|
||||
Id = "void-moderation-heartbeat"
|
||||
Label = "Void rules moderation heartbeat"
|
||||
|
|
|
|||
|
|
@ -442,3 +442,4 @@
|
|||
{"ts":"2026-07-16T05:55:00Z","type":"verification","status":"ok","note":"Idunn deployed f23bfbd on Yggdrasil. Deployed initiative smoke passed; two consecutive resident ticks returned agent_swarm_paused with selected/queued empty and queuedCount 0. docker top showed only the resident node apps/persona-scheduler/dist/index.js process, proving the former per-minute Node/tsx child runner is structurally absent."}
|
||||
{"ts":"2026-07-16T06:05:00Z","type":"architecture","status":"ok","note":"Live pulse audit found GameCult Local Orchestrator plus Void mood, moderation rumination, operations watchdog, and Bifrost dispatch tasks all disabled on Starfire; Yggdrasil had no corresponding workers beyond Persona scheduler and Bifrost web. Authority map assigns moderation/rumination/physiology/memory to VoidBot daemon, Bifrost dispatch to Bifrost daemon, and health/restart supervision to Idunn/ops. The Windows omnibus must not be revived."}
|
||||
{"ts":"2026-07-16T06:20:00Z","type":"implementation","status":"ok","note":"Void physiology extracted into a pure domain and typed daemon organ. It derives speech timing from canonical receipts, emits only update_sleep_cycle/update_speaking_pressure operations, freezes sleep while moderation is active, and returns memory-maintenance intent without launching PowerShell or owning memory policy. Resident daemon schedules it independently of the paused Persona swarm; typecheck and focused smoke pass."}
|
||||
{"ts":"2026-07-16T06:30:00Z","type":"verification","status":"ok","note":"Idunn deployed 15a7c58. Live physiology entered a due nap, wrote typed sleep/speaking pressure, and emitted one sleep_short_term_pressure intent while Persona scheduling remained paused. Four later one-minute observations did not rerun the five-minute organ; docker top showed only resident Node and no PowerShell/model child. The competing void-mood-drift definition was then deleted from the Windows omnibus."}
|
||||
|
|
|
|||
|
|
@ -292,4 +292,4 @@ rejected_paths:
|
|||
|
||||
current_status:
|
||||
summary: VoidBot's bot/worker/provider/RAG/Postgres/Qdrant/CultCache structure is live. Repo Face/persona heartbeat jobs run through the direct `openai_api` provider configured for MiMo `mimo-v2.5-pro`, with the expensive state-projector pass still disabled. The 2026-07-04 transport repair replaced the old Bifrost HTTP/token bridge shortcut with typed Bifrost CultMesh Discord command and receipt documents advertised in the Bifrost provider store at `cultmesh://asgard.starfire.bifrost/commands/discord-post`. VoidBot stores the Bifrost target as a CultMesh URI, writes command docs to `E:/Projects/Bifrost/.bifrost/provider-store.cc`, optionally pumps Bifrost's command processor, and waits for typed receipts before completing repo Face Discord delivery. Bifrost's provider advertisement exposes `discord.post` command metadata for Odin/Eve agents, and a bounded Weksa live-fire completed visibly. Eve live state now runs end to end through CultLib dev retained publications, Hermodr ordered SSE, Eve component bindings, and VoidBot typed control state. Receipts acknowledge intent only. Heat initial load, provider-driven change, and browser-command change were visibly verified without reload through the same subscription.
|
||||
next_action: Keep the Yggdrasil swarm paused. Deploy and verify the portable Void physiology organ on Yggdrasil: typed state changes, five-minute daemon cadence, moderation-lock behavior, no PowerShell/model child, and maintenance intent without maintenance execution. Once proved, delete the `void-mood-drift` authority from the disabled Windows omnibus and begin the portable memory-maintenance organ. Do not unpause without an explicit controlled-live-fire decision.
|
||||
next_action: Keep the Yggdrasil swarm paused. Build the portable memory-maintenance organ from `run-void-memory-maintenance.ps1`: separate typed context acquisition/projection, model actuation, operation parsing/validation, and typed application; consume physiology maintenance intent with nap-level dedupe. Preserve the existing memory lifecycle invariants and fixture evidence. Do not revive PowerShell as daemon runtime and do not unpause without an explicit controlled-live-fire decision.
|
||||
|
|
|
|||
Loading…
Reference in a new issue