170 lines
14 KiB
YAML
170 lines
14 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 personality, culture,
|
|
memory, perception, incentives, and situation rather than flat persona
|
|
prompts.
|
|
|
|
mission:
|
|
primary: >
|
|
Generate psychologically grounded branching scenes, dialogue, actions,
|
|
social consequences, and eventually storylines, consumer behavior,
|
|
faction decisions, and technology/item manifests for Aetheria.
|
|
near_term: >
|
|
Produce sandboxed, source-grounded branching-scene training data through
|
|
projected local context, responder packets, reviewed outputs, mutation
|
|
receipts, coordinator continuity, branch compiler artifacts, and IF review.
|
|
voidbot_goal: >
|
|
Keep the appraiser, relationship/perception updater, and memory machinery
|
|
useful for VoidBot's core companion mission: reading specific humans over
|
|
time, forming grounded opinions about them, noticing misreads, and updating
|
|
trust, concern, irritation, respect, boundaries, and expectations from
|
|
evidence rather than generic friendliness.
|
|
active_fixture: >
|
|
Pallas Species Strikes is the current accepted-as-draft historical fixture.
|
|
Call of the Void and Elysium-era gameplay remain procedural consumer targets.
|
|
|
|
hard_boundaries:
|
|
- Prompt text is projection, not truth storage.
|
|
- Canonical agent state and per-agent perceived state must remain distinct.
|
|
- Characters act from local knowledge, local perception, local pressure, and bounded affordances.
|
|
- Aetheria prose must support tonal range and ordinary life, not only crisis pressure. Wit, warmth, domesticity, ritual, boredom, wonder, and quiet dread are valid state-grounded modes when they fit the scene.
|
|
- Listener misread is first-class; intent and interpretation are not the same object.
|
|
- Human-facing appraisal is a first-class target; VoidBot must be able to read people, form grounded opinions, and revise those opinions over repeated contact.
|
|
- Generated action is an event proposal; deterministic gates and reviewed mutation decide what becomes state.
|
|
- Fuzzy judgments become reviewed training artifacts before they become trained models.
|
|
- Aetheria generation is source-first; check lore for factions, bodies, locations, institutions, and constraints before projection.
|
|
- Do not import species-comfort assumptions across institutions. AU dry-operation cephalopod labor is bare-minimum productivity support, not Navigator-style or cephalopod-native comfort habitat, unless source lore says otherwise.
|
|
- Elysium futures are branch-local canon indexed by lineage, not single-history Sol facts.
|
|
- Technology exploration must emit game-usable item, component, assembly, supply-chain, compatibility, and provenance data mapped toward Aetheria-Economy.
|
|
- Interactive-fiction fixtures should branch and fold: normalize most consequences into compact state variables and shared-scene conditionals, reserving isolated route splits for major world-changing divergence.
|
|
- Interactive-fiction fixtures require independent artifact review before acceptance; tracked variables must materially affect later affordances, risk, appraisal, callbacks, visual state, or outcomes, unless explicitly marked telemetry-only.
|
|
- Complete illustrated interactive-fiction fixtures should emit visual art direction for website imagery and replay value, with click-through visual scene segmentation, stable visual character refs for recurring named characters, a global style cue when the visual language matters, one durable base image prompt per distinct section, character visibility and stance controls, and additive modification prompts for branch-visible consequences and scene-state changes; assembled prompts include only actually visible character refs, while continuity notes stay in tooling unless rewritten as concrete visible description.
|
|
- Image prompts must be affirmative target descriptions. Describe visible geometry, materials, composition, lighting, bodies, tools, and state deltas; keep forbidden assumptions in reviewer findings or validation errors instead of feeding negative constructions to imagegen.
|
|
- Generated environment images are concept and material reference, not geometry authority. Multi-angle or branch-consistent illustrated IF needs a durable scene-set source such as a hand-built 3D blockout, procedural scene file, layout asset, or camera map with staging slots and occluders; imagegen paints over camera-specific visual input instead of preserving topology from memory.
|
|
- Visual artifacts are auxiliary illustrated replay and website collateral for the corpus, not core training targets for responder, appraiser, mutator, or relationship models. Visual review judges the playable IF experience and visual plan, not clean-run prose receipts.
|
|
|
|
live_architecture:
|
|
state_model:
|
|
- Layer personality through organization, disposition, behavior, presentation, situational activation, relationships, goals, and values.
|
|
- Canonical authored state has no certainty; perceived overlays carry observed activation, attributed disposition, and confidence.
|
|
- Voice style is a broad communication vector; defensive, comic, tender, ritual, poetic, dry, or evasive verbal behavior should emerge from state, circumstance, relationship, tonal mode, and presentation.
|
|
projection:
|
|
- Project canonical state into character-local operating context before any responder sees it.
|
|
- Include scene facts, relevant memory, relationship read, stakes, embodiment/interface affordances, action affordances, projection controls, retrieved lore, tonal intent, ordinary-life texture, and latent pressure handling.
|
|
- Hide raw state internals such as means, plasticity, current_activation, and numeric dimensions from prompt text.
|
|
responder_packets:
|
|
- `packet_only` tests runtime parity from curated source excerpts.
|
|
- `retrieval_augmented` bakes setting texture into reviewed outputs through scoped retrieval.
|
|
- `responder_scoped_repository_search` allows the responder to inspect declared seed scope, follow bounded relevant AetheriaLore links, and requires consulted refs, followed refs, research trace, plus research summary.
|
|
- Gold responder data must preserve exact visible input, raw output, parsed/reviewed output, hidden-context refs, leakage audit, isolation method, and coordinator interventions.
|
|
coordinator:
|
|
- The coordinator is a trainable soft organ: it stages scenes, chooses next beats and acting agents, invokes specialist machinery, carries unresolved hooks, emits glue prose, and proposes game-engine-shaped state changes.
|
|
- Glue prose is training signal, not canonical truth.
|
|
- Coordinator prose should choose an intentional tonal mode for the scene and protect breathing room when the story needs routine, levity, domestic texture, wonder, or slow dread before consequence.
|
|
branch_compiler:
|
|
- The branch compiler turns fixture briefs, lore digests, scene/world state, actor-local branch candidates, reviewed consequence packets, fold plans, and optional visual replay requirements into playable Ink plus training sidecars, separate visual plan artifacts when illustrated replay is in scope, and compiler notes.
|
|
- The branch compiler owns playable structure, click-through segmentation, conditionals, variables, callbacks, fold materialization, visual scene ids, and image prompt handles; it stores visual prompt data in `.visual.json` artifacts rather than bloating training annotations; it does not own hidden character truth, participant appraisal, or durable social mutation.
|
|
coverage_ledger:
|
|
- `state/corpus-coverage.json` tracks accepted, draft, planned, rejected, and superseded fixtures by faction, movement, flashpoint, timeline lane, tonal mode, collision axis, training target, artifact refs, review status, and economy hooks.
|
|
- `npm run coverage:status` validates the ledger and reports coarse corpus gaps before choosing the next fixture.
|
|
training_targets:
|
|
- Coordinator/story runtime
|
|
- Memory and lore retrieval
|
|
- Projector/state interpreter
|
|
- Character agent/responder
|
|
- Participant appraiser
|
|
- State mutator
|
|
- Relationship/perception updater
|
|
- Branch compiler for Ink materialization, fold/callback structure, and sidecar generation; visual plan generation is auxiliary illustrated replay support when a fixture is meant for website or art presentation
|
|
- Interactive-fiction artifact reviewer for fake variables, cosmetic choices, missing state reads, fake folds, and visual callback gaps
|
|
- Visual scene continuity reviewer for illustrated IF replay, click-through segmentation, imagegen-ready prompts, character visibility, stance control, and branch/state visual modifiers; this reviewer protects entertainment and presentation value, not core social-model training signal
|
|
- Human-facing appraisal and opinion model for VoidBot
|
|
- Evaluator/review classifiers
|
|
- Aetheria-tuned responder
|
|
- Institution, faction, and consumer decision models
|
|
|
|
active_subgoals:
|
|
- Keep Ghostlight focused on the architecture and data pipeline for socially persistent agents.
|
|
- Build schema-stable, sandboxed responder, coordinator, branch compiler, and IF review data before chasing larger runtime loops.
|
|
- Preserve Aetheria grounding through source-backed lore, branch labels, and reviewed assumptions.
|
|
- Preserve Aetheria tonal range: Adams/Pratchett-style wit-with-stakes is a useful default touchstone, while other controlled modes remain valid when grounded in character, setting, and consequence.
|
|
- Shape every soft judgment as future training data, not permanent prompt folklore.
|
|
- Keep item/technology exploration database-shaped for Aetheria-Economy instead of prose-only worldbuilding, including colony-consumed manufactured trade goods, not only gear assemblies.
|
|
- Track corpus coverage across all major factions, minor factions, movements, and flashpoints so no single fixture becomes the training universe by accident.
|
|
|
|
coverage_targets:
|
|
current_lore_counts:
|
|
major_powers: 12
|
|
minor_powers: 21
|
|
movements: 23
|
|
pre_elysium_flashpoints: 24
|
|
defunct_absorbed_powers: 5
|
|
baseline_story_fixtures: 92
|
|
baseline_with_defunct: 97
|
|
practical_first_broad_target: 100-150 reviewed fixtures
|
|
major_power_requirement: founding-era story plus day-in-the-life story
|
|
collision_requirement: every coverage story should involve multiple cultures, factions, movements, institutions, or body/infrastructure assumptions colliding
|
|
|
|
current_artifacts:
|
|
canonical_docs:
|
|
- notes/documentation-inventory.md
|
|
- docs/architecture/corpus-coverage-ledger.md
|
|
- docs/architecture/prompt-projection-contract.md
|
|
- docs/architecture/projected-local-context.md
|
|
- docs/architecture/sequential-agent-runtime.md
|
|
- docs/architecture/ink-branching-scenes.md
|
|
- docs/architecture/illustrated-if-visual-pipeline.md
|
|
- docs/architecture/aetheria-lore-grounding-architecture.md
|
|
- docs/architecture/sandboxed-responder-packets.md
|
|
- docs/architecture/soft-model-training-artifacts.md
|
|
- docs/architecture/training-plan.md
|
|
- docs/architecture/technology-item-manifest-plan.md
|
|
schemas:
|
|
- schemas/agent-state.schema.json
|
|
- schemas/projection-example.schema.json
|
|
- schemas/lore-grounding-digest.schema.json
|
|
- schemas/corpus-coverage.schema.json
|
|
- schemas/projected-local-context.schema.json
|
|
- schemas/coordinator-artifact.schema.json
|
|
- schemas/responder-packet.schema.json
|
|
- schemas/responder-output.schema.json
|
|
prompts:
|
|
- prompts/README.md
|
|
- prompts/sandboxed-responder-packet.md
|
|
- prompts/research-sanity-responder.md
|
|
- prompts/narrative-quality-reviewer.md
|
|
- prompts/lore-grounding-reviewer.md
|
|
- prompts/spatial-geometric-cohesion-reviewer.md
|
|
- prompts/visual-scene-continuity-reviewer.md
|
|
live_examples:
|
|
- state/corpus-coverage.json
|
|
- examples/agent-state.call-of-the-void.json
|
|
- examples/projections/call-of-the-void.scene-broken-taxi-oz.jsonl
|
|
- examples/projections/call-of-the-void.scene-broken-taxi-oz.pretty.json
|
|
- examples/lore-grounding/historical-flashpoint.template.json
|
|
- examples/lore-grounding/pallas-species-strikes.awakened-labor.v0.json
|
|
- examples/agent-state.pallas-species-strikes.v0.json
|
|
- examples/coordinator/pallas-species-strikes.branch-and-fold.v0.json
|
|
- examples/ink/pallas-species-strikes.branch-and-fold.v0.ink
|
|
- examples/ink/pallas-species-strikes.branch-and-fold.v0.training.json
|
|
- examples/visual/pallas-species-strikes.branch-and-fold.v0.visual.json
|
|
- experiments/pallas-species-strikes/pallas-species-strikes.branch-and-fold-clean-run.v0.md
|
|
- experiments/pallas-species-strikes/pallas-species-strikes.visual-scene-review.v1.json
|
|
pruned_receipts:
|
|
- Old prototype fixture receipts and local runner files were removed from the live workspace after their lessons were distilled into docs, state, evidence, and git history.
|
|
|
|
data_flow:
|
|
- Rehydrate from map, handoff, system map, implementation plan, and `npm run state:status`.
|
|
- Work one bounded organ.
|
|
- Verify the seam that matters.
|
|
- Add distilled evidence only when future belief changes.
|
|
- Commit and push completed work.
|
|
- If state grows faster than understanding, cut it back.
|
|
|
|
current_status:
|
|
summary: Pallas Species Strikes is the current accepted-as-draft branch-and-fold IF fixture. The live workspace has been pruned to remove old prototype fixture receipts, stale runner tools, and model-runner experiment debris after their lessons were distilled into the architecture docs, state, evidence, and git history. The next build step is corpus-scale coverage rather than further archaeology.
|
|
next_action: Use the corpus coverage ledger to select the next Aetheria fixture from the 100-150 broad coverage target.
|