6.3 KiB
Ghostlight Current System Map
Ghostlight does not have a full runtime yet. The live system is a set of validated artifact seams for producing reviewed training data.
Control Flow
- Rehydrate from
state/map.yaml,notes/fresh-workspace-handoff.md, this file, andnotes/ghostlight-implementation-plan.md. - Run
npm run state:status. - Work one bounded organ.
- Validate the seam that matters.
- Persist only belief-changing evidence.
- Commit and push completed work.
Core Surfaces
state/map.yaml: canonical mission, boundaries, live architecture, next action.state/evidence.jsonl: distilled belief-changing evidence only.state/evidence.archive.jsonl: older evidence preserved for archaeology.state/corpus-coverage.json: accepted/planned fixture coverage ledger.notes/fresh-workspace-handoff.md: compact re-entry packet.notes/ghostlight-implementation-plan.md: near-term implementation sequence.docs/architecture/: detailed contracts and rationale.
Active Artifact Pipeline
Aetheria lore/source context
-> lore grounding digest / source notes
-> canonical agent and scene state
-> projected local context
-> responder packet
-> sandboxed responder output
-> review and leakage audit
-> mutation receipt
-> updated scene/world/social state
-> coordinator continuity and next-beat plan
-> branch compiler materializes Ink + sidecar + visual plan + compiler notes
-> IF artifact reviewer audits consequence, fold, and visual continuity
-> narrative/lore/spatial/visual reviewers audit player-facing quality
-> accepted fixture / future training corpus + optional illustrated replay collateral
Responder packets are one seam, not the whole project. The branching scene path also requires coordinator receipts, branch compiler artifacts, and independent review before a fixture is accepted.
Tone is a live seam. The system should preserve Aetheria's range instead of defaulting to dry technical crisis prose: comic warmth, domestic routine, ritual memory, weird bureaucracy, noir suspicion, wonder, horror, poetic dread, and procedural systems pressure are all valid when source-grounded and character-local. Adams/Pratchett-style wit-with-stakes is a useful default touchstone for counterbalancing bleakness without dissolving consequence.
Visual replay is a presentation seam, not a core social-model training seam.
Illustrated IF fixtures need click-through sections with stable
visual_scene_id anchors, stable visual character refs for recurring named
characters, a global style cue when the visual language matters, imagegen-ready
base prompts, character visibility and stance controls, and branch/state
modifiers. This data belongs in a separate .visual.json artifact referenced
by the training sidecar, not inside the training annotation itself.
Generated images are not geometry authority. They can establish visual mood,
materials, and concept direction, but multi-angle illustrated IF needs a durable
scene_set source such as a hand-built 3D blockout, procedural scene file, or
layout asset with named cameras and staging slots. For those scenes, imagegen is
the painter/render pass over a camera-specific blockout, not the architect of
the room.
Important Contracts
- Agent state:
schemas/agent-state.schema.json - Projection examples:
schemas/projection-example.schema.json - Lore grounding:
schemas/lore-grounding-digest.schema.json - Projected local context:
schemas/projected-local-context.schema.json - Coordinator artifacts:
schemas/coordinator-artifact.schema.json - Responder packets:
schemas/responder-packet.schema.json - Responder outputs:
schemas/responder-output.schema.json - Ink branch contract:
docs/architecture/ink-branching-scenes.md - Illustrated IF visual pipeline:
docs/architecture/illustrated-if-visual-pipeline.md - Training stages and corpus gates:
docs/architecture/training-plan.md - Corpus coverage ledger:
docs/architecture/corpus-coverage-ledger.md
Current Live Example
Pallas Species Strikes is the active accepted-as-draft coordinator/IF scaffold:
examples/lore-grounding/pallas-species-strikes.awakened-labor.v0.jsonexamples/agent-state.pallas-species-strikes.v0.jsonexamples/coordinator/pallas-species-strikes.branch-and-fold.v0.jsonexamples/ink/pallas-species-strikes.branch-and-fold.v0.inkexamples/ink/pallas-species-strikes.branch-and-fold.v0.training.jsonexamples/visual/pallas-species-strikes.branch-and-fold.v0.visual.jsonexperiments/pallas-species-strikes/pallas-species-strikes.branch-and-fold-clean-run.v0.mdexperiments/pallas-species-strikes/pallas-species-strikes.visual-scene-review.v1.json
The fixture is not raw responder gold. It is scaffold data for coordinator, branch compiler, IF review, visual planning, lore grounding, and future corpus shape.
Pruned Receipts
Old prototype fixture receipts and model-runner files have been removed from the live workspace. Their useful lessons belong in the architecture docs, state map, evidence ledger, and git history. Do not reintroduce deleted receipt paths as active state surfaces.
Missing Or Incomplete Organs
- Deterministic speaker-local input slicer
- Full prompt renderer
- Classifier/appraiser pipeline
- Relationship/perception updater
- State mutator model
- Student projector
- Branch compiler implementation beyond coordinator-authored fixtures
- IF artifact reviewer implementation beyond manual/frontier review
- Visual scene continuity reviewer implementation beyond prompted specialist review
- Full scene/event loop implementation
- Culture prior engine
- Automatic promotion of branch outcomes into canonical state
- Corpus coverage ledger expansion beyond the initial Pallas row
Current North Star
Generate high-quality, sandboxed, source-grounded branching-scene samples that can later train specialized Ghostlight models while staying usable by a game engine: exact inputs, exact outputs, provenance, review labels, state mutation receipts, branch compiler artifacts, IF review findings, visual scene plans, and clear branch consequences. The samples should also train tonal control: a fixture needs an intentional prose mode and enough ordinary life for consequence to matter.
Use npm run coverage:status before choosing new fixtures so the corpus grows
by coverage need instead of proximity to the nearest interesting disaster.