diff --git a/ai_blueprint.md b/ai_blueprint.md index f32f9a9..e2111f0 100644 --- a/ai_blueprint.md +++ b/ai_blueprint.md @@ -22,7 +22,7 @@ Every time a change is made to this blueprint or related files, the following st **Solution:** - **Dynamic Character Injection:** ✅ Only inject characters who are explicitly mentioned in the chapter's `scene_beats`, plus the POV character. *(Implemented v1.5.0)* -- **RAG for Lore/Locations:** ⏳ Instead of forcing all world-building into a static style block, implement a lightweight retrieval system (or explicit tagging in beats) that pulls in descriptions of *only* the locations and specific items relevant to the current chapter. *(Planned v2.5 — see Section 8)* +- **RAG for Lore/Locations:** ✅ Lightweight retrieval system implemented — chapter beats tagged with `locations`/`key_items`, lore index built via `update_lore_index` in `bible_tracker.py`, only relevant entries injected per chapter. *(Implemented v2.5 — see Section 8)* ## 2. Structured "Story So Far" (State Management) @@ -31,10 +31,7 @@ Every time a change is made to this blueprint or related files, the following st **Solution:** - **Smart Truncation:** ✅ Instead of truncating `prev_content` blindly, take the *last* 1000 tokens of the previous chapter, ensuring the immediate hand-off (where characters are standing, what they just said) is perfectly preserved. *(Implemented v1.5.0 via `utils.truncate_to_tokens` tail logic)* -- **Thread Tracking:** ⏳ Refactor the `Story So Far` into structured data: *(Planned v2.5 — see Section 9)* - - `Active Plot Threads`: What are the characters currently trying to achieve? - - `Immediate Preceding Action`: A concise 3-sentence summary of exactly how the last chapter ended physically and emotionally. - - `Resolved Threads`: Keep hidden from the prompt to save tokens unless relevant. +- **Thread Tracking:** ✅ `Story So Far` refactored into structured `story_state.json` via `story/state.py` — `active_threads`, `immediate_handoff` (3 sentences), and `resolved_threads`; injected as structured prompt context in `engine.py`, replacing the raw summary blob. *(Implemented v2.5 — see Section 9)* ## 3. Pre-Flight Scene Expansion (Fixing it before writing)