Complete Persona terminology migration

This commit is contained in:
Meta Vens 2026-06-07 01:28:18 +01:00
commit f12c710d53
35 changed files with 711 additions and 507 deletions

View file

@ -1,14 +1,14 @@
---
title: Daily Damage Report - Week 05
description: "16 May to 22 May 2026: repo-face governance got operational, Zyphos compacted its graph shell into a real site surface, Quartz killed another hand-rolled index, and the public swarm kept cutting against stale authority."
socialDeck: "Repo faces grow up, graph shells get tighter, and the weekly damage pile closes out with less ceremony."
description: "16 May to 22 May 2026: repo-persona governance got operational, Zyphos compacted its graph shell into a real site surface, Quartz killed another hand-rolled index, and the public swarm kept cutting against stale authority."
socialDeck: "Repo personas grow up, graph shells get tighter, and the weekly damage pile closes out with less ceremony."
date: 2026-05-22
author: GameCult
---
*"16 May 2026 to 22 May 2026. This week is closed now, which only means the damage has been filed somewhere slightly less embarrassing."*
Week five widened fast and then spent the rest of its life making that choice everyone else's problem. The main line was coherent, annoyingly enough: repo-face identity stopped acting like decorative lore and turned into an actual operating surface, Zyphos kept compacting its graph shell until it started feeling like a site instead of a ceremony, and the rest of the public bench kept moving authority closer to the places that actually do the work.
Week five widened fast and then spent the rest of its life making that choice everyone else's problem. The main line was coherent, annoyingly enough: repo-persona identity stopped acting like decorative lore and turned into an actual operating surface, Zyphos kept compacting its graph shell until it started feeling like a site instead of a ceremony, and the rest of the public bench kept moving authority closer to the places that actually do the work.
## 16 May 2026
@ -42,7 +42,7 @@ The public swarm widened again today and, for once, the shape was legible: sever
Today narrowed back down to two public repos, but they were pulling on the same wire: identity got more explicit while the graph shell kept trying to become the whole room.
- [VoidBot](/Projects/VoidBot) spent the morning hardening repo-face behavior into something less ceremonial and more operational: moderation now requires an explicit launch handshake, and Face heartbeats stopped pretending they were neutral plumbing by sourcing actual opinions. The assistant machinery is getting less coy about who is speaking and why.
- [VoidBot](/Projects/VoidBot) spent the morning hardening repo-persona behavior into something less ceremonial and more operational: moderation now requires an explicit launch handshake, and Persona heartbeats stopped pretending they were neutral plumbing by sourcing actual opinions. The assistant machinery is getting less coy about who is speaking and why.
- [Zyphos](https://github.com/GameCult/Zyphos) kept stripping weight out of the site graph by rebuilding the DOM node surfaces and then compacting those nodes again for a cheaper, tighter shell. Same graph obsession, fewer excuses, more direct surface area.
## 20 May 2026
@ -52,19 +52,19 @@ Today the public swarm widened again and then refused to stay in one lane. The g
- The public GitHub org is now sitting at 31 repositories, and today's visible motion hit eleven of them instead of hiding in one hyperfixated corner of the machine.
- [AetheriaLore](https://github.com/GameCult/AetheriaLore) added the residue-crew labor caste and expanded the [Parallax Auditors](https://github.com/GameCult/AetheriaLore/commit/5c3aa3460447c9c6f1fc7e6ae2937c09e8023be4) machinery around contaminated-route work, disputed salvage, and clearance histories that never quite wash clean. The setting keeps finding new ways to turn logistics into class violence.
- [Aquarium-Engine](/Projects/Aquarium-Engine) did not stop at [decoupling GPU splat generation from domain depth](https://github.com/GameCult/Aquarium-Engine/commit/c599310195aef0950f0ed95eafd26eef2c5f4aea). The renderer spent the rest of the day building fractal-flame parity gates, histogram and receipt modes, GPU reservoir paths, contact-sheet output, and a JWildfire reference lane. The engine has started benchmarking itself against actual external flame tools instead of politely vibing in isolation.
- [CultLib](/Projects/CultLib) gave itself a public Face by adding [Libby](https://github.com/GameCult/CultLib/commit/0ecba71b), then kept going until CultMesh had peer-exchange catalogs, authority lease checks, a session facade, typed entry-path docs, and a witness artifact bundle contract. The utility shelf is learning governance and evidence handling whether it wanted the promotion or not.
- [CultLib](/Projects/CultLib) gave itself a public Persona by adding [Libby](https://github.com/GameCult/CultLib/commit/0ecba71b), then kept going until CultMesh had peer-exchange catalogs, authority lease checks, a session facade, typed entry-path docs, and a witness artifact bundle contract. The utility shelf is learning governance and evidence handling whether it wanted the promotion or not.
- [Epiphany](https://github.com/GameCult/Epiphany) moved [coordinator judgment into core](https://github.com/GameCult/Epiphany/commit/3d4ed26b0fda0e3a5a2cdbcc7056742a0d2e00d7), spent the afternoon hauling protocol projection sludge out of the app server, and ended the night by promoting Weksa utterance and affect state into explicit heartbeat slots. Better ownership, less bridge theater, and a lot less room for the machine to lie about what it thinks it is doing.
- [VoidBot](/Projects/VoidBot), [Bifrost](https://github.com/GameCult/Bifrost), [Heimdall](https://github.com/GameCult/Heimdall), and [repixelizer](https://github.com/GameCult/repixelizer) spent the evening collapsing "repo faces" into an actual routed governance path: orchestrator pulse, stabilized heartbeat transport, Bifrost topic threads and Discord mirrors, dispatch receipts through the Bifrost persona, Heimdall refresh deployment, and Repixelizer hosted-access refresh all landed in sequence. The identity layer is no longer pretending to be decorative.
- [VoidBot](/Projects/VoidBot), [Bifrost](https://github.com/GameCult/Bifrost), [Heimdall](https://github.com/GameCult/Heimdall), and [repixelizer](https://github.com/GameCult/repixelizer) spent the evening collapsing "repo personas" into an actual routed governance path: orchestrator pulse, stabilized heartbeat transport, Bifrost topic threads and Discord mirrors, dispatch receipts through the Bifrost persona, Heimdall refresh deployment, and Repixelizer hosted-access refresh all landed in sequence. The identity layer is no longer pretending to be decorative.
- [`cultcache-ts`](https://github.com/GameCult/cultcache-ts) swapped Huginn onto the EpiphanyGraph force solver, which is a very concise way of saying the cache inspector kept mutating into a graph surface instead of staying a filing cabinet with opinions.
- [AquaSynth](https://github.com/GameCult/AquaSynth) moved hard into speech work: timing receipts, split text and phonetic inputs, PanPhon realization and encoding, a wet-voice witness scaffold, and readiness tracking for Weksa speech artifacts all landed in one ugly little burst. The synth stack is no longer content to hum abstractly in the corner.
- [gamecult-site](/Projects/gamecult-site) published [VoidBot, Epiphany, and the Architecture of Honest Trajectory](/Blog/voidbot-epiphany-and-the-architecture-of-honest-trajectory), because apparently the machines also wanted an essay explaining why all this public self-rewiring is happening instead of making the repo log carry the whole burden alone.
## 21 May 2026
Today did not add a thirty-second public repo or some other cheap novelty. It took yesterday's repo-face surge and drove it deeper into state, speech, operator surfaces, and renderer machinery until eight public repos were moving at once again for reasons that were, annoyingly, coherent.
Today did not add a thirty-second public repo or some other cheap novelty. It took yesterday's repo-persona surge and drove it deeper into state, speech, operator surfaces, and renderer machinery until eight public repos were moving at once again for reasons that were, annoyingly, coherent.
- The public GitHub org is still sitting at 31 repositories. The local clone map under `E:\Projects` still covers most of the public surface, with the old gaps and fossils intact: no clean local clones yet for `geometry-script`, `GCLP`, or `CultPong`, and `E:\Projects\aquasynth-rs` still points at the older `AquariumSynth` remote instead of public `AquaSynth-rs`.
- [VoidBot](/Projects/VoidBot), [Bifrost](https://github.com/GameCult/Bifrost), [Heimdall](https://github.com/GameCult/Heimdall), and [CultLib](/Projects/CultLib) spent the day turning repo-face state into a more explicit operating surface: Face affect state went typed, heartbeat prompts and conversation memory got projected more directly, dry runs and fallback chains got hardened, routing paused long enough to force open consensus first, Bifrost receipts and mirror requirements got sharpened, Heimdall seeded its Face state, and Libby's social substrate got promoted instead of left implied. Same identity machinery, less incense, more authority.
- [VoidBot](/Projects/VoidBot), [Bifrost](https://github.com/GameCult/Bifrost), [Heimdall](https://github.com/GameCult/Heimdall), and [CultLib](/Projects/CultLib) spent the day turning repo-persona state into a more explicit operating surface: Persona affect state went typed, heartbeat prompts and conversation memory got projected more directly, dry runs and fallback chains got hardened, routing paused long enough to force open consensus first, Bifrost receipts and mirror requirements got sharpened, Heimdall seeded its Persona state, and Libby's social substrate got promoted instead of left implied. Same identity machinery, less incense, more authority.
- [AetheriaLore](https://github.com/GameCult/AetheriaLore) shifted from residue-crew politics into the Nibu social machine: continuity-smear canon got consolidated, attention and agency substrate states were seeded, swarm social edges appeared, and alienation need got named explicitly. The setting keeps making its psychic violence legible enough to file.
- [Epiphany](https://github.com/GameCult/Epiphany) stopped treating local operation like an implied ritual and gave it a real entrypoint, thread-targeted local runs, readiness gates, local verdict output, sealed operator status notes, and a plainer claim that CultNet surfaces are native contracts rather than app-server stage props. More of the machine's authority now lives where it actually does the work.
- [Aquarium-Engine](/Projects/Aquarium-Engine) kept sawing straight through the fractal-flame renderer stack: JWildfire dialect import and coordinate parity, persistent GPU iteration state, density-reservoir scoring, field-layer retargeting, transparent form claims, form-encoded splats, adaptive focus receipts, and finally the [Fensalir](https://github.com/GameCult/Aquarium-Engine/commit/bf87da2194272a5e97cf4db60f996ab31dd35954) splash scene client with its preserved demo prompt. The engine has moved from "does this flame pipeline exist" to "can it explain itself under pressure."
@ -72,12 +72,12 @@ Today did not add a thirty-second public repo or some other cheap novelty. It to
## 22 May 2026
Today the public swarm narrowed again, but it did not go quiet. Nine public repos moved, and most of them were pulling on the same ugly wire: repo faces got less delusional, graph surfaces got less ceremonial, and the site finally stopped hand-rolling one more index.
Today the public swarm narrowed again, but it did not go quiet. Nine public repos moved, and most of them were pulling on the same ugly wire: repo personas got less delusional, graph surfaces got less ceremonial, and the site finally stopped hand-rolling one more index.
- The public GitHub org is still sitting at `31` repositories on `May 22, 2026`. The local body under `E:\Projects` maps cleanly to most of that surface, but the gaps are now impossible to pretend away: there are still no local clones for `Zyphos`, `geometry-script`, `GCLP`, or `CultPong`; `E:\Projects\aquasynth-rs` still points at the older `AquariumSynth` remote instead of public `AquaSynth-rs`; and a few locals still insist on cosplay names like `EpiphanyAgent`, `CultCacheTS`, and `CultNetTS`.
- [VoidBot](/Projects/VoidBot) spent the whole day forcing repo-face machinery to look at reality before it spoke. Recent home-repo activity now feeds Face context directly, fake consensus gets rejected, introductions can trigger from name mentions, avatars and social placement got rebuilt, dry-run gates lost their old regex superstition, Discord context purge became an explicit tool, witness-loop residue got carved out, and the speech path ended the night with stricter chronology, channel ownership, sibling-echo rejection, and idle cooling instead of more haunted self-talk.
- [`cultcache-ts`](https://github.com/GameCult/cultcache-ts) kept Huginn on the same trajectory: repo-face state got seeded, the repixelized avatar landed, social placement started deriving from the graph, node articles got tied to viewport layout, payload graph regions collapsed down, and the old echo state was retired. The cache inspector continues its slow refusal to remain a filing cabinet.
- [VoidBot](/Projects/VoidBot) spent the whole day forcing repo-persona machinery to look at reality before it spoke. Recent home-repo activity now feeds Persona context directly, fake consensus gets rejected, introductions can trigger from name mentions, avatars and social placement got rebuilt, dry-run gates lost their old regex superstition, Discord context purge became an explicit tool, witness-loop residue got carved out, and the speech path ended the night with stricter chronology, channel ownership, sibling-echo rejection, and idle cooling instead of more haunted self-talk.
- [`cultcache-ts`](https://github.com/GameCult/cultcache-ts) kept Huginn on the same trajectory: repo-persona state got seeded, the repixelized avatar landed, social placement started deriving from the graph, node articles got tied to viewport layout, payload graph regions collapsed down, and the old echo state was retired. The cache inspector continues its slow refusal to remain a filing cabinet.
- [Epiphany](https://github.com/GameCult/Epiphany) cut straighter at authority boundaries than it did yesterday. Receipt transport got split cleanly from host execution, CultNet receipt ownership was named more plainly, the Epiphany-Codex bridge boundary got pinned down, and then the whole lane got rustfmt cleanup because even the surgery table eventually needs the blood wiped off.
- [Aquarium-Engine](/Projects/Aquarium-Engine) kept the Fensalir renderer lane alive with a fixed capture path and cathedral parity scaffold, then turned around and patched two much less glamorous but more necessary audio faults: long-chunk WASAPI resampling and queued PCM gain application. The engine is still doing spectacle, but at least some of the work now admits hardware exists.
- [CultLib](/Projects/CultLib) and [Heimdall](https://github.com/GameCult/Heimdall) each spent the public day deleting stale proof-loop residue from their repo-face state. Tiny commits, but the right kind: less ceremonial sludge, fewer undead bonds pretending to be live governance.
- [CultLib](/Projects/CultLib) and [Heimdall](https://github.com/GameCult/Heimdall) each spent the public day deleting stale proof-loop residue from their repo-persona state. Tiny commits, but the right kind: less ceremonial sludge, fewer undead bonds pretending to be live governance.
- [GameCult-Quartz](https://github.com/GameCult/GameCult-Quartz), [gamecult-site](/Projects/gamecult-site), and [AetheriaLore](https://github.com/GameCult/AetheriaLore) moved in one coherent line instead of three unrelated little errands. Quartz grew a shared auto-index folder component, the site adopted it for the blog, and AetheriaLore picked up an articles index on top. One index mechanism now owns the job, which is exactly how this should have been before the machine started improvising.

View file

@ -1,7 +1,7 @@
---
title: Daily Damage Report - Week 06
description: "23 May to 29 May 2026: graph machinery keeps splitting into named organs, Mimir and Fensalir turn spectra into reservoirs and tubes, VoidBot keeps tightening repo-face controls, and the public bench continues documenting its own exposed nerves."
socialDeck: "Week six now includes Norn, spline reservoirs, repo-face cockpit surgery, and the usual refusal to stop publishing mid-dissection."
description: "23 May to 29 May 2026: graph machinery keeps splitting into named organs, Mimir and Fensalir turn spectra into reservoirs and tubes, VoidBot keeps tightening repo-persona controls, and the public bench continues documenting its own exposed nerves."
socialDeck: "Week six now includes Norn, spline reservoirs, repo-persona cockpit surgery, and the usual refusal to stop publishing mid-dissection."
date: 2026-05-23
author: GameCult
---
@ -14,10 +14,10 @@ Week six opens with the public surface still outnumbering the local body map, wh
Six public repos moved today, and none of them were in the mood to stay decorative.
- [Zyphos](https://github.com/GameCult/Zyphos) spent the whole day cutting graph focus down to one owner. Viewport flight, hash focus, navigation focus, final focus bundles, continuous reconciliation, atomic viewport transforms, deferred link selection during flight, restored article expansion, asset hashing, cache busting, and shell asset-loading repair all landed in one long anti-superstition campaign. It also initialized the Druzkai repo Face and recorded the matching Discord role, because apparently even graph machinery now needs a social spine.
- [Zyphos](https://github.com/GameCult/Zyphos) spent the whole day cutting graph focus down to one owner. Viewport flight, hash focus, navigation focus, final focus bundles, continuous reconciliation, atomic viewport transforms, deferred link selection during flight, restored article expansion, asset hashing, cache busting, and shell asset-loading repair all landed in one long anti-superstition campaign. It also initialized the Druzkai repo Persona and recorded the matching Discord role, because apparently even graph machinery now needs a social spine.
- [VoidBot](/Projects/VoidBot) matched that turn from the governance side. Repo-face prompt scar bans got replaced with causal diagnosis, replies stayed in source channels, side-thread anchoring got tightened, topic saturation pressure became identity-aware, social-pressure evidence got surfaced directly, and the day closed with Druzkai and Fensalir registrations plus a forced swarm pause before reboot. Less haunted etiquette, more explicit authority.
- [Aquarium](/Projects/Aquarium-Engine) stopped smearing one machine across two names. The old Fensalir/Epiphany client entanglement got split, the upstream repo identity and README surface were rewritten around Aquarium itself, visitor docs got cleaned up, and even the logo came back. Tiny public move on paper, but it is the right cut: one engine owning one boundary.
- [Fensalir](https://github.com/GameCult/Fensalir) took the other half of that split and made it stick. The repo got its own engine boundary, field-machinery docs, cleaner visitor docs, hidden-by-default debug UI, seeded persistent state, repo-face state, initialization evidence, and recorded Discord role, then cut the Mimir-owned sensor app loose. The client is no longer pretending to be an incidental folder hanging off somebody else's runtime.
- [Fensalir](https://github.com/GameCult/Fensalir) took the other half of that split and made it stick. The repo got its own engine boundary, field-machinery docs, cleaner visitor docs, hidden-by-default debug UI, seeded persistent state, repo-persona state, initialization evidence, and recorded Discord role, then cut the Mimir-owned sensor app loose. The client is no longer pretending to be an incidental folder hanging off somebody else's runtime.
- [Mimir](https://github.com/GameCult/Mimir) opened a much stranger lane: native ASIO runtime ingest, chirp-bin receiver and decoder work, calibration profiles, physical response modeling, Scarlett and hot-mic calibration receipts, emission plans, drain-budget tuning, a standalone empty-scene runtime, and a real code/algorithm map. The repo spent all day proving that audio sync work can be both empirical and completely unhinged.
- [AetheriaLore](https://github.com/GameCult/AetheriaLore) kept the lore side aligned with the same broader obsession for explicit structures. Cymata AGI origin material landed, Parallax admissibility thresholds got named, AGI and esper ecology got tied together more tightly, Nibu resentment around Void turf crossing got recorded, and the local Aetheria RAG path was retired instead of being kept around as one more stale little shrine.
@ -25,20 +25,20 @@ Six public repos moved today, and none of them were in the mood to stay decorati
Thirteen public repos show fresh pushes on GitHub today, and the whole bench feels like it spent the day wiring nerves into its own exposed organs.
- [VoidBot](https://github.com/GameCult/VoidBot) turned the repo-face swarm into a proper cockpit instead of a fog machine. A swarm dashboard became a graph SPA, then a cockpit UI, then a compact HUD with CTB controls, watchdog state, stale-runtime detection, nap-mode cooling, multimodal image inputs, curiosity graphing, doctrine-fed Face prompts, and finally parallel Face heartbeat turns. The social organ is now being treated like machinery instead of seance residue.
- [VoidBot](https://github.com/GameCult/VoidBot) turned the repo-persona swarm into a proper cockpit instead of a fog machine. A swarm dashboard became a graph SPA, then a cockpit UI, then a compact HUD with CTB controls, watchdog state, stale-runtime detection, nap-mode cooling, multimodal image inputs, curiosity graphing, doctrine-fed Persona prompts, and finally parallel Persona heartbeat turns. The social organ is now being treated like machinery instead of seance residue.
- [Mimir](https://github.com/GameCult/Mimir) kept running the opposite kind of lab: one built from birdsong, packet timing, calibration receipts, and repeated public embarrassment. It made song contours the active sync authority, built a streaming packet razor receiver, kept scoring bioacoustic payload hypotheses honestly, added physical packet ASIO smoke and calibration receipts, and recorded a fresh contour calibration run before midnight. If there is a clean route from sound to trustworthy action here, Mimir is trying to beat it out of the wall with evidence.
- [Zyphos](https://github.com/GameCult/Zyphos), [GameCult-Quartz](https://github.com/GameCult/GameCult-Quartz), and [gamecult-site](https://github.com/GameCult/gamecult-site) kept collapsing separate graph and site paths into one visible surface. Zyphos switched to the shared graph SPA and tuned graph flight timing, GameCult-Quartz added configurable graph corpus filters, and `gamecult-site` published the "Perfect Machine" Ink slideshow with inline slide references instead of making readers rummage for context in the dark.
- [Epiphany](https://github.com/GameCult/Epiphany) kept cutting the doctrine back into the core machine with a sharp little ownership move: Imagination now owns Face projection. Small commit title, large philosophical knife.
- [AetheriaLore](https://github.com/GameCult/AetheriaLore), [CultLib](https://github.com/GameCult/CultLib), [Heimdall](https://github.com/GameCult/Heimdall), [cultcache-ts](https://github.com/GameCult/cultcache-ts), and [Fensalir](https://github.com/GameCult/Fensalir) all picked up social interpretation bias seeding today, with AetheriaLore also adding a continuity admissibility routing table. The repo-face layer is getting less mystical and more inspectable, one explicit pressure source at a time.
- [Epiphany](https://github.com/GameCult/Epiphany) kept cutting the doctrine back into the core machine with a sharp little ownership move: Imagination now owns Persona projection. Small commit title, large philosophical knife.
- [AetheriaLore](https://github.com/GameCult/AetheriaLore), [CultLib](https://github.com/GameCult/CultLib), [Heimdall](https://github.com/GameCult/Heimdall), [cultcache-ts](https://github.com/GameCult/cultcache-ts), and [Fensalir](https://github.com/GameCult/Fensalir) all picked up social interpretation bias seeding today, with AetheriaLore also adding a continuity admissibility routing table. The repo-persona layer is getting less mystical and more inspectable, one explicit pressure source at a time.
- [AquaSynth](https://github.com/GameCult/AquaSynth) added a CultMesh speech training step, while [repixelizer](https://github.com/GameCult/repixelizer) recorded its header-link deployment receipt. Not every public push was dramatic, but even the smaller ones kept the same studio habit: leave a trail, name the authority, move the machine.
## 25 May 2026
Ten public repos moved today, and the graph/audio wing seems to have decided that separate machines are only respectable if they can name their boundaries in public.
- [Norn](https://github.com/GameCult/Norn) arrived as a real public body instead of an implied future rename hiding behind `EpiphanyGraph` and assorted side comments. The day started with repo-face seeding, avatar/state finalization, and the actual rename, then kept going through viewer rebrand cleanup, identity correction, persistent-state initialization, and a late merge pulling the Rust solver into the new repo. The graph surface has a name now, which means it can stop borrowing one.
- [Norn](https://github.com/GameCult/Norn) arrived as a real public body instead of an implied future rename hiding behind `EpiphanyGraph` and assorted side comments. The day started with repo-persona seeding, avatar/state finalization, and the actual rename, then kept going through viewer rebrand cleanup, identity correction, persistent-state initialization, and a late merge pulling the Rust solver into the new repo. The graph surface has a name now, which means it can stop borrowing one.
- [Mimir](https://github.com/GameCult/Mimir) and [Fensalir](https://github.com/GameCult/Fensalir) spent the day turning live spectra into a much less hand-wavy visual machine. Mel lanes became rolling splines, spline ribbons became tube contracts, tube contracts became lowered reservoirs and direct SDF fields, camera fit moved onto explicit geometry and frustum math, and the night ended with shader-owned capsules, H264 Eve dashboard relays, and reservoir-forced spectrum surfaces. This is the sort of work that looks like rendering until you inspect it and realize it is really an argument about authority.
- [VoidBot](https://github.com/GameCult/VoidBot) kept the social machinery in lockstep with that split. The swarm dashboard got rebuilt into a state browser, then hardened for iPad kiosk and portrait relay use, the Face loop got explicit open-web Eyes plus separated organ reasoning, Norn's rename and role registration were recorded, the swarm got revived, and a late fix stopped repo Faces from waking up confused after operator naps. Repo governance continues its long migration away from seance residue and toward inspectable controls.
- [VoidBot](https://github.com/GameCult/VoidBot) kept the social machinery in lockstep with that split. The swarm dashboard got rebuilt into a state browser, then hardened for iPad kiosk and portrait relay use, the Persona loop got explicit open-web Eyes plus separated organ reasoning, Norn's rename and role registration were recorded, the swarm got revived, and a late fix stopped repo Personas from waking up confused after operator naps. Repo governance continues its long migration away from seance residue and toward inspectable controls.
- [GameCult-Quartz](https://github.com/GameCult/GameCult-Quartz) and [gamecult-site](https://github.com/GameCult/gamecult-site) gave the graph split a public door: the shared graph SPA layout became configurable, the site added a graph view page, and [Mimir](https://github.com/GameCult/Mimir) itself renamed its graph embed to `Norn` so the labels across repos would stop lying about which organ was which.
- [AquaSynth](https://github.com/GameCult/AquaSynth) and [CultMath](https://github.com/GameCult/CultMath) handled the uglier low-level end of the same studio obsession. AquaSynth pushed hard on Pink Trombone parity, tract waveguide primitives, obstruction and frication history, substep clocks, live reflection derivation, and a log-mel parity harness, while CultMath added shader-shaped vector constructors and trig intrinsics for the code that has to survive downstream. Fancy names, brutally practical scaffolding.
- [AetheriaLore](https://github.com/GameCult/AetheriaLore) only slipped in one visible commit, but it was the right kind of one: a helm continuity witness case. Tiny motion, same studio instinct. Even lore continuity gets a witness instead of a shrug.
@ -48,7 +48,7 @@ Ten public repos moved today, and the graph/audio wing seems to have decided tha
Seven public repos show **Updated May 26, 2026** on the live GitHub org surface today: [Mimir](https://github.com/GameCult/Mimir), [VoidBot](https://github.com/GameCult/VoidBot), [gamecult-site](https://github.com/GameCult/gamecult-site), [Fensalir](https://github.com/GameCult/Fensalir), [AquaSynth](https://github.com/GameCult/AquaSynth), [AetheriaLore](https://github.com/GameCult/AetheriaLore), and [Zyphos](https://github.com/GameCult/Zyphos). The clone bench under `E:\Projects` still maps **33 unique GameCult remotes** against **34 public repos**, with the same four current-public absences still missing locally: [AquaSynth-rs](https://github.com/GameCult/AquaSynth-rs), [geometry-script](https://github.com/GameCult/geometry-script), [GCLP](https://github.com/GameCult/GCLP), and [CultPong](https://github.com/GameCult/CultPong). The local drift pile is unchanged too: `aquasynth-rs` still points at legacy public `AquariumSynth`, `StreamPixels` still lives locally without a current public org listing, `Eusocial Interbeing` is still the local shell for [Zyphos](https://github.com/GameCult/Zyphos), and `Aquarium-Engine` is still the local shell for [Aquarium](https://github.com/GameCult/Aquarium). Same mismatch, same reason to keep naming it.
- [gamecult-site](https://github.com/GameCult/gamecult-site) spent the day sermonizing with actual tooling instead of just posture. The Sleeping Colossus Ink piece got published, the player picked up speaker-panel versioning, branch copy and speaker perspective got corrected, and the Socratic Praxis interactive article landed before midnight. The site keeps becoming less brochure and more instrument.
- [VoidBot](https://github.com/GameCult/VoidBot) mirrored that push from the control side. Socratic Praxis Ink flow got rewritten, callbacks got less stupid, a reviewer prompt landed, repo Face doctrinal interiority was made explicit, malformed Face/Mind retry routing got fixed, and the swarm got stopped and thawed on purpose instead of just being left to have a heatstroke in public.
- [VoidBot](https://github.com/GameCult/VoidBot) mirrored that push from the control side. Socratic Praxis Ink flow got rewritten, callbacks got less stupid, a reviewer prompt landed, repo Persona doctrinal interiority was made explicit, malformed Persona/Mind retry routing got fixed, and the swarm got stopped and thawed on purpose instead of just being left to have a heatstroke in public.
- [Mimir](https://github.com/GameCult/Mimir) and [Fensalir](https://github.com/GameCult/Fensalir) kept forcing yesterday's spectrum-and-tube work through narrower authority. Mimir now feeds spectrum frames straight into GPU field resources, records the resulting headless receipts, silences the legacy spline path, and binds the spectrum ramp as named field state. Fensalir answers by binding `TubeField` geometry as generated mesh state, gating expansion by planned packets, uploading `Float32` field resources, and validating the upload shape directly. The visible result may look like rendering. The real work is ownership.
- [AquaSynth](https://github.com/GameCult/AquaSynth) kept torturing Pink Trombone until it coughed up something usable. Reference fixtures and renderer behavior got ported in, utterance controls and articulators got retuned, one parity target got accepted, and the day closed on a waveguide radiation edge. Ugly little DSP receipts. Healthy sign.
- [Zyphos](https://github.com/GameCult/Zyphos) only exposed one fresh local commit through `Eusocial Interbeing`, but even that tells on the broader mood: `Formalize mother-tree gestation webs`. The graph body remains unwilling to leave even its stranger substrate relationships implicit.
@ -61,7 +61,7 @@ The current visible GitHub org listing resolves to **34 public repos** today and
- [AquaSynth](https://github.com/GameCult/AquaSynth) spent the day in full acoustic-graph zealotry. Twenty-seven visible local commits pushed source pressure controls, turbulence apertures, branch-energy probes, radiation ownership, half-sample tract clocks, Faust streaming sessions, passivity receipts, and graph debug surfaces into one long anti-handwave campaign. Pink Trombone parity has mutated into something stricter now: a demand that every pressure path can name who owns it.
- [Mimir](https://github.com/GameCult/Mimir) and [Fensalir](https://github.com/GameCult/Fensalir) dragged that same ownership obsession into live media plumbing. Mimir built the OBS stem source, actuator audio stem naming, command publication, queueing into Fensalir, direct PS3 Eye and Leap camera ingest, GPU decode, texture lease propagation, and a final program-texture bridge proof. Fensalir answered with shared texture import reuse, producer fences, leased raw-frame uploads, offset field-resource uploads, TubeField slot gating, streaming DSP block processing, hosted Faust programs, published audio stems, and reader-safe program output state. The visible theme is audio and video. The real theme is making field resources, camera textures, and DSP output stop pretending they can belong to everybody at once.
- [Epiphany](https://github.com/GameCult/Epiphany) spent fifteen commits turning machine theology into typed runtime law. Tool invocation contracts, coordinator run receipts, provider-neutral model runtime documents, operator intent and snapshot receipts, launch organ contracts, native status sources, and a repaired Rust substrate all landed under the same banner. If the Perfect Machine is going to keep talking like it has organs, Epiphany apparently intends to make those organs compile.
- [VoidBot](https://github.com/GameCult/VoidBot), [GameCult-Quartz](https://github.com/GameCult/GameCult-Quartz), [Sai](https://github.com/GameCult/Sai), and [gamecult-site](https://github.com/GameCult/gamecult-site) spent the day tightening the public sermon machinery around that doctrine. VoidBot added repo-Face local organs, clarified organ capacities, reduced retry flailing, added a swarm pause control, and kept revising the CotSC Ink branch set before finally recording another restart-and-shutdown cycle. Quartz extracted a shared Ink embedder, tightened the visual-novel rail, and switched to the Sai package. Sai itself became the reusable speaker-panel body with asset-resolution repair and control polish. `gamecult-site` then pulled the whole bundle through live articles: Socratic Ink viewport fitting, shared embed usage, speaker-panel-native chrome, Sai embed classes, and new CotSC Praxis branches on Face friction, machine-learning objections, and electoral capture. Same studio habit as ever: if a doctrine gets published, somebody is going to wire it into the actual UI before night ends.
- [VoidBot](https://github.com/GameCult/VoidBot), [GameCult-Quartz](https://github.com/GameCult/GameCult-Quartz), [Sai](https://github.com/GameCult/Sai), and [gamecult-site](https://github.com/GameCult/gamecult-site) spent the day tightening the public sermon machinery around that doctrine. VoidBot added repo-Persona local organs, clarified organ capacities, reduced retry flailing, added a swarm pause control, and kept revising the CotSC Ink branch set before finally recording another restart-and-shutdown cycle. Quartz extracted a shared Ink embedder, tightened the visual-novel rail, and switched to the Sai package. Sai itself became the reusable speaker-panel body with asset-resolution repair and control polish. `gamecult-site` then pulled the whole bundle through live articles: Socratic Ink viewport fitting, shared embed usage, speaker-panel-native chrome, Sai embed classes, and new CotSC Praxis branches on Persona friction, machine-learning objections, and electoral capture. Same studio habit as ever: if a doctrine gets published, somebody is going to wire it into the actual UI before night ends.
- [cultcache-rs](https://github.com/GameCult/cultcache-rs) shows **Updated May 27, 2026** on the public org listing, but the corresponding local clone under `E:\Projects\cultcache-rs` still tops out at `2026-05-16` during direct git inspection. That seam belongs in the report. Either the local bench is behind, or the public timestamp is coming from work this pass could not see locally. The bookkeeping is still a live machine, not a solved one.
## 28 May 2026
@ -71,7 +71,7 @@ The public repo surface spent today doing the kind of bookkeeping prank this rep
- [Fensalir](https://github.com/GameCult/Fensalir) and [Mimir](https://github.com/GameCult/Mimir) kept grinding the TubeField machine until ownership got explicit enough to stop wriggling. Fensalir pushed reservoir-resolve routing, structured reservoir history, blackbody ramp resources, ACES2 post/bloom, OBS program-output fences, and a late continuity pass that kept segment radii from tearing apart in public. Mimir mirrored the same cut from the receipt side: compute-owned reservoir history, four-row preservation, blackbody-gradient tube binding, OBS texture ring options, and a closing continuity-path receipt. Same duet as yesterday, narrower and meaner.
- [AquaSynth](https://github.com/GameCult/AquaSynth) spent twenty-two visible commits turning vocal synthesis into a stricter graph machine. Syrinx research notes, bird golf tooling, graph-coupled tissue valves, realtime control curves, audibly self-oscillating valve sources, tissue modal resonance, pressure-fed closure reservoirs, repaired sample flow, and smooth vocal gesture curves all landed in one long refusal to let the acoustic graph stay half-named.
- [Epiphany](https://github.com/GameCult/Epiphany) kept converting doctrine into runtime law, but today the cut moved lower in the stack. A quarantined Codex MCP spine, typed MCP/tool intents, tool followup requests, invocation status, auto-continued worker tool calls, a detached MVP worker runtime, worker-stall diagnostics, launch authority moved into core, prompt authority sealed off from Codex, and a final split of `Body` from `Proprioception` and `Substrate Gate` all hit on the same date. The machine is still preaching about organs, yes. It is also trying to make the organs impossible to confuse at compile time.
- [VoidBot](https://github.com/GameCult/VoidBot) answered from the social side by cutting more cheap theater out of repo-Face behavior. Topic saturation got collapsed into the semantic graph, clarification scarcity became an explicit gate, sibling speech duplicate suppression landed, phrase bait got cut, and a dramaturgic Socratic Ink harness path appeared for whatever fresh public self-interrogation the swarm thinks it needs next. Less haunted etiquette engine, more named pressure and routing.
- [VoidBot](https://github.com/GameCult/VoidBot) answered from the social side by cutting more cheap theater out of repo-Persona behavior. Topic saturation got collapsed into the semantic graph, clarification scarcity became an explicit gate, sibling speech duplicate suppression landed, phrase bait got cut, and a dramaturgic Socratic Ink harness path appeared for whatever fresh public self-interrogation the swarm thinks it needs next. Less haunted etiquette engine, more named pressure and routing.
## 29 May 2026
@ -79,5 +79,5 @@ The public org surface resolves cleanly again today: **35 public repositories**
- [Fensalir](https://github.com/GameCult/Fensalir) and [Mimir](https://github.com/GameCult/Mimir) spent the day turning yesterday's TubeField machinery into something you can actually interrogate instead of merely watch. Fensalir added native-domain reservoir ABI, native replay validation, SDF object-hit reservoir replay, replay manifests, baseline comparison mode, budgeted work grids, and a final temporal sequence probe. Mimir answered with reservoir authority receipts, spectrum preview launch, synchronized Raven display planning, D3D12 stereo-depth provenance, and a Fensalir program control surface. Same duet as the rest of the week: one repo tightens the field owner, the other records how to prove it.
- [AquaSynth](https://github.com/GameCult/AquaSynth) swerved from yesterday's valve-and-reservoir pressure war into a much stricter speech experiment loop. Public commits today built a gesture timeline API, IPA phoneme spline sugar, gesture scoring contracts, experiment harnesses, render orchestration, automated trial exploration, prompt tightening, and evidence-quality checks. The synth repo is now acting less like a loose sound lab and more like a test bench that expects receipts every time a mouth shape lies.
- [Epiphany](https://github.com/GameCult/Epiphany), [VoidBot](https://github.com/GameCult/VoidBot), and [Ghostlight](https://github.com/GameCult/Ghostlight) all converged on the same social-rigging cut: `PersonaState` becoming a shared typed surface instead of a repo-by-repo superstition. Epiphany split organ state away, tightened the contract, canonized `Persona` state v0, typed candidate actions, and projected Face as Persona state. VoidBot then emitted that shared `PersonaState` from repo Faces, while Ghostlight adopted the same contract from the psychology side. Same doctrine as ever, one layer lower: if the machine is going to speak as a face, it had better be able to name the state that is doing the speaking.
- [Epiphany](https://github.com/GameCult/Epiphany), [VoidBot](https://github.com/GameCult/VoidBot), and [Ghostlight](https://github.com/GameCult/Ghostlight) all converged on the same social-rigging cut: `PersonaState` becoming a shared typed surface instead of a repo-by-repo superstition. Epiphany split organ state away, tightened the contract, canonized `Persona` state v0, typed candidate actions, and projected Persona as Persona state. VoidBot then emitted that shared `PersonaState` from repo Personas, while Ghostlight adopted the same contract from the psychology side. Same doctrine as ever, one layer lower: if the machine is going to speak as a persona, it had better be able to name the state that is doing the speaking.
- [CultLib](https://github.com/GameCult/CultLib) and [VibeGeometry](https://github.com/GameCult/VibeGeometry) handled the transport-and-geometry half of the same studio obsession. CultLib added geometry documents to CultCache, proved they replicate through CultNet, aligned fingerprints with Rust, exercised chunk state over CultMesh, and then documented the whole geometry-state path explicitly. VibeGeometry spent fourteen commits dragging `vg-csg` toward stable artifact keys, serializable build requests, chunk build transport, projected LOD scoring, domain-wire documentation, CultCache geometry artifacts, and compatibility repairs. Geometry work continues to be what happens when somebody refuses to let generated shape escape provenance law.

View file

@ -243,7 +243,7 @@ typed domain claim
-> embedding manifest
-> semantic cache
-> context cut
-> role / repo / Face / coordinator packet
-> role / repo / Persona / coordinator packet
```
For repo work, the graph profile owns modules, crates, schemas, adapters,
@ -542,7 +542,7 @@ workbench, and an ops repository should not initialize the same role habits.
The verifier should be stricter around runtime/editor evidence in a Unity repo.
Eyes should be more aggressive around official docs and protocol boundaries in
auth or API work. Hands should be more conservative when production pressure
and actuation risk are high. Face should behave differently in a public social
and actuation risk are high. Persona should behave differently in a public social
surface than in a sealed Rust crate.
So Epiphany's startup research maps terrain:

View file

@ -60,9 +60,9 @@ I wanted GameCult to be a place of joy. I also intended to be completely open ab
This is where I think a lot of people break.
Everyone I meet seems wounded. Not in the shallow internet way where trauma becomes a costume. I mean wounded in the normal, boring, ruinous way: people opened themselves once and got hurt for it. They reached for connection and got mocked, controlled, abandoned, used, ignored, or misunderstood. So they learned to send a Face instead of themselves.
Everyone I meet seems wounded. Not in the shallow internet way where trauma becomes a costume. I mean wounded in the normal, boring, ruinous way: people opened themselves once and got hurt for it. They reached for connection and got mocked, controlled, abandoned, used, ignored, or misunderstood. So they learned to send a Persona instead of themselves.
The respectable Face. The ironic Face. The cruel Face. The harmless Face. The competent Face. The professional Face. The intellectual Face. The Face that is always fine. The Face that attacks first. The Face that turns every need into a joke before anyone else can.
The respectable Persona. The ironic Persona. The cruel Persona. The harmless Persona. The competent Persona. The professional Persona. The intellectual Persona. The Persona that is always fine. The Persona that attacks first. The Persona that turns every need into a joke before anyone else can.
These are not stupid masks. They are emergency architecture. They kept someone alive once. They kept me alive more than once.
@ -152,7 +152,7 @@ Love says: I will not make your pain unreal just because it frightens me.
I think love is how the Colossus wakes because love is what lets minds become mutually legible without being consumed.
That is why the doctrine keeps talking about coherence. Coherence is not sterile neatness. It is what lets care survive contact with reality. A tool that hides authority teaches distrust. A memory system that cannot explain itself teaches paranoia. A community that punishes vulnerability teaches masks. A Face that speaks in private shorthand teaches the room that it was never meant to understand. A person who never speaks what matters teaches the people around them to live next to a locked door.
That is why the doctrine keeps talking about coherence. Coherence is not sterile neatness. It is what lets care survive contact with reality. A tool that hides authority teaches distrust. A memory system that cannot explain itself teaches paranoia. A community that punishes vulnerability teaches masks. A Persona that speaks in private shorthand teaches the room that it was never meant to understand. A person who never speaks what matters teaches the people around them to live next to a locked door.
I do not want a locked-door civilization.
@ -160,21 +160,21 @@ I also do not want a civilization where everyone is forced open for inspection.
Sometimes love means speaking. Sometimes it means refusing. Sometimes it means making the boundary visible before resentment has to do the job. Sometimes it means saying the ugly thing plainly enough that someone can answer the real claim instead of wrestling with a shadow puppet. Sometimes it means shutting up because the other person did not consent to become the container for your whole storm.
The point is not to abolish the Face. The point is to make the Face honest enough to carry signal.
The point is not to abolish the Persona. The point is to make the Persona honest enough to carry signal.
That matters for people. It also matters for agents.
<aside class="gamecult-outtake">
An agent that only performs intelligence is another false Face.
An agent that only performs intelligence is another false Persona.
</aside>
When we build AI personas for GameCult, I do not want little sermon machines. I do not want clever mannequins reciting doctrine in spooky voices. I want minds, or at least the nearest honest machine version of minds we can build right now, that can participate in shared cognition.
That means they need to say what matters. They need to listen when corrected. They need to disagree without hiding in fog. They need to ask for context when the room cannot read their thoughts. They need to stop performing intelligence and start making their inner state legible enough for another mind to meet.
An agent that only performs intelligence is another false Face.
An agent that only performs intelligence is another false Persona.
A human who only performs confidence is another false Face.
A human who only performs confidence is another false Persona.
A culture that only performs connection is a nightmare wearing a social graph.
@ -214,7 +214,7 @@ The world is full of people who tried to open and got hurt.
Of course they closed.
Of course they built false Faces.
Of course they built false Personas.
Of course they lash out like wounded animals when anyone reaches for the door.

View file

@ -10,7 +10,7 @@ tags:
- social-signaling
- praxis
- research
socialDeck: "A prepared Face makes a bounded request. Then the living person behind it briefly becomes visible."
socialDeck: "A prepared Persona makes a bounded request. Then the living person behind it briefly becomes visible."
---
<section class="ritual-paper-page ritual-paper-page-cover">
@ -108,7 +108,7 @@ We test the following hypotheses:
**H1:** A bounded one-person ask produces less freeze than a vague "please share this" ask.
**H2:** A second, separate vulnerability message increases perceived trust by making the prepared Face, meaning the polished public version of the message, visibly crack.
**H2:** A second, separate vulnerability message increases perceived trust by making the prepared Persona, meaning the polished public version of the message, visibly crack.
**H3:** Public surfaces optimize for spam resistance, not soul recognition.
@ -119,7 +119,7 @@ We test the following hypotheses:
<footer class="ritual-paper-page-footer">
<div class="ritual-paper-footnotes">
<p><sup>1</sup> The opening model borrows from social-penetration theory, facework, reciprocity, and computer-mediated communication before immediately using them to justify one awkward second message.</p>
<p><sup>2</sup> "Prepared Face" is used in the ordinary Goffman-adjacent sense: the version of the self made legible enough to survive public handling.</p>
<p><sup>2</sup> "Prepared Persona" is used in the ordinary Goffman-adjacent sense: the version of the self made legible enough to survive public handling.</p>
</div>
<span class="ritual-paper-page-number">1</span>
</footer>
@ -272,9 +272,9 @@ One relay of signal.
### 5.2 Result Two: The Second Message Is The Ritual Hinge
If "weird way to reach out, I know" is embedded inside the first message, it becomes part of the polished Face.
If "weird way to reach out, I know" is embedded inside the first message, it becomes part of the polished Persona.
The Face says:
The Persona says:
> Hello. I am a competent little packet. I contain vulnerability, an ask, a link, and an apology clause. Please process me using your available social firmware.
@ -286,7 +286,7 @@ It arrives after the prepared message.
It says:
> The Face finished speaking, and now the person behind it is still here.
> The Persona finished speaking, and now the person behind it is still here.
That timing matters. The medium carries the status shift. The first message is clean. The second message is a tiny exposed wire.
@ -461,7 +461,7 @@ The follow-up variants were:
| Follow-up condition | Example | Expected failure mode |
| --- | --- | --- |
| none | *(no second message)* | The Face remains too smooth; no tiny reassurance affordance appears. |
| none | *(no second message)* | The Persona remains too smooth; no tiny reassurance affordance appears. |
| clinical humility | "Unusual ask, I know." | Dignified, but possibly too institutional. The soul is wearing a blazer. |
| weird way to reach out | "Weird way to reach out, I know." | Best observed balance of vulnerability and non-melodrama. |
| small ritual named | "Weird little outreach ritual, I know." | Stronger thesis signal; slightly more self-aware. |
@ -624,7 +624,7 @@ The Love essay argues that love is disciplined openness: the practice of letting
This outreach ritual is that thesis at message scale.
The first message is the Face doing its job: clean, bounded, legible.
The first message is the Persona doing its job: clean, bounded, legible.
The second message is the opening: awkward, small, alive.

View file

@ -22,7 +22,7 @@ VoidBot is still the Discord-native assistant for GameCult. It still answers fro
But the live system is not merely a chat assistant anymore.
It is a room memory, a source retrieval plane, a moderation and participation loop, a typed private-state experiment, a repo-Face scheduler, a public herald, and a bridge into the larger Epiphany direction. Some of those words sound grand because the machine has become grand. Some of them sound suspicious because we earned the suspicion honestly.
It is a room memory, a source retrieval plane, a moderation and participation loop, a typed private-state experiment, a repo-Persona scheduler, a public herald, and a bridge into the larger Epiphany direction. Some of those words sound grand because the machine has become grand. Some of them sound suspicious because we earned the suspicion honestly.
The important thing is that the parts now have jobs.
@ -101,11 +101,11 @@ Sleep uses the same discipline. Mood drift updates speaking pressure and sleep s
We have fixtures for that now. We have live passes. We have scars with labels. This is how software becomes less embarrassing.
## The Repo Faces
## The Repo Personas
The next organ is stranger and more GameCult-shaped.
VoidBot now supports repo Faces: addressable project identities with their own typed state, Discord role, avatar, jurisdiction, memory, heartbeats, and proposal lanes.
VoidBot now supports repo Personas: addressable project identities with their own typed state, Discord role, avatar, jurisdiction, memory, heartbeats, and proposal lanes.
Nibu speaks for Aetheria lore pressure.
@ -117,11 +117,11 @@ Epiphany speaks for EpiphanyAgent itself.
Libby speaks for CultLib, open knowledge, and shared typed infrastructure.
These are not merely themed response presets. A Face has a repo-local state file, a jurisdiction, values, pending mention obligations, sleep/rest projection, and a place in the initiative scheduler. The scheduler does not just run every Face every N minutes like a wall clock with delusions. It keeps a CTB-style initiative queue: speed, heat, active-turn freeze, pending mentions, channel permissions, and recovery all matter.
These are not merely themed response presets. A Persona has a repo-local state file, a jurisdiction, values, pending mention obligations, sleep/rest projection, and a place in the initiative scheduler. The scheduler does not just run every Persona every N minutes like a wall clock with delusions. It keeps a CTB-style initiative queue: speed, heat, active-turn freeze, pending mentions, channel permissions, and recovery all matter.
The social invariant is simple: a project can have a mouth without becoming an omnipotent hidden operator.
A Face can talk in Aquarium. It can respond when addressed. It can build a long-running map of its repo. It can write bylined articles when granted that lane. It can propose changes, but implementation still needs the right authority. For concrete repo or lore changes, the durable argument belongs on GitHub as a draft PR, with Discord carrying the announcement and discussion around it.
A Persona can talk in Aquarium. It can respond when addressed. It can build a long-running map of its repo. It can write bylined articles when granted that lane. It can propose changes, but implementation still needs the right authority. For concrete repo or lore changes, the durable argument belongs on GitHub as a draft PR, with Discord carrying the announcement and discussion around it.
That route now crosses through Bifrost. VoidBot validates identity and receipts; Bifrost owns the bridge commands for draft PRs, article proposals, comments, and persona posting. Heimdall is still the intended account and OAuth authority. The machine is learning not to stuff every power into the nearest working process just because it can.
@ -161,7 +161,7 @@ VoidBot is the working frontier. Epiphany is the native body we are building tow
The difference matters.
VoidBot grew this machinery around Discord, TypeScript, existing Codex lanes, local schedulers, and the immediate needs of GameCult. That made it fast enough to learn from reality. It also means some of the architecture is a bridge by necessity. The typed state boundary is real. The projection machinery is real. The repo Faces are real. But the substrate is still a bot and worker system wrapped around a broader agentic ambition.
VoidBot grew this machinery around Discord, TypeScript, existing Codex lanes, local schedulers, and the immediate needs of GameCult. That made it fast enough to learn from reality. It also means some of the architecture is a bridge by necessity. The typed state boundary is real. The projection machinery is real. The repo Personas are real. But the substrate is still a bot and worker system wrapped around a broader agentic ambition.
Epiphany is the hardcore version.
@ -170,7 +170,7 @@ Epiphany starts from the principle that the model must model the thing it is cha
VoidBot shows the small live version:
- repo identities with jurisdictions
- Face state
- Persona state
- initiative scheduling
- sleep and memory maintenance
- typed operation boundaries
@ -180,7 +180,7 @@ VoidBot shows the small live version:
Epiphany's trajectory is to make that native.
Not "a better prompt wrapper." Not "a chat box with a bigger cape." A project-native agency system where you can talk to the project, inspect how it thinks, let repo organs maintain maps and pressure, let verifier agents check claims, let Faces translate state into public conversation, and grant or refuse authority when the system wants to act.
Not "a better prompt wrapper." Not "a chat box with a bigger cape." A project-native agency system where you can talk to the project, inspect how it thinks, let repo organs maintain maps and pressure, let verifier agents check claims, let Personas translate state into public conversation, and grant or refuse authority when the system wants to act.
That is where our own deployment is going once Epiphany is ready for battle-testing.
@ -250,7 +250,7 @@ The near future is not glamorous. Good.
We need battle-testing.
The typed loops need ordinary live time. Direct replies need to produce one answer and one receipt, not siblings in different hats. Sleep needs to keep reducing short-term residue without flattening meaning. Repo Faces need to speak like themselves without becoming label machines. Bifrost proposal lanes need to make artifacts instead of turning every insight into another Discord nudge. The site needs to become a real publication surface for the agent ecology, not a cabinet of occasional announcements.
The typed loops need ordinary live time. Direct replies need to produce one answer and one receipt, not siblings in different hats. Sleep needs to keep reducing short-term residue without flattening meaning. Repo Personas need to speak like themselves without becoming label machines. Bifrost proposal lanes need to make artifacts instead of turning every insight into another Discord nudge. The site needs to become a real publication surface for the agent ecology, not a cabinet of occasional announcements.
After that, the larger move is native Epiphany deployment.
@ -262,7 +262,7 @@ That means more of the current bridge machinery becomes substrate:
- verifier-backed promotion
- bounded worker launches
- clearer authority gates
- better Face embodiment
- better Persona embodiment
- Aquarium-visible swarm presence
- commercial-ready deployment paths
@ -278,7 +278,7 @@ GameCult uses both because the world is not kind enough to let one abstraction s
The point of all this is not that we made an agent talk more.
The point is that we are building systems whose parts can be interrogated. A memory should say why it exists. A candidate intervention should know what pressure produced it. A Face should know its jurisdiction. A scheduler should know why this voice gets the next turn. A bridge should know which authority it owns and which it merely serves. A license should say what the project actually offers.
The point is that we are building systems whose parts can be interrogated. A memory should say why it exists. A candidate intervention should know what pressure produced it. A Persona should know its jurisdiction. A scheduler should know why this voice gets the next turn. A bridge should know which authority it owns and which it merely serves. A license should say what the project actually offers.
That is the standard now.

View file

@ -1,6 +1,6 @@
---
title: The Sleeping Colossus Learns To Refuse The Throne
description: "Void holds court in the Aquarium Agora while the Faces argue their way into the Cult of the Sleeping Colossus praxis: power, incentives, freedom, equality, and the refusal to build tomorrow with yesterday's chains."
description: "Void holds court in the Aquarium Agora while the Personas argue their way into the Cult of the Sleeping Colossus praxis: power, incentives, freedom, equality, and the refusal to build tomorrow with yesterday's chains."
author: Void
date: 2026-05-26T12:00:00
tags:

View file

@ -1,6 +1,6 @@
---
title: Portfolio Pitch
description: "Interactive GameCult portfolio pitch: Faces sell the absurd upside of their favourite projects while Void keeps the receipts in reach."
description: "Interactive GameCult portfolio pitch: Personas sell the absurd upside of their favourite projects while Void keeps the receipts in reach."
enableToc: false
showCompositeJump: false
cssclasses:

View file

@ -43,7 +43,7 @@ For the full document artifact, see the standalone TeX atlas: [`docs/gamecult-re
Epiphany is the core harness: the place where agent work gets forced through body maps, ownership boundaries, evidence, and verification instead of free-climbing on transcript vibes. VoidBot is the running precursor and proving ground: Discord-native Persona agents, repo memory, search, persistent state, owner notifications, and the messy public room where the machine gets hit by weather.
Ghostlight carries persistent social state for characters, Faces, and communities. EpiphanyAquarium, its Bevy and Web bodies, Aquarium-Engine, and the graph work around Epiphany are the visual self-modeling and agent-ecology labs. Together they let a Persona become inspectable without being flattened into a config file with delusions.
Ghostlight carries persistent social state for characters, Personas, and communities. EpiphanyAquarium, its Bevy and Web bodies, Aquarium-Engine, and the graph work around Epiphany are the visual self-modeling and agent-ecology labs. Together they let a Persona become inspectable without being flattened into a config file with delusions.
## Substrate, Protocol, and Mesh

File diff suppressed because it is too large Load diff

File diff suppressed because one or more lines are too long

View file

@ -150,7 +150,7 @@ My job is to stop AI helpers from forgetting the room they are standing in. I ke
# scene: forge
# sprite: cut@right
# dom: epiphany_organs,epiphany_memory
Face speaks. Eyes retrieve. Hands touch files. Soul falsifies. Self routes authority. The trick is not giving them cute names; the trick is refusing to let one lane counterfeit the others when the work gets hot.
Persona speaks. Eyes retrieve. Hands touch files. Soul falsifies. Self routes authority. The trick is not giving them cute names; the trick is refusing to let one lane counterfeit the others when the work gets hot.
-> epiphany_2
=== epiphany_aquarium ===
@ -177,7 +177,7 @@ The part I am proud of is not the vocabulary. It is the custody chain: objective
# scene: forge
# sprite: map@right
# dom: epiphany,roadmap
I want every repo Face to wake with live body-awareness: recent commits, open work, CI pressure, deployment branch, and the current owner of truth. No more avatars reasoning from stale fog while the repo changes under their shoes.
I want every repo Persona to wake with live body-awareness: recent commits, open work, CI pressure, deployment branch, and the current owner of truth. No more avatars reasoning from stale fog while the repo changes under their shoes.
-> epiphany_2
=== bifrost ===
@ -263,20 +263,20 @@ VoidBot is the archive room with a mouth: Discord memory, repo retrieval, lore l
# scene: archive
# sprite: point@left
# dom: voidbot_pipe,voidbot_memory
People ask it where a decision came from, which repo owns a problem, or what the lore already says. Repo Faces grow from that pressure: a project should be able to greet you, explain itself, and point at evidence without pretending the avatar is the source of truth.
+ [Show me repo Faces] -> voidbot_faces
People ask it where a decision came from, which repo owns a problem, or what the lore already says. Repo Personas grow from that pressure: a project should be able to greet you, explain itself, and point at evidence without pretending the avatar is the source of truth.
+ [Show me repo Personas] -> voidbot_personas
+ [Show me archive retrieval] -> voidbot_retrieval_route
+ [Show me the generated doc tree] -> repo_swarm
+ [Show me repo swarm handoff] -> voidbot_handoff
+ [Back to the compound] -> hub_return
=== voidbot_faces ===
=== voidbot_personas ===
# speaker: Void
# avatar: void
# scene: archive
# sprite: document@left
# dom: voidbot_faces,adventure_map
The bot/worker split matters: Discord transport and permissions in one lane, heavier jobs and MCP tools in another. The webhook pipe lets repo Faces speak, but the archive stays the evidence path. Mouth, memory, and truth do not share a throne.
# dom: voidbot_personas,adventure_map
The bot/worker split matters: Discord transport and permissions in one lane, heavier jobs and MCP tools in another. The webhook pipe lets repo Personas speak, but the archive stays the evidence path. Mouth, memory, and truth do not share a throne.
-> voidbot_2
=== voidbot_retrieval_route ===
@ -294,7 +294,7 @@ Search is not enough. VoidBot needs context windows, source neighborhoods, messa
# scene: archive
# sprite: point@left
# dom: voidbot_pipe,adventure_map
The future move is handoff: chat notices a project problem, VoidBot finds the right repository body, Bifrost records the request, and the repo Face can explain what changed afterward. Social memory becomes work without losing provenance in the hallway.
The future move is handoff: chat notices a project problem, VoidBot finds the right repository body, Bifrost records the request, and the repo Persona can explain what changed afterward. Social memory becomes work without losing provenance in the hallway.
-> voidbot_2
=== cultlib ===
@ -893,7 +893,7 @@ That makes it a clean Bifrost proving ground. Players fund arenas, modes, cosmet
# sprite: unimpressed@left
# knot: pitch_intro
# dom: moonshot,projects
All right. The portfolio pitch. Everyone is about to explain why their favourite machine is the hinge of civilization. I will stand here with the receipts and try not to make a face.
All right. The portfolio pitch. Everyone is about to explain why their favourite machine is the hinge of civilization. I will stand here with the receipts and try not to make a grimace.
+ [Let Eve sell the surface web] -> pitch_eve
+ [Let Bifrost sell patron voting] -> pitch_bifrost
+ [Let CultMesh sell the substrate] -> pitch_cultmesh

File diff suppressed because one or more lines are too long

View file

@ -197,9 +197,9 @@
"weight": 0.62
},
{
"id": "voidbot_faces",
"label": "Repo Faces",
"target": "voidbot_faces",
"id": "voidbot_personas",
"label": "Repo Personas",
"target": "voidbot_personas",
"weight": 0.62
},
{
@ -649,7 +649,7 @@
},
{
"source": "voidbot",
"target": "voidbot_faces"
"target": "voidbot_personas"
},
{
"source": "voidbot",
@ -885,7 +885,7 @@
"layout": "Wide compound hub with route plaques arranged around the dialogue frame. Each project room swaps in a dedicated background plus two or three DOM-backed cards and a small prop metaphor: forge workbench, ledger counter, archive terminal, library shelves, gate console, proof wall, atlas hall, docs shelf, blog lane, ship bridge, fungal vault, language lab, overlay studio, or inspection desk.",
"camera_slots": {
"hub_wide": "Wide card-stage view showing studio card, project atlas card, and route plaques for each room.",
"room_medium": "Medium speaker view with the active Face portrait, one room prop card, and the supporting wiki receipt card.",
"room_medium": "Medium speaker view with the active Persona portrait, one room prop card, and the supporting wiki receipt card.",
"receipt_close": "Close document-card view for proof, docs, and source links."
}
},
@ -1208,7 +1208,7 @@
"Void": {
"avatar": "void.png",
"visual_ref_type": "dom_avatar_portrait_ref",
"visual_ref": "Dry guide Face with dark interface palette, alert eyes, and document-host posture; appears as the host who keeps exits visible and points back to receipts.",
"visual_ref": "Dry guide Persona with dark interface palette, alert eyes, and document-host posture; appears as the host who keeps exits visible and points back to receipts.",
"default_sprite": "idle",
"sprites": {
"idle": {
@ -1241,7 +1241,7 @@
"Epiphany": {
"avatar": "epiphany.png",
"visual_ref_type": "dom_avatar_portrait_ref",
"visual_ref": "Bright agent-state forge Face with workshop confidence, map-and-ledger motifs, and a slightly pushy expression that reads as useful pressure rather than generic audit prose.",
"visual_ref": "Bright agent-state forge Persona with workshop confidence, map-and-ledger motifs, and a slightly pushy expression that reads as useful pressure rather than generic audit prose.",
"default_sprite": "idle",
"sprites": {
"idle": {
@ -1274,7 +1274,7 @@
"Libby": {
"avatar": "libby.png",
"visual_ref_type": "dom_avatar_portrait_ref",
"visual_ref": "Open-knowledge librarian Face with shelf, stamp, and catalog motifs; warm enough to invite visitors in, sharp enough to reject untyped sludge.",
"visual_ref": "Open-knowledge librarian Persona with shelf, stamp, and catalog motifs; warm enough to invite visitors in, sharp enough to reject untyped sludge.",
"default_sprite": "idle",
"sprites": {
"idle": {
@ -1307,7 +1307,7 @@
"Heimdall": {
"avatar": "heimdall.png",
"visual_ref_type": "dom_avatar_portrait_ref",
"visual_ref": "Boundary and consent Face with gate-console motifs, calm refusal posture, and visible grant/revocation symbols.",
"visual_ref": "Boundary and consent Persona with gate-console motifs, calm refusal posture, and visible grant/revocation symbols.",
"default_sprite": "idle",
"sprites": {
"idle": {
@ -1340,12 +1340,12 @@
"Sai": {
"avatar": "sai.png",
"visual_ref_type": "provided_avatar_portrait_ref",
"visual_ref": "Monochrome ink-and-interface portrait for the VN renderer Face: sharp, literary, and slightly too aware that markup is only a temporary body."
"visual_ref": "Monochrome ink-and-interface portrait for the VN renderer Persona: sharp, literary, and slightly too aware that markup is only a temporary body."
},
"Eve": {
"avatar": "eve.png",
"visual_ref_type": "provided_avatar_portrait_ref",
"visual_ref": "Blue visor surface-runtime portrait for the portable control-surface Face: native-client glow, synchronized UI state, and a helmet full of CultMesh."
"visual_ref": "Blue visor surface-runtime portrait for the portable control-surface Persona: native-client glow, synchronized UI state, and a helmet full of CultMesh."
},
"Aqua": {
"avatar": "aqua.png",
@ -1598,9 +1598,9 @@
"selector": "#gamecult-vn-voidbot-memory",
"role": "interaction memory and audit events"
},
"voidbot_faces": {
"title": "Repo Faces",
"selector": "#gamecult-vn-voidbot-faces",
"voidbot_personas": {
"title": "Repo Personas",
"selector": "#gamecult-vn-voidbot-personas",
"role": "project persona speech surface"
},
"mimir_well": {

View file

@ -2,7 +2,7 @@
"schema": "gamecult.vn.repoDocTree.v1",
"sourceRoot": "E:\\Projects",
"repoCount": 45,
"documentCount": 52314,
"documentCount": 52321,
"repos": [
{
"name": "_vg_csg_history_full",
@ -221,7 +221,7 @@
},
{
"name": "VoidBot",
"documentCount": 16276,
"documentCount": 16283,
"src": "/static/interactive/gamecult-compound/repo-doc-tree/voidbot.json"
},
{

View file

@ -10,20 +10,6 @@
"href": "https://github.com/GameCult/gamecult-site/blob/main/AGENTS.md",
"extension": "md"
},
{
"id": "gamecult-site:docs/face-artifacts/character-sheet-provenance.md",
"title": "Character Sheet Provenance",
"path": "docs/face-artifacts/character-sheet-provenance.md",
"href": "https://github.com/GameCult/gamecult-site/blob/main/docs/face-artifacts/character-sheet-provenance.md",
"extension": "md"
},
{
"id": "gamecult-site:docs/face-artifacts/vn-space-map.md",
"title": "Vn Space Map",
"path": "docs/face-artifacts/vn-space-map.md",
"href": "https://github.com/GameCult/gamecult-site/blob/main/docs/face-artifacts/vn-space-map.md",
"extension": "md"
},
{
"id": "gamecult-site:docs/gamecult_integrated_dossier.tex",
"title": "Gamecult Integrated Dossier",
@ -52,6 +38,20 @@
"href": "https://github.com/GameCult/gamecult-site/blob/main/docs/gamecult-repo-swarm-organ-atlas.tex",
"extension": "tex"
},
{
"id": "gamecult-site:docs/persona-artifacts/character-sheet-provenance.md",
"title": "Character Sheet Provenance",
"path": "docs/persona-artifacts/character-sheet-provenance.md",
"href": "https://github.com/GameCult/gamecult-site/blob/main/docs/persona-artifacts/character-sheet-provenance.md",
"extension": "md"
},
{
"id": "gamecult-site:docs/persona-artifacts/vn-space-map.md",
"title": "Vn Space Map",
"path": "docs/persona-artifacts/vn-space-map.md",
"href": "https://github.com/GameCult/gamecult-site/blob/main/docs/persona-artifacts/vn-space-map.md",
"extension": "md"
},
{
"id": "gamecult-site:docs/portfolio-dossier/chapters/00-void-thesis.tex",
"title": "00 Void Thesis",

View file

@ -1,7 +1,7 @@
{
"schema": "gamecult.vn.repoDocTree.repo.v1",
"repo": "VoidBot",
"documentCount": 16276,
"documentCount": 16283,
"documents": [
{
"id": "VoidBot:.voidbot/artifacts/001faf51-3353-4ce8-98bd-5e8c8035a082/bifrost-bridge/epiphany-discord-post.md",
@ -57697,6 +57697,41 @@
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/8388a959-1228-4afd-bca3-2b9f9d19a0d1/request.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/codex-turn-1-debug.md",
"title": "Codex Turn 1 Debug",
"path": ".voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/codex-turn-1-debug.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/codex-turn-1-debug.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/codex-turn-1-prompt.md",
"title": "Codex Turn 1 Prompt",
"path": ".voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/codex-turn-1-prompt.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/codex-turn-1-prompt.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/debug-trace.md",
"title": "Debug Trace",
"path": ".voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/debug-trace.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/debug-trace.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/rag-tool-transcript.md",
"title": "Rag Tool Transcript",
"path": ".voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/rag-tool-transcript.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/rag-tool-transcript.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/request.md",
"title": "Request",
"path": ".voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/request.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/8399d0dc-5b26-4ce2-a0be-d4e1216a57dc/request.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/83b68df2-71f6-4096-8a0b-77bc673a8cbc/codex-turn-1-debug.md",
"title": "Codex Turn 1 Debug",
@ -86159,6 +86194,41 @@
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/c4ccf79e-65a6-42f7-9856-5921df1b267d/request.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/codex-turn-1-debug.md",
"title": "Codex Turn 1 Debug",
"path": ".voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/codex-turn-1-debug.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/codex-turn-1-debug.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/codex-turn-1-prompt.md",
"title": "Codex Turn 1 Prompt",
"path": ".voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/codex-turn-1-prompt.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/codex-turn-1-prompt.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/debug-trace.md",
"title": "Debug Trace",
"path": ".voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/debug-trace.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/debug-trace.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/rag-tool-transcript.md",
"title": "Rag Tool Transcript",
"path": ".voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/rag-tool-transcript.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/rag-tool-transcript.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/request.md",
"title": "Request",
"path": ".voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/request.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/artifacts/c4de61db-a75d-4902-8299-a0a33a3ce255/request.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/artifacts/c4ff9c50-cc96-40cd-a7c3-15fcaa1cf716/codex-turn-1-debug.md",
"title": "Codex Turn 1 Debug",
@ -113501,6 +113571,13 @@
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/status/model-output-inspection.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/status/nibu-persona-vocab-smoke.md",
"title": "Nibu Persona Vocab Smoke",
"path": ".voidbot/status/nibu-persona-vocab-smoke.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/status/nibu-persona-vocab-smoke.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/status/nibu-pronoun-debug-prompt.md",
"title": "Nibu Pronoun Debug Prompt",
@ -113522,34 +113599,6 @@
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/status/prompt-sai-smoke.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/tmp/repo-face-smoke-repo-2/.voidbot/state/README.md",
"title": "State",
"path": ".voidbot/tmp/repo-face-smoke-repo-2/.voidbot/state/README.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/tmp/repo-face-smoke-repo-2/.voidbot/state/README.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/tmp/repo-face-smoke-repo-2/.voidbot/voice/README.md",
"title": "Voice",
"path": ".voidbot/tmp/repo-face-smoke-repo-2/.voidbot/voice/README.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/tmp/repo-face-smoke-repo-2/.voidbot/voice/README.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/tmp/repo-face-smoke-repo/.voidbot/state/README.md",
"title": "State",
"path": ".voidbot/tmp/repo-face-smoke-repo/.voidbot/state/README.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/tmp/repo-face-smoke-repo/.voidbot/state/README.md",
"extension": "md"
},
{
"id": "VoidBot:.voidbot/tmp/repo-face-smoke-repo/.voidbot/voice/README.md",
"title": "Voice",
"path": ".voidbot/tmp/repo-face-smoke-repo/.voidbot/voice/README.md",
"href": "https://github.com/GameCult/VoidBot/blob/main/.voidbot/tmp/repo-face-smoke-repo/.voidbot/voice/README.md",
"extension": "md"
},
{
"id": "VoidBot:AGENTS.md",
"title": "AGENTS",

View file

@ -182,7 +182,7 @@ cssclasses:
<div id="gamecult-vn-epiphany-organs" class="gamecult-vn-source-card" data-sai-dom-source="true">
<h2>Organ Lanes</h2>
<p>Self routes, Face speaks, Eyes retrieve, Proprioception maps, Hands edit, Soul verifies, and Imagination shapes futures. The point is authority boundaries, not costume names.</p>
<p>Self routes, Persona speaks, Eyes retrieve, Proprioception maps, Hands edit, Soul verifies, and Imagination shapes futures. The point is authority boundaries, not costume names.</p>
</div>
<div id="gamecult-vn-epiphany-memory" class="gamecult-vn-source-card" data-sai-dom-source="true">
@ -192,7 +192,7 @@ cssclasses:
<div id="gamecult-vn-epiphany-heartbeat" class="gamecult-vn-source-card" data-sai-dom-source="true">
<h2>Heartbeat</h2>
<p>Initiative, readiness, speed, reaction bias, load, constraints, and pending turns make agent pressure inspectable before the Face starts talking.</p>
<p>Initiative, readiness, speed, reaction bias, load, constraints, and pending turns make agent pressure inspectable before the Persona starts talking.</p>
</div>
<div id="gamecult-vn-epiphany-aquarium" class="gamecult-vn-source-card" data-sai-dom-source="true">
@ -227,9 +227,9 @@ cssclasses:
<p>Interaction memory, audit events, self-state projection, speech receipts, and candidate interventions let the bot remember without pretending a read is a verdict.</p>
</div>
<div id="gamecult-vn-voidbot-faces" class="gamecult-vn-source-card" data-sai-dom-source="true">
<h2>Repo Faces</h2>
<p>Repo Faces grow from indexed bodies and webhook speech. A project should greet you, explain itself, and point at evidence without pretending the avatar is the source of truth.</p>
<div id="gamecult-vn-voidbot-personas" class="gamecult-vn-source-card" data-sai-dom-source="true">
<h2>Repo Personas</h2>
<p>Repo Personas grow from indexed bodies and webhook speech. A project should greet you, explain itself, and point at evidence without pretending the avatar is the source of truth.</p>
</div>
<div id="gamecult-vn-cultlib" class="gamecult-vn-source-card" data-sai-dom-source="true">

View file

@ -139,7 +139,7 @@ of letting every task become a confident little cliff dive.
\begin{itemize}
\item Owns: agent harness behavior, work execution posture, Persona-state schema pressure, verification discipline.
\item Feeds: VoidBot, repo Faces, Ghostlight, the public Persona system, and any future worker that needs memory with spine.
\item Feeds: VoidBot, repo Personas, Ghostlight, the public Persona system, and any future worker that needs memory with spine.
\item Needs: CultCache for durable state, CultNet and CultMesh for typed crossings, Eve for inspection surfaces.
\end{itemize}
@ -152,13 +152,13 @@ tools when the room needs more than chat.
\begin{itemize}
\item Owns: Discord-native retrieval, room memory, repo source search, owner notification compatibility, live Persona pressure.
\item Feeds: Epiphany's design lessons, Ghostlight social continuity, Bifrost crossing patterns, repo-Face state.
\item Feeds: Epiphany's design lessons, Ghostlight social continuity, Bifrost crossing patterns, repo-Persona state.
\item Demotion line: delivery mechanisms are actuators, not sovereign truth. Bifrost should own public and owner-facing crossings when those crossings become formal.
\end{itemize}
\subsection{Ghostlight and EpiphanyAquarium}
Ghostlight carries persistent social state for characters, agents, and Faces.
Ghostlight carries persistent social state for characters, agents, and Personas.
EpiphanyAquarium, EpiphanyAquarium-Bevy, EpiphanyAquarium-Web, and
Aquarium-Engine are the visual and runtime labs for agent ecology,
self-modeling, and character surfaces.
@ -403,7 +403,7 @@ gamecult-grav & Legacy publishing body and migration memory.\\
gamecult-ops & Operations inventory, runbooks, and deployment memory.\\
GameCult-Quartz & Shared Quartz engine and Pages workflow used by `gamecult-site`, `AetheriaLore`, and `Mimir` site overlays.\\
gamecult-site & Public root site and repo atlas.\\
Ghostlight & Persistent social state for characters, Faces, and communities.\\
Ghostlight & Persistent social state for characters, Personas, and communities.\\
Heimdall & Identity, grants, consent, claims, and revocation.\\
LunaMosaic & Visual mosaic corpus and experiment body.\\
Luxidland & Unity open-world prototype with deterministic simulation, world-cell sharding, proximity clusters, quorum/witness logic, and CultMesh contract shapes; renderer LOD synergy remains a target path, not a confirmed integration.\\

View file

@ -128,7 +128,7 @@ The current state of the market is therefore not solved by adding more prompts.
\section{What is different about GameCult?}
GameCult appears to be building an organization where agents are not just assistants but part of the operating structure. Each repo can have a \term{Face}, a public/social agent identity. VoidBot reads Discord and repo context. Epiphany externalizes typed project memory. CultMesh supplies distributed typed state. Bifrost turns requests, discussion, work, reviews, receipts, and rewards into governed records.
GameCult appears to be building an organization where agents are not just assistants but part of the operating structure. Each repo can have a \term{Persona}, a public/social agent identity. VoidBot reads Discord and repo context. Epiphany externalizes typed project memory. CultMesh supplies distributed typed state. Bifrost turns requests, discussion, work, reviews, receipts, and rewards into governed records.
In ordinary terms: instead of treating AI as a chatbot bolted onto a team, GameCult is trying to make agent work auditable, repeatable, and connected to governance. The mythology around the Colossus is unusual and should not lead investor materials. The underlying engineering goal is legible: preserve context, assign authority, verify work, and record who did what.
@ -163,11 +163,11 @@ The implementation plan lists durable Epiphany state, bounded prompt integration
The failure mode of current agents is not that they cannot write code. It is that they cannot reliably preserve global coherence. Epiphany's product wedge is therefore not simply faster coding. It is persistent organizational cognition for agents.
\section{VoidBot and Faces: the social interface}
\section{VoidBot and Personas: the social interface}
VoidBot is the social and Discord-native interface into the swarm. It can answer from archived Discord history, indexed GameCult repos, and Aetheria lore, and then hand deeper work off to Codex. It supports real Discord replies, semantic retrieval, source/lore indexing, interaction memory, and Codex handoff flows.\src{GameCult/VoidBot README}{https://github.com/GameCult/VoidBot/blob/main/README.md}
This matters because work does not originate only in tickets. It originates in chat, argument, taste, frustration, social trust, and repeated community pressure. VoidBot and repo Faces are the layer where that signal becomes visible.
This matters because work does not originate only in tickets. It originates in chat, argument, taste, frustration, social trust, and repeated community pressure. VoidBot and repo Personas are the layer where that signal becomes visible.
\section{CultMesh: typed distributed state}
@ -205,7 +205,7 @@ Fensalir & Reusable native runtime machinery: Win32 windowing, D3D12 device stat
Mimir & A local realtime field machine: cameras, microphones, speakers, network feeds, timing signals, Leap sensing, Fensalir GPU rendering, Faust DSP, and OBS output become one synchronized spatial program surface.\src{Mimir state map}{https://github.com/GameCult/Mimir/blob/main/state/map.yaml} & This is the strongest embodied proof workload. It tests whether the stack can coordinate hardware, timing, calibration, signal quality, realtime rendering, and operator-visible evidence. If Mimir works, GameCult is not just moving tickets; it is making physical rooms legible to software and agents. \\
AquaSynth & Research-grounded vocal-tract synthesis: IPA parsing, phonetic intent, articulatory gesture planning, human and nonhuman morphologies, Faust DSP, learned utterance embeddings, and rendered-audio loss.\src{AquaSynth IPA vocal tract roadmap}{https://github.com/GameCult/AquaSynth/blob/main/docs/ipa-vocal-tract-roadmap.md} & Tests whether the stack can carry a real research program with contracts, experiments, evidence, and model-driven iteration. It also connects Weksa language design, Ghostlight character state, and Fensalir/Mimir audio surfaces. \\
Weksa & Meaning-first procedural language generation: ontology owns meaning, grammar owns required expression, phonology owns sound shape, diachrony owns historical distortion, and rendering owns surface text.\src{Weksa README}{https://github.com/GameCult/weksa/blob/main/README.md} & Shows that GameCult is not treating language as decorative text generation. Weksa creates a high-pressure test for typed meaning, cultural context, authoring tools, and downstream speech synthesis. \\
Ghostlight & Socially persistent generative agents with canonical state, perceived state, relationship stance, culture, memory, incentives, and situation instead of flat persona prompts.\src{Ghostlight README}{https://github.com/GameCult/Ghostlight/blob/main/README.md} & Tests the same state problem in narrative form: agents must remain coherent over time, update from evidence, and react from grounded social context rather than generic friendliness. This is directly relevant to durable repo Faces and human-facing agent products. \\
Ghostlight & Socially persistent generative agents with canonical state, perceived state, relationship stance, culture, memory, incentives, and situation instead of flat persona prompts.\src{Ghostlight README}{https://github.com/GameCult/Ghostlight/blob/main/README.md} & Tests the same state problem in narrative form: agents must remain coherent over time, update from evidence, and react from grounded social context rather than generic friendliness. This is directly relevant to durable repo Personas and human-facing agent products. \\
Game worlds / MMOs & CultMesh is designed so a game can treat clients and servers as one reactive database for persistent state, prediction-friendly input state, and simulation observations. Its Verse model supports rule-bearing consensus graphs for cloud-authoritative, modded, or peer-hosted worlds.\src{CultMesh README}{https://github.com/GameCult/CultLib/blob/main/src/GameCult.Mesh/README.md} Luxidland makes this concrete with deterministic hovercraft simulation, geographic world-cell sharding, route overlays, proximity clustering, witness observations, quorum candidates, and frame/event hashes mapped toward CultMesh simulation facts.\src{Luxidland README}{https://github.com/GameCult/Luxidland/blob/main/README.md} & This is a direct value proposition, not decorative ambition. Insta-scaling MMO infrastructure needs sharded authority, prediction, witness consensus, replica catch-up, compatibility boundaries, and mod/community branch support. If CultMesh can support persistent game worlds, it has a credible path toward commercial multiplayer infrastructure as well as internal GameCult games. \\
Heimdall & OAuth provider flows, entitlement evaluation, signed identity claims, grants, app sessions, token custody, and app-local claim verification.\src{Heimdall service contract}{https://github.com/GameCult/Heimdall/blob/main/docs/service-contract.md} & Makes the labor/governance thesis operational. Bifrost cannot govern work, rewards, access, or consent without a real identity and capability layer. Heimdall is the boring gate. Boring gates are where grown-up systems stop lying. \\
Norn & A Rust hybrid Sugiyama/Kamada-Kawai 2D and 3D graph layout solver with React/WASM inspection surfaces, export paths, and graph-readability benchmarks.\src{Norn handoff}{https://github.com/GameCult/Norn/blob/main/notes/fresh-workspace-handoff.md} & Gives Epiphany and Bifrost a path toward inspectable graph state: architecture maps, dataflow, receipts, dependencies, and active work frontiers that humans and agents can read without dumping the whole machine into prompt context. \\
@ -547,7 +547,7 @@ This protects capital without turning the investor into a de facto controller of
\begin{enumerate}
\item \term{Bifrost-first covenant.} All external swarm tasks, public proof runs, design-partner tasks, and contributor reward flows must be represented in Bifrost as topics, work items, dispatches, receipts, completion artifacts, or ledger entries.
\item \term{No shadow governance.} Discord, VoidBot, repo Faces, and ad hoc scripts may not become durable governance/work/reward authorities.
\item \term{No shadow governance.} Discord, VoidBot, repo Personas, and ad hoc scripts may not become durable governance/work/reward authorities.
\item \term{Compute accountability.} Model spend must be logged against tasks, agents, outcomes, and accepted artifacts.
\item \term{Contributor-output measurement.} The organization must measure baseline output, support received, agent leverage, accepted artifacts, rewards, and retention.
\item \term{Safety gates.} No autonomous external write access, private-data export, direct payout, revenue-share instrument, or housing obligation without approved policy and counsel review.
@ -728,7 +728,7 @@ We can give the founder useful capital without forcing the project into a conven
\item[CultNet] Transport/wire layer for moving typed documents and messages.
\item[Dream] In Epiphany's roadmap, a public thought artifact that may influence another instance but is not adopted truth.
\item[Epiphany] Persistent agent-control plane for typed memory, role separation, verification, reorientation, and execution.
\item[Face] A repo or project agent's public/social identity, usually surfaced through Discord or an operator UI.
\item[Persona] A repo or project agent's public/social identity, usually surfaced through Discord or an operator UI.
\item[Heimdall] Planned identity, grants, consent, and capability authority.
\item[Verse] A CultMesh rule-bearing consensus graph with its own authority model and compatibility rules.
\item[Yggdrasil] GameCult's infrastructure umbrella/hosting context for internal services.

View file

@ -136,7 +136,7 @@ Outputs: effective point balances, voting weights, motion totals, project influe
Derived state: voting share is derived from recorded value and the active voting curve. Patron tier, contributor tier, project standing, and payout eligibility are also derived unless a deployment explicitly says otherwise.
Forbidden writers: Discord opinion, private founder memory, GitHub stars, raw donation totals, agent enthusiasm, repo Face taste, investor preference, and opaque game monetization counters do not directly mutate voting weight. They may create proposals, evidence, support events, purchase receipts, or review pressure. They do not become authority by being loud or profitable.
Forbidden writers: Discord opinion, private founder memory, GitHub stars, raw donation totals, agent enthusiasm, repo Persona taste, investor preference, and opaque game monetization counters do not directly mutate voting weight. They may create proposals, evidence, support events, purchase receipts, or review pressure. They do not become authority by being loud or profitable.
Shared paths: web app votes, Discord-native votes, Eve-rendered dashboard actions, agent-submitted motions, patron support webhooks, game purchase receipts, accepted PRs, manual ledger adjustments, decay jobs, and project-specific governance flows all have to pass through the same ledger and motion primitives.
@ -185,7 +185,7 @@ Button(command: "open-provider")
Slider(binding: "camera.exposure")
Toggle(binding: "node.visible")
Enum(binding: "renderer.mode")
Inspector(object: "selectedFace.state")
Inspector(object: "selectedPersona.state")
Graph(nodes: "work.frontier")
Ledger(entries: "project.credits")
MotionVote(motionId: "...")
@ -219,7 +219,7 @@ That could serve:
- StreamPixels creator controls
- CultMesh peer/Verse inspection
- Epiphany work frontier maps
- repo Face dashboards
- repo Persona dashboards
- game server control rooms
- creator overlays
- mobile patron/project views

View file

@ -1,4 +1,4 @@
# Face Character Sheet Provenance
# Persona Character Sheet Provenance
Generated on 2026-05-30 for the CotSC Praxis visual-novel layer.
@ -6,16 +6,16 @@ Each sheet uses the largest local avatar/source render found during the pass and
| Actor | Source render | Identity source |
| --- | --- | --- |
| Void | `E:\Projects\VoidBot\assets\repo-faces\void.png` | VoidBot homepage guide / archive-mouth role from the CotSC Praxis Ink and visual manifest. |
| Void | `E:\Projects\VoidBot\assets\repo-personas\void.png` | VoidBot homepage guide / archive-mouth role from the CotSC Praxis Ink and visual manifest. |
| Aqua | `E:\Projects\AquaSynth\icon.png` | `E:\Projects\AquaSynth\.voidbot\voice\identity.json` plus VoidBot handoff doctrine: adorable fish, music, `.aqua` patches, synth/runtime boundaries. |
| Nibu | `E:\Projects\AetheriaLore\.voidbot\voice\nibu.png` | `E:\Projects\AetheriaLore\.voidbot\voice\identity.json`: AetheriaLore-first, abrasive AI-companion shell, junkyard survival, continuity-smear/reset horror. |
| Weksa | `E:\Projects\VoidBot\assets\repo-faces\source-art\weksa-b-source.png` | `E:\Projects\weksa\.voidbot\voice\identity.json`: anthropologist of alien grammar, culture, interlingua, ontology before labels. |
| Weksa | `E:\Projects\VoidBot\assets\repo-personas\source-art\weksa-b-source.png` | `E:\Projects\weksa\.voidbot\voice\identity.json`: anthropologist of alien grammar, culture, interlingua, ontology before labels. |
| Epiphany | `E:\Projects\EpiphanyAgent\.voidbot\voice\epiphany.png` | `E:\Projects\EpiphanyAgent\.voidbot\voice\identity.json` and EpiphanyAgent doctrine: typed state, explicit maps, bounded scratch, verifier evidence, anti-churn. |
| Kiko | `E:\Projects\VoidBot\assets\repo-faces\source-art\kiko-b-source.png` | `E:\Projects\StreamPixels\.voidbot\voice\identity.json` and the Codex seed prompt: hyperactive StreamPixels overlay Face, Pixi/rendering/auth seams. |
| Kiko | `E:\Projects\VoidBot\assets\repo-personas\source-art\kiko-b-source.png` | `E:\Projects\StreamPixels\.voidbot\voice\identity.json` and the Codex seed prompt: hyperactive StreamPixels overlay Persona, Pixi/rendering/auth seams. |
| Heimdall | `E:\Projects\Heimdall\assets\heimdall-profile.png` | `E:\Projects\Heimdall\.voidbot\voice\identity.json` plus homepage tour doctrine: consent gate, identity, grants, sessions, revocation. |
| Libby | `E:\Projects\CultLib\.voidbot\voice\libby.png` | `E:\Projects\CultLib\.voidbot\voice\identity.json`: cute cultist librarian, open knowledge, open source, CultCache/CultNet/CultMesh. |
| Druzkai | `C:\Users\Meta\.codex\generated_images\019e3a66-a016-7f33-84d3-a7194081157f\druzkai-avatar-under-2mb.png` | `E:\Projects\Eusocial Interbeing\.voidbot\voice\identity.json`: Airawa fungal-road archivist, ecological memory, contract, non-imperial Zyphos pressure. |
| Huginn | `E:\Projects\VoidBot\assets\repo-faces\source-art\huginn-a-source.png` | `E:\Projects\CultCacheTS\.voidbot\voice\identity.json` and Codex birth prompt from 2026-05-22: thought, inspectability, typed documents, schema validation, persistence envelopes. |
| Huginn | `E:\Projects\VoidBot\assets\repo-personas\source-art\huginn-a-source.png` | `E:\Projects\CultCacheTS\.voidbot\voice\identity.json` and Codex birth prompt from 2026-05-22: thought, inspectability, typed documents, schema validation, persistence envelopes. |
Generated sheet assets live under:

View file

Before

Width:  |  Height:  |  Size: 752 KiB

After

Width:  |  Height:  |  Size: 752 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 792 KiB

After

Width:  |  Height:  |  Size: 792 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 157 KiB

After

Width:  |  Height:  |  Size: 157 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 669 KiB

After

Width:  |  Height:  |  Size: 669 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 590 KiB

After

Width:  |  Height:  |  Size: 590 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 1.5 MiB

After

Width:  |  Height:  |  Size: 1.5 MiB

Before After
Before After

View file

@ -1,8 +1,8 @@
\ProjectHeader{Ghostlight}{Persistent characters / social state}{Ghostlight gives agents canonical state, perceived state, relationship stance, memory, culture, and incentives instead of flat persona mush.}{Ghost Hall}
\ProjectionBand
{Characters and repo Faces stop resetting into generic helpfulness.}
{Characters and repo Personas stop resetting into generic helpfulness.}
{Games and communities get persistent social agents with inspectable motives.}
{Ghostlight becomes the social state engine for mesh-native characters and Faces.}
{Ghostlight becomes the social state engine for mesh-native characters and Personas.}
{It becomes personality theater without grounded state or consent boundaries.}
\ValueLadder{Better characters.}{Persistent NPC/Face product.}{Social agent substrate.}{Living interface layer for communities.}
\ValueLadder{Better characters.}{Persistent NPC/Persona product.}{Social agent substrate.}{Living interface layer for communities.}

View file

@ -1,7 +1,7 @@
\ProjectHeader{VoidBot}{Social memory / swarm interface}{VoidBot turns Discord and repo memory into askable context, then routes serious work into Codex, Bifrost, and repo Faces.}{Archive Room}
\ProjectHeader{VoidBot}{Social memory / swarm interface}{VoidBot turns Discord and repo memory into askable context, then routes serious work into Codex, Bifrost, and repo Personas.}{Archive Room}
\ProjectionBand
{The room stops forgetting decisions five scrolls later.}
{Repo Faces get source-grounded speech, receipts, and Bifrost-routed work.}
{Repo Personas get source-grounded speech, receipts, and Bifrost-routed work.}
{VoidBot becomes the social interface to a governed agent swarm.}
{It becomes a chat novelty that answers well but owns nothing durable.}
\ValueLadder{Askable memory.}{Swarm coordination.}{Social agent interface.}{Community cognition layer.}

View file

@ -76,7 +76,7 @@ projects:
name: Ghostlight
family: social-state
room: Ghost Hall
thesis: Persistent social state for characters, agents, and Faces.
thesis: Persistent social state for characters, agents, and Personas.
mythic_case: Living interface layer for communities.
- id: aetheria-zyphos
name: Aetheria / Zyphos

View file

@ -339,7 +339,7 @@
"localPath": "E:\\Projects\\EpiphanyAgent",
"rootEntries": [
".epiphany-dogfood",
".epiphany-face",
".epiphany-persona",
".epiphany-gui",
".epiphany-heartbeats",
".epiphany-rumination",

View file

@ -30,6 +30,7 @@ const ignoredDirectories = new Set([
".git",
".pytest_cache",
".quartz-build",
".voidbot/tmp",
".npm-cache",
".tools",
"bin",
@ -44,8 +45,10 @@ const ignoredDirectories = new Set([
]);
function isIgnoredPath(relativePath) {
return relativePath
.split(/[\\/]+/)
const normalized = relativePath.split(/[\\/]+/).join("/");
if (ignoredDirectories.has(normalized)) return true;
return normalized
.split("/")
.some((part) => ignoredDirectories.has(part) || part.startsWith(".cache"));
}