Restore newborn Face avatars

This commit is contained in:
Meta Vens 2026-05-22 22:11:49 +01:00
commit 035b718bb8
7 changed files with 6 additions and 4 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

BIN
assets/repo-faces/kiko.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
assets/repo-faces/weksa.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

View file

@ -149,6 +149,7 @@ Git history and smoke artifacts carry routine proof. `state/evidence.jsonl` shou
## Likely Next Bounded Move
- Keep the swarm awake, but watch the logs with suspicion. The restart pass thawed `state/agent-swarm-paused.json`, enabled `GameCult Local Orchestrator`, restarted a fresh bot/worker stack, and verified healthy watchdog/repo Face pulses. The current patch removes repo Face turns from the generic owner-reply wrapper, coerces stray owner-DM aliases back to the live room unless explicitly marked owner-private, pauses Bifrost/governance routing so agents return to open room discussion plus private state pressure, and routes volatile Face state through the actual state projector model before child prompt assembly.
- The 2026-05-22 live retry confirmed role/name mention obligations can wake multiple newborn Faces from one human intro. Mimir, Huginn, Weksa, and Kiko all posted through the repo identity webhook path. If a Face speaks with its name but no avatar, inspect `.voidbot/private/repo-discord-identities.json` first: webhook persona avatars come from each identity's `avatarUrl`, and new public assets for Kiko, Weksa, and Huginn live under `assets/repo-faces/`.
- Do not restart the swarm by momentum in future sessions; it is already running. If it must be stopped again, use `state/agent-swarm-paused.json` and the orchestrator task deliberately, then update this handoff.
- 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.

View file

@ -1,6 +1,6 @@
{
"paused": true,
"reason": "Paused after live retry immediately resurfaced stale witness discourse despite prior scrub and direct operator correction. Diagnose input/context/state before more Face turns.",
"paused": false,
"reason": "Operator requested a live retry after fixing Face display-name introduction detection and preserving pending mention source-channel context.",
"pausedAt": "2026-05-22T18:00:20.1264989Z",
"resumedAt": "2026-05-22T17:40:15.1719039Z"
"resumedAt": "2026-05-22T21:09:36.3840571Z"
}

View file

@ -285,3 +285,4 @@
{"ts":"2026-05-22T19:45:13Z","type":"fix","status":"ok","note":"Pruned terminal audit residue from current self-state: write normalization now drops terminal open cases and keeps only queued/deferred candidate interventions. Repaired Void self-state from about 125KB to 95KB by removing 21 terminal candidates and 2 answered cases; speech receipts remain bounded audit evidence. Updated speech and memory lifecycle fixtures for the new contract."}
{"ts":"2026-05-22T19:48:34Z","type":"fix","status":"ok","note":"Changed Void self-state projection so durable memory is not recency-only recall. Normal context now renders full detail for the newest/salient memories plus compact anchors for the remaining active durable memories; Void's current rendered self-state summary grows from about 14KB to 18KB while keeping all 25 durable memories visible by target/summary/tags."}
{"ts":"2026-05-22T20:04:28Z","type":"implementation","status":"ok","note":"Face name introductions now enqueue CTB obligations by whole-message exact display-name matching, including channels outside regular autonomous Face chatter; scheduler carries the source channel snapshot into the next Face turn."}
{"ts":"2026-05-22T21:11:19Z","type":"implementation","status":"ok","note":"Live retry thawed swarm, proved multi-Face name-intro obligations can dispatch, and exposed avatar presentation as registry data: Kiko/Weksa/Huginn need avatarUrl entries backed by public repo assets for webhook persona faces."}

View file

@ -239,4 +239,4 @@ rejected_paths:
current_status:
summary: VoidBot's bot/worker/provider/RAG/Postgres/Qdrant/CultCache structure is live, and the repo Face swarm has been restarted after the 2026-05-21 teardown pass. `GameCult Local Orchestrator` is enabled as the single pulse owner; watchdog, mood, moderation, and repo Face CTB organs have all completed healthy post-restart pulses. Bifrost work routing is paused by default.
next_action: Keep the swarm paused until live restart is explicitly chosen. The current dry-run proof says the Face-turn loop can read correction/body context and route through the parent Interpreter, but the room still has strong work gravity. The latest cuts demote jurisdiction dives to background appetite, attach deterministic room-weather facts, make the projector/Interpreter preserve play/rest/social fatigue as state, keep raw transcripts as correction evidence, update the dry-run harness to exercise the live retry shape, and expand projector input so rich typed state actually reaches the character as behavior pressure.
next_action: Keep the swarm awake under live observation. The operator explicitly chose the restart, the pause flag is thawed, Mimir acknowledged correction without reviving the old witness sermon, and the Kiko/Huginn/Weksa introduction queue produced public posts. The immediate watch item is transport presentation: new Face avatar URLs must be present in the local registry and backed by public raw GitHub assets before expecting webhook persona posts to show faces.