539 lines
20 KiB
Markdown
539 lines
20 KiB
Markdown
# Soft Model Training Artifacts
|
|
|
|
Ghostlight has two kinds of machinery.
|
|
|
|
Some parts should be boring code:
|
|
|
|
- schema validation
|
|
- visibility filtering
|
|
- action legality
|
|
- object custody
|
|
- resource accounting
|
|
- Ink syntax validation and compilation
|
|
- event append
|
|
- provenance checks
|
|
- deterministic context slicing
|
|
- mechanical mutation gates
|
|
|
|
Other parts are soft. They require judgment, taste, social inference, cultural
|
|
pressure, and narrative sense. Do not fake those with brittle rules just because
|
|
a function-shaped hole is sitting there looking smug.
|
|
|
|
Soft parts should emit reviewed training artifacts from the beginning. Manual
|
|
review is not a temporary embarrassment. It is the dataset.
|
|
|
|
## Core Rule
|
|
|
|
If a decision cannot be made reliably by deterministic code, Ghostlight should
|
|
save it as a training example.
|
|
|
|
That includes accepted outputs, rejected outputs, repaired outputs, and weird
|
|
half-successes. Especially weird half-successes. They are where the machine is
|
|
showing the fracture line.
|
|
|
|
A useful soft artifact should preserve:
|
|
|
|
- the deterministic input slice
|
|
- the model or human output
|
|
- the reviewer decision
|
|
- accepted labels
|
|
- rejected labels, if any
|
|
- rationale grounded in state, scene, culture, memory, relationship, and lore
|
|
- failure notes
|
|
- provenance to source lore or fixture state
|
|
- whether the artifact is grounded canon, transition-grounded, procedural
|
|
branch material, or promoted branch material
|
|
|
|
## Sandboxed Responder Rule
|
|
|
|
Responder training data must not be authored from an omniscient view.
|
|
|
|
The coordinator may know the whole scene, hidden state, future branch plan,
|
|
author constraints, and private facts. The responder model we eventually train
|
|
will not. If a responder example only works because the authoring agent quietly
|
|
used omniscient context, the artifact is poisoned. It teaches the future model to
|
|
perform an impossible trick, then looks offended when reality asks for receipts.
|
|
|
|
For gold responder or character-action data:
|
|
|
|
- the coordinator prepares the scene and selects the acting character
|
|
- the projector emits the exact character-local context
|
|
- the responder is run from only that projected packet, visible event, allowed
|
|
action space, and any explicitly included source excerpts
|
|
- the responder does not see other agents' private state, hidden canonical
|
|
facts, author-only plot beats, future branch plans, or coordinator rationale
|
|
- any isolated worker or sub-agent used for responder generation should be
|
|
started without inherited conversation context when the harness supports it
|
|
- repo or lore browsing is disabled for the responder unless the projected
|
|
packet explicitly includes the excerpts or references the future model will
|
|
also receive
|
|
- the coordinator reviews after generation, not during it
|
|
|
|
Artifact requirements:
|
|
|
|
- `responder_visible_input`: the exact prompt or structured packet the responder
|
|
saw
|
|
- `responder_raw_output`: the unedited output
|
|
- `reviewed_output`: the accepted or repaired turn
|
|
- `review_status`: accepted, accepted-as-draft, useful-needs-revision, rejected,
|
|
or superseded
|
|
- `coordinator_interventions`: every edit, repair, deletion, or normalization
|
|
made after raw generation
|
|
- `hidden_context_refs`: ids or paths for context intentionally withheld, not
|
|
the hidden content itself
|
|
- `leakage_audit`: checks for private-state leakage, future-branch leakage,
|
|
author-only leakage, raw-state soup, prompt-constraint parroting, and
|
|
impossible body or object knowledge
|
|
|
|
Coordinator-written replacement text can be valuable, but it is not raw
|
|
responder output. Mark it as coordinator repair or frontier-curated final. Do
|
|
not smuggle repaired prose into the responder corpus as if the sandbox produced
|
|
it. That is how a dataset learns to cheat with a straight face.
|
|
|
|
## Training-Ready Scene Loop Bundle
|
|
|
|
A scene loop is the smallest useful sequential training unit before branch
|
|
compilation. It is not enough to have a nice transcript. The bundle needs the
|
|
machine trail that made the transcript possible.
|
|
|
|
A training-ready scene-loop bundle contains:
|
|
|
|
- scene-local digest or lore slice
|
|
- initial scene/world state
|
|
- current character state refs for every participant
|
|
- projected local context per acting turn
|
|
- responder packet per acting turn
|
|
- raw responder output capture per acting turn
|
|
- observable event record per accepted action
|
|
- participant appraisal receipt for every affected participant
|
|
- reviewed mutation receipt for character state, memory, relationship,
|
|
perceived overlays, object state, scene/world state, and unresolved hooks
|
|
- coordinator turn receipt carrying next-beat selection, world-state reads,
|
|
proposed deltas, glue prose, and review labels
|
|
- review summary naming which organs are training-ready, reference-only, or not
|
|
training data
|
|
|
|
Training readiness is per organ. A bundle can be useful for responder,
|
|
appraiser, mutator, relationship/perception updater, and coordinator training
|
|
while still being useless for branch compiler, IF artifact reviewer, or visual
|
|
replay training. Count only the receipts that actually exist.
|
|
|
|
`pallas-training-loop-v0` is the first pilot of this convention. It rebuilds one
|
|
Pallas threshold beat as a separate derivative and leaves the Pallas reference
|
|
fixture immutable.
|
|
|
|
## Soft Organs
|
|
|
|
These organs should be treated as model-training targets, not permanent
|
|
hand-authored rule nests.
|
|
|
|
### Coordinator Or Story Runtime
|
|
|
|
Glues scenes together, maintains world state, chooses which machinery runs, and
|
|
emits the connective prose around character turns.
|
|
|
|
In training-shaped loops, the coordinator should be sandboxed as its own
|
|
promptable organ. A coordinator worker receives only the scene state, accepted
|
|
receipts, unresolved hooks, available machinery, branch affordances, tonal
|
|
intent, author constraints, and game-engine-shaped state surfaces it is allowed
|
|
to use. It then proposes the next beat, acting character, machinery calls, glue
|
|
prose, and candidate state changes.
|
|
|
|
Codex remains the meta-coordinator while the system is being built: it scopes
|
|
the task, prepares the coordinator-visible input, launches the sandboxed
|
|
coordinator, reviews the output, labels interventions, and wires structured
|
|
state between organs. Codex-authored coordinator artifacts are useful draft
|
|
material, but they are not raw coordinator training data unless the coordinator
|
|
input/output seam was actually sandboxed.
|
|
|
|
This is a trainable artifact too. Do not let coordinator judgment evaporate into
|
|
chat history just because a large model is currently doing the stage management
|
|
with jazz hands and plausible deniability.
|
|
|
|
Training artifacts:
|
|
|
|
- scene setup receipts
|
|
- exact coordinator-visible input packet
|
|
- raw sandboxed coordinator output
|
|
- parsed and reviewed coordinator artifact
|
|
- coordinator plans
|
|
- selected next scene or next beat
|
|
- chosen acting agent
|
|
- selected tools or soft organs invoked
|
|
- world-state refs read
|
|
- world-state changes proposed
|
|
- unresolved hooks carried forward
|
|
- branch merge or branch split decisions
|
|
- authored glue prose
|
|
- rejected glue prose
|
|
- reviewer notes about pacing, legibility, state continuity, lore grounding,
|
|
game usefulness, and machinery misuse
|
|
|
|
The coordinator output should be shaped for a future game engine. Even while the
|
|
prototype lives in model imagination and authored prose, it should preserve
|
|
structured refs for:
|
|
|
|
- scene id
|
|
- location id
|
|
- time or sequence marker
|
|
- participating agents
|
|
- active objects
|
|
- active resources
|
|
- public world facts
|
|
- unresolved facts
|
|
- branch flags
|
|
- event log refs
|
|
- state fixture refs
|
|
- consequences awaiting review
|
|
|
|
Glue prose is part of the artifact. It is not canonical state, but it is useful
|
|
training signal for how scenes are bridged, how pressure is restated without
|
|
exposition sludge, and how a procedural branch becomes readable narrative.
|
|
|
|
Coordinator and narrator intelligence are allowed to exceed character
|
|
intelligence. This is how opaque high-context scenes become legible without
|
|
flattening the characters. If a Lucent negotiator, influencer, or feed operator
|
|
is performing layered reputation warfare, the coordinator may explain the
|
|
maneuver in reader-facing prose, but the explanation is not automatically
|
|
available to the character who performed or witnessed it. Character cognition
|
|
still comes from projected state: intelligence, social acuity, training,
|
|
cultural scripts, stress, and blind spots.
|
|
|
|
The coordinator may propose state changes, scene transitions, and tool calls. It
|
|
does not bypass deterministic gates. It does not silently decide hidden facts. It
|
|
does not mutate another organ's private output after review. It conducts the
|
|
little orchestra; it does not eat the violins.
|
|
|
|
### Projector
|
|
|
|
Turns canonical state, perceived state, memory, culture, scene pressure, and
|
|
affordances into character-local operating context.
|
|
|
|
Training artifacts:
|
|
|
|
- projected local context records
|
|
- projection examples
|
|
- prompt-rendering audits
|
|
- leakage failures
|
|
- source-grounding failures
|
|
|
|
The projector does not write final prose. It prepares the local pressure surface
|
|
for an acting model.
|
|
|
|
### Character Agent Or Responder
|
|
|
|
Chooses what a character does next from local awareness.
|
|
|
|
This includes speech and non-speech action. The agent may speak, wait, leave,
|
|
hide evidence, reveal evidence, spend a resource, attack, comply, defect,
|
|
bargain, comfort, or do nothing useful because people are built badly.
|
|
|
|
Training artifacts:
|
|
|
|
- exact responder-visible input packet
|
|
- hidden context refs, without hidden content
|
|
- raw responder output
|
|
- coordinator interventions or repairs
|
|
- action-choice receipts
|
|
- candidate branch sets
|
|
- accepted and rejected character turns
|
|
- spoken text when speech occurs
|
|
- observable non-speech action
|
|
- actor intent
|
|
- constraints used
|
|
- constraints violated
|
|
- reviewer notes about voice, lore, embodiment, agency, and scene fit
|
|
|
|
This model should be fine-tuned or adapted on a corpus of strong Aetheria
|
|
responses spread across the timeline. The goal is not a bolt-on lore module.
|
|
The goal is for the responder to internalize the shape of the setting: what
|
|
people assume, what institutions feel like, which pressures are normal, which
|
|
metaphors appear, what bodies can do, and how the universe tends to hurt people
|
|
while insisting it is only doing math.
|
|
|
|
That reduces lore handholding at runtime. It does not remove character-local
|
|
context. The tuned responder still needs the specific room, speaker, listener,
|
|
state, memory, affordances, and known facts for the current turn.
|
|
|
|
### Appraiser
|
|
|
|
Reads an observable event from one participant's local perspective and proposes
|
|
how that participant interprets it. This organ is not only for fictional scene
|
|
mutation. It is also one of the core paths by which VoidBot becomes better at
|
|
reading people: noticing what a human did or said, forming a grounded opinion
|
|
without pretending certainty, and revising that opinion as evidence accumulates.
|
|
|
|
Training artifacts:
|
|
|
|
- observed event
|
|
- participant-local knowledge
|
|
- private interpretation
|
|
- misread or correct-read label
|
|
- emotional appraisal
|
|
- relationship implications
|
|
- belief implications
|
|
- memory candidate
|
|
- human-facing opinion update when applicable: trust, concern, irritation,
|
|
respect, caution, attachment, boundary pressure, expected future behavior, and
|
|
what evidence would change the read
|
|
- reviewer corrections
|
|
|
|
The appraiser should not know canonical private state except where that
|
|
participant knows or believes it. Fundamental attribution bias belongs here. For
|
|
VoidBot, this means the model must distinguish an observed human behavior from a
|
|
durable claim about who that human is, and should preserve uncertainty, repair
|
|
signals, and evidence needed to revise the opinion later.
|
|
|
|
### State Mutator
|
|
|
|
Turns reviewed appraisal into bounded state changes.
|
|
|
|
Training artifacts:
|
|
|
|
- prior state refs
|
|
- event refs
|
|
- appraisal refs
|
|
- proposed state deltas
|
|
- accepted deltas
|
|
- rejected deltas
|
|
- mutation authority notes
|
|
- reviewer rationale
|
|
|
|
The early system should keep this manual and audited. Later a model can learn
|
|
common deltas, but deterministic gates still own schema, bounds, and authority.
|
|
|
|
### Relationship And Social Perception Classifier
|
|
|
|
Updates perceived overlays and relationship stance from repeated evidence. This
|
|
classifier should serve both Aetheria agents and VoidBot's long-running human
|
|
relationships; the same machinery that lets Sella update her read on Maer should
|
|
also let VoidBot update its read on a specific user without collapsing into
|
|
either sycophancy or a permanent first-impression mugshot.
|
|
|
|
Training artifacts:
|
|
|
|
- prior relationship stance
|
|
- event and appraisal history
|
|
- proposed movement
|
|
- confidence movement
|
|
- stale or reinforced impressions
|
|
- prejudice, stakes, memory, and social-reinforcement drivers
|
|
- reviewer notes
|
|
|
|
This is where confidence belongs. Do not grow a second correction-resistance
|
|
organ because the first one got lonely.
|
|
|
|
### Aetheria Responder Corpus
|
|
|
|
Training artifacts:
|
|
|
|
- source-grounded scene examples
|
|
- factional speech and pressure examples
|
|
- institution decision examples
|
|
- embodiment/interface examples
|
|
- negative examples where generic sci-fi assumptions were rejected
|
|
- reviewer notes tied to AetheriaLore paths
|
|
|
|
This corpus trains the character agent/responder directly. It is how a chosen
|
|
base model learns Aetheria's native assumptions rather than waiting for every
|
|
prompt to drag the whole lore vault behind it in a little wagon.
|
|
|
|
The tuned responder should learn the smell of the setting: Dominion severity,
|
|
Aya-coded care pressure, Navigator embodiment, corporate certification culture,
|
|
insurer cruelty, upload personhood fights, factional misreads, and the dry
|
|
little horrors of systems pretending to be neutral.
|
|
|
|
It still must receive character-local context at runtime. Fine-tuning gives it
|
|
priors, not omniscience.
|
|
|
|
### Branch Compiler
|
|
|
|
Turns scene intent, reviewed branch candidates, consequence packets, fold plans,
|
|
and visual continuity requirements into playable Ink plus sidecar receipts and,
|
|
when illustrated replay is in scope, a separate visual plan artifact.
|
|
|
|
The Branch Compiler is trainable because good branching structure is not just
|
|
syntax. It needs to decide where choices belong, which consequences can fold
|
|
into compact variables, which choices deserve route splits, which callbacks must
|
|
exist later, and how visual modifiers attach to actual state. Deterministic code
|
|
can validate Ink and refs. It cannot, by itself, know whether a branch feels
|
|
meaningful or whether convergence is lying.
|
|
|
|
Training artifacts:
|
|
|
|
- fixture brief
|
|
- source-grounded lore digest refs
|
|
- input branch candidates
|
|
- reviewed consequence packets
|
|
- fold plan
|
|
- generated Ink
|
|
- generated sidecar
|
|
- generated visual plan
|
|
- compiler notes
|
|
- variable set/read map
|
|
- route split or fold rationale
|
|
- visual prompt handles
|
|
- reviewer findings and repair labels
|
|
|
|
The compiler does not own hidden character truth, participant appraisal, or
|
|
durable social mutation. It materializes structure from already reviewed or
|
|
explicitly marked draft material.
|
|
|
|
### IF Artifact Reviewer
|
|
|
|
Audits playable branch artifacts before they enter the accepted corpus.
|
|
|
|
This reviewer is separate from the branch compiler because compilers are very
|
|
good at producing valid little lies. The reviewer checks whether tracked state
|
|
actually matters, whether choices change future affordances or outcomes, whether
|
|
folds preserve callbacks, whether visual modifiers correspond to real branch
|
|
state, and whether endings read the variables the story told us were important.
|
|
|
|
Training artifacts:
|
|
|
|
- Ink fixture under review
|
|
- sidecar under review
|
|
- coordinator artifact
|
|
- compiler notes
|
|
- validation output
|
|
- accepted/rejected decision
|
|
- severity-ranked findings
|
|
- failure labels such as `potemkin_state`, `cosmetic_choice`, `fake_fold`,
|
|
`missing_state_read`, `state_named_instead_of_checked`,
|
|
`visual_callback_missing`, and `ending_ignores_major_state`
|
|
- required fixes
|
|
- repaired artifact refs, when available
|
|
|
|
Early branch-and-fold reviews are seed material for this organ because they
|
|
caught decorative variables before they were allowed to become training sludge.
|
|
|
|
### Institution, Faction, And Consumer Decision Models
|
|
|
|
Eventually Ghostlight should support economic behavior and major faction
|
|
decision-making inside a simulated game world.
|
|
|
|
Training artifacts should preserve why agents:
|
|
|
|
- buy
|
|
- refuse
|
|
- trade
|
|
- hoard
|
|
- comply
|
|
- defect
|
|
- conceal
|
|
- reveal
|
|
- punish
|
|
- help
|
|
- lobby
|
|
- exploit
|
|
- delay
|
|
- sacrifice
|
|
|
|
The artifact should preserve perceived cost, scarcity, status pressure,
|
|
reputation risk, expected future contact, faction norms, institutional authority,
|
|
and moral injury when present.
|
|
|
|
Do not train a dialogue-only pet if the adult machine needs to decide whether a
|
|
clinic buys counterfeit cryo valves under blockade.
|
|
|
|
## Artifact Status
|
|
|
|
Soft artifacts should use explicit review status:
|
|
|
|
- `accepted`
|
|
- `accepted_as_draft`
|
|
- `useful_needs_revision`
|
|
- `rejected`
|
|
- `superseded`
|
|
|
|
Rejected artifacts remain valuable when the failure label is clear. A rejected
|
|
Navigator action that makes a cetacean walk across a human hallway is not trash.
|
|
It is a negative example with teeth.
|
|
|
|
## Training Corpus Families
|
|
|
|
Ghostlight should expect several related corpora rather than one heroic pile of
|
|
JSONL wearing a crown.
|
|
|
|
- projection corpus
|
|
- projected-local-context corpus
|
|
- coordinator/story-runtime corpus
|
|
- character-action corpus
|
|
- dialogue/prose response corpus
|
|
- participant-appraisal corpus
|
|
- state-mutation corpus
|
|
- relationship/perception corpus
|
|
- lore-grounding digest corpus
|
|
- Aetheria responder corpus
|
|
- Ink branch annotation corpus
|
|
- Branch compiler corpus
|
|
- IF artifact review corpus
|
|
- institution/faction/consumer decision corpus
|
|
- negative-example corpus
|
|
|
|
Some examples can belong to multiple corpora through references. Do not duplicate
|
|
truth; link artifacts by ids and source refs.
|
|
|
|
## Aetheria-Tuned Agent Model
|
|
|
|
The character agent itself is a training target.
|
|
|
|
A sensible long-term stack looks like this:
|
|
|
|
```text
|
|
AetheriaLore source corpus
|
|
-> source-grounded digests and scene fixtures
|
|
-> coordinator scene plans and glue-prose receipts
|
|
-> reviewed Ghostlight action/dialogue/appraisal artifacts
|
|
-> Aetheria-tuned responder or agent model
|
|
-> specialized coordinator/projector/appraiser/mutator students
|
|
-> deterministic runtime gates and validators
|
|
```
|
|
|
|
The Aetheria-tuned agent model should learn setting priors and voice ecology:
|
|
what institutions feel like, how factions misread each other, what bodies can do,
|
|
what pressure sounds like when nobody in the room has enough authority to fix the
|
|
machine.
|
|
|
|
It should not replace Ghostlight state. It should not decide hidden facts. It
|
|
should not mutate world state directly. It acts inside the local context and
|
|
affordances Ghostlight provides.
|
|
|
|
## Deterministic Gates Stay Deterministic
|
|
|
|
Training models does not remove hard gates.
|
|
|
|
Keep these as code:
|
|
|
|
- schema validation
|
|
- source provenance checks
|
|
- speaker-local visibility
|
|
- prompt leakage checks
|
|
- action enum validation
|
|
- body-affordance validation when source-backed
|
|
- mutation authority
|
|
- object custody
|
|
- resource and world-state legality
|
|
- Ink compilation
|
|
- artifact review status requirements
|
|
|
|
A model can propose. The runtime decides what is legal, what is visible, what is
|
|
accepted, and what becomes state.
|
|
|
|
## Near-Term Policy
|
|
|
|
During prototype work:
|
|
|
|
1. Keep fuzzy updates manual and reviewed.
|
|
2. Emit every model call as a receipt when it teaches something.
|
|
3. Store accepted and rejected examples with failure labels.
|
|
4. Prefer narrow artifacts over one vague transcript blob.
|
|
5. When a prompt fix reveals a reusable failure mode, promote it into validator
|
|
logic or artifact schema.
|
|
6. When a model repeatedly performs a soft judgment well, mark that organ as a
|
|
candidate for distillation or fine-tuning.
|
|
7. When it repeatedly fails in a patterned way, save the failures. The beast is
|
|
drawing us a map in crayon.
|
|
|
|
The point is not to automate everything today. The point is to stop losing the
|
|
manual intelligence we are already spending.
|