jouleclaw: a claim is judged on what it cites, so a trusted source cannot be credited with what a weak one says #355
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/claims-grounded-by-their-own-citations"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What was open
jouleclaw-diagnose decided grounding and authority without reading what an answer cites.
cited_item_idsappeared nowhere in the crate.So an answer could cite a primary source that does not support a claim, while the only support was a forum post it did not cite, and it passed both checks: grounded by the post, authoritative by the source. That is citation laundering. One weak source makes the claim, and a trusted one is credited with it.
The report also listed I1 (every claim has provenance) and I4 (cited sources meet the tier) as verified on every run, though nothing checked either.
#344 fixed which cited item compose credits, choosing the most authoritative one over the first. It did not check that this item supports the claim, so the displayed source could still be the laundered one.
What this changes
citation_violations(diagnose). Each claim is judged on its own segment's citations. "Supports" means what grounding means: every model that judged the pair entailed it.uncited(Major).misattributed(Major).laundering(Critical, not retrievable, so refused) when it also cites an item more authoritative than any that supports it.authorityviolation scoped to the claim is raised (Critical, retrievable).VerifyInputs::with_citationssupplies the citations, and the edge pipeline passes the draft's at bothverifycalls.Behaviour to know
An answer whose claim is supported only by a retrieved item it does not cite used to proceed. It now degrades (
misattributed, hedged) or is refused (laundering). This is intended.Verification (build host)
verify, with and without citations.valid_answer.rs, andjouleclaw-edge-cli/src/understanding.rs. Neither crate is in CI's clippy gate.🤖 Generated with Claude Code