From 43eddcd9d6b9168375cc0d45b895eb21dcbfc0d6 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sat, 2 May 2026 23:40:45 +0100 Subject: [PATCH] Clean up architecture documentation --- .../aetheria-content-generation-targets.md | 18 +- docs/architecture/ink-branching-scenes.md | 19 +- docs/architecture/projected-local-context.md | 4 +- docs/architecture/qwen-invocation-notes.md | 15 +- docs/architecture/sequential-agent-runtime.md | 23 ++- .../soft-model-training-artifacts.md | 64 ++++++- docs/architecture/training-plan.md | 171 ++++++++++++++++-- notes/fresh-workspace-handoff.md | 17 +- notes/ghostlight-current-system-map.md | 36 +++- state/evidence.jsonl | 1 + state/map.yaml | 9 +- 11 files changed, 328 insertions(+), 49 deletions(-) diff --git a/docs/architecture/aetheria-content-generation-targets.md b/docs/architecture/aetheria-content-generation-targets.md index aa6662c..fa65a71 100644 --- a/docs/architecture/aetheria-content-generation-targets.md +++ b/docs/architecture/aetheria-content-generation-targets.md @@ -137,15 +137,21 @@ The first useful organs are: 3. relationship and faction stance records 4. event and scene records 5. prompt projection renderer for content generation -6. drama beat generator driven by goals, values, pressure, and memory -7. dialogue scaffold renderer that preserves stance, mask, and relationship +6. coordinator/story runtime driven by goals, values, pressure, memory, + continuity, branch flags, and author constraints +7. branch compiler that turns reviewed branch plans into Ink, sidecars, + callbacks, consequence variables, and visual prompt handles +8. IF artifact reviewer that catches decorative choices, fake folds, unused + variables, and missing consequence callbacks +9. dialogue scaffold renderer that preserves stance, mask, and relationship asymmetry -8. character-local dialogue context packs that restrict each generated voice to +10. character-local dialogue context packs that restrict each generated voice to what that character knows, feels, wants, fears, and perceives The output should be inspectable. The author should be able to see why the machine thinks a character would deflect, confess, threaten, soften, bargain, -or lie. +lie, leave, spend a resource, conceal evidence, or make a choice that changes a +later scene. ## What This Is Not @@ -166,10 +172,12 @@ The first implementation is useful if it can: - keep character state distinct from prompt prose - render dialogue from character-local context rather than global plot vibes -- generate dialogue scaffolds that reflect relationship history +- generate branching dialogue/action scaffolds that reflect relationship history - create procedural drama from incompatible goals instead of random hostility - preserve cultural and factional pressure without making clones - produce story beats a human author can actually use +- make branch choices matter through later affordances, callbacks, visual + modifiers, costs, risks, and endings - explain its choices in state terms rather than vibes in a rented coat The real test is not whether the system can improvise a cool scene once. The diff --git a/docs/architecture/ink-branching-scenes.md b/docs/architecture/ink-branching-scenes.md index 1dd6e9c..d63f717 100644 --- a/docs/architecture/ink-branching-scenes.md +++ b/docs/architecture/ink-branching-scenes.md @@ -62,7 +62,7 @@ One-shot generation of both sides is allowed only as bootstrap scaffolding, and must be marked as such in the capture review. It is not the target runtime shape. -The first generated draft path is: +Archived local-model draft path: ```text examples/agent-state.cold-wake-story-lab.json @@ -74,11 +74,11 @@ examples/agent-state.cold-wake-story-lab.json -> examples/ink/cold-wake-sanctuary-intake.qwen-draft.training.json ``` -The Qwen draft is accepted as training material, not as final polished prose or -runtime architecture. It generated Maer's branch options and Sella's responses -in one pass, which is a known shortcut. A generated branch can still be useful -because it exposes a decision shape, an action type, a misread, or a prompt -failure even when the line writing still needs a human with a knife. +This path is a receipt from the old local-model materialization experiment. It +is useful for validation and negative examples, not the current gold-data path. +The current target path is source-grounded coordinator state, projected local +context, reviewed character turns, branch compiler materialization, and IF +artifact review. ## Ink Comments @@ -139,12 +139,15 @@ Manual reviewed until trained: - activation changes - promotion from branch outcome into durable Aetheria lore -The first prototype lives in +The first early prototype lives in `examples/ink/cold-wake-sanctuary-intake.ink`. -The first Qwen-generated draft lives in +The archived Qwen-generated draft lives in `examples/ink/cold-wake-sanctuary-intake.qwen-draft.ink`. +The current accepted-as-draft branch-and-fold scaffold lives in +`examples/ink/cold-wake-branch-and-fold.v0.ink`. + ## Cross-Scene Consequence Carryover Ghostlight branching scenes should not behave like disconnected dialogue samples. diff --git a/docs/architecture/projected-local-context.md b/docs/architecture/projected-local-context.md index d2c3cb6..0372198 100644 --- a/docs/architecture/projected-local-context.md +++ b/docs/architecture/projected-local-context.md @@ -97,7 +97,7 @@ The sequential runtime still owns: - event proposal capture - participant appraisal - reviewed mutation -- Ink materialization +- branch compiler / Ink materialization The projector owns the translation from Ghostlight's internal state language to character-local operating prose. @@ -106,7 +106,7 @@ character-local operating prose. 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 Qwen prompts and +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: diff --git a/docs/architecture/qwen-invocation-notes.md b/docs/architecture/qwen-invocation-notes.md index 523cac0..d53508b 100644 --- a/docs/architecture/qwen-invocation-notes.md +++ b/docs/architecture/qwen-invocation-notes.md @@ -1,7 +1,16 @@ # Qwen Invocation Notes -Ghostlight should call the local Qwen box through Ollama's chat/tool path when -structured output matters. +These notes are archived local-model plumbing guidance. They are useful when a +task explicitly tests the neighboring Qwen box, Ollama tool calls, or old +capture validation. They are not the current gold-data generation path. + +For accepted responder, branch compiler, or IF review data, preserve exact +visible inputs, raw outputs, review labels, and coordinator interventions. Do +not treat old local-model captures as active steering unless the task is +explicitly model plumbing. + +When Ghostlight does call the local Qwen box, use Ollama's chat/tool path for +structured output. ## Verified Local Path @@ -71,7 +80,7 @@ Sources: ## Current Policy -For structured Ghostlight generation: +For archived local-model experiments and future explicit Qwen plumbing: 1. Prefer native chat/tool calls with thinking disabled for strict generation. 2. Keep tool schemas narrow and concrete. diff --git a/docs/architecture/sequential-agent-runtime.md b/docs/architecture/sequential-agent-runtime.md index 9d472a4..22a19b7 100644 --- a/docs/architecture/sequential-agent-runtime.md +++ b/docs/architecture/sequential-agent-runtime.md @@ -360,28 +360,35 @@ agent state + scene state ## First Prototype -The next implementation should not try to simulate a city. Calm down, wizard. +The first implementation should not try to simulate a city. Calm down, wizard. -Prototype one tiny Ink-backed branching scene loop: +Prototype one small Ink-backed branching scene loop: 1. Load `examples/agent-state.cold-wake-story-lab.json`. 2. Select one scene and one acting agent. 3. Build a local awareness packet from existing state. 4. Compile projection controls. -5. Generate or author an Ink scene with branch choices and NPC responses. -6. Compile the Ink scene to JSON with `inkjs`. -7. Save a sidecar training annotation that maps Ink branches to Ghostlight +5. Generate or author branch choices and NPC responses from local context. +6. Materialize the branch plan through the Branch Compiler as Ink, sidecar + annotation, compiler notes, consequence variables, and visual prompt handles. +7. Compile the Ink scene to JSON with `inkjs`. +8. Save a sidecar training annotation that maps Ink branches to Ghostlight state basis, actor intent, consequence surfaces, and mutation policy. -8. Apply selected branch consequences only through reviewed mutation: +9. Apply selected branch consequences only through reviewed mutation: - Ink variables can track local playthrough facts - canonical state changes require resolver/reviewer approval -9. Manually review fuzzy participant appraisals and state effects each turn: +10. Run IF artifact review before acceptance: + - every material variable is read later or marked telemetry-only + - every material choice changes affordance, risk, callback, visual state, or + outcome + - folds preserve consequence rather than hiding it +11. Manually review fuzzy participant appraisals and state effects each turn: - update every affected participant before selecting the next actor - add one memory or belief update - adjust one or two `current_activation` values - update one relationship stance if justified - record the rationale as training data -10. Validate the resulting fixture. +12. Validate the resulting fixture. The goal is not literary quality or autonomous plot generation. The goal is to prove that a character can drive a scene beat, produce branchable dialogue or diff --git a/docs/architecture/soft-model-training-artifacts.md b/docs/architecture/soft-model-training-artifacts.md index ac2688a..6955c11 100644 --- a/docs/architecture/soft-model-training-artifacts.md +++ b/docs/architecture/soft-model-training-artifacts.md @@ -9,7 +9,7 @@ Some parts should be boring code: - action legality - object custody - resource accounting -- Ink materialization +- Ink syntax validation and compilation - event append - provenance checks - deterministic context slicing @@ -295,6 +295,66 @@ 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. + +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 +- 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 + +The first Cold Wake branch-and-fold review is seed material for this organ +because it 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 @@ -354,6 +414,8 @@ JSONL wearing a crown. - 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 diff --git a/docs/architecture/training-plan.md b/docs/architecture/training-plan.md index 9ca8c23..8a3b2c2 100644 --- a/docs/architecture/training-plan.md +++ b/docs/architecture/training-plan.md @@ -160,6 +160,8 @@ world state + author constraints + lore grounding -> 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 @@ -208,6 +210,8 @@ Approximate target scale: | 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 | @@ -237,6 +241,8 @@ 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 @@ -258,9 +264,11 @@ 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 @@ -843,7 +851,127 @@ Pilot schema shakedown gate: - repeated-contact sequences, not only isolated events - evaluation includes asymmetric relationships and stubborn misreads -### 10. Output Evaluator And Guardrail Classifiers +### 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 `.ink` scene content +- Ink variables, choices, knots, gathers, and conditionals +- `.training.json` sidecar tying branches to state basis, action intent, + consequences, callbacks, and review status +- compiler notes for fold decisions, route-split decisions, and known review + risks +- base image prompt handles and branch/state modification handles + +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, and schema + shape + +Training artifacts: + +- accepted and rejected compiled fixtures +- Ink/sidecar pairs +- 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, compiler notes, and review + status +- 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.json` sidecar +- 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`, or `rejected` +- 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`, and `ending_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. @@ -888,7 +1016,7 @@ Pilot schema shakedown gate: - 300 labeled failures across prompt leakage, omniscience, wrong body, wrong lore, invalid mutation, schema drift, and flattened character agency -### 11. Institution, Faction, And Consumer Decision Models +### 13. Institution, Faction, And Consumer Decision Models Purpose: model non-dialogue decisions in economic, factional, institutional, and open-world contexts. @@ -957,7 +1085,7 @@ Pilot schema shakedown gate: - include examples where factions differ in starting pre-Elysium tech base, manufacturing rights, maintenance ability, and supply-chain dependency -### 12. Technology And Item Manifest Generator +### 14. Technology And Item Manifest Generator Purpose: turn worldbuilding exploration into game-usable item, component, assembly, technology, and supply-chain records. @@ -1061,19 +1189,23 @@ Recommended order: 1. Keep deterministic validators and artifact schemas ahead of data volume. 2. Build coordinator artifact schema and start saving coordinator receipts. 3. Expand projected local context and character-turn capture receipts. -4. Build evaluator labels from existing failures. -5. Fine-tune or LoRA the Aetheria responder first, because strong response data +4. Stabilize branch compiler artifacts for Ink, sidecars, fold notes, and visual + prompt handles. +5. Build IF artifact reviewer labels from existing branching failures. +6. Build broader evaluator labels from responder, projector, lore, and mutation + failures. +7. Fine-tune or LoRA the Aetheria responder first, because strong response data directly improves visible output and reduces lore handholding. -6. Add future-branch post-Rupture examples before claiming the responder can +8. Add future-branch post-Rupture examples before claiming the responder can handle Elysium-era concepts without heavy prompting. -7. Train projector only if deterministic projection becomes a bottleneck. -8. Train appraiser and relationship updater after enough manual mutation receipts +9. Train projector only if deterministic projection becomes a bottleneck. +10. Train appraiser and relationship updater after enough manual mutation receipts exist. -9. Train state mutator last among social organs because bad mutation corrupts +11. Train state mutator last among social organs because bad mutation corrupts the world state. -10. Build item manifest schema before large future-branch exploration produces +12. Build item manifest schema before large future-branch exploration produces technology data. -11. Train institution/faction/consumer models after scene-local decisions provide +13. Train institution/faction/consumer models after scene-local decisions provide enough grounded examples. ## Minimum Corpus Before First Experimental Fine-Tune @@ -1110,6 +1242,23 @@ A first coordinator fine-tune wants: - 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 diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index 7f8b3b1..bd1f472 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -27,7 +27,7 @@ behavior, major faction decision-making, and technology/item manifest generation ## Current Focus The active path is not the archived local-model prototype runner. The active -path is: +path is a source-grounded branching-scene data loop: 1. Source-ground Aetheria context. 2. Project canonical state into character-local operating context. @@ -37,6 +37,11 @@ path is: leakage audit, and coordinator interventions. 6. Apply only reviewed mutations into state, memory, relationships, perceived overlays, and unresolved hooks. +7. Let the coordinator carry continuity, unresolved hooks, glue prose, and the + next scene/beat plan. +8. Let the branch compiler materialize playable Ink plus sidecar and compiler + notes from reviewed state and branch decisions. +9. Run IF artifact review before accepting the fixture as training data. ## Live Seams @@ -73,6 +78,11 @@ path is: - Research sanity probe: `experiments/research-sanity/navigator-embodiment-sanity-v0.capture.json` - Packet builder: `tools/build_responder_packet.py` - Packet/output validators: `tools/validate_responder_packets.py`, `tools/validate_responder_outputs.py` +- Clean Cold Wake IF scaffold: `examples/ink/cold-wake-branch-and-fold.v0.ink` +- Clean Cold Wake IF sidecar: `examples/ink/cold-wake-branch-and-fold.v0.training.json` +- Clean Cold Wake coordinator artifact: `examples/coordinator/cold-wake-branch-and-fold.v0.json` +- Clean Cold Wake readable run: `experiments/cold-wake-story-lab/cold-wake-branch-and-fold-clean-run.v0.md` +- Branch compiler and IF reviewer contract: `docs/architecture/ink-branching-scenes.md` Archived prototype captures and tools remain as evidence under `experiments/`, `examples/ink/`, and old `run_qwen_*` helpers. They are useful receipts, not the @@ -130,6 +140,11 @@ IF scaffold with visual prompt anchors and reviewed consequence surfaces. - Keep persistent state small. Git history and artifacts own chronology. - Do not let notes, map, handoff, and evidence become four versions of the same brain. - Do not train on coordinator-repaired responder prose unless the repair is labeled. +- Do not accept branch fixtures without branch compiler notes and IF artifact + review once that seam is available. +- Do not let tracked variables, authority pressure, heat, evidence quality, + relationship bands, or visual modifiers remain decorative. If they are + tracked, they need consequence or an explicit telemetry-only label. - Do not let Elysium branch futures overwrite Sol single-history facts. - Do not rebuild the older corridor-crisis game slice by accident. - Do not treat parent-visible subagent output as proof of research. If the diff --git a/notes/ghostlight-current-system-map.md b/notes/ghostlight-current-system-map.md index 584a38d..33fdb8c 100644 --- a/notes/ghostlight-current-system-map.md +++ b/notes/ghostlight-current-system-map.md @@ -33,9 +33,17 @@ Aetheria lore/source context -> sandboxed responder output -> review and leakage audit -> mutation receipt - -> updated fixture / future training corpus + -> updated scene/world/social state + -> coordinator continuity and next-beat plan + -> branch compiler materializes Ink + sidecar + compiler notes + -> IF artifact reviewer audits consequence, fold, and visual continuity + -> accepted fixture / future training corpus ``` +Responder packets are one seam, not the whole project. The current branching +scene path also requires coordinator receipts, branch compiler artifacts, and an +independent IF review pass before a fixture is accepted. + ## Important Contracts - Agent state: `schemas/agent-state.schema.json` @@ -45,6 +53,8 @@ Aetheria lore/source context - 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` +- Training stages and corpus gates: `docs/architecture/training-plan.md` ## Current Live Example @@ -90,6 +100,17 @@ Aetheria lore/source context - Parent sessions currently receive only the subagent final message, not a visible tool-call transcript. Treat subagent research as self-reported unless the worker returns explicit research notes or a future runner captures calls. +- Clean accepted-as-draft IF scaffold: + `examples/ink/cold-wake-branch-and-fold.v0.ink` +- Its sidecar is + `examples/ink/cold-wake-branch-and-fold.v0.training.json`. +- Its coordinator artifact is + `examples/coordinator/cold-wake-branch-and-fold.v0.json`. +- Its readable run is + `experiments/cold-wake-story-lab/cold-wake-branch-and-fold-clean-run.v0.md`. +- This fixture is coordinator/IF scaffold data. It is not raw responder gold. +- The user review that exposed fake variables and cosmetic state is now seed + taxonomy for the IF artifact reviewer. ## Archived Receipts @@ -99,7 +120,7 @@ embodiment, prompt leakage, and materialization. They are not active direction. Do not let them steer gold responder data unless the task is explicitly model plumbing. -## Missing Organs +## Missing Or Incomplete Organs - Deterministic speaker-local input slicer - Full prompt renderer @@ -107,13 +128,16 @@ plumbing. - Relationship/perception updater - State mutator model - Student projector +- Branch compiler implementation beyond coordinator-authored fixtures +- IF artifact reviewer implementation beyond manual/frontier review - Full scene/event loop implementation - Culture prior engine - Automatic promotion of branch outcomes into canonical state ## Current North Star -Generate high-quality, sandboxed, source-grounded responder/coordinator 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, and clear branch consequences. +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, and clear branch +consequences. diff --git a/state/evidence.jsonl b/state/evidence.jsonl index b1d4ec5..7a44b4e 100644 --- a/state/evidence.jsonl +++ b/state/evidence.jsonl @@ -34,3 +34,4 @@ {"ts": "2026-05-02T22:15:47+00:00", "type": "review", "status": "ok", "note": "Revised Cold Wake IF scaffold again after user review: authority_pressure now creates concrete PSC audit/sanction consequences, can make strong evidence unsafe without provisional_category, and appears in visual/climax modifiers."} {"ts": "2026-05-02T22:29:00+00:00", "type": "design", "status": "ok", "note": "IF artifact reviewer required before acceptance to catch Potemkin state variables, cosmetic choices, fake folds, missing state reads, state-named-instead-of-checked prose, visual callback gaps, and endings that ignore major state."} {"ts": "2026-05-02T22:30:27+00:00", "type": "design", "status": "ok", "note": "Branch Compiler documented as a separate organ: it materializes playable Ink, sidecars, fold/callback structure, and visual handles from fixture state and reviewed consequence packets, without owning hidden character truth or durable social mutation."} +{"ts": "2026-05-02T22:40:03+00:00", "type": "documentation", "status": "ok", "note": "Documentation cleanup aligned training plan, system map, handoff, soft-artifact doctrine, Ink architecture, Qwen notes, and content targets with current branch compiler + IF reviewer pipeline; old Qwen/local-model paths are archived plumbing, not active gold-data steering."} diff --git a/state/map.yaml b/state/map.yaml index b428cee..b13e08d 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -14,9 +14,9 @@ mission: social consequences, and eventually storylines, consumer behavior, faction decisions, and technology/item manifests for Aetheria. near_term: > - Produce sandboxed, source-grounded responder training data through - projected local context, responder packets, reviewed outputs, and audited - mutation receipts. + 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 @@ -81,7 +81,7 @@ live_architecture: active_subgoals: - Keep Ghostlight focused on the architecture and data pipeline for socially persistent agents. - - Build schema-stable, sandboxed responder data before chasing larger runtime loops. + - 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. - 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. @@ -154,6 +154,7 @@ current_artifacts: - experiments/cold-wake-story-lab/cold-wake-branch-and-fold-clean-run.v0.md archived_receipts: - Archived local-model prototype captures remain under experiments/ and examples/ink/ for validation and lessons, not active steering. + - docs/architecture/qwen-invocation-notes.md is archived local-model plumbing guidance, not the current gold-data route. data_flow: - Rehydrate from map, handoff, system map, implementation plan, and `npm run state:status`.