5.1 KiB
Projected Local Context
The projected local context is the missing seam between canonical Ghostlight state and a character agent.
Canonical state is storage. It can contain means, plasticity, activation, relationship stance, memories, culture, goals, and author-facing source paths. A character response model should not have to interpret that machinery. It should receive a compact operating context: what this character knows, wants, misreads, can do, sounds like, and must not resolve.
Contract
Pipeline:
canonical state + scene + reviewed annotation
-> projector/state interpreter
-> ghostlight.projected_local_context.v0
-> response-model prompt
-> generated action proposal
The projected context may retain source references for audit. The rendered
prompt text must not expose raw state internals such as current_activation,
plasticity, means, or selected numeric dimensions.
Artifact Shape
Schema: schemas/projected-local-context.schema.json
Validator: tools/validate_projected_contexts.py
Generator: tools/project_local_context.py
Current examples:
examples/projected-contexts/scene-02-sanctuary-intake.maer_tidecall.projected-context.jsonexamples/projected-contexts/scene-02-sanctuary-intake.sella_ren.projected-context.json
The context contains:
- speaker identity and setting
- known facts and speaker beliefs
- current stakes
- embodiment and interface affordances
- active inner pressures rendered as ordinary language
- relationship read and known biases
- tensions
- runtime retrieval requirements
- latent pressure requirements
- action affordances
- projection controls
- voice surface
- likely response moves
- do-not-invent boundaries
- rendered prompt text
Retrieval And Latent Pressure
The projector now emits two explicit requirement lists before the responder packet is built.
runtime_retrieval_requirements are compact lore facts the runtime should
include when their trigger is scene-relevant. They are not a license for a
responder to browse the lore archive. They are coordinator or retriever outputs
with source refs and a prompt role. In the Cold Wake sanctuary scene, the active
requirements cover heat-debt timing, Navigator rescue ledgers, Aya sanctuary
capacity politics, and Ganymede/Lightsail route obligations.
latent_pressure_requirements are character-local history or emotional pressure
that must remain visible to the responder because it can shape behavior. They
are not dialogue requirements. Sella's memory of a sanctuary overpromising
safety should bias her toward capacity suspicion, condition-setting, and hard
triage boundaries. It should not make her announce the memory in the middle of
a mission-critical exchange unless the scene genuinely asks for that.
The rendered prompt includes these as:
Retrieved Lore To Keep In ViewLatent Pressure Handling
The responder packet also copies source-excerpt retrieval requirements into its
source_excerpts, so packet-only tests can evaluate the same bounded context a
runtime responder would receive.
Runtime Boundary
The character model receives local operating context, not omniscient truth. If Maer acts, Sella's next pass receives only the observable event and Sella's own local context. Maer's private intent is not included.
The sequential runtime still owns:
- tool contracts
- action enums
- event proposal capture
- participant appraisal
- reviewed mutation
- branch compiler / Ink materialization
The projector owns the translation from Ghostlight's internal state language to character-local operating prose.
Current Limit
The first projector is deterministic and deliberately simple. It uses threshold language like "dominant", "strong", "present", and "background" rather than numeric scores. This is enough to remove raw state soup from responder prompts and create inspectable training artifacts.
Later versions can become smarter, but they should still preserve this boundary: response models act from projected local context; they do not become ad hoc interpreters of the canonical schema.
Embodiment Boundary
Embodiment is part of the prompt surface, not flavor garnish. If a character is a cetacean Navigator, the response model must know what kind of body is acting and what infrastructure surrounds it.
For Aetheria factions, project faction-specific affordances only after checking the lore source. The current Navigator projection is grounded in:
E:\Projects\AetheriaLore\Aetheria\Worldbuilding\Pre-Elysium\Factions\Powers\Major\Cetacean Navigators.mdE:\Projects\AetheriaLore\Aetheria\Worldbuilding\Pre-Elysium\Technology\Uplift.md
Those sources support fluid architecture, acoustic signaling, soft navigation light, layered water motifs, communal orientation chambers, mixed-species translation/coexistence, specialized environments for cetacean physiology, and mixed wet/dry interface ergonomics for Navigator-adjacent habitats.
Do not let the model default to hands, pockets, standing, walking, leaning, or doorway blocking unless the fixture explicitly establishes that visible interface. Do not patch over missing lore with confident furniture.