CC 6.1.2.1.2: ratify the shipped n_eff dominance gate (spec catches up to the wire — #6) - #33
Closed
emooreatx wants to merge 2 commits into
Closed
CC 6.1.2.1.2: ratify the shipped n_eff dominance gate (spec catches up to the wire — #6)#33emooreatx wants to merge 2 commits into
emooreatx wants to merge 2 commits into
Conversation
…s-dominance half of #6) Spec catches up to the shipped wire (CIRISVerify#167 / CIRISPersist#357): - CC 6.1.2.1: preimage ratified at version 2 — trailing u32_be(n_eff), append-only (v1 signatures/vectors verify unchanged); v1 tiers MUST be rejected at aggregated-tier admission (fail-closed, no signed n_eff). - New CC 6.1.2.1.2 (dual-ID spine 19.7.1.2, matching the impl's section): n_eff = round((Σ m_i)²/Σ m_i²) (Kish/inverse-Simpson), gate n_eff ≥ min_ratio·source_count with CEG-pinned min_ratio = 0.5 — a normative constant, not an impl knob (same falsifiability discipline as the pinned (R, ε) default). Honest-limits paragraph records the two accepted residuals: aggregator-attested masses (lying n_eff admitted, slashable post-hoc) and content-similarity multiplicity. - CC 6.1.2 shortcut text now points at the normative gate; conformance note records the append-only v2 vector (canonical_bytes_v2). - R9 rewritten: mass-dominance moved from "known exposure" to "mitigated since RC2"; residual narrowed to attested-mass trust + content multiplicity + side-information, tracked by the CIRISConformance#55 waiting case. - claims.tsv: CLM-noise-dominance open → established (test_542_dominance_gate + CIRISServer#155); new CLM-neff-dominance-gate (staged until the downstream manifests back 6.1.2.1.2) and CLM-noise-content-multiplicity (open, the R9 residual). - build_pdf.py: Σ added to the NUC map. check_claims.py: structurally valid, coverage 133/133 (100%), established 118 / staged 29 / open 1. PDF builds. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
…onformance#55 is closed) The residual's tracker chain was dangling: CIRISConformance#55 closed as harness-complete and CIRISEdge#266 (the N->1 operator) shipped in edge v9.0.0. New per-repo trackers opened and wired into CC 6.1.2.1.2, R9, and CLM-noise-content-multiplicity: - CIRISVerify#191 (lead: v3 wire surface, content-similarity N_eff + auditable masses) - CIRISEdge#323 (fold-time masses/multiplicity in aggregate_symbols) - CIRISPersist#430 (admission gate extension) - CIRISConformance#71 (the 900-near-duplicates-under-distinct-ids fixture, absent from every suite today) - CIRISServer#239 (un-ignore the faithful aggregation-erasure measurement; fix the stale test-(d) tripwire) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Contributor
Author
|
Superseded by the |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
The Constitution's normative text lagged the shipped wire on a MUST-bearing surface: shipped persist rejects version-1
AggregationMetaV1tiers at aggregated-tier admission (fail-closed dominance gate, CIRISVerify#167 / CIRISPersist#357), while CC 6.1.2.1 still pinnedversion = 1with non_eff. An implementation conforming to the text alone would be rejected by the substrate. This PR ratifies the shipped v2 surface and pins the constants the wire already runs on.Changes
u32_be(n_eff), append-only (v1 preimages are byte-identical to the original layout, so all pre-existing signatures/vectors verify unchanged — new vector, not a re-cut). New normative versioning paragraph: v1 tiers MUST be rejected at admission.dominance-gate(spine key19.7.1.2, matching the impl's own section number):n_eff = round((Σ m_i)² / Σ m_i²)(Kish / inverse-Simpson over per-member content masses), gaten_eff ≥ min_ratio · source_countwith CEG-pinnedmin_ratio = 0.5— a normative constant, not an implementation knob (closing the same two-conformant-implementations-disagree defect Noise floor lacks an adversary/prior model — "MUST be below the floor" is unverifiable (aggregation ≠ anonymization) #6 raised about ε; persist's CHANGELOG had flagged that CC didn't pin it). Gate runs after signature verification, before persistence; stable rejection tokenaggregation_meta_dominated.n_effis admitted (accountable-signature trust, slashable post-hoc; the conformance suite pins this deliberately); (2) mass-dominance ≠ content-similarity — 900 near-duplicates under distinct ids at equal mass honestly pass. Post-1.0 fallback: content-similarityN_eff(lead CIRISVerify#191; fixture CIRISConformance#71 — Evidence sweep as of ciris-server 0.5.152: nine claims are established on a closed issue, and ten shipped controls have verified symbols #55 closed as harness-complete).canonical_bytes_v2vector.CLM-noise-dominanceopen → established (test_542_dominance_gate+ CIRISServer#155, both backed by the pinned manifests at decimal 6.1.2); newCLM-neff-dominance-gate(staged — flips established when the CIRISServer/CIRISConformance manifests refresh with the 6.1.2.1.2 decimal) andCLM-noise-content-multiplicity(open, the R9 residual, tracked by CIRISVerify#191).n_concepts429 → 430);Σadded to the PDF Unicode map; PDF rebuilt.Verification
tools/check_claims.py: structurally valid, coverage 133/133 (100%), established 118 / staged 29 / open 1; the only new warnings are the expected pending-manifest ones for decimal 6.1.2.1.2.build_pdf.py: builds clean.CIRISVerify/src/ciris-verify-core/src/holonomic/aggregation.rs(signing_preimage,effective_source_count,passes_dominance_gate), admission enforcement +MIN_DOMINANCE_RATIO = 0.5fromCIRISPersist/src/fountain/aggregation.rs, v2 vectorCIRISPersist/tests/vectors/holonomic_v19_7/aggregation_meta/canonical_bytes_v2.json.Closes the mass-dominance half of #6; the disposition comment on #6 covers the rest.
🤖 Generated with Claude Code
Residual cleanup (second commit)
CIRISConformance#55 and CIRISEdge#266 turned out to be closed, so the residual had no live tracker. Opened and wired in: CIRISVerify#191 (lead — v3 wire surface: content-similarity
N_eff+ auditable masses), CIRISEdge#323 (fold-time masses/multiplicity inaggregate_symbols), CIRISPersist#430 (admission gate extension), CIRISConformance#71 (the 900-near-duplicates-under-distinct-ids fixture — absent from every suite today), CIRISServer#239 (un-ignore the faithful aggregation-erasure measurement now that edge#266 shipped; fix the stale test-(d) tripwire).