No description
  • Rust 98.4%
  • TypeScript 1.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-08-21 17:21:14 +02:00
crates Surface failed Session Zero DM turns 2026-08-21 17:21:14 +02:00
docs Build Session Zero and bounded co-op 2026-08-21 16:58:56 +02:00
examples Add Corvid visual replay plan 2026-05-05 01:32:01 +01:00
experiments Add Corvid visual replay plan 2026-05-05 01:32:01 +01:00
notes Build Session Zero and bounded co-op 2026-08-21 16:58:56 +02:00
prompts Add BFL image batch runner 2026-05-05 01:49:45 +01:00
schemas Add initiative scheduler artifact seam 2026-05-04 23:58:07 +01:00
scripts Add BFL image batch runner 2026-05-05 01:49:45 +01:00
state Build Session Zero and bounded co-op 2026-08-21 16:58:56 +02:00
tools Separate gestalt budget from provider concurrency 2026-08-18 21:03:48 +02:00
vendor Require Odin to acknowledge RUDP publication 2026-08-18 22:39:49 +02:00
web Build Session Zero and bounded co-op 2026-08-21 16:58:56 +02:00
.gitignore Build grounded world compiler flow 2026-08-16 20:12:53 +02:00
.gitmodules Build GhostlightDungeon kernel and private Eve harness 2026-08-16 16:35:50 +02:00
AGENTS.md Build grounded world compiler flow 2026-08-16 20:12:53 +02:00
Cargo.lock Build Session Zero and bounded co-op 2026-08-21 16:58:56 +02:00
Cargo.toml Build Session Zero and bounded co-op 2026-08-21 16:58:56 +02:00
package-lock.json Adopt Ink for branching scenes 2026-05-01 23:52:15 +01:00
package.json Build GhostlightDungeon kernel and private Eve harness 2026-08-16 16:35:50 +02:00
README.md Build Session Zero and bounded co-op 2026-08-21 16:58:56 +02:00

Ghostlight

Ghostlight builds persistent generative people and worlds. Its active product is Ghostlight Dungeon: a Vault-grounded narrative simulation in which places, knowledge, relationships, institutions, clocks, and consequences survive beyond the model's current context.

The project began as a research and fixture pipeline for socially persistent Aetheria agents. That material remains useful regression evidence. The live machine is now a Rust runtime with typed campaign state, one canonical world authority, bounded Persona projection, fiction-first action resolution, and a multiresolution agency graph for keeping large settings active at finite cost.

What Ghostlight Owns

  • WorldKernel is the sole owner of committed campaign state and revisions.
  • Every player command, NPC action, strategic tick, wait, import, and reload enters the same validated campaign mailbox and atomic CultCache commit path.
  • Vault evidence grounds world compilation; branch-local invention remains distinct from canon.
  • Hosted lore Vaults are planned as Git-synchronized, Obsidian-compatible Markdown hierarchies. The Vault service owns their indexes; campaigns retain only manifest bindings and exact evidence receipts.
  • Projector → Persona → Interpreter turns produce proposals. Models never commit world state.
  • Knowledge, perception, capability, location, custody, and authority are validated against the exact actor proposing an action.
  • Fiction-first d20 resolution treats player text as an attempt rather than an accomplished fact.
  • Multiresolution Gestalts keep people, institutions, and factions active under a bounded Persona-cell budget without merging rivals into one mind or erasing named individuals.
  • Away-time simulation advances clocks and remote agency without puppeting or directly harming an absent player character.
  • CultMesh publishes typed service and Eve/CultUI state; the browser lowers that surface and does not become a second state authority.

Current Status

Ghostlight Dungeon is implemented and deployed as a private Starfire-hosted playtest harness. The current acceptance surface covers:

  • persistent DM-led Session Zero with shared/private channels, typed contracts, private boundaries, character bargains, digest-bound unanimous approval, and atomic publication;
  • source-grounded world compilation from an approved brief, with evidence gaps returned to negotiation instead of borrowing a nearby story;
  • persistent campaigns, forks, resets, exports, and Heimdall-account-isolated sessions;
  • parallel affected-character Projector/Persona/Interpreter waves;
  • impossible-action refusal, assessed stakes, server-side rolls, and receipted commits;
  • strategic clocks, away-time catch-up, institution activity, migration, and information-channel-aware news;
  • bounded shared-scene co-op for up to eight Heimdall members, with exact member→actor authority, actor-filtered surfaces, unanimous time/budget governance, and no player puppeting or PvP mutation;
  • connected cohesive and arena simulation covers at budgets from 1 to 128;
  • Gestalt materialisation, folding, member deltas, migration, and later rematerialisation of the same person;
  • atomic rejection of malformed, stale, or semantically invalid model waves;
  • provider, token, cache, latency, validation, state-version, and build receipts;
  • exact-build deployment and restart verification on Starfire.

The immediate forge work is fixture, canary, and human pressure testing of Session Zero privacy/publication and bounded co-op alongside the existing multiresolution Gestalt agency tests. The public site is provisional; checkout is not live.

Bounded Co-op

Campaign creation now supports one to eight authenticated players. One SessionZeroKernel owns negotiation; after unanimous approval, one WorldKernel owns the shared campaign. Membership binds each account to one exact actor, and every player receives an actor-filtered Eve projection.

This milestone is intentionally one shared scene with sequential public actions. PvP, split parties, private in-play actions, delegation, late joining, and simultaneous declarations remain closed until their consent and governance contracts exist. See docs/architecture/ghostlight-dungeon-session-zero.md and the longer-term multiplayer intention.

Lore Vault Product Intention

The hosted product will accept ordinary Obsidian-compatible lore Vaults synced through Git. Contributor and Private plans provision one active custom Vault; their Plus variants provision three, subject to combined indexed-source and import allowances. The entitlement, accounting rules, authority boundary, and security gates are recorded in docs/product/lore-vault-entitlements.md. Custom tenant import is not yet part of the deployed tester harness.

Architecture

The shortest reliable re-entry path is:

Repository Shape

  • crates/ghostlight-dungeon/: Rust daemon, kernel, compiler, persistence, provider stages, web lowerer, and acceptance harnesses;
  • crates/ghostlight-persona-projection/: generalized projection membrane owned by Ghostlight and consumed by Epiphany;
  • docs/architecture/: durable contracts and authority maps;
  • docs/articles/: accessible public explanations;
  • notes/: implementation planning, handoff, and current-system maps;
  • schemas/: published JSON Schemas for typed boundary documents;
  • examples/: earlier fixtures and regression material;
  • state/: human-readable project memory plus older research-pipeline state;
  • tools/: state, validation, and fixture helpers.

Runtime documents and campaign exports use MessagePack-backed CultCache .cc. JSON exists at schema publication, browser, MCP, model-provider, and diagnostic boundaries; it is not the canonical hosted state store.

Useful Commands

cargo test --workspace
npm run state:status
npm run state:prepare-compaction
npm run schema:validate

For Codex-driven work, read AGENTS.md before changing the repository. It owns the persistence, grounding, verification, and handoff discipline.