Changelog¶
The format is based on Keep a Changelog, and this project uses semantic versioning.
Unreleased¶
0.2.0 - 2026-10-27¶
Added¶
- Subcommands
run,config show,models,export, andanalyze, withechochain --startkept asechochain run --start. - Settings from a TOML file and
ECHOCHAIN_*variables, with CLI flags taking precedence. - Seed files with per-seed claims, selected by id with
--seed. - Schedules
alternate,swap,factorial,latin, andfixed:<model>, plussame-model,identity, andparaphrasecontrols. --repeatsfor batches, and--resumeto continue an interrupted run or batch.- A
manifest.jsonand one JSONL row per step for every run, described by the JSON Schemas inschemas/. - Claim fidelity, an anchored 1 to 5 score, and a comparison with the previous answer on every answer step.
- Judge-free length, token-survival, and generic-word metrics, plus cosine and entailment with the
baselineextra. echochain analyzefor bootstrap curves, Kaplan-Meier survival, restricted mean time to degradation, and log-rank tests.--dry-runfor call, token, and cost upper bounds, with--yesrequired aboveconfirm_above_usd.--budgetto stop a run at a USD cap with exit code 3.- Provider pins with
order,allow_fallbacks,data_collection, andzdr. --sampling-seedandtop_pare sent on every call and stored on the manifest.- Exit codes 0, 1, 2, 3, and 130, listed in
--help.
Changed¶
- Question steps are scored for answerability and answer steps for fidelity.
- Every chat call requires the requested parameters and disables provider fallbacks unless a pin allows them.
- Chat calls share one HTTP client, retry transient failures, and stop at a per-call deadline.
Removed¶
- Runs no longer write
chain.csv, so useechochain export --format csvinstead. - The
backoffdependency.
Fixed¶
- An unparsable judge reply is stored as no score instead of ending the run.
- An empty or truncated reply is retried once instead of being recorded as an answer.
0.1.0 - 2026-10-25¶
Added¶
- The first PyPI release, installed with
pip install echochain. OPENROUTER_API_KEYfrom the environment or.env, redacted in logs, errors, and run files.
Changed¶
- The project is renamed from llm-telephone to echoChain.
- Rotating models are current OpenRouter snapshots, and the judge is GPT-4.1 mini.
- Each saved cycle records the requested model and the model that served it.
Fixed¶
- A fresh install no longer fails on a missing
httpximport. --helpand--versionwork without an API key.- Configured model ids are checked against the OpenRouter catalog before a paid call.