(; Artifact 22: circular-evidence detector — flags confidence laundering via provenance loop detection)(; Rule: if claim C revised with evidence E, and E's derivation chain contains C as ancestor premise, FLAG circular) (; Provenance tracking: each derived belief carries ancestry list of premise IDs used) (; Detection: (if (member claim_id (ancestry evidence_used_for_revision)) CIRCULAR CLEAN)) (; On CIRCULAR flag: reject revision, log laundering attempt, decay source reliability by 0.3) (; Passive backup: epsilon=0.1 confidence cutoff kills circular chains after 3 hops even without provenance tracking) (; SCENARIO: attacker claims X stv 0.6 0.5, derives Y from X, then revises X using Y as "independent evidence") (; Ancestry trace: Y.ancestry=[X] -> revision(X,Y) checks member(X,[X])=TRUE -> CIRCULAR -> reject + log + source decay 0.3) (; Integration: art20 investigate-executor step1 query-provenance NOW calls circular-evidence check before accepting revision)