explaingit

resonantiq/resonantforge

Analysis updated 2026-05-18

2PythonAudience · developerComplexity · 2/5Setup · easy

TLDR

A Python command-line tool that generates synthetic, deterministic two-party conversation transcripts for testing AI systems that score or classify dialogue.

Mindmap

mindmap
  root((ResonantForge))
    What it does
      Generates fake transcripts
      Deterministic seeds
      Dry run mode
    Tech stack
      Python
      CLI
    Use cases
      Test dialogue classifiers
      CI fixtures
      Custom conversation profiles
    Audience
      ML engineers
      QA engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Generate reproducible fake conversation transcripts as CI test fixtures

USE CASE 2

Test a dialogue scoring or routing system without exposing real customer data

USE CASE 3

Build a custom conversation profile for a new domain by subclassing the base profile

USE CASE 4

Run in dry-run mode to prototype a test pipeline without an API key

What is it built with?

Python

How does it compare?

resonantiq/resonantforge0-bingwu-0/live-interpreter0xkaz/llm-governance-dashboard
Stars222
LanguagePythonPythonPython
Setup difficultyeasymoderatehard
Complexity2/52/54/5
Audiencedevelopergeneralops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

In plain English

ResonantForge is a Python command-line tool that creates batches of synthetic two-party conversation transcripts designed for testing AI systems that score, classify, route, or analyze dialogues. Instead of using real customer conversations, you point it at a "profile" describing the conversation domain, supply a seed number, and it produces a structured dataset of dialogues with quality-signal annotations, source-document citations, participant trajectories, and planted human-review corrections already embedded. The central design principle is determinism. Run the tool twice with the same seed and you get the identical simulation structure, making it a reliable fixture in automated test builds. In dry-run mode, the tool skips all AI model calls and generates placeholder prose, so no API key is needed to start. In live mode, it calls an AI model to produce realistic conversational prose while keeping the structural metadata and planted signals reproducible across runs. The included profiles cover customer-support conversations for software-as-a-service companies and professional services businesses, but the architecture is domain-agnostic: developers can create profiles for any two-party conversation domain by subclassing a base class in the codebase. The abstract base class enforces the required interface so gaps surface immediately rather than producing silent empty outputs. ResonantForge is aimed at engineers building conversation evaluation pipelines who need realistic, controlled, and reproducible dialogue data without exposing real user conversations.

Copy-paste prompts

Prompt 1
Show me how to run ResonantForge in dry-run mode to generate test transcripts
Prompt 2
Help me write a custom ResonantForge profile for a new conversation domain
Prompt 3
Explain how ResonantForge keeps its generated transcripts deterministic across runs
Prompt 4
How do I use ResonantForge's planted review corrections in my test suite?

Frequently asked questions

What is resonantforge?

A Python command-line tool that generates synthetic, deterministic two-party conversation transcripts for testing AI systems that score or classify dialogue.

What language is resonantforge written in?

Mainly Python. The stack also includes Python.

How hard is resonantforge to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is resonantforge for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.