Zain Dana HarperChorus
Discourse synthesis, bounded by receipts.
Chorus turns a captured comment or thread corpus into weighted, clustered, re-checkable discourse digests. Version 0.3.0 adds a source-change review gate for deciding whether current gathered sources still match a reference set.
See it work, step by step: an animated walkthrough with the real commands and output from the repository.
It is a standalone public system that can read Gather corpora. Its optional model overlay is separately provenanced and excluded from the deterministic receipt, and the v0.3.0 GitHub release added the source-change gate. Version 0.3.1 is on PyPI as chorus-discourse.
0.3.1 on PyPI · latest GitHub release v0.3.0 · checked 2026-09-26
Current public record.
Product type
Discourse synthesis system.
Implemented work
Greedy nearest-leader clustering over deterministic hashed-TF-IDF vectors, English-only literal lexicon scoring, theme and aspect disagreement measures, Gather-corpus input, content-addressed receipts, v0.2.0 label-support fields, and 0.3.0 source-change decisions that return MATCH, DRIFT, or UNVERIFIABLE.
Evidence
PyPI serves chorus-discourse 0.3.1, uploaded on 22 September 2026 (Pacific time). PyPI's provenance record names the Chorus repository's release workflow as the publisher, and the Python files in its source archive match the v0.3.1 tag. Version 0.3.1 maps Gather feed entries into the discourse input, which 0.3.0 dropped. The tag has no GitHub release; GitHub release v0.3.0 is the latest and carries the wheel, the source archive and a checksum file. This shows how the package is published, not semantic accuracy on new corpora, representative demand, deployment, adoption, semantic truth, or population sentiment.
Source-change check
The tagged 0.3.0 source changelog records chorus decision and MCP chorus.decision as a gate for comparing current and reference source packs, with MATCH, DRIFT, and UNVERIFIABLE outcomes.
Install
Install from PyPI with python -m pip install chorus-discourse==0.3.1. First use: chorus decision <current> --reference <reference> --task "Check whether sources changed".
Boundary
A digest or source-change decision is a structured reading of the provided corpus and source packs. Lexical clustering is not semantic understanding; the English-only sentiment pass does not resolve sarcasm, irony, or context. The output does not prove source completeness, public opinion, motive, identity, or factual correctness outside the captured material.
Where it fits.
Use Chorus when the material is already captured and the question is how themes, disagreement, source changes, and evidence limits should be represented without pretending the digest is the whole public record.
View it in the system catalog or start with Gather when the source material still needs to be collected.