Skip to content

docs(core): Veridicality.antiConsensusGate — distinct roots ≠ independent roots - #10031

Merged
AceHack merged 1 commit into
mainfrom
docs/veridicality-anticonsensus-gate-distinct-not-independent-caveat-20260804
Aug 4, 2026
Merged

docs(core): Veridicality.antiConsensusGate — distinct roots ≠ independent roots#10031
AceHack merged 1 commit into
mainfrom
docs/veridicality-anticonsensus-gate-distinct-not-independent-caveat-20260804

Conversation

@AceHack

@AceHack AceHack commented Aug 4, 2026

Copy link
Copy Markdown
Member

Soundness-audit finding #2 (Caveat-A class: independence asserted, not verified) — and higher-stakes than #1 (CountMin, #10030) because this is a trust-upgrade gate.

The finding

antiConsensusGate counts distinct RootAuthority label strings (≥ 2) and calls that "independent roots." But distinct labels are not proof of independent sources:

  1. RootAuthority is self-asserted metadata — a Sybil defeats the gate by presenting one real source under two labels. That is the exact pseudo-consensus the gates own docstring says it rejects ("50 claims tracing to a single upstream source").
  2. Two genuinely-distinct roots can still be correlated (shared upstream), which a label count cannot see.

So independence is asserted (via label-distinctness), not verified. validateProvenance does not close it — confirmed format/signature-only. The gate names the sybil problem but doesnt use the anti-sybil machinery that now exists.

The fix (Beacon-honesty, no behavior change)

Documents that the gate is a one-way first filter: failing (< 2 labels) convicts single-source pseudo-consensus; passing does NOT certify independence. Points to AntiSybil.chshSybilCalibrated as the real same-source test to compose upstream when the trust upgrade is adversarial. Deeper fix (wire the anti-sybil check in) is a flagged follow-up needing a RootAuthority→identity-stream mapping.

Audit status

Same discipline as CountMin (#10030) and the chshMargin caveat. Also checked SignalQuality this round — clean (its composite is a weighted mean, consciously not a product, so no independence assumption; honest negative, no finding).

🤖 Generated with Claude Code

…ts ≠ independent roots

Soundness-audit finding #2 (Caveat-A bug class: independence asserted, not
verified) — and higher-stakes than #1 because this is a TRUST-UPGRADE gate. The
gate counts distinct RootAuthority LABELS (cardinality >= 2) and calls it
"independent roots", but distinct labels are not proof of independent sources:
RootAuthority is self-asserted metadata, so a Sybil defeats the gate by presenting
one real source under two labels — the exact pseudo-consensus the gate's own
docstring says it rejects; and two genuinely-distinct roots can still be correlated
via a shared upstream. Independence is ASSERTED (via label-distinctness), not
verified. validateProvenance does not help (format/signature check only, confirmed).

The gate NAMES the sybil problem but does not USE the anti-sybil machinery that now
exists. Fix is Beacon-honesty (no behavior change): document that the gate is a
one-way FIRST filter (failing convicts single-source pseudo-consensus; passing does
NOT certify independence), and point to AntiSybil.chshSybilCalibrated as the real
same-source test to compose upstream for adversarial trust upgrades. Deeper fix
(wire the anti-sybil check in) is a follow-up needing a RootAuthority→identity-stream
mapping.

Same discipline as the CountMin (#10030) and chshMargin caveats.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

Codex usage limits have been reached for code reviews. Please check with the admins of this repo to increase the limits by adding credits.
Credits must be used to enable repository wide code reviews.

@AceHack
AceHack merged commit 4ff52d0 into main Aug 4, 2026
31 checks passed
@AceHack
AceHack deleted the docs/veridicality-anticonsensus-gate-distinct-not-independent-caveat-20260804 branch August 4, 2026 16:17
AceHack added a commit that referenced this pull request Aug 4, 2026
…scipline mostly held) (#10032)

Captures the self-directed audit for the Caveat-A bug class (a probabilistic
guarantee resting on an independence property the construction doesn't deliver).
2 findings fixed as Beacon-honesty caveats (CountMin's "provable" overclaim #10030;
Veridicality's distinct-labels-≠-independent-roots trust gate #10031); 4 honest
negatives (BloomFilter / IBLT / HyperLogLog all correctly hedged — the exemplars —
plus SignalQuality's weighted-mean and MetaCart). Conclusion: not "two bugs" but
that the codebase's statistical honesty is mostly holding — 3 of 4 guarantee-bearing
sketches hedge correctly, and the audit caught the one drift and brought it up to
its siblings' standard. Two promotable patterns: soundness-bias the failure mode
(IBLT Partial / anti-sybil one-way), and hedge to the independence you actually have.

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant