Ghostlight/state/map.yaml
2026-05-03 08:48:05 +01:00

181 lines
13 KiB
YAML

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.