experiment: name: Ghostlight status: incubation phase: phase_0_scaffold premise: > Build a durable research and implementation home for socially persistent generative agents whose behavior emerges from personality, culture, memory, perception, incentives, and situation rather than flat persona prompts. mission: primary: > Generate psychologically grounded branching scenes, dialogue, actions, social consequences, and eventually storylines, consumer behavior, faction decisions, and technology/item manifests for Aetheria. near_term: > Produce sandboxed, source-grounded branching-scene training data through projected local context, responder packets, reviewed outputs, mutation receipts, coordinator continuity, branch compiler artifacts, and IF review. voidbot_goal: > Keep the appraiser, relationship/perception updater, and memory machinery useful for VoidBot's core companion mission: reading specific humans over time, forming grounded opinions about them, noticing misreads, and updating trust, concern, irritation, respect, boundaries, and expectations from evidence rather than generic friendliness. active_fixture: > Cold Wake is a pre-Elysium historical training fixture, not the product target. Call of the Void and Elysium-era gameplay remain procedural consumer targets. hard_boundaries: - Prompt text is projection, not truth storage. - Canonical agent state and per-agent perceived state must remain distinct. - Characters act from local knowledge, local perception, local pressure, and bounded affordances. - Listener misread is first-class; intent and interpretation are not the same object. - Human-facing appraisal is a first-class target; VoidBot must be able to read people, form grounded opinions, and revise those opinions over repeated contact. - Generated action is an event proposal; deterministic gates and reviewed mutation decide what becomes state. - Fuzzy judgments become reviewed training artifacts before they become trained models. - Aetheria generation is source-first; check lore for factions, bodies, locations, institutions, and constraints before projection. - Elysium futures are branch-local canon indexed by lineage, not single-history Sol facts. - Technology exploration must emit game-usable item, component, assembly, supply-chain, compatibility, and provenance data mapped toward Aetheria-Economy. - Interactive-fiction fixtures should branch and fold: normalize most consequences into compact state variables and shared-scene conditionals, reserving isolated route splits for major world-changing divergence. - Interactive-fiction fixtures require independent artifact review before acceptance; tracked variables must materially affect later affordances, risk, appraisal, callbacks, visual state, or outcomes, unless explicitly marked telemetry-only. - Complete interactive-fiction fixtures must emit visual art direction for website imagery, with one durable base image prompt per scene and additive modification prompts for branch-visible consequences and scene-state changes. - Archived local-model prototype runners are receipts and plumbing tests, not the gold-data path. live_architecture: state_model: - Layer personality through organization, disposition, behavior, presentation, situational activation, relationships, goals, and values. - Canonical authored state has no certainty; perceived overlays carry observed activation, attributed disposition, and confidence. - Voice style is a broad communication vector; defensive verbal behavior should emerge from state, pressure, relationship, and presentation. projection: - Project canonical state into character-local operating context before any responder sees it. - Include scene facts, relevant memory, relationship read, stakes, embodiment/interface affordances, action affordances, projection controls, retrieved lore, and latent pressure handling. - Hide raw state internals such as means, plasticity, current_activation, and numeric dimensions from prompt text. responder_packets: - `packet_only` tests runtime parity from curated source excerpts. - `retrieval_augmented` bakes setting texture into reviewed outputs through scoped retrieval. - `responder_scoped_repository_search` allows the responder to inspect declared seed scope, follow bounded relevant AetheriaLore links, and requires consulted refs, followed refs, research trace, plus research summary. - Gold responder data must preserve exact visible input, raw output, parsed/reviewed output, hidden-context refs, leakage audit, isolation method, and coordinator interventions. coordinator: - The coordinator is a trainable soft organ: it stages scenes, chooses next beats and acting agents, invokes specialist machinery, carries unresolved hooks, emits glue prose, and proposes game-engine-shaped state changes. - Glue prose is training signal, not canonical truth. branch_compiler: - The branch compiler turns fixture briefs, lore digests, scene/world state, actor-local branch candidates, reviewed consequence packets, fold plans, and visual continuity requirements into playable Ink plus training sidecars and compiler notes. - The branch compiler owns playable structure, conditionals, variables, callbacks, fold materialization, and image prompt handles; it does not own hidden character truth, participant appraisal, or durable social mutation. training_targets: - Coordinator/story runtime - Memory and lore retrieval - Projector/state interpreter - Character agent/responder - Participant appraiser - State mutator - Relationship/perception updater - Branch compiler for Ink materialization, fold/callback structure, sidecar generation, and visual prompt handles - Interactive-fiction artifact reviewer for fake variables, cosmetic choices, missing state reads, fake folds, and visual callback gaps - Human-facing appraisal and opinion model for VoidBot - Evaluator/review classifiers - Aetheria-tuned responder - Institution, faction, and consumer decision models active_subgoals: - Keep Ghostlight focused on the architecture and data pipeline for socially persistent agents. - Build schema-stable, sandboxed responder, coordinator, branch compiler, and IF review data before chasing larger runtime loops. - Preserve Aetheria grounding through source-backed lore, branch labels, and reviewed assumptions. - Shape every soft judgment as future training data, not permanent prompt folklore. - Keep item/technology exploration database-shaped for Aetheria-Economy instead of prose-only worldbuilding, including colony-consumed manufactured trade goods, not only gear assemblies. - Track corpus coverage across all major factions, minor factions, movements, and flashpoints so no single fixture becomes the training universe by accident. coverage_targets: current_lore_counts: major_powers: 12 minor_powers: 21 movements: 23 pre_elysium_flashpoints: 24 defunct_absorbed_powers: 5 baseline_story_fixtures: 92 baseline_with_defunct: 97 practical_first_broad_target: 100-150 reviewed fixtures major_power_requirement: founding-era story plus day-in-the-life story collision_requirement: every coverage story should involve multiple cultures, factions, movements, institutions, or body/infrastructure assumptions colliding current_artifacts: canonical_docs: - notes/documentation-inventory.md - docs/architecture/prompt-projection-contract.md - docs/architecture/projected-local-context.md - docs/architecture/sequential-agent-runtime.md - docs/architecture/ink-branching-scenes.md - docs/architecture/aetheria-lore-grounding-architecture.md - docs/architecture/sandboxed-responder-packets.md - docs/architecture/soft-model-training-artifacts.md - docs/architecture/training-plan.md - docs/architecture/technology-item-manifest-plan.md schemas: - schemas/agent-state.schema.json - schemas/projection-example.schema.json - schemas/lore-grounding-digest.schema.json - schemas/projected-local-context.schema.json - schemas/coordinator-artifact.schema.json - schemas/responder-packet.schema.json - schemas/responder-output.schema.json prompts: - prompts/README.md - prompts/sandboxed-responder-packet.md - prompts/research-sanity-responder.md - prompts/narrative-quality-reviewer.md live_examples: - examples/lore-grounding/cold-wake-panic.ganymede-corridor.json - examples/projected-contexts/scene-02-sanctuary-intake.sella_ren.projected-context.json - examples/coordinator/cold-wake-sanctuary-intake.v0.json - examples/responder-packets/scene-02-sanctuary-intake.sella_ren.packet.research.v0.json - experiments/responder-packets/cold-wake-sanctuary-intake-sella-v0.capture.json - experiments/responder-packets/cold-wake-sanctuary-intake-sella-v0.mutation.json - experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.capture.json - experiments/responder-packets/cold-wake-sanctuary-intake-sella-research-enabled-v0.mutation.json - experiments/research-sanity/navigator-embodiment-sanity-v0.capture.json - examples/agent-state.cold-wake-story-lab.after-sella-research-conditions.json - examples/projected-contexts/scene-03-callisto-provenance.veyr_oss.projected-context.json - examples/responder-packets/scene-03-callisto-provenance.veyr_oss.packet.trace.v0.json - examples/coordinator/cold-wake-callisto-provenance.v0.json - experiments/responder-packets/cold-wake-callisto-provenance-veyr-trace-v0.capture.json - experiments/responder-packets/cold-wake-callisto-provenance-veyr-trace-v0.mutation.json - examples/agent-state.cold-wake-story-lab.after-veyr-category-offer.json - examples/projected-contexts/scene-04-convoy-threshold.isdra_vel.projected-context.json - examples/responder-packets/scene-04-convoy-threshold.isdra_vel.packet.trace.v0.json - examples/coordinator/cold-wake-convoy-threshold.v0.json - experiments/responder-packets/cold-wake-convoy-threshold-isdra-trace-v0.capture.json - experiments/responder-packets/cold-wake-convoy-threshold-isdra-trace-v0.mutation.json - examples/agent-state.cold-wake-story-lab.after-isdra-limited-contact.json - examples/projected-contexts/scene-05-sanctuary-authorized-contact.sella_ren.projected-context.json - examples/responder-packets/scene-05-sanctuary-authorized-contact.sella_ren.packet.trace.v0.json - examples/coordinator/cold-wake-sanctuary-authorized-contact.v0.json - experiments/responder-packets/cold-wake-sanctuary-authorized-contact-sella-trace-v0.capture.json - experiments/responder-packets/cold-wake-sanctuary-authorized-contact-sella-trace-v0.mutation.json - examples/agent-state.cold-wake-story-lab.after-sella-bay-opened.json - examples/ink/cold-wake-branch-and-fold.v0.ink - examples/ink/cold-wake-branch-and-fold.v0.training.json - examples/coordinator/cold-wake-branch-and-fold.v0.json - experiments/cold-wake-story-lab/cold-wake-branch-and-fold-clean-run.v0.md - examples/lore-grounding/pallas-species-strikes.awakened-labor.v0.json - examples/agent-state.pallas-species-strikes.v0.json - examples/coordinator/pallas-species-strikes.branch-and-fold.v0.json - examples/ink/pallas-species-strikes.branch-and-fold.v0.ink - examples/ink/pallas-species-strikes.branch-and-fold.v0.training.json - experiments/pallas-species-strikes/pallas-species-strikes.branch-and-fold-clean-run.v0.md archived_receipts: - Archived local-model prototype captures remain under experiments/ and examples/ink/ for validation and lessons, not active steering. - docs/architecture/qwen-invocation-notes.md is archived local-model plumbing guidance, not the current gold-data route. data_flow: - Rehydrate from map, handoff, system map, implementation plan, and `npm run state:status`. - Work one bounded organ. - Verify the seam that matters. - Add distilled evidence only when future belief changes. - Commit and push completed work. - If state grows faster than understanding, cut it back. current_status: summary: Pallas Species Strikes now has an accepted-as-draft branch-and-fold IF fixture grounded in AU cavity-yard labor, Awakened Labor organizing, BioElevate uplift/biodrone systems, baseline displacement fear, and cephalopod maintenance leverage. Cold Wake remains an archived historical fixture and local-model receipt surface, not the active gold-data path. next_action: Review the Pallas fixture as a readable IF artifact and training scaffold; then either revise it from review, add the corpus coverage ledger, or select the next Aetheria fixture from the 100-150 broad coverage target.