# V8 — Gap Analysis (Ariadne: The Self-Authoring Detective Universe)

Status: the authoritative map of _what is missing_ between today's V1–V7 and a
fully-AI-generated open-world detective universe. Date: 2026-06-04. Every gap
below is grounded in a real file/interface (cited), and maps to a V8 subsystem
(`V8_ARCHITECTURE.md`) and a `V8_TODOS.md` phase.

Convention: **HAVE** = real, wired code today. **PARTIAL** = scaffold/templates
/types only. **MISSING** = no implementation. `→` names the V8 closer.

---

## 0. The thesis in one paragraph

V1–V7 already deliver (a) a _real, playable_ open-world detective game with a
Sherlock-style deduction engine (V5, ~107K lines UE C++), and (b) a _real_
multi-modal AI content factory (isis image/music/voice/3D/video, hathor LLM-NPC,
yemaya's CrewAI/LangGraph creative agents + a Knox/Van-Dine mystery-fairness
validator). **They are not connected, and the one thing neither half can do is
_generate a complete, fair, solvable case_.** V8 builds the missing generator,
proves solvability formally, and compiles output into V5's _existing_ authored
case format so it ships with no engine rewrite.

---

## 1. The three macro-gaps

### Gap A — There is no case/mystery _generator_ (only a validator)

- **HAVE:**
  `libs/yemaya/agents/src/quality-assurance/mystery-fairness-validator.ts` — a
  real, domain-specific fairness checker (Knox Decalogue + Van Dine 20 rules)
  over a `MysterySession` (`clues: Map<ClueId,Clue>`,
  `solutions: Map<SolutionId,Solution>`, `characters`, `timeline`) returning a
  `FairnessAnalysis` (score, `rating`, violations). It **validates** a case.
- **HAVE:** `…/quality-assurance/investigation-mechanic-balance-analyzer.ts` —
  scores clue-distribution, deduction-chain completeness, red-herring fairness.
- **MISSING:** anything that _produces_ a `MysterySession`. No solve-first
  ground-truth builder, no clue-derivation pass, no uniqueness enforcement, no
  red-herring generator. Confirmed by repo-wide search: only validators exist.
- `→` **Clew** (generative case engine) + **Minos** (formal solvability proof),
  feeding the _existing_ validator as a gate. `V8_TODOS` Phase 2–3.

### Gap B — The agent factory is not connected to the game

- **HAVE:** a real UE5 detective game. Case data contracts exist and are loaded
  from a JSON manifest:
  - `V5/ue/Source/V5MindPalace/Public/V5MindPalaceTypes.h:33`
    `FV5MindPalaceEvidenceNode`
    (`NodeId, CaseId, SourceId, Cell, LocationId, TimestampInFiction, Tags, Description, Image:FSoftObjectPath, ExaminedDetails, bFalseLead`).
  - same file `:72` `FV5MindPalaceDeductionEdge`
    (`FromNodeId, ToNodeId, DeductionText, Confidence, Kind, bCrossEra, RequiredBureauTier, UnlockFlag`).
  - same file `:117` `FV5MindPalaceAccusationOutcome`
    (`AccusedId, EvidenceChain, RequiredEdgeIds, Rating∈{Brilliant,Good,Doubtful,Wrong}, OutcomeBranch∈{TruthRevealed,PlausibleConviction,PoliticalCoverup,Unproven}`).
  - `V5/ue/Source/V5DetectiveColdCases/Public/V5DetectiveColdCasesTypes.h:17`
    `FV5ColdCasePackDefinition`
    (`PackId, WeekNumber, CaseId, LeadCell, SourceCells, EvidenceNodeCount, DeductionPairCount, VoiceOverMinutes, VoiceLineCount, DropSlug, RewardId, Title`).
  - on-disk:
    `V5/ue/Plugins/V5Mode_Detective_ColdCases/Content/Data/cold_cases_manifest.json`
    (`schemaVersion:1`, `packs[]`, each `mindPalace.evidenceNodeIds[]` +
    `deductionPairIds[]`), validated by
    `V5/tools/cold-cases/validate-cold-cases.py`.
- **HAVE:** an asset factory — `libs/isis/client`
  `IsisClient.submitJob() / submitAndWait()` returning `JobOutput.files[].url`;
  `libs/hathor/llm-npc` `DialogueGenerator.generateResponse()`.
- **MISSING:** the **compiler** that turns a validated `MysterySession` (+ its
  assets) into `FV5*` structs + a `cold_cases_manifest.json` pack; the **asset
  manifest** binding generated audio/mesh/texture to `FSoftObjectPath`s; the
  **runtime relay** so the game can request cases on demand. yemaya/agents has
  **zero** references to V5/Unreal today.
- `→` **Daedalus** (case compiler + runtime relay). `V8_TODOS` Phase 4 & 9.

### Gap C — Orchestration & integrations are scaffold, not live

- **PARTIAL:** `apps/lilith/svc-ai/src/agent-coordination.ts:24` carries the
  literal marker
  `// stub:legitimate Until the coordination protocols are wired to a real LLM … the response strings and confidences are scaffolds`.
- **PARTIAL:** `libs/neith/integration-hathor` narrative/quest generators are
  **deterministic templates** (Freytag tension tables, fixed complication
  graphs), not LLM-driven.
- **PARTIAL:** yemaya `*-integration` dirs (isis/hathor/sophia/bellona) are
  **type-layer wrappers** around `@isis/client`, `@hathor/client`,
  `@sophia/client`; not end-to-end pipelines.
- **HAVE (substrate):** yemaya `WorkflowBuilder` / `WorkflowExecutor` /
  `StateGraph` (LangGraph-style) and `CreativeAgent` base (real
  `llmProvider.complete()` calls) — the right bones, under-used.
- `→` Promote to live: **Anansesɛm** writers'-room DAG on the existing
  orchestration substrate; wire the integration adapters to real job calls.
  `V8_TODOS` Phase 5–6.

---

## 2. Capability matrix — every element a fully-generated detective universe needs

| Element                                        | Status today | Evidence                                                               | V8 closer                        |
| ---------------------------------------------- | ------------ | ---------------------------------------------------------------------- | -------------------------------- |
| Open-world detective game loop                 | **HAVE**     | V5 investigation/interrogation/Mind-Palace/accusation, ~107K lines C++ | reuse                            |
| Sherlock-style deduction graph                 | **HAVE**     | `FV5MindPalaceDeductionEdge`, pair-and-deduce                          | reuse                            |
| On-disk authored case format                   | **HAVE**     | `cold_cases_manifest.json` + validator.py                              | **Daedalus** emits it            |
| Mystery fairness scoring                       | **HAVE**     | `mystery-fairness-validator.ts` (Knox/Van Dine)                        | reuse as gate                    |
| Investigation balance scoring                  | **HAVE**     | `investigation-mechanic-balance-analyzer.ts`                           | reuse as gate                    |
| Image / music / voice / 3D / video gen         | **HAVE**     | `isis/ai-providers` + `IsisClient.submitJob`                           | **Loom** orchestrates            |
| LLM NPC dialogue                               | **HAVE**     | `hathor/llm-npc` `DialogueGenerator`                                   | **Ori-Detective** bridge         |
| Multi-agent orchestration substrate            | **HAVE**     | yemaya `WorkflowBuilder`/`StateGraph`                                  | **Anansesɛm** uses it            |
| Creative agents (story/char/dialogue)          | **HAVE**     | yemaya `CreativeAgent` base + specialists                              | **Anansesɛm** extends            |
| **Case ground-truth generator (solve-first)**  | **MISSING**  | —                                                                      | **Clew** Stage 1                 |
| **Clue derivation tied to solution vars**      | **MISSING**  | —                                                                      | **Clew** Stage 2                 |
| **Red-herring generator (fairly refutable)**   | **MISSING**  | —                                                                      | **Clew** Stage 2                 |
| **Formal unique-solution proof (CSP/ASP)**     | **MISSING**  | —                                                                      | **Minos** Stage 3                |
| **Canon / continuity knowledge graph**         | **PARTIAL**  | yemaya `canon-enforcement` lib exists; not graph-RAG                   | **Palimpsest** Stage 0/4         |
| **MysterySession → FV5\* case compiler**       | **MISSING**  | —                                                                      | **Daedalus** Stage 4             |
| **Generated-asset → FSoftObjectPath manifest** | **MISSING**  | —                                                                      | **Daedalus** Stage 4             |
| **Automated solver / playtest eval**           | **MISSING**  | —                                                                      | **Theseus** Stage 7              |
| **LLM-as-judge quality gate (8-dim)**          | **MISSING**  | —                                                                      | **Theseus** Stage 7              |
| **Runtime case-on-demand relay (UE5)**         | **MISSING**  | —                                                                      | **Daedalus runtime** Stage 9     |
| **Live AI interrogation (ACE/Inworld)**        | **MISSING**  | —                                                                      | **Ori-Detective + ACE** Stage 9  |
| **Open-world case director / drama mgr**       | **MISSING**  | —                                                                      | **Oracle** Stage 10              |
| Living suspects (memory/reflection/plan)       | **PARTIAL**  | V6 **Ori** spec exists; UE client is stubs                             | **Ori-Detective** Stage 6        |
| Cost / budget governance                       | **HAVE**     | yemaya `budget-management`                                             | reuse                            |
| Human-in-the-loop review                       | **HAVE**     | yemaya `hitl`                                                          | reuse                            |
| Provenance / C2PA on exports                   | **HAVE**     | V3 `C2PA_EVERY_EXPORT.md`                                              | reuse                            |
| Trust & safety on generated content            | **HAVE**     | V7 **Sekhmet**                                                         | reuse                            |
| Multiplayer canon sync                         | **PARTIAL**  | V5 online services; no generated-case sync                             | **Daedalus + Oracle** Phase 9/11 |
| Determinism / replay of generation             | **MISSING**  | —                                                                      | seed+journal, Phase 11           |
| Localization of generated cases                | **PARTIAL**  | V6/V7 loc                                                              | extend, Phase 11                 |
| Accessibility of generated cases               | **PARTIAL**  | V6 accessibility                                                       | extend, Phase 11                 |

---

## 3. What V8 explicitly does NOT redo

- It does **not** re-author V5's hand-made 25 launch cases — those remain the
  golden reference corpus and **eval fixtures** for Theseus/judge calibration.
- It does **not** rebuild the UE deduction UI, interrogation rig, or world
  streaming — V8 emits data the existing systems already consume.
- It does **not** add a new asset provider — isis already wires Stability, Suno,
  ElevenLabs, Meshy, Hunyuan3D, LTX. V8 _orchestrates_ them per case.
- It does **not** introduce a new orchestration framework — it uses yemaya's
  `WorkflowBuilder`/`StateGraph`.

V8 is an **integration + generation-completion** version: one new generative
core (Clew/Minos), one new bridge (Daedalus), and the promotion of existing
scaffolds (Anansesɛm, the integration adapters, Ori) to live, verified,
end-to-end production.
