44 KiB
Ghostlight Training Plan
This document enumerates the trainable stages in Ghostlight so data generation stays aimed at the machine we are building instead of becoming a heap of interesting corpses.
The rule is simple: deterministic code owns legality, visibility, schemas, resource math, source provenance, Ink compilation, and mutation gates. Models handle judgment, language, social inference, prioritization, and coordination. Every model-facing judgment should leave a reviewed artifact.
Ghostlight is also the training ground for VoidBot's social intelligence. The appraiser and relationship/perception organs must remain useful for reading real human interaction over time: forming grounded opinions, noticing uncertainty and misread risk, tracking trust, irritation, concern, respect, boundaries, and expectations, and revising those impressions when later evidence contradicts the first read. If these organs only work for fictional NPC scene mutation, they have missed one of the original reasons the project exists.
Timeline Coverage
Ghostlight training should cover three timeline lanes:
historical_grounded: authored late-Sol and pre-Elysium history, used for primary grounded social pressure.transition_grounded: the rupture, displacement, and early Elysium shock, used for continuity between old institutions and altered conditions.future_branch: possible post-Rupture Elysium futures, used to teach models Aetheria's stranger concepts as branch-local canonical histories.
The future branch lane is not optional. The models need to handle post-Rupture concepts such as Aether, pseudospace, temporal nonlinearity, spirits, necrotech, mutable bodies, altered substrates, and new species or institutional forms. Late Sol teaches the old damage. Elysium teaches what the damage does when reality starts handing out knives with metaphysics on the receipt.
Sol timeline data is a single-history artifact. Elysium timeline data is conditional canon: every possible future is true inside the branch whose prior state produced it. Training data must preserve branch lineage so the model learns conditional continuity instead of mashing incompatible futures into one omnivorous sludge.
Future-branch examples must label:
- source constraints from authored post-Elysium concepts
- generated branch assumptions
- local branch facts
- branch lineage and prior conditions
- sibling-branch exclusion boundaries
- branch-local facts that must not leak into single-history Sol training or unrelated Elysium branches
- event constraint type:
branch_attractor,fated_event,tech_order_constraint,quest_injection, orbranch_local_event - prerequisites, exclusions, and pull strength for constrained events
- the post-Rupture concept being exercised
- the old social pressure being re-expressed
Lore Coverage Matrix
No single fixture is a corpus. A complete Aetheria training corpus needs coverage across the setting's institutional ecology before the models can be trusted to carry tone, conflict, and cultural priors without constant hand feeding.
Before calling the corpus complete, generate reviewed story/scenario coverage for:
- every major faction
- every minor faction
- every movement and counter-project
- every major historical flashpoint
- every major post-Rupture concept or branch-attractor family used in gameplay
- faction-adjacent institutions that strongly shape daily life, trade, law, care, warfare, media, faith, logistics, or embodiment
Major factions need at least two distinct story types:
founding_era_story: the faction's formative pressure, first stable myth, early institutional compromise, or founding betrayal.day_in_the_life_story: ordinary operating texture after the faction has matured, showing how people actually live inside its systems.
Minor factions, movements, and flashpoints need at least one strong story or branching-scene fixture each, plus negative or rejected examples where the first attempt collapses into stereotype, lore drift, or generic sci-fi wallpaper.
Every accepted coverage story should involve cultural collision. Do not write sealed terrariums where one faction monologues at itself and calls that worldbuilding. The useful data comes from contact:
- major faction versus major faction
- major faction versus minor faction
- faction versus movement
- movement versus movement
- institution versus care network
- local colony versus imported authority
- species/body affordance versus human-default infrastructure
- technical standard versus ritual, law, class, scarcity, or dignity
Coverage records should tag:
- primary faction or movement
- secondary and tertiary factions or movements
- flashpoint or era
- story type:
founding_era_story,day_in_the_life_story,flashpoint_story,movement_story,future_branch_story, ortrade_life_story - collision axis: law, care, class, logistics, species/body, labor, faith, media, war, trade, personhood, ecology, memory, technology, or legitimacy
- involved cultures and their mutual misreads
- item/economy hooks discovered, including colony-consumed trade goods
- source refs and open lore gaps
- accepted, rejected, or needs-revision review status
The first pass can be shallow and uneven. The final corpus cannot be. If one flashpoint starts producing all the examples, stop and rebalance before the model learns that Aetheria is mostly one corridor argument wearing different coats.
Some Elysium events are not globally fixed, but they are not equally optional either. Founding events for Elysium-born factions, technology discoveries, metaphysical practices, and quest hooks should be represented as attractors, rails, or injections when appropriate.
branch_attractor: likely under recurring pressures, with local variation.fated_event: authorially constrained to occur unless the branch disables it.tech_order_constraint: locked behind prerequisite discoveries or systems.quest_injection: authored content inserted into compatible branch points.branch_local_event: true only inside its lineage, with no cross-branch pull.
Future exploration must also emit technology and item knowledge when a branch
discovers or changes material capability. See
docs/architecture/technology-item-manifest-plan.md for the manifest seam. That
seam targets the existing Aetheria-Economy CultCache model: Ghostlight proposes
reviewed candidate ItemData technological blueprints such as
SimpleCommodityData, CompoundCommodityData, ConsumableItemData, GearData,
and specialized EquippableItemData subclasses, while runtime ItemInstance
objects belong to scene, inventory, cargo, provenance, branding, and world-state
simulation.
CompoundCommodityData candidates are not limited to gear assemblies or
manufacturing inputs. They also cover finished manufactured trade goods consumed
by colonies, habitats, institutions, ships, clinics, species communities, and
faction enclaves. A generated detail like a Navigator wet-interface cradle is
therefore both world texture and a possible colony demand item, not just prose
decoration.
Runtime Stack
Target runtime flow:
world state + author constraints + lore grounding
-> coordinator/story runtime
-> deterministic state slice and source checks
-> projector
-> sandboxed character agent/responder
-> event resolver and deterministic gates
-> participant appraiser
-> state mutator
-> relationship/perception updater
-> coordinator carries hooks, glue prose, and next beat
-> branch compiler materializes branch-and-fold Ink plus sidecar receipts
-> IF artifact reviewer accepts, rejects, or sends the fixture back
Some stages are trained as generative models. Some are trained as classifiers or rankers. Some may remain manual longer than the rest because bad automation here would create narrative sewage with confidence.
Corpus Scale Tiers
The per-stage counts below are pilot gates, not robust training targets.
Pilot data exists to shake out schema mistakes, artifact shape problems, leakage boundaries, reviewer workflow, and validator gaps. It is allowed to be sacrificial. If a pilot proves that the schema is wrong, update the schema and accept that some pilot artifacts may become obsolete. Better a small controlled burn than a cathedral built from cursed bricks.
Use three corpus tiers:
pilot_schema_shakedown- proves that artifacts can be produced, reviewed, validated, and loaded
- exposes missing fields, wrong boundaries, bad labels, and impossible assumptions
- may be invalidated by schema changes
review_assistant_target- enough examples for a model to draft useful candidates under human or frontier-model review
- still not trusted for unattended runtime mutation or simulation authority
- expected to include broad negative examples and repair labels
runtime_target- enough diversity, sequence coverage, negative coverage, and adversarial checks to trust a model inside automated loops with deterministic gates
- requires held-out evaluation sets, regression fixtures, and failure audits
- still cannot bypass deterministic legality, visibility, source, or mutation gates
Approximate target scale:
| Stage | Pilot Schema Shakedown | Review Assistant Target | Runtime Target |
|---|---|---|---|
| Lore grounding compiler | 25 accepted / 25 rejected | 500+ digests | 2,000+ digests |
| Coordinator/story runtime | 50 accepted / 25 rejected | 1,000+ turns | 5,000+ turns |
| Memory/lore retriever | 500 labeled pairs | 5,000+ pairs | 50,000+ pairs |
| Projector | 100 accepted / 50 rejected | 1,000+ examples | 5,000+ examples |
| Character agent/responder | 200 accepted / 100 rejected | 2,000-5,000 turns | 10,000+ turns |
| Event resolver normalization | 100 reviewed examples | 1,000+ examples | 5,000+ examples |
| Participant appraiser | 300 appraisals | 3,000+ appraisals | 10,000+ appraisals |
| State mutator | 500 accepted / 200 rejected | 5,000+ patches | 10,000+ patches |
| Relationship/perception updater | 500 updates | 5,000+ updates | 20,000+ sequence updates |
| Branch compiler | 25 fixtures / 25 rejected | 500 fixtures | 2,000+ fixtures |
| IF artifact reviewer | 100 reviewed fixtures / 100 labeled failures | 2,000+ labeled fixtures | 10,000+ labeled fixtures |
| Guardrail/evaluator classifiers | 300 labeled failures | 3,000+ labeled outputs | 20,000+ labeled outputs |
| Institution/faction/consumer decisions | 500 decisions | 5,000+ decisions | 20,000+ decisions |
| Technology/item manifests | 100 records / 50 rejected | 1,000+ manifests | 5,000+ manifests |
The exact numbers will move once we know which organs are narrow classifiers, which are generative, which can lean on retrieval, and which are mostly deterministic code wearing a little judgment hat. The important rule is that the first gate proves the schema and workflow. It does not prove robustness.
Model Families
Use these as the default architecture assumptions until evidence says otherwise.
Generative Decoder LLM
Use for stages that must produce structured JSON plus prose or action text.
Likely training method:
- supervised fine-tuning
- LoRA or QLoRA for local experiments
- full fine-tune only after corpus shape stabilizes and the model deserves the electricity
Candidate stages:
- coordinator/story runtime
- projector, if deterministic projection becomes too brittle
- character agent/responder
- branch compiler, if rule-assisted Ink materialization is too narrow for authored fixture variety
- state mutator, only after the mutation schema is very stable
- institution/faction planner, if it needs explanations and mixed outputs
- item or technology manifest generator, if structured extraction from coordinator exploration becomes too broad for deterministic templates
Classifier Or Cross-Encoder
Use for stages that score or label an event, branch, or output.
Likely training method:
- supervised classification
- multi-label classification
- pairwise ranking when choosing between candidates
- calibrated confidence where downstream decisions need thresholds
Candidate stages:
- participant appraiser
- relationship/perception updater
- output evaluator
- IF artifact reviewer
- candidate action ranker
- lore/source violation detector
- prompt-leak detector
- branch-consequence and fake-fold detector
- technology and item manifest evaluator
Embedding Or Retrieval Model
Use for selecting relevant memories, lore, prior events, and source snippets.
Likely training method:
- start with off-the-shelf embeddings
- add contrastive or triplet tuning only after enough positive and negative retrieval examples exist
Candidate stages:
- memory retrieval
- lore retrieval
- precedent retrieval for coordinator planning
- technology prerequisite and component dependency retrieval
Deterministic Code
Keep as code, not a model:
- schema validation
- action enum validation
- visibility filtering
- object custody
- resource accounting
- mutation authority
- source provenance requirements
- Ink compilation
- artifact status validation
- world-state patch application
- item manifest validation and compatibility checks
Trainable Stages
1. Lore Grounding Compiler
Purpose: turn Aetheria source material into scene-local grounding digests.
Current implementation:
- mostly manual plus frontier-model assistance
- validated by
schemas/lore-grounding-digest.schema.json
Inputs:
- AetheriaLore source paths and excerpts
- target time period
- target location or institution
- involved factions, species, roles, and social movements
- author constraints
- fixture lane:
historical_grounded,transition_grounded, orfuture_branch
Outputs:
- lore grounding digest
- cultural pressure fields
- factional misread maps
- material constraints
- post-Rupture concept constraints, when applicable
- speaker knowledge boundaries
- author-only exclusions
- open lore gaps
- generated branch assumptions, for future branches
- branch lineage and sibling-branch exclusion boundaries
Training architecture:
- generative decoder LLM for digest drafting
- classifier/evaluator for source-grounding failures
- retrieval model for source passage selection later
Training artifacts:
- accepted digests
- rejected digests
- source-gap records
- source violation labels
- corrections tied to AetheriaLore paths
Pilot schema shakedown gate:
- 25 accepted digests across distinct Aetheria eras or institutions
- 25 rejected/source-violation examples
- evaluator catches unsupported room-scale assumptions
- at least 5 future-branch digests exercising authored post-Elysium concepts before training a responder expected to handle Elysium weirdness
2. Coordinator Or Story Runtime
Purpose: decide what happens next at the scene/story level and keep the whole machine pointed at usable game content.
Current implementation:
- Codex/frontier coordinator in the loop
- authored glue prose
- manual world-state continuity
Inputs:
- game-engine-shaped world state
- scene state
- event history
- unresolved hooks
- active branch flags
- author constraints
- lore grounding digest refs
- available deterministic tools
- available soft organs
- prior reviewer notes
- fixture lane and canon status
- post-Rupture concept constraints for future branches
- active attractors, fated events, tech-order gates, and quest-injection hooks
- current technology and item manifest refs
- faction tech-base refs
Outputs:
- next beat or next scene plan
- selected acting agent
- tool/model invocation plan
- world-state refs read
- proposed world-state changes
- branch merge/split decision
- unresolved hooks carried forward
- glue prose
- reviewer-facing rationale
- generated branch assumptions and promotion candidates, for future branches
- branch lineage and conditional truth boundaries
- selected attractor, fate, technology, or quest constraints that shape the next beat
- item, component, assembly, supply-chain, or faction tech-base deltas implied by the scene or branch decision
- colony-consumed manufactured goods and demand-profile deltas implied by habitats, institutions, species communities, interface needs, rituals, or living standards
Training architecture:
- generative decoder LLM with tool-use style output
- possible candidate-plan ranker later
- retrieval model for prior event/hook selection
Training artifacts:
- coordinator plan records
- accepted and rejected glue prose
- branch continuity decisions
- tool invocation traces
- world-state proposal receipts
- attractor/rail/injection selection receipts
- item-manifest proposal receipts
- faction tech-base delta receipts
- reviewer labels for pacing, continuity, legibility, game usefulness, and lore grounding
Pilot schema shakedown gate:
- 50 accepted coordinator turns across at least 5 scenes
- 25 rejected coordinator turns with labeled failures
- structured world-state refs present in every accepted example
- glue prose never treated as canonical state
- at least 10 accepted future-branch coordinator turns before using the coordinator to generate post-Rupture arcs without close review
- at least 20 labeled constrained-event examples before the coordinator is trusted to inject quests or advance technology order automatically
- at least 25 reviewed item/faction-tech deltas before coordinator exploration is allowed to create technology data without close review
3. Memory And Lore Retriever
Purpose: choose what memories, events, and lore snippets are relevant to a turn.
Current implementation:
- deterministic selection and manual source checks
- semantic source search through existing tooling when needed
Inputs:
- acting agent id
- scene id
- current pressure
- event history
- memory store
- lore grounding corpus
- query or coordinator intent
- fixture lane and canon status
Outputs:
- ranked memory refs
- ranked lore/source refs
- rejected irrelevant refs
- retrieval rationale or labels
- source-constraint versus branch-assumption labels when retrieving future branch context
- branch-lineage labels so sibling futures are not retrieved as if they were shared facts
Training architecture:
- embedding model or bi-encoder for recall
- cross-encoder reranker for precision
- start off-the-shelf; tune only after labels exist
Training artifacts:
- selected refs
- rejected refs
- reviewer relevance labels
- missed-critical-context labels
Pilot schema shakedown gate:
- 500 labeled retrieval pairs before tuning
- evaluation set includes false friends: similar vibe, wrong faction or era
4. Projector
Purpose: turn canonical state into character-local operating context.
Current implementation:
- projected context schema and validator
- deterministic projector behavior remains the first target, but no live fixture-specific projector script is currently treated as canonical
Inputs:
- canonical agent state
- perceived overlays
- relationship stance
- current scene state
- relevant memories
- lore grounding digest
- observed event, when responding
- projection controls
- branch/canon status and generated-assumption boundaries
- active technology gates and quest constraints
Outputs:
- known local facts
- active pressures
- tensions
- action affordances
- constraints
- voice surface cues
- rendered prompt/context text
- audit refs to source state
- explicit distinction between source-backed facts and branch-local assumptions
- branch lineage and conditional truth boundaries
- unavailable action or knowledge constraints derived from tech order
Training architecture:
- keep deterministic while feasible
- generative decoder LLM student if deterministic projection becomes too rigid
- classifier/evaluator for leakage and unsupported pressure
Training artifacts:
- projected-local-context records
- projection examples
- prompt leakage failures
- source grounding failures
- reviewer corrections
Pilot schema shakedown gate:
- 100 accepted projection examples
- 50 rejected examples with clear failure labels
- stable input slicer
- evaluator catches private-state leakage and raw-state soup
- evaluator catches future-branch assumptions leaking into grounded historical examples
5. Character Agent Or Responder
Purpose: choose and render what a character does next from local context.
Current implementation:
- responder packet and output schemas with validators
- reviewed packet, capture, and mutation receipts
- future gold responder data should use isolated generation workers, sub-agents, or external model calls that receive only the projected local packet, not coordinator context
Inputs:
- projected local context
- allowed action primitives
- visible event, if responding
- local affordances
- character-local goals, memories, relationship read, and constraints
- Aetheria responder priors from training corpus, eventually
- post-Rupture concept constraints when the turn is in Elysium future branch territory
- explicit source excerpts included in the projected packet, if any
Forbidden inputs:
- coordinator rationale
- other agents' private state
- author-only plot beats
- future branch plan
- hidden canonical facts not visible to the acting character
- raw canonical state variables the final responder model will not receive
- repo or lore browsing beyond excerpts intentionally provided to the responder
Outputs:
- selected action type
- observable action
- spoken text, if any
- actor intent
- candidate alternatives
- constraints satisfied or violated
- response rationale
- raw responder output before coordinator review
- reviewed output after coordinator intervention, if any
- coordinator intervention labels
Training architecture:
- generative decoder LLM
- SFT/LoRA on reviewed Aetheria response/action corpus
- pairwise preference or ranking later for choosing among candidate turns
- optional separate action-type classifier if generation keeps drifting
Training artifacts:
- exact responder-visible input packet
- hidden context refs without hidden content
- sandbox or isolation method
- raw responder output
- coordinator-reviewed output
- coordinator intervention labels
- action-choice receipts
- accepted and rejected turns
- negative examples for wrong body, wrong lore, wrong voice, omniscience, prompt leakage, and agency collapse
- timeline-spread Aetheria response corpus
- future-branch responses exercising post-Rupture concepts as branch-local canon without claiming branch facts apply to sibling histories
Pilot schema shakedown gate:
- 200 accepted character turns across eras, factions, species, and social roles
- 100 rejected turns with labeled failures
- at least 50 non-speech or mixed-action examples
- evaluation includes speaker-local secret boundaries and body affordances
- every accepted example preserves exact responder-visible input and raw output
- every coordinator repair is labeled instead of being treated as raw responder behavior
- leakage evaluator catches outputs that require withheld context
- at least 50 accepted post-Rupture future-branch turns before expecting the responder to handle Elysium-specific weirdness with reduced lore handholding
6. Event Resolver
Purpose: convert an action proposal into an observable event and mechanical world changes.
Current implementation:
- mostly manual/reviewed for social consequences
- deterministic gates should own mechanical legality
Inputs:
- action proposal
- scene state
- world objects
- resources
- authority rules
- location constraints
- participant visibility
- branch/canon status for future generated facts
- technology and quest gates relevant to action legality
Outputs:
- observable event record
- legal mechanical world deltas
- perceived-by participant list
- blocked or modified action result
- unresolved facts
- branch-local mechanical facts versus promoted facts
- branch-local mechanical facts versus cross-branch source constraints
- blocked actions caused by missing prerequisites
Training architecture:
- mostly deterministic code
- classifier/evaluator for ambiguous action normalization later
- generative model only for explanatory event narration, not legality
Training artifacts:
- action-to-event receipts
- blocked-action examples
- normalized action labels
- mechanical delta records
Pilot schema shakedown gate:
- do not train until action/event schemas stabilize
- collect 100 reviewed action-to-event examples before considering normalization assistance
7. Participant Appraiser
Purpose: interpret an observable event from one participant's local perspective.
Current implementation:
- manual reviewed appraisals in mutation receipts
- future appraiser data should keep exact observable events, participant-local context, accepted interpretations, rejected interpretations, and review notes
Inputs:
- observable event
- participant-local state
- participant memories
- perceived relationship stance
- cultural priors
- scene pressure
- known facts and suspected facts
- human interaction history when the appraiser is being used for VoidBot
- conversational tone, timing, repair attempts, recurring preferences, and boundary signals for human-facing appraisal
- post-Rupture concept being interpreted, if any
Outputs:
- private interpretation
- emotional appraisal labels
- intent read, including misread possibility
- threat/reassurance/obligation/humiliation/etc. labels
- proposed memory candidate
- proposed relationship implications
- confidence notes
- human-facing opinion updates when applicable: trust, concern, irritation, respect, attachment, caution, boundary pressure, expected future behavior, and what would change the read
- concept-specific misread labels, for weird Elysium phenomena
Training architecture:
- multi-label classifier or cross-encoder for labels
- generative decoder LLM for explanation and memory wording
- calibrated confidence model only after enough labels exist
Training artifacts:
- appraiser receipts
- misread/correct-read labels
- emotional appraisal labels
- rejected interpretations
- reviewer rationale
- VoidBot-facing human interaction appraisal receipts, including what was observed, what was inferred, what stayed uncertain, what opinion changed, and what evidence would reverse or soften the read
Pilot schema shakedown gate:
- 300 participant appraisal examples
- balanced set of correct reads, misreads, ambiguous reads, and biased reads
- examples include fundamental attribution bias and confidence movement
- at least 50 human-facing VoidBot appraisal examples before claiming the appraiser is useful for companion-style memory, opinion, or user-read updates
- future-branch examples include socially grounded misreads of post-Rupture phenomena
8. State Mutator
Purpose: apply reviewed appraisal into bounded agent, memory, relationship, and world-state changes.
Current implementation:
- manual audited mutation receipts
- schema validation for final fixtures
Inputs:
- prior state refs
- event record
- participant appraisals
- mutation authority constraints
- accepted memory candidates
- relationship/perception implications
- canon status and promotion eligibility
Outputs:
- canonical state patch proposal
- memory writes
- perceived overlay updates
- relationship stance deltas
- activation deltas
- rejected or deferred deltas
- reviewer rationale
Training architecture:
- keep manual longest
- generative decoder LLM or structured patch model after schema stabilizes
- deterministic validator applies bounds and authority
- possible classifier for whether a delta is justified
Training artifacts:
- mutation receipts
- accepted patches
- rejected patches
- deferred unresolved facts
- validator failures
- branch-local patches separated from promoted state patches
- branch-local patches separated from cross-branch source constraints
Pilot schema shakedown gate:
- 500 accepted mutation examples
- 200 rejected/deferred mutation examples
- stable patch schema
- validator catches out-of-authority and private-state writes
9. Relationship And Social Perception Updater
Purpose: update directional relationship stance and perceived overlays over time.
Current implementation:
- manual relationship movement in mutation receipts
Inputs:
- prior directional relationship stance
- event/appraisal history
- memories
- perceived overlay
- cultural priors
- confidence drivers
- future-contact expectations
Outputs:
- relationship stance deltas
- perceived disposition updates
- confidence movement
- stale impression preservation
- social reinforcement notes
- reviewer rationale
Training architecture:
- multi-label classifier for movement direction and dimensions
- regression or ordinal classifier for magnitude buckets
- cross-encoder/ranker for candidate deltas
- avoid raw unconstrained numeric generation early
Training artifacts:
- relationship update receipts
- perceived-state update receipts
- confidence driver labels
- rejected updates
Pilot schema shakedown gate:
- 500 directional relationship updates
- repeated-contact sequences, not only isolated events
- evaluation includes asymmetric relationships and stubborn misreads
10. Branch Compiler
Purpose: turn reviewed scene intent, branch candidates, consequence packets, and fold plans into playable Ink plus sidecar receipts.
Current implementation:
- coordinator-authored Ink fixtures
- documented branch-and-fold contract
- manual materialization and review
Inputs:
- fixture brief and scene spine
- source-grounded lore digest
- current world, scene, resource, relationship, and branch state
- actor-local branch candidates, including speech and non-speech actions
- responder outputs or coordinator-authored placeholder reactions
- reviewed consequence packets
- branch-and-fold plan
- visual continuity requirements
- schema and Ink formatting constraints
Outputs:
- readable
.inkscene content - Ink variables, choices, knots, gathers, and conditionals
.training.jsonsidecar tying branches to state basis, action intent, consequences, callbacks, and review status.visual.jsonvisual plan tying visual scene ids, image prompts, character refs, style cues, and branch/state modifiers to Ink anchors- compiler notes for fold decisions, route-split decisions, and known review risks
Training architecture:
- start as reviewed structured authoring
- generative decoder LLM for fixture drafting once sidecar shape stabilizes
- deterministic validators for Ink syntax, branch ids, sidecar refs, visual plan refs, and schema shape
Training artifacts:
- accepted and rejected compiled fixtures
- Ink/sidecar/visual-plan sets
- compiler notes
- fold and route-split decisions
- state-variable read/write maps
- visual prompt modifier maps
- reviewer findings and repair receipts
Pilot schema shakedown gate:
- 25 accepted fixtures across multiple story shapes
- 25 rejected or needs-revision fixtures with labeled compiler failures
- every accepted fixture has an Ink file, sidecar, visual plan, compiler notes, and review status when illustrated replay is in scope
- every material variable is read later or marked telemetry-only before acceptance
- branch compiler output is reviewed by the IF artifact reviewer before it enters the accepted corpus
11. IF Artifact Reviewer
Purpose: catch false consequence before branch fixtures become training data.
Current implementation:
- manual/frontier-model review
- failure taxonomy documented in
docs/architecture/ink-branching-scenes.md
Inputs:
- Ink file
.training.jsonsidecar.visual.jsonvisual plan, when illustrated replay is in scope- coordinator artifact
- branch compiler notes
- declared variables, resources, risks, relationship bands, and visual modifiers
- intended branch-and-fold plan
- validation output
Outputs:
accepted,needs_revision, orrejected- severity-ranked findings
- fake-variable audit
- choice-consequence audit
- fold/callback audit
- state-gated prose audit
- visual-continuity audit
- required fixes
Training architecture:
- classifier or cross-encoder for known failure labels
- LLM judge for nuanced IF design failures, with reviewed labels saved
- deterministic support tools for variable set/read maps and branch-id consistency
Training artifacts:
- accepted fixtures
- rejected fixtures
- labeled failures such as
potemkin_state,cosmetic_choice,fake_fold,missing_state_read,state_named_instead_of_checked,visual_callback_missing, andending_ignores_major_state - reviewer rationales
- repaired fixture diffs tied to findings
Pilot schema shakedown gate:
- 100 reviewed fixtures or fixture fragments
- 100 labeled failures, including at least 25 fake-variable or fake-fold cases
- reviewer catches variables that do not affect affordances, risk, appraisal, callbacks, visual state, or outcomes
- reviewer catches prose that names alternate branch states instead of checking variables
- reviewer catches endings that ignore major prior state
12. Output Evaluator And Guardrail Classifiers
Purpose: reject bad model outputs before they become artifacts or state.
Current implementation:
- schema validators
- prompt-leak checks
- body-affordance checks
- object semantics checks
Inputs:
- generated output
- source refs
- local context
- schema contract
- failure taxonomy
Outputs:
- pass/fail
- failure labels
- severity
- repairability
- reviewer notes
Training architecture:
- classifier or cross-encoder
- deterministic regex/schema checks where sufficient
- LLM judge only for nuanced failures, with reviewed labels saved
Training artifacts:
- rejected outputs
- accepted outputs
- false positive/false negative review notes
- failure taxonomy examples
Pilot schema shakedown gate:
- 300 labeled failures across prompt leakage, omniscience, wrong body, wrong lore, invalid mutation, schema drift, and flattened character agency
13. Institution, Faction, And Consumer Decision Models
Purpose: model non-dialogue decisions in economic, factional, institutional, and open-world contexts.
Current implementation:
- not built yet
- preserve hooks in scene data now
Inputs:
- actor or institution state
- resources and scarcity
- obligations
- reputation
- faction norms
- expected future contact
- legal authority
- risk and cost models
- local information and misreads
- post-Rupture infrastructure or concept constraints, when applicable
- active technology order, faction attractors, fated events, and quest hooks
- item manifest refs
- faction tech-base refs
- component, assembly, and supply-chain dependencies
Outputs:
- decision/action proposal
- perceived cost and benefit
- moral injury or taboo pressure
- resource deltas proposed
- reputation/faction pressure implications
- rationale
- branch-local policy or market assumptions
- constrained-event response: exploit, resist, comply, delay, adapt, sabotage, or organize around the attractor/rail/injection
- manufacture, buy, salvage, counterfeit, maintain, upgrade, embargo, or substitute decisions
Training architecture:
- generative decoder LLM for complex decisions with rationale
- classifier/ranker for candidate choices
- possible small policy model later inside simulation loops
Training artifacts:
- buy/refuse/trade/hoard/comply/defect/conceal/punish/help examples
- accepted and rejected decision rationales
- resource and reputation consequence labels
- constrained-event decision examples for faction founding, technology adoption, quest hooks, and pressure-born institutions
- item availability and component dependency decisions
- faction access or restriction decisions
Pilot schema shakedown gate:
- do not train until scene-local machinery produces reliable decision examples
- collect at least 500 reviewed decision examples across consumer and institutional contexts
- include future-branch decisions where post-Rupture miracles become markets, privileges, liabilities, dependencies, or weapons
- include examples where factions or companies emerge from branch pressures, fated constraints, or quest injections
- include examples where factions differ in starting pre-Elysium tech base, manufacturing rights, maintenance ability, and supply-chain dependency
14. Technology And Item Manifest Generator
Purpose: turn worldbuilding exploration into game-usable item, component, assembly, technology, and supply-chain records.
Current implementation:
- not built yet
- architecture plan exists in
docs/architecture/technology-item-manifest-plan.md - concrete target schema exists in Aetheria-Economy as CultCache-backed
ItemDatatechnological blueprint classes and linkedItemInstanceruntime classes
Inputs:
- coordinator plan and glue prose
- branch lineage and prior conditions
- source refs from AetheriaLore
- nebulous named technologies from existing timeline/lore notes
- technology discovery events
- faction or manufacturer state
- item family or gameplay role
- existing item manifests
- pre-Elysium starting tech refs
- post-Rupture concept constraints
- existing Aetheria-Economy item definitions, categories, behavior data, hardpoint types, and known engine schema gaps
Outputs:
- candidate Aetheria-Economy technological blueprint records
SimpleCommodityDatacandidates for fungible resources and feedstockCompoundCommodityDatacandidates for assemblies, subassemblies, components, processed materials, colony-consumed trade goods, and manufactured economic unitsConsumableItemDatacandidates for usable consumablesGearDataor otherEquippableItemDatasubclass candidates for usable equipment, ship systems, hulls, cargo structures, docking systems, and weapons- assembly-tree, recipe, compatibility, and supply-chain metadata attached to the target blueprint record
- instance-provenance candidates when simulating manufactured artifacts, including realized quality, supply-chain lineage, manufacturer branding, and subassembly contributions to performance
- item family and item variant records as manifest metadata
- process, tooling, expertise, and facility records
- compatibility and upgrade-slot rules
- faction/manufacturer access records
- prerequisites and technology order
- supply-chain bottlenecks
- gameplay effects
- economic consequences
- quest hooks
- rejected unsupported item designs
- source-gap records for named tech that lacks actionable blueprint detail
- engine-schema gap records when a useful manifest concept has no CultCache field yet
Training architecture:
- start as reviewed structured authoring
- generative decoder LLM for manifest drafting once schema exists
- classifier/evaluator for unsupported tech, impossible compatibility, bad source grounding, and overpowered designs
- retrieval model for prerequisite/component dependency lookup later
Training artifacts:
- item manifest records
- blueprint records
- component breakdown records
- assembly compatibility records
- faction tech-base records
- technology discovery records
- branch-local innovation records
- economic consequence records
- rejected item designs with failure labels
- nebulous-tech elaboration records with inferred/source/gap fields
- instance-provenance records for manufactured artifacts when a scene or branch needs realized supply-chain history, not just a blueprint
Pilot schema shakedown gate:
- item manifest schema and validator exist
- validator checks target Aetheria-Economy blueprint class, source-backed fields, inferred fields, metadata-only fields, instance-provenance fields, and engine-schema gaps
- 100 reviewed item/component/assembly records
- 50 faction tech-base records across pre-Elysium and future branches
- 50 rejected/invalid item examples with clear failure labels
- at least 10 branch-local innovations tied to lineage and prerequisites
- at least 10 existing named technologies elaborated from vague lore into candidate blueprints with explicit source facts, inferred engineering, and open gaps
Training Order
Do not train everything at once. That way lies a ceremonial bonfire of GPUs.
Recommended order:
- Keep deterministic validators and artifact schemas ahead of data volume.
- Build coordinator artifact schema and start saving coordinator receipts.
- Expand projected local context and character-turn capture receipts.
- Stabilize branch compiler artifacts for Ink, sidecars, fold notes, and visual prompt handles.
- Build IF artifact reviewer labels from existing branching failures.
- Build broader evaluator labels from responder, projector, lore, and mutation failures.
- Fine-tune or LoRA the Aetheria responder first, because strong response data directly improves visible output and reduces lore handholding.
- Add future-branch post-Rupture examples before claiming the responder can handle Elysium-era concepts without heavy prompting.
- Train projector only if deterministic projection becomes a bottleneck.
- Train appraiser and relationship updater after enough manual mutation receipts exist.
- Train state mutator last among social organs because bad mutation corrupts the world state.
- Build item manifest schema before large future-branch exploration produces technology data.
- Train institution/faction/consumer models after scene-local decisions provide enough grounded examples.
Minimum Corpus Before First Experimental Fine-Tune
These are still pilot numbers. Use them for controlled experiments, schema pressure tests, and early behavior probes. Do not treat them as enough for robust runtime use.
A first useful Aetheria responder fine-tune wants:
- 200 accepted character turns
- 50 non-speech or mixed-action turns
- 50 rejected/negative examples with clear labels
- exact responder-visible input for every turn
- raw responder output separated from reviewed or coordinator-repaired output
- hidden-context refs and leakage audits for every turn
- at least 5 factions or institutional contexts
- at least 3 time periods or historical flashpoints
- at least 50 accepted future-branch post-Rupture turns before using the model for Elysium-era generation with reduced lore scaffolding
- source refs for every grounded example
- explicit local-context boundary for every turn
- no Elysium branch facts mixed into single-history Sol data or unrelated sibling branches
- clear labels separating source-backed Elysium concepts from generated future branch facts
- branch lineage for every future-branch example
A first coordinator fine-tune wants:
- 50 accepted coordinator turns
- 25 rejected coordinator turns
- at least 5 complete scene transitions
- world-state refs in every example
- glue prose paired with structured state deltas or explicit no-delta notes
A first branch compiler model wants:
- 25 accepted Ink fixtures with sidecars and compiler notes
- 25 rejected or needs-revision fixtures with specific compiler failure labels
- variable set/read maps for every fixture
- branch-and-fold decisions marked as fold, conditional variant, or route split
- visual prompt handles tied to actual state variables
- IF artifact reviewer decisions for every accepted example
A first IF artifact reviewer wants:
- 100 reviewed fixtures or fixture fragments
- 100 labeled failures
- examples where the human review found fake state or fake folds before repair
- repaired versions paired with the original finding
- held-out fixtures with intentionally subtle cosmetic-choice and callback gaps
A first appraiser/classifier training run wants:
- 300 participant appraisals
- balanced misread/correct/ambiguous/bias examples
- at least 50 VoidBot-facing human interaction appraisals with opinion-update labels and uncertainty notes
- labeled confidence drivers
- reviewer rationale
A first item-manifest model wants:
- 100 reviewed item/component/assembly records
- 50 faction tech-base records
- 50 rejected item designs or compatibility failures
- source refs or branch lineage for every record
- explicit component, assembly, prerequisite, bottleneck, and gameplay-effect fields
- named-tech elaborations that separate source facts from inferred engineering and open lore gaps
Artifact Shape Rule
Every training artifact should answer:
- What did the model or human see?
- What was hidden from them?
- What did they produce?
- What was accepted?
- What was rejected?
- Why?
- Which source or state refs justify the decision?
- Which future model family is this example for?
If an artifact cannot answer those questions, it is probably a transcript, not a training example. Transcripts are nice. Training examples are how the beast gets less stupid.