From 92df5142cb1fc7605f39ad4b1e4bb3f605bb5b16 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sat, 2 May 2026 03:32:37 +0100 Subject: [PATCH] Document projector seam before compaction --- notes/fresh-workspace-handoff.md | 19 ++++++++++++++----- notes/ghostlight-current-system-map.md | 7 ++++--- notes/ghostlight-implementation-plan.md | 11 +++++++++-- state/map.yaml | 7 +++++-- 4 files changed, 32 insertions(+), 12 deletions(-) diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index 9351c44..1099e99 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -118,9 +118,9 @@ training feedstock for projection and dialogue scaffolding. ## Current Next Action -Materialize the accepted v5 thinking-plus-tools sequential capture into an Ink -branch draft and sidecar, then apply reviewed state mutation only after -validation. +Build the projector artifact seam that translates canonical state into compact +character-local operating context, then rerun or materialize v5-style +sequential generation through that projector rather than raw state soup. Cat/Oz remains useful as an Elysium procedural mechanics fixture, but grounded training data should start from authored historical lore rather than gameplay @@ -196,13 +196,22 @@ Completed projection path items: v3 preserved a useful failure where old prompt text still caused plain JSON content in later passes; v5 is accepted as draft and produced valid tool-shaped Maer choice, Sella appraisal, and Sella next action +- identify the projector gap: + the sequential runner is still scaffolding because it sends selected raw + numeric state variables into prompts. The next real organ is a projector or + state interpreter that turns canonical variables, memories, relationship + stance, culture, and scene pressure into readable character-local operating + context and action affordances. Character agents should not need to interpret + `current_activation`, `plasticity`, or numeric dimension scores. Remaining projection path: - build a deterministic speaker-local input slicer - build a renderer that emits projection controls before prompt prose -- materialize the accepted v5 thinking-plus-tools sequential capture into Ink - and sidecar annotation +- build the projector artifact seam before materializing more generated + branches +- rerun or adapt v5-style thinking-plus-tools sequential generation through + projected character-local context instead of raw state variables - improve the local-awareness-to-Ink prompt so semantic `training_hooks` do not drift into future branch ids, object custody remains branch-local, and action labels come from the exact canonical enum diff --git a/notes/ghostlight-current-system-map.md b/notes/ghostlight-current-system-map.md index ec84436..b94734a 100644 --- a/notes/ghostlight-current-system-map.md +++ b/notes/ghostlight-current-system-map.md @@ -209,6 +209,7 @@ Ink is now the standard branching scene format. The first Qwen-generated Ink draft now exists with a reviewed capture, the first selected branch now has a reviewed mutation replay that updates both involved characters, v2 shows the symmetrical turn model improves action behavior, and v5 proves local -thinking-plus-tools invocation works for the scene runner. The next -implementation target is materializing the accepted v5 capture into Ink and a -sidecar annotation. +thinking-plus-tools invocation works for the scene runner. The runner is still +scaffolding because it sends selected raw numeric state variables into the +model. The next implementation target is the projector artifact seam: canonical +state becomes compact character-local operating context before Qwen sees it. diff --git a/notes/ghostlight-implementation-plan.md b/notes/ghostlight-implementation-plan.md index c93f298..3a0b0ec 100644 --- a/notes/ghostlight-implementation-plan.md +++ b/notes/ghostlight-implementation-plan.md @@ -114,8 +114,15 @@ text conflicted with tool calling. - Fifth sequential draft: v5 is accepted as draft. It used thinking plus native tools for Maer choice, Sella appraisal, and Sella next action. - - Next prototype: materialize the accepted v5 capture into Ink and sidecar - annotation, then apply reviewed state mutation only after validation. + - Projector gap: the sequential runner still sends selected raw numeric + state variables into prompts. This is acceptable scaffolding for Qwen + plumbing tests, not the final Ghostlight architecture. + - Next prototype: build the projector artifact seam that turns canonical + variables, memory, relationship stance, culture, and scene pressure into + compact character-local operating context and action affordances. + - After projector seam exists, rerun or adapt v5-style thinking-plus-tools + sequential generation through projected context, then materialize only a + validated branch into Ink and sidecar annotation. 5. Build the projection distillation loop. Started. - Use `docs/architecture/projection-distillation-plan.md` as the teacher to diff --git a/state/map.yaml b/state/map.yaml index f050ec0..3c28d7f 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -118,7 +118,10 @@ accepted_design: - The second sequential Qwen capture validates the symmetrical turn shape behaviorally by producing canonical action labels and a non-speech Sella action, but still needs revision because prose prompting did not enforce array-typed JSON fields. - Qwen structured generation should use Ollama `/api/chat` with native tools and `think: true`, not `/api/generate` plus prose-only JSON instructions; Qwen's XML-shaped tool format is an internal chat-template/tool-call convention, not a reason to wrap Ghostlight artifacts in XML. - The local Qwen tool path works with thinking enabled, but nested arguments can still double-stringify, so the runner repairs known nested fields and preserves failures as reviewed captures. + - The current sequential Qwen runner is scaffolding, not the final projection architecture: it still sends selected raw numeric state variables directly to the model. + - A projector/state interpreter must sit between canonical agent state and Qwen prompts, translating numbers, memories, relationships, culture, and scene pressure into compact character-local operating context and affordances. + - Character agents should not need to interpret `current_activation`, `plasticity`, or raw dimension scores; those belong to Ghostlight's internal state model and projector training data. current_status: - summary: Ghostlight now has the Epiphany-style persistence spine, the first architecture payload, the v0 canonical agent-state schema seam, prompt projection docs, immediate schema fixes from evaluation, first reviewed Cat/Oz projection examples, a revised Aetheria lore-grounding architecture, a lore grounding digest schema, the first draft Cold Wake historical grounding digest, a Cold Wake story-lab fixture, projection controls, validated Qwen capture receipts, a complete Cold Wake short story assembled from accepted projection outputs, a hand-authored Ink-backed Cold Wake branching scene, the first Qwen-generated Ink draft materialized from local awareness with reviewed training annotations, the first reviewed sequential branch mutation that updates both Maer and Sella after a sanctuary intake beat, a v2 sequential Qwen capture proving the symmetrical turn shape produces better action behavior, and a v5 sequential Qwen capture proving local thinking-plus-tools invocation works for the scene runner. - next_action: Materialize the accepted v5 thinking-plus-tools sequential capture into an Ink branch draft and sidecar, then apply reviewed state mutation only after validation. + summary: Ghostlight now has the Epiphany-style persistence spine, the first architecture payload, the v0 canonical agent-state schema seam, prompt projection docs, immediate schema fixes from evaluation, first reviewed Cat/Oz projection examples, a revised Aetheria lore-grounding architecture, a lore grounding digest schema, the first draft Cold Wake historical grounding digest, a Cold Wake story-lab fixture, projection controls, validated Qwen capture receipts, a complete Cold Wake short story assembled from accepted projection outputs, a hand-authored Ink-backed Cold Wake branching scene, the first Qwen-generated Ink draft materialized from local awareness with reviewed training annotations, the first reviewed sequential branch mutation that updates both Maer and Sella after a sanctuary intake beat, a v2 sequential Qwen capture proving the symmetrical turn shape produces better action behavior, a v5 sequential Qwen capture proving local thinking-plus-tools invocation works for the scene runner, and a newly explicit projector gap warning that raw state variables must not be the final prompt surface. + next_action: Build the projector artifact seam that translates canonical state into compact character-local operating context, then rerun or materialize v5-style sequential generation through that projector rather than raw state soup.