igneum/igneum-pow/src
igneum-labs c3d32437cd Counter ASIC 3.0 gates (hash): class v4 sub-version 3, second commit (AP-F8-1): the shared-operand rule in the draw and (a'), rule (c'') the distinct-index ratio at 0.98 over 2^20, the known-failed test on the chain's candidates
The shared-operand rule (or-then-xor, or-then-sub, xor-then-or on one operand is a mask) in the draw's source rule and in the acceptance's (a') pass: p23's chain attempt 1 (id d65122675f16a1c7) now draws site 7 from r5 and passes. Rule (c''): over 4,096 units (2^20 evaluations per site, the shadow executed) every load site's distinct word indices against the uniform expectation on its window must reach 0.98, the last test of the chosen candidate; the floor sits 0.015 from the clean minimum (0.9960) and from the strong failing maximum (p56 0.9654). The staged 2^24 pass was not taken: at 2^24 the clean p44 and p52 (0.9612, 0.9613) read the weak four's value (0.9181 to 0.9630), so no 2^24 floor separates them. Open tail: p4, p8, p10, p34 (0.9927 to 0.9963 at 2^20), unattributed and chased. The (B) bound stays unwired. The test class_v4_distinct_ratio_rejects_the_low_entropy_band pins p15 (attempt 3), p18 (2), p19 (0), p56 (2) refused and p23's attempt 1 passing, its r6 variant refused by (a') and by the ratio (0.836). The stream is unchanged: re-export diff 0 on the eight packs, id a785001687d8688a, PROGRAM_SUBVERSION_V4 stays 3, fingerprints and zip sha256 stand. Cost: one 2^20 pass per chosen candidate, 2.1 to 2.2 s on one box-2 core.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:44:55 +00:00
..
accept.rs Counter ASIC 3.0 gates (hash): class v4 sub-version 3, second commit (AP-F8-1): the shared-operand rule in the draw and (a'), rule (c'') the distinct-index ratio at 0.98 over 2^20, the known-failed test on the chain's candidates 2026-10-07 14:44:55 +00:00
bind.rs Lottery hash: generator version 2 (16 load slots, fresh sources, acceptance rule), every vector re-cut, packs regenerated, three workers re-checked, 20,000-program census 2026-10-04 07:52:40 +00:00
derive.rs Counter ASIC 3.0 item 2: the per-day item-derivation program (class dr736), its interpreter, emitter and packs 2026-10-06 07:41:23 +00:00
emit.rs Counter ASIC 3.0 gates (hash): the class v4 amendment for AP-F8-1 (the project lead: option A, limited testing). The chain draw of class v4 takes a load's source only from registers whose last writer injects (add, sub, xor, mad, shfl, load) or is a rotate (rotl, rotr), never one last written by or, mul or mulhi (candidate_from_words_class, keyed on the era-composed V4_CLASS; no attempts lost, rule (a) unchanged, v2 and v3 and the generator-2 ladder packs byte-identical). Split protection agreed with the node lane: generator stays 4 and the program id of a generator-4 program appends "sub/" || PROGRAM_SUBVERSION_V4 (= 1) as little-endian u16 bytes inside program_id(), so a pre-amendment binary and this one never share an id for one seed; packs carry IGNEUM_PROGRAM_SUBVERSION 1 and program.json sub_version 1, and packcheck refuses a generator-4 pack whose sub-version is absent or other. The seven gate packs re-exported (devnet epoch 0 and eras 0 to 5): id 1a4230699a6b9c60 (was c120d7963abdcd96, now the must-differ vector in tests/recheck.rs), fingerprints Metal = Apple OpenCL 867dbc45cfb36b4d, 2146ecacc8c75a8e, fe52602393f6d3d4, 3b206471a13912b4, c3f03c4a5d7333aa, f1dfd7209f15bb97, 8c194da64fadf31d; the v3 control 73bcbfe8ccf988f1 / 90f794dd556f7a3b untouched. The mixer harness checks the source rule on every load site of an amended program instead of equality with the v3 base 2026-10-07 09:38:51 +00:00
generator.rs Counter ASIC 3.0 gates (hash): class v4 sub-version 3, second commit (AP-F8-1): the shared-operand rule in the draw and (a'), rule (c'') the distinct-index ratio at 0.98 over 2^20, the known-failed test on the chain's candidates 2026-10-07 14:44:55 +00:00
lib.rs Counter ASIC 3.0 gates (hash): igneum-pow taken from release-0.3.20 (ba329e32: the latency ladder's chain_program_shadow with the reps argument, never merged to master) with the AP-F8-1 amendment re-applied on top (the diff of 0a62293a and the test fix, applied without offset); the seven packs re-export byte-identical (checked on v4-devnet-epoch0 and v4-era-5), so the ids and fingerprints stand; the pairing is against the fork's release-0.3.20-node dc141409 2026-10-07 10:08:43 +00:00
main.rs Counter ASIC 3.0 gates (hash): igneum-pow taken from release-0.3.20 (ba329e32: the latency ladder's chain_program_shadow with the reps argument, never merged to master) with the AP-F8-1 amendment re-applied on top (the diff of 0a62293a and the test fix, applied without offset); the seven packs re-export byte-identical (checked on v4-devnet-epoch0 and v4-era-5), so the ids and fingerprints stand; the pairing is against the fork's release-0.3.20-node dc141409 2026-10-07 10:08:43 +00:00
memhard.rs Counter ASIC 3.0 item 2: the per-day item-derivation program (class dr736), its interpreter, emitter and packs 2026-10-06 07:41:23 +00:00
packcheck.rs Counter ASIC 3.0 gates (hash): the class v4 amendment for AP-F8-1 (the project lead: option A, limited testing). The chain draw of class v4 takes a load's source only from registers whose last writer injects (add, sub, xor, mad, shfl, load) or is a rotate (rotl, rotr), never one last written by or, mul or mulhi (candidate_from_words_class, keyed on the era-composed V4_CLASS; no attempts lost, rule (a) unchanged, v2 and v3 and the generator-2 ladder packs byte-identical). Split protection agreed with the node lane: generator stays 4 and the program id of a generator-4 program appends "sub/" || PROGRAM_SUBVERSION_V4 (= 1) as little-endian u16 bytes inside program_id(), so a pre-amendment binary and this one never share an id for one seed; packs carry IGNEUM_PROGRAM_SUBVERSION 1 and program.json sub_version 1, and packcheck refuses a generator-4 pack whose sub-version is absent or other. The seven gate packs re-exported (devnet epoch 0 and eras 0 to 5): id 1a4230699a6b9c60 (was c120d7963abdcd96, now the must-differ vector in tests/recheck.rs), fingerprints Metal = Apple OpenCL 867dbc45cfb36b4d, 2146ecacc8c75a8e, fe52602393f6d3d4, 3b206471a13912b4, c3f03c4a5d7333aa, f1dfd7209f15bb97, 8c194da64fadf31d; the v3 control 73bcbfe8ccf988f1 / 90f794dd556f7a3b untouched. The mixer harness checks the source rule on every load site of an amended program instead of equality with the v3 base 2026-10-07 09:38:51 +00:00
seed.rs igneum-pow: Rust crate bit-exact with proto-metal (seed, generator, memhard, verifier, emitters) 2026-10-03 16:53:18 +00:00
verify.rs Counter ASIC 3.0 gates (hash): igneum-pow taken from release-0.3.20 (ba329e32: the latency ladder's chain_program_shadow with the reps argument, never merged to master) with the AP-F8-1 amendment re-applied on top (the diff of 0a62293a and the test fix, applied without offset); the seven packs re-export byte-identical (checked on v4-devnet-epoch0 and v4-era-5), so the ids and fingerprints stand; the pairing is against the fork's release-0.3.20-node dc141409 2026-10-07 10:08:43 +00:00