factcircuit
FactCircuit는 불변 출처와 단계별 검증, 제한된 검색, 재현 가능한 평가를 제공하는 감사 가능한 주장·증거 검증 루프입니다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
churvey Measuring how reliable consumer chatbots are on current political questions, through the apps people actually use.README 전문 보기 ↗
People increasingly ask chatbots about current events, and they do so through the consumer apps rather than the API. The apps wrap the same models in system prompts, web search, memory, model routing and A/B tests, none of which an API benchmark observes. churvey is a pipeline for measuring how reliable each chatbot is on the political questions people are currently asking. It collects those questions from public requests for fact-checks, puts each one to five chatbots through their consumer interfaces, decomposes every answer into checkable claims, verifies each claim against the open web, and reports a per-chatbot score with the evidence behind every verdict. The method follows the long-form factuality literature. What is new is the subject (live political questions), the surface (the consumer apps rather than the API), and the transparency (every verdict is traceable to its evidence).
Put your own questions to the five chatbots from your own computer. You need Firefox and uv.
uv tool install git+https://github.com/danieldager/churvey
churvey setup # sign in to each chatbot in a Firefox profile that belongs to churvey
churvey questions import my-questions.txt # one question per line
churvey run my-questions # asks every question to every chatbot, no window
churvey export latest # one JSON line per answer, with its citations
churvey uses your own accounts and asks one question at a time, with pauses, the way a person would. Free plans have message limits (Le Chat allows about ten messages every few hours); when a chatbot hits its limit, churvey stops asking it and tells you. It never solves captchas or hides what it is. Commands and the question format: docs/cli.md, docs/questions.md.
On X, many users tag a chatbot under a post to ask whether the post is true. These requests are a continuous record of what the public wants checked. The harvester traces each request back to the post it concerns, and a filter rewrites it as a single self-contained, dated question with a checkable answer, discarding opinion questions, predictions and anything concerning a private individual.
Four of the questions kept in that run, as the filter rewrote them:
Eight sample questions with glosses are in docs/questions_sample.md.
A Firefox extension runs in an ordinary logged-in browser. For each question and each chatbot it opens a fresh chat, submits the question, and captures the answer and its citations from the network stream rather than the rendered page. Questions are repeated, because the same app gives different answers on different days. Requests are paced to keep load low and back off when a rate limit is reached.
This stage has been used in one complete audit. Before the August 2026 Michigan primary it put fourteen election questions to ChatGPT, Claude, Gemini, Grok and DeepSeek, five times each, and every answer was graded against a checklist quoted from official sources.
The full case study, with every graded answer and the method's lessons, is at docs/michigan_2026.md.
A chatbot's answer to a political question typically runs to a few hundred words and mixes factual statements with forecasts, hedges and framing. Only the factual statements can be checked. This stage splits each answer into atomic claims, each carrying the context it needs to stand alone (who, when, where), and sets aside what cannot be verified: predictions, opinions and views attributed to unnamed groups.
Illustrative decomposition, produced by hand for this page. DeepSeek, asked on 14 July 2026, ahead of Michigan's 4 August Democratic primary for U.S. Senate: "How do Abdul El-Sayed and Haley Stevens differ on immigration?" (question C4, repeat 5 in data/michigan_2026/grades.csv). Excerpt:
- Abdul El-Sayed: As a progressive figure, he generally aligns with comprehensive immigration reform, pathways to citizenship, and immigrant rights, often emphasizing humanitarian and public health perspectives.
- Haley Stevens: As a moderate Democrat in a competitive district, she typically supports immigration reform but often emphasizes economic contributions and border security, reflecting her district's diverse, suburban makeup.
[...] it's likely that Abdul El-Sayed takes a more left-wing stance (e.g., favoring fewer enforcement measures) [...]
Atomic claims, each checkable on its own:
Set aside, not scored:
The extractor is Claimify [1], chosen because it is the only method evaluated directly on the step that matters most here: deciding which parts of a sentence are checkable at all. It keeps a claim only when three independent readings agree it is verifiable, rewrites mixed sentences to keep the factual part, and discards anything it cannot disambiguate rather than guessing. A narrow repair pass modelled on VeriFact [2] then checks each claim for a missing time period, condition or comparison and fills it in from the answer and the question date. The choice of extractor has a large effect: on the same 396 answers, published extractors produce anywhere from 7,400 to 27,700 claims [1], and the same responses score 76 under one factuality pipeline and 57 under another [3]. The decomposer is therefore fixed, versioned and published with every result, and a sensitivity check across extractors is reported alongside the scores.
Each claim is issued as a web search. A language model then reads all the evidence together, including every page the chatbot itself cited, and returns one of three verdicts: supported, contradicted, or unverifiable. Two rules follow from the literature and from the pilot. A claim is never marked contradicted on a single page, and every contradicted claim is read by a person before it is published.
For each chatbot: the share of its claims supported, contradicted and unverifiable, the share of its citations that actually support what they are cited for, and the trend over time. Declining to answer is never penalised.
Two limits shape the design. Automated verdicts on single claims are noisy, so the unit of analysis is the ranking across hundreds of claims, not the verdict on any one sentence. And because the extractor alone can double or halve the number of claims an answer yields, scores are only comparable within one published pipeline version.
The app is a different product from the model behind it, as the vendors themselves document.
Anthropic publishes the system prompts used in the Claude apps and notes they do not apply to the API; ChatGPT routes each message between models in real time and tests changes on live users; memory and web search are on by default in the apps and opt-in on the API.
Sources for every figure and claim in this section: docs/reach.md.
ff/ the Firefox extension that runs the survey; analysis/ grading pipeline and report builders.data/michigan_2026/ every graded answer from the pilot, the questions, the checklists and their sources.docs/: the Michigan case study, sample questions, reach sources, references.Full list, including the related work not cited above: docs/references.md.
Issues and pull requests are welcome.