How it works
Six steps through the ring
Section titled “Six steps through the ring”!receipt saves a source sentence and requests a Twitch clip.The sequence above describes the intended flow. Hosted evidence verifies capture, review, approval, appeal voting, and the verdict across staged runs.
Evidence stays attached to its source
Section titled “Evidence stays attached to its source”The ASR path combines adjacent raw chunks of about five seconds each into overlapping windows. A window spans nominally ten seconds and has a twelve-second hard limit. Raw claims stay disjoint. Durable transcription_windows rows reference both audio ranges. Exact full ASR text and window bounds remain evidence. Receipts does not rewrite transcript fragments. It skips identical text from shared overlap. It rejects gaps, stale ownership, duplicate raw submissions, partial claims, paraphrases, joined claims, and unsafe quotation context.
Longer promises and ASR errors can still abstain. Offline checks passed, but paid live verification remains pending.
Models assist review
Section titled “Models assist review”Production uses GPT-6 Luna for promise extraction, sensitivity checks, and contradiction classification. The system also uses text-embedding-3-small for retrieval and gpt-transcribe for transcription.
Sensitive or uncertain outcomes fail closed. A classification never creates a public stamp by itself. The owner controls approval, and chat controls the appeal outcome.
Current stack
Section titled “Current stack”Go 1.27 and Keel 0.9 power the server and SQLite ledger. Svelte 5 and Chaaya 0.5 power the overlay and owner dock. Twitch EventSub, Helix, and clips provide the stream integration.