CinvanaAI
← All projects

Workbench · Conversations & archives

Conversation Engine

Keep a conversation and its changing transformations traceable in a recoverable local vault.

Repository: CinvanaAI/cinvana-conversation-engine

Recorded synthetic example. Source with a complete offline example.

See the idea in action.

All six stages acquire current results; level 9 resolves to “Review the fixture.” The demo creates and removes its own disposable vault.

Example input
A source message, an explicitly configured Workshop mapping, and three synthetic worker replies.
Captured result
{
  "mode": "Synthetic worker replies; actual engine intake and validation",
  "source": "Morgan will review the fixture.",
  "public_message": "Morgan will review the fixture.",
  "short_private_version": "Review the fixture.",
  "completed_stages": {
    "mapping": "mapping",
    "public_safety": "redactions",
    "original_versions": "versions",
    "public_versions": "result_pointer",
    "discord_original": "source_pointer",
    "discord_public": "result_pointer"
  },
  "worker_replies": [
    "public_safety",
    "original_versions",
    "mapping"
  ],
  "worker_exchanges": [
    {
      "stage": "public_safety",
      "source_text": "Morgan will review the fixture.",
      "input_files": [
        "instructions.md",
        "message.txt",
        "request.json"
      ],
      "returned_files": {
        "response.json": "{\"decision\": \"Public\", \"redactions\": []}"
      }
    },
    {
      "stage": "original_versions",
      "source_text": "Morgan will review the fixture.",
      "input_files": [
        "instructions.md",
        "message.txt",
        "request.json"
      ],
      "returned_files": {
        "version_1.txt": "Review the fixture."
      }
    },
    {
      "stage": "mapping",
      "source_text": "Morgan will review the fixture.",
      "input_files": [
        "instructions.md",
        "mapping_context.md",
        "mapping_reference.json",
        "message.txt",
        "request.json"
      ],
      "returned_files": {
        "response.json": "{\"discord_public_indexing\": [\"Workshop\"]}"
      }
    }
  ],
  "input_envelope": {
    "chat": {
      "chat_id": "synthetic-workshop",
      "destination_rel_path": "Archived/synthetic-workshop",
      "position": 1
    },
    "message": {
      "speaker": "User",
      "timestamp": "2026-01-01T12:00:00+00:00",
      "text": "Morgan will review the fixture."
    }
  },
  "live_model_calls": 0
}

Try the example.

From the repository root, follow the dependency requirements in the README. This example uses supplied synthetic material.

python -m pip install -e .
python -m examples.offline_demo

All six stages acquire current results; level 9 resolves to “Review the fixture.” The demo creates and removes its own disposable vault.

Complete setup and instructions ↗

The interesting part.

Current state is a reference graph of immutable source/contracts/results, not a pile of mutable exported copies.

Integrated source snapshot

Where it came from.

Reviewed source snapshot of the live Conversation Engine implementation.

Copies its allowed implementation boundary without the Runtime directory and supplies public documentation.

A local transformation vault; feeders and consumers remain separate systems.

Source ↗

Follow the family: Conversation source, migration and Discord archives