|
| 1 | +{ |
| 2 | + "_about": "Typed claim fixture for the companion 'What it costs to not apply the criterion' section. Each claim carries its warrant TYPE so it routes to the right check; nothing ships unrouted. This file is the executable fixture validate_claims.py runs against. The integrity test: a claim and its warrant must disagree LOUDLY (gate fails) with no human electing to look. S2 is deliberately UNDECIDED — the attribution call (authorial-observation vs reproducible-public-pointer) is an open human decision, and the fixture models it as open rather than letting the tool that found it close it.", |
| 3 | + "_code_version": { |
| 4 | + "_about": "The environment a recorded seed reproduces under. A seed is the VALUE; this is its DOMAIN — a seed reproduces a result only under the same RNG/toolchain/deps (Poisson draws + float-order are toolchain-sensitive). Capturing only the seed is the value-without-domain trap: it reproduces by luck of being on the same box. So execution-warrant manifest entries are {seed} + this block.", |
| 5 | + "commit": "dc70e2e53cf168cd34379f62e580eeb0c1ee05b3", |
| 6 | + "sim_cargo_lock_sha256": "da4b7c3bf2e210978c9350fddf9bf098c7afaabead853557b13c3f9a03267515", |
| 7 | + "toolchain": "1.75.0", |
| 8 | + "_toolchain_note": "sim/ is its own Cargo workspace (own Cargo.lock); a reviewer building only sim/ would not inherit the parent stratum rust-toolchain, so sim/rust-toolchain.toml now pins 1.75.0 explicitly — added this commit to close the environment-completeness gap." |
| 9 | + }, |
| 10 | + "_warrant_types": { |
| 11 | + "execution": "value produced by a reproducible run; check = re-run, compare value AND match claimed domain against run's domain", |
| 12 | + "source": "fact at a repo path + commit; check = re-read cited lines, CONTENT-match (not existence)", |
| 13 | + "source-private": "warranted but warrant genuinely cannot be public, and that impossibility is itself load-bearing; check = correctly typed as authorial observation + phrasing avoids dressing as derivation. NOT yet bound to any claim here — its binding to S2 is downstream of S2's UNDECIDED resolution.", |
| 14 | + "socket": "warrant is the EXPLICIT ABSENCE of one; check = socket tag present AND 'conditional' propagates to downstream claims", |
| 15 | + "cross-doc": "points at another claim/section; check = resolves + is-about-what-claim-says + load-bearing-type honest FOR THE CORPUS BOUNDARY (supports may cross documents within corpus, never across; see-also may cross corpus but carries no weight)", |
| 16 | + "judgment": "reasoned position, not a warranted fact; REFUSED for validation — marked, never checked, never laundered as derived; tracks depends_on so a drifted input flags BASIS-CHANGED", |
| 17 | + "UNDECIDED": "warrant_type itself awaits an external human decision; check = BLOCKS the gate, routes to owner, cannot be marked green by any automated path" |
| 18 | + }, |
| 19 | + "claims": [ |
| 20 | + { |
| 21 | + "id": "CIT-revenue-zero", |
| 22 | + "statement": "Below the disconnect threshold there is no first-order expected-revenue cost; the continuous quantity is payout variance, which is expectation-neutral.", |
| 23 | + "warrant_type": "source", |
| 24 | + "warrant_ref": {"doc": "information-floor.md", "anchor": "§6", "lines": "357-364", "content_must_match": "churn costs the miner **no value at all**"}, |
| 25 | + "domain": {"regime": "below disconnect threshold"}, |
| 26 | + "status": "validated", |
| 27 | + "depends_on": ["CIT-no-lost-work"] |
| 28 | + }, |
| 29 | + { |
| 30 | + "id": "CIT-no-lost-work", |
| 31 | + "statement": "A difficulty retarget rejects no in-flight work: each job snapshots its target at creation and shares validate against THAT snapshot until the next block — so the lost-in-flight-work premise (old THEORY §6(ii)) is retracted, and churn is value-neutral.", |
| 32 | + "warrant_type": "source", |
| 33 | + "_warrant_kind": "SOURCE-KILL — a protocol/implementation fact, NOT sim-reproducible. The retraction is reproduced by READING the per-job-target-snapshot mechanism in production source, the static §10 falsifier — a stronger warrant than a sim re-run, not weaker. There is deliberately NO bin: the sim models share ARRIVALS, not job-target validation; building a probe to 'reproduce' this would manufacture fake reproducibility for a claim whose real warrant is source.", |
| 34 | + "warrant_ref": { |
| 35 | + "repo": "marafoundation/stratum", |
| 36 | + "commit": "dc70e2e53cf168cd34379f62e580eeb0c1ee05b3", |
| 37 | + "file": "sv2/channels-sv2/src/server/extended.rs", |
| 38 | + "content_must_match": "job_id_to_target", |
| 39 | + "_pin_note": "CONTENT-match at a COMMIT SHA, not line numbers. The original THEORY/doc citation 'extended.rs:510/549/668' was the §7 mutable-locator failure twice over: bare 'extended.rs' is ambiguous (THREE extended.rs exist — server/, client/, server/jobs/) and line numbers drift. Corrected: the mechanism is server/extended.rs (job_id_to_target HashMap, insert at job creation :605/:668, validate against the snapshot :724). Pinned by SHA so the kill is reproducible-by-source-read forever." |
| 40 | + }, |
| 41 | + "domain": {"protocol": "SV2 (verified PR #2188); SV1 analog PLAUSIBLE but UNVERIFIED — flag before leaning on it"}, |
| 42 | + "status": "validated", |
| 43 | + "_note": "The arc's most-cited retraction (blogs + proof §6 + THEORY + cost model all lean on 'no lost work'), and until now it had no claim pinning it to the source that proves it. This is the SOURCE-KILL half of the kill-evidence split: source-kills get a SHA-pinned source ref; sim-kills (floor-ribbon, seed-rampup) get a seed + expected-refutation." |
| 44 | + }, |
| 45 | + { |
| 46 | + "id": "CIT-EXCESS-prod-blind", |
| 47 | + "statement": "At production rates a -10% drop is statistically invisible across the whole field.", |
| 48 | + "warrant_type": "execution", |
| 49 | + "warrant_ref": {"bins": ["detection-control", "excess-lever"], "recorded_in": "information-floor.md §5 lines 308-311"}, |
| 50 | + "domain": {"drop": "-10%", "window": "60min", "rate": "4-6spm", "scope": "whole-field", "value": "EXCESS=0.00"}, |
| 51 | + "status": "validated", |
| 52 | + "_note": "Domain is load-bearing: the SAME surface reads EXCESS=+0.75 at 60spm (CIT-EXCESS-lever). A value-only check passes a cherry-picked scope; domain-matching is what catches dropping '4-6spm'. This pair is the permanent EXCESS-catch test case." |
| 53 | + }, |
| 54 | + { |
| 55 | + "id": "CIT-EXCESS-lever", |
| 56 | + "statement": "EXCESS climbs monotonically to +0.75 by 60 spm as the floor recedes.", |
| 57 | + "warrant_type": "execution", |
| 58 | + "warrant_ref": {"bins": ["excess-lever"], "recorded_in": "information-floor.md §8 lines 826-848"}, |
| 59 | + "domain": {"drop": "-10%", "rate": "60spm", "value": "EXCESS=+0.75"}, |
| 60 | + "status": "validated", |
| 61 | + "_note": "Same measurement surface as CIT-EXCESS-prod-blind at a different domain. Byte-identical warrant family, differs ONLY in domain — the field the abstract schema would have missed." |
| 62 | + }, |
| 63 | + { |
| 64 | + "id": "CIT-deadband-unreachable", |
| 65 | + "statement": "A pow2-in-loop deadband PID at Kp=-0.01, setpoint ~10, has its easing crossing at -31.4 SPM (below zero realized rate), so it is structurally unable to ease on a decline.", |
| 66 | + "warrant_type": "source", |
| 67 | + "warrant_ref": {"doc": "records/PID_INVESTIGATION.md", "anchor": "the pinned addendum", "lines": "73-96", "content_must_match": "below zero and\n> therefore UNREACHABLE"}, |
| 68 | + "domain": {"gain": "Kp=-0.01", "setpoint": "~10 SPM", "deadband": "+-41.4 SPM"}, |
| 69 | + "status": "validated", |
| 70 | + "_note": "Source-derived from reading DEPLOYED source — verification ran instance->archetype, which is why CIT-construction-ships is grounded, not bolted on." |
| 71 | + }, |
| 72 | + { |
| 73 | + "id": "CIT-construction-ships", |
| 74 | + "statement": "A controller of this construction (pow2-in-loop, easing crossing below zero rate) is present in deployed pool software, verifiable in public pool source.", |
| 75 | + "warrant_type": "source", |
| 76 | + "warrant_ref": { |
| 77 | + "doc": "records/PID_INVESTIGATION.md", |
| 78 | + "anchor": "re-validated against live DMND source 2026-06-25", |
| 79 | + "public_source": "dmnd-pool/dmnd-client/src/translator/downstream/diff_management.rs (nearest_power_of_2 :268/:389, next_control_output :267, Kp=-diff*0.01 :281)", |
| 80 | + "lines": "59-96", |
| 81 | + "content_must_match": "below zero and\n> therefore UNREACHABLE" |
| 82 | + }, |
| 83 | + "domain": {"level": "construction, verifiable in public source; published-voice names NO operator (see revisit_when)"}, |
| 84 | + "status": "validated", |
| 85 | + "revisit_when": "(a) pin strength: anchored to a DATE (2026-06-25) + line numbers, NOT a commit hash — line numbers drift against upstream main; strengthen to a pinned commit/sha so the public pointer can't resolve-to-the-wrong-lines (the §7 failure). (b) naming: published-voice currently POINTS to the construction in public source and does NOT name the operator; naming DMND in the published artifact is a SEPARATE deliberate increment (owner: human), not resolved by the prudence call — do not let 'show the data' launder into 'name them'.", |
| 86 | + "_note": "RESOLVED 2026-06-28 (prudence call: show the verified result). reproducible-public-pointer chosen -> ordinary `source`, strongest form; source-private binds to NO claim here and the sub-type is now unused. Construction is named in INTERNAL docs (PID_INVESTIGATION, this fixture) by source path; the PUBLISHED section points-not-names. Two debts ride in revisit_when: a commit-hash pin, and the still-open name-in-published-voice decision." |
| 87 | + }, |
| 88 | + { |
| 89 | + "id": "CIT-self-concealing", |
| 90 | + "statement": "Over-difficulty suppresses the share stream — the controller's sole observable — so detection sensitivity falls in lockstep with the condition it would flag.", |
| 91 | + "warrant_type": "source", |
| 92 | + "warrant_ref": {"doc": "information-floor.md", "anchor": "Theorem 1 (§2) + §5", "lines": "154-158, 308-311", "content_must_match": "The sole observable `N`"}, |
| 93 | + "domain": {"rests_on": ["Theorem 1", "§5 EXCESS"], "imports": "none"}, |
| 94 | + "status": "validated", |
| 95 | + "_note": "Rests entirely on resident theorems. OE_m2p appears only as see-also (CIT-oe-seealso) carrying no weight." |
| 96 | + }, |
| 97 | + { |
| 98 | + "id": "CIT-socket-theta", |
| 99 | + "statement": "Disconnect threshold below which the pool drops a connection.", |
| 100 | + "warrant_type": "socket", |
| 101 | + "warrant_ref": {"unpinned": true, "would_pin": "pool-policy fact; pool configuration"}, |
| 102 | + "domain": {"symbol": "theta"}, |
| 103 | + "status": "unpinned", |
| 104 | + "downstream": ["CIT-conditional-exposure"] |
| 105 | + }, |
| 106 | + { |
| 107 | + "id": "CIT-socket-T", |
| 108 | + "statement": "Dead pool-time per avoidable drop (reconnect gap + failover/re-ramp/PPLNS-position loss).", |
| 109 | + "warrant_type": "socket", |
| 110 | + "warrant_ref": {"unpinned": true, "would_pin": "operational fact; per-deployment measurement"}, |
| 111 | + "domain": {"symbol": "T"}, |
| 112 | + "status": "unpinned", |
| 113 | + "downstream": ["CIT-conditional-exposure"] |
| 114 | + }, |
| 115 | + { |
| 116 | + "id": "CIT-socket-decline-dist", |
| 117 | + "statement": "Joint distribution over (depth, rate) of sustained declines a real fleet experiences, per sector.", |
| 118 | + "warrant_type": "socket", |
| 119 | + "warrant_ref": {"unpinned": true, "would_pin": "fleet telemetry; supply as range, treat any single curve as illustrative"}, |
| 120 | + "domain": {"symbol": "(d, r-dot) per sector"}, |
| 121 | + "status": "unpinned", |
| 122 | + "downstream": ["CIT-conditional-exposure"], |
| 123 | + "_note": "Over-declared in the first draft: I listed CIT-archetype-separation downstream, but that claim rests on the deadband GEOMETRY + modal-decline SHAPE, not the fleet distribution — so it does not inherit this socket. The conditional-exposure COUNT does. The validator caught the propagation mismatch (downstream declared, depends_on absent) before it could mislead." |
| 124 | + }, |
| 125 | + { |
| 126 | + "id": "CIT-conditional-exposure", |
| 127 | + "statement": "Output is a conditional exposure (N avoidable disconnects/yr at rate rho under archetype A, T minutes each), not a scalar expected cost.", |
| 128 | + "warrant_type": "source", |
| 129 | + "warrant_ref": {"doc": "this-section", "anchor": "derived from sockets + per-event differential", "content_must_match": "conditional exposure"}, |
| 130 | + "domain": {"form": "conditional on the decline-distribution dial"}, |
| 131 | + "status": "validated", |
| 132 | + "depends_on_sockets": ["CIT-socket-theta", "CIT-socket-T", "CIT-socket-decline-dist"], |
| 133 | + "_note": "Downstream of three sockets -> MUST carry 'conditional' (socket propagation). If any socket hardened to a default, this is where it would surface." |
| 134 | + }, |
| 135 | + { |
| 136 | + "id": "CIT-archetype-separation", |
| 137 | + "statement": "Sleepy-symmetric drop-probability is a joint function of (depth,rate) concentrated in a corner; structural-deadband collapses to a step in depth alone (rate drops out); convolved against the modal gentle/slow decline they separate hard.", |
| 138 | + "warrant_type": "source", |
| 139 | + "warrant_ref": {"doc": "records/PID_INVESTIGATION.md", "anchor": "deadband geometry", "content_must_match": "UNREACHABLE"}, |
| 140 | + "warrant_ref_2": {"doc": "records/SLOW_DECLINE_TEST.md", "anchor": "the modal gentle/slow/partial decline", "content_must_match": "sustained"}, |
| 141 | + "domain": {"two_forms": ["sleepy-symmetric", "structural-deadband"]}, |
| 142 | + "status": "validated", |
| 143 | + "_note": "Rests on TWO pins (deadband geometry + modal-decline shape). A claim resting on two sources needs two pins, not a concatenated path — the validator caught the malformed single-path version on first run." |
| 144 | + }, |
| 145 | + { |
| 146 | + "id": "CIT-seam-xref", |
| 147 | + "statement": "At sparse rates the asymmetric trigger collapses to neutral and estimator inertia carries the decline guard (the safety hand-off).", |
| 148 | + "warrant_type": "cross-doc", |
| 149 | + "warrant_ref": { |
| 150 | + "target_doc": "building-a-vardiff.html", |
| 151 | + "target_section": "§7 'Who keeps the miner safe changes with the share rate'", |
| 152 | + "corpus_boundary": "in-corpus", |
| 153 | + "load_bearing_type": "supports", |
| 154 | + "is_about": "the seam / safety hand-off" |
| 155 | + }, |
| 156 | + "domain": {}, |
| 157 | + "status": "validated", |
| 158 | + "_note": "Caught: an earlier draft cited 'the seam' as '§7' which in the WHITE PAPER is 'the trap'. The white paper has no standalone seam statement; the seam lives in the BUILD paper's §7. is_about must match, and target_doc must be the build paper, not silently the companion." |
| 159 | + }, |
| 160 | + { |
| 161 | + "id": "CIT-oe-seealso", |
| 162 | + "statement": "Operational loss-attribution frameworks formalize the share-stream-blindness cost further.", |
| 163 | + "warrant_type": "cross-doc", |
| 164 | + "warrant_ref": { |
| 165 | + "target_doc": "Delving Bitcoin (OE_min / OE_m2p)", |
| 166 | + "corpus_boundary": "cross-corpus", |
| 167 | + "load_bearing_type": "see-also", |
| 168 | + "is_about": "operational loss attribution / measured-to-paid decomposition" |
| 169 | + }, |
| 170 | + "domain": {}, |
| 171 | + "status": "validated", |
| 172 | + "_note": "Cross-corpus -> load_bearing_type MUST be see-also (carries no weight). An earlier instinct borrowed it as 'supports', which is authority across a corpus boundary. The gate fails a cross-corpus 'supports'." |
| 173 | + }, |
| 174 | + { |
| 175 | + "id": "CIT-industrial-tail", |
| 176 | + "statement": "Aggregate dollar exposure is likely dominated by the industrial correlated tail; avoidable-drop COUNT by the sparse-rate fleet.", |
| 177 | + "warrant_type": "judgment", |
| 178 | + "warrant_ref": {"reasoned_not_warranted": true}, |
| 179 | + "domain": {}, |
| 180 | + "status": "judgment", |
| 181 | + "depends_on": ["CIT-socket-decline-dist", "CIT-archetype-separation"], |
| 182 | + "_note": "REFUSED for validation — reasoned position, not a fact. Tracks depends_on: if CIT-archetype-separation DRIFTS, this flags BASIS-CHANGED (re-examine), NOT invalidated (category error). Uncheckable conclusion, checkable inputs." |
| 183 | + } |
| 184 | + ] |
| 185 | +} |
0 commit comments