CapTen101/royal-hangover

★ 0Forks 1PythonGitHub ↗Compare

README

Royal Hangover

Royal Hangover is a local-first fantasy-noir mystery where Cognee powers NPC memory retrieval, rumor provenance, and the collective-memory audit. Rumors are historical lineages: you can contain one person's belief, never erase what the city has already heard.

Local demo

cp .env.example .env
python3 -m venv .venv
.venv/bin/pip install -r requirements.txt
# Add MISTRAL_API_KEY=your_key to .env (never commit this file).
.venv/bin/uvicorn app.main:app --reload

Open http://127.0.0.1:8000. The interface starts in deterministic fallback mode if Cognee or Mistral is not ready. Select Bootstrap Cognee after the provider is healthy to ingest the canonical corpus.

Demo flow

  1. Select an NPC and use the persistent chat panel's Ask action to interrogate Barnaby, Stu, or Phil. The reply is visibly marked as answered and includes its provenance.
  2. Pursue the iron-key and cufflink leads to unlock the Keep and Crypts.
  3. Use improve() to show the Drugged Goblet to General Varis.
  4. Trace rumors in the graph, then use Advance Hour in the header. The Hourly Memory Pulse shows each mutation and confidence-decay change.
  5. Reach an ending and inspect the Reality Auditor.

Architecture

  • SQLite persists deterministic session state and the event log.
  • Cognee ingests the canonical story and supports semantic recall and explainability.
  • Mistral Small provides Cognee extraction and NPC dialogue; FastEmbed keeps embeddings local.
  • The UI is dependency-free because this environment blocks Vite package downloads; it is served directly by FastAPI.

Contributors

CapTen101devasyad-orcl

Issues