Ghostlight/state/map.yaml
2026-05-01 23:40:32 +01:00

114 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 latent state, culture,
memory, perception, and incentives rather than flat persona prompts.
objective:
primary: >
Turn Ghostlight into a legible machine for persistent socially aware
characters that can generate interactive branching scene trees for games,
including speech and non-speech actions, propagate scene consequences into
state and memory, and eventually support procedural
storyline generation, psychologically grounded consumer behavior, and major
faction decision-making without collapsing into prompt soup.
current: >
Move from hand-authored single-turn projection artifacts toward the first
scene-local sequential dialogue tick: local awareness, action or dialogue
choice, event proposal, conservative state mutation, and validation.
constraints:
- Prefer explicit latent state over persona theater.
- Culture should shape priors and incentives, not stamp out clones.
- Prompt text is a projection surface, not the canonical store of truth.
- Keep persistent state small enough to rehydrate without drowning the next session.
- Reuse proven machinery where it fits before inventing ornate nonsense.
- Do not treat an older corridor-crisis game slice as the active Ghostlight implementation target.
- Cold Wake may be used as a pre-Elysium historical grounding fixture, but not as the active product target unless explicitly revived.
- Do not use the obsolete Call of the Void colony-fleet return-home twist; current Aetheria canon sequesters the whole Solar system into Elysium.
- Do not treat malleable Elysium gameplay-era outcomes as fixed lore for grounded training data unless a branch outcome is explicitly promoted.
invariants:
- The map is canonical and slow-changing.
- Scratch is temporary and disposable.
- Evidence is durable and distilled.
- Canonical agent state and per-agent perceived state must remain distinct.
- Listener misread is part of the model, not an error to flatten away.
- Personality must be modeled as layered organization, presentation, and situational activation, not just one bag of labels.
- Authoring outputs must remain explainable in terms of state, relationship, pressure, memory, and goals.
- Character generation should be agent-local: each acting turn should restrict context to what the character knows, feels, wants, remembers, hides, perceives, can attempt, and has authority to affect.
- Aetheria grounded training data should come from authored historical lore; procedural Elysium scenes are branch material until reviewed or promoted.
data_flow:
observe:
- research notes
- implementation artifacts
- simulation requirements
- setting constraints
- AetheriaLore source context
process:
- rehydrate from canonical state
- work one bounded organ
- verify the seam that matters
- distill only belief-changing evidence
- commit or cut the branch
cut:
- kill machinery that does not visibly serve the core model
- move volatile proof to git history or artifacts, not durable notes
- remove active scenario assumptions when the user redirects the product target
active_subgoals:
- Keep Ghostlight as the canonical home for its architecture notes so consumer projects do not quietly regrow duplicate brains.
- Define the canonical agent state model, including first-class volatility, attachment-seeking, and distance-seeking.
- Define how culture shapes priors, incentives, masks, and economic behavior without turning populations into clones.
- Define the boundary between canonical signal, perceived signal, and prompt projection.
- Support content generation for the Call of the Void slice in AetheriaLore and dialogue scaffolding or procedural drama for narrated Aetheria timeline stories.
- Ground projection training in authored Aetheria historical flashpoints before using Ghostlight to generate Elysium branch history.
accepted_design:
- Ghostlight owns the deeper agent-state, personality, culture, relationship, and prompt-projection architecture; other projects can remain consumers instead of shrines.
- Personality is layered: underlying organization, stable dispositions, behavioral dimensions, presentation strategy, situational activation, relationship state, and goals or values.
- The agent model must distinguish canonical state from per-agent perceived state.
- Prompts are rendered projections of perceived state, active memory, and scene pressure; they are not the authoritative store of truth.
- Culture acts as a prior-shaping and incentive field with distributions, covariance, scripts, reward gradients, taboo maps, and prestige structure.
- Synthetic dialogue from known hidden state is a valid bootstrap source for training signal classifiers, but utterances themselves are not ground truth.
- Performance, concealment, and mask maintenance are signal, not just obstruction.
- The near-term Aetheria consumer is authoring support: Call of the Void content generation plus narrated timeline dialogue and procedural drama scaffolding.
- Ghostlight should build drama and narrative pressure, then project character-local dialogue contexts so characters can breathe and act from their own partial state.
- Call of the Void pressure should come from Sol's whole unresolved inheritance being trapped inside Elysium, not from a lone expedition discovering there is no way home.
- The first schema contract lives in schemas/agent-state.schema.json with required first-class dimensions in schemas/agent-state.required-fields.json and a validator in tools/validate_agent_state.py.
- Canonical authored character variables do not carry certainty; perceived dimensions do not expose canonical mean or plasticity, and instead model observed activation, attributed disposition, and confidence.
- Fundamental attribution bias is first-class in perceived state: observers can mistake exceptional behavior for stable character, with stubborn reads emerging from confidence drivers such as memory, stakes, emotion, prejudice, and social reinforcement.
- Voice style is a broad required communication vector covering lyrical speech, formality, verbosity, hedging, coded politeness, theatricality, dialect, register switching, technical compression, ritualized address, and related language mechanics.
- Defensive verbal responses are derived during projection from underlying organization, dispositions, behavioral dimensions, presentation strategy, situational pressure, relationship context, and voice style rather than stored as a separate canonical layer.
- Sarcastic deflection, sincerity evasion, emotional evasion, banter-as-boundary, and verbal aggression are target emergent behaviors for projection tests.
- Dialogue context packs are positive-context payloads; unknown or author-only material is omitted rather than listed as forbidden context, while known secrets are handled through goals, memories, beliefs, and presentation constraints.
- Relationship stance is directional; reciprocal agent pairs need separate edges because trust, fear, obligation, dependence, and betrayal expectations are not symmetric by default.
- Prompt projection should compile state into actor-local awareness and pressure prose through input selection, active-pressure scoring, tension detection, response affordance derivation, projection controls, compact prompt rendering, and post-generation evaluation.
- Projection must allow characters to act, not only speak; response turns can be dialogue, action, silence, withdrawal, violence, resource use, concealment, revelation, or mixed beats when state and scene pressure justify them.
- Projection distillation is the long-term optimization path: a frontier teacher model generates reviewed projection artifacts, and a smaller student projector is trained only after the artifact schema, deterministic input slicer, and evaluator are stable.
- Behavioral warmth and verbal warmth are separate axes: `interpersonal_warmth` describes social care or welcome, while `verbal_warmth` describes soft or reassuring language surface.
- Events can carry lightweight observed exchange, private interpretation, and event-effect scaffolding so prompt projection can reason from appraisal and consequence without pretending the v0 schema is already a full transition engine.
- Future social-simulation mechanisms should be documented and tested through projection artifacts before promotion into the canonical schema.
- Projection examples use `ghostlight.projection_example.v0` JSONL records with traceable known facts, active pressures, tensions, response affordances, voice surface, rendered prompt text, and audit checks.
- Aetheria projection training has two modes: historical grounded fixtures from authored lore, and procedural Elysium branch fixtures that test generation without canonizing gameplay-era outcomes.
- Lore grounding digests use `ghostlight.lore_grounding_digest.v0` records to distill authored lore into cultural pressure fields, factional misread maps, role pressures, speaker knowledge boundaries, and author-only exclusions.
- The Cold Wake Panic is the first chosen historical grounding fixture: a draft Ganymede corridor digest now models thermal stealth panic, insurer category failure, Navigator rescue obligation, Lightsail reliability pressure, Aya-coded care pressure, pirate porosity, Cognitum firmware denial, and Cryonix/Rossum certification culture.
- The Cold Wake story lab uses Maer Tidecall as protagonist across a four-scene arc: tribunal freeze, sanctuary intake, Callisto provenance, and convoy threshold. The first Qwen run produced a useful mixed action/dialogue beat and exposed a prompt weakness around unresolved personhood suspicion.
- Projection controls are now first-class in projection examples: frame_controls, authority_boundaries, object_custody, required_semantics, and forbidden_resolutions capture failure lessons before prompt prose is rendered.
- Qwen response captures are validated training receipts, not loose logs; accepted, rejected, and useful-needs-revision outputs should keep review status, response kind, strengths, failures, and pipeline lessons.
- The first complete Cold Wake short story, The Narrowest Possible Margin, is assembled from Ghostlight projection receipts plus in-session connective narration.
- Single-turn projection is a debug and training seam, not the final procedural-generation shape; the near-term runtime target is scene-local interactive dialogue generation with agents acting from local awareness, producing event proposals, and mutating bounded state.
- Generated action should become an event proposal resolved by mutation authority, not direct unrestricted edits to world or other-agent private state.
- Sequential runtime action primitives should stay concrete; ask, refuse, offer, reveal, conceal, and request are communicative intentions carried by actions, while listener interpretation remains separate and may be wrong.
- Early fuzzy social updates should be manual reviewed training data, not brittle rule-based appraisals pretending to understand relationships before the corpus exists.
- Scope boundary: implement interactive branching scene trees and scene-local consequences first; dialogue trees include speech and non-speech actions, while preserving training data hooks for open-world contexts, iterated decisions, economic behavior, scarcity, reputation, faction pressure, and institution decision-making.
- Do not train dialogue-only models that will be useless for later game-world simulation; reviewed scene data should preserve why agents buy, refuse, trade, hoard, comply, defect, conceal, punish, or help when those decisions appear.
- Branching scene generation should propose plausible protagonist choices, including speech, silence, movement, object use, concealment, revelation, withdrawal, violence, trade, or refusal, then record NPC responses and branch consequences such as trust loss or future hooks.
current_status:
summary: Ghostlight now has the Epiphany-style persistence spine, the first architecture payload, the v0 canonical agent-state schema seam, prompt projection docs, immediate schema fixes from evaluation, first reviewed Cat/Oz projection examples, a revised Aetheria lore-grounding architecture, a lore grounding digest schema, the first draft Cold Wake historical grounding digest, a Cold Wake story-lab fixture, projection controls, validated Qwen capture receipts, and a complete Cold Wake short story assembled from accepted projection outputs.
next_action: Build the first deterministic scene-local branching prototype: local awareness, projection controls, protagonist speech/action choices, NPC response generation, event proposals, conservative state mutation, and validation on one Cold Wake story-lab beat.