Commit graph

1740 commits

Author SHA1 Message Date
igneum-labs
8522caca0e Counter ASIC 4.0 research: 20.3 the card rows of the seven packs (the tile block carries the ALU shadow's premium at the same rate, 14 percent cheaper at the knee; 0.048 to 0.091 pJ per MAC measured on the 5090), 20.4 the chip-model rows, the first sentence on measured rows
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 04:26:42 +00:00
igneum-labs
ac06ff9006 Counter ASIC 4.0 research: the fourth fix of the SM-sparse rewrite (every argument one character short; CRLF normalised) with the card-free NVRTC check
The 03:23Z card run compiled the rewritten kernel for the first time and NVRTC refused it: `igneum_hash_bound_unit(d, ou, baseNonc, mas, i, gid)`, the parameter capture's substr length written e - start where the last character's index e needs e - start + 1 (an LF fault, not a CRLF one; CRLF would have missed the anchors). Fixed; the sparse rewrite now strips \r first so LF and CRLF input give the same rewritten bytes. --list-race gains the wrapper's call line checked name by name against the unit function's parameters, and a compile of the whole rewritten text through libnvrtc.so.12 for sm_120 when the library is present (the box's CUDA 12.8; no device). Gate on igneum-build-1 under lease (class measure), 03:55 UTC, the pack as LF and as a CRLF copy: variants=2 names=base,sp43-w32; rewrite=applied bytes=22266 on both; call="igneum_hash_bound_unit(ds, out, baseNonce, mask, iw, gid)" params=6 args=6 names_match=1; nvrtc=libnvrtc.so.12 arch=sm_120 compiled=1 image_bytes=36256 on both; sp11-w32 the same; the failed case is the card run's own line of 03:23Z. mingw exit 0 and clean; exe igneum-worker-cuda-ca4sparse5.exe sha256 a4550202b301faf22f5329c2ab4fa1c0aa6695dbdaf31c974f316dca2524d7d6.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 03:55:48 +00:00
igneum-labs
4670176d98 Counter ASIC 4.0 research: the third fix of --bench --variant (the race order never held the sparse variant), with the bench's own card-free check
The 02:52Z rerun on ca4sparse3 read "variants 1 base only, no race" on every sparse row: racePair's push looked the pinned name up in the order list through findVariant, whose on-demand sp<N> path answers for any list, so the sparse variant was "found" in an empty order and never pushed. worker.cpp: raceOrder (pure; membership by name) builds the race's order for racePair; --list-race prints, with no device, the order the run's own option handling builds (variants N, names) and, with a pack, whether the named variant's rewrite applies to its bound kernel (bytes, the nonces argument, the unit function), exit 1 when a named variant is missing. emu/variant-test.cpp gains the race-order case; emu/list-race-stubs.cpp links worker.cpp itself as a Linux check binary. Gate on igneum-build-1 under lease (class measure), 03:04 UTC: variant-test PASS (race-order pinned=sp43-w32 variants=2 names=base,sp43-w32; base only 1); the bench's own output `--bench --pack v4-devnet-epoch0 --block-warps 32 --variant sp43-w32 --list-race` reads `variants=2 names=base,sp43-w32` and `sparse_blocks=43 block_warps=32 rewrite=applied bytes=22261 nonces_arg=1 unit_fn=1`, exit 0; the base form reads `race_off=1 variants=1 names=base`; mingw cross-compile exit 0 and clean; exe igneum-worker-cuda-ca4sparse4.exe sha256 84846396559004a8df61881c15ecb42fa3fc1010ad99074e0c0b53e81bb1ca3b.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 03:05:10 +00:00
igneum-labs
6e677d43ef Counter ASIC 4.0 research: the --bench --variant fault, with its known-failed test (the SM-sparse run of 7 October served base on 48 rows)
worker.cpp: launchGridBlocks (the dispatch's grid: nonces / block, or the sparse block count) and benchRaceOff (a bench keeps the race off only without --variant) as pure functions; --bench with --variant runs the pinned race (base and the named variant, no timing, the variant installed whatever its speed), buildPair races in that case, the bench launches with the served pair's block, the RESULT line carries variant=, sparse_blocks= and block_warps=, and a served kernel other than the requested one prints variant_not_installed. emu/variant-test.cpp: the known-failed pair on the host with no card, against the real class v4 pack: base reads race off and 524,288 blocks of 32; sp43-w32 reads race on, 43 sparse blocks of 32 warps, the rewrite carrying the nonces argument and the unit function, 43 blocks of 1,024 (the 7 October fault read the same shape and "variant base" for both). Gate: igneum-build-1 under lease pool (class measure), 00:46 UTC: variant-test PASS, exit 0; mingw cross-compile exit 0, -Wall -Wextra clean; exe igneum-worker-cuda-ca4sparse3.exe sha256 0ba97edcd5c46a302a7ff5ddd1bbb1e493ca15f64d0757820ed645972df3bb56 (unrun on a card: the hash lane's rerun).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 00:46:47 +00:00
igneum-labs
0b0151b554 Counter ASIC 4.0 research: --bench honours --variant through the pinned race (the SM-sparse run of 00:22 to 00:41 UTC served base on all 48 rows); RESULT carries variant, sparse_blocks and block_warps, variant_not_installed is the known-failed line; 20.3a records the run and its knee rows (v4 309.9 W, v3 219.4 W, premium 90.5 W at 1,300 MHz)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 00:44:35 +00:00
igneum-labs
4072cd7f07 Counter ASIC 4.0 research: 20.2a-close, the per-load 16 x 27 construction dead as a chain class (1.4 percent acceptance, 42 of 64 seeds without a program), the sound form named, rank 4 marked
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:53:36 +00:00
igneum-labs
0449221245 Counter ASIC 4.0 research: the per-load 16 x 27 construction is dead as a chain class (the acceptance rule in execution order accepts 1.4 percent of its candidates)
accept.rs: the per-load class's value-level test (the adv-cache-2 requirement): the one-count of every index bit per load site over the 64 units' 16,384 addresses, BiasedIndexBit outside the 6-sigma band (384 of 8,192); generator: a sub-block writer of the next load's source is never a product (mad joins mul, mulhi, or). The record (tests/ca4_trace.rs, igneum-build-2, 22:44 to 22:52 UTC): over 64 seeds 22 of 1,621 candidates accepted (1.4 percent), 42 of 64 seeds exhaust the chain's 32 attempts; the first failing test: biased index bit 775, duplicate lanes 643, the base rule 110, (b) 43, (a) 28; the genesis seed 0 of 32; candidate 0 of the class carries index bit 0 at 40 of 1,024 at site 0 (z 29.5, sub-block writer rotl of a mad). The class v4 shape across 16 drawn eras: 0 duplicate pairs, with the biased product bit at address bit R exactly in 14 of 17 eras on this pre-amendment generator (the adv-cache-2 class, replicated). The tests record these as reports and bounds; the construction stays in the crate behind the pack as the measured dead end, never a chain class.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:53:16 +00:00
igneum-labs
d267043677 Counter ASIC 4.0 research: 20.2a the per-load fault fixed with clock readings, the drawn-era census (0 pairs across 16 eras), the Metal fingerprints (the tile reference bit-exact; the Apple emulation costs 35 and 78 percent of rate at 1,024 and 4,096 tiles per hash); 20.2b the biased-product-bits requirement from adv-cache-2
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:33:15 +00:00
igneum-labs
57ce284710 Counter ASIC 4.0 research: the fixed per-load pack mx8_shl256x27_v2 (attempt 3, id bd64b207a30413fb; the first export's id 854050a4293f0615 stays as the known-failed record)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:29:50 +00:00
igneum-labs
9e0bb8e5fb Counter ASIC 4.0 research: the per-load shadow's duplicate reads, found and fixed (the acceptance test judges the order the class executes)
The finding (tests/ca4_trace.rs, the first export traced at 22:16 UTC): the per-load class derived 10,728 distinct items of 12,288 over three units (the class v4 shape 12,286), 1,482 same-iteration duplicate lanes at sites 8, 10 and 15; the mechanism is not the sub-block's last writer alone: a lossy base writer (mul, mulhi, or) followed by 27 passes of a 16-instruction map collapses a load's source register to 1 to 17 distinct values in 32 lanes before the next load (the census's 29 failing seeds of 64 at 22:16 UTC name mulhi, mul, or, rotl and load as the last base writers). The fix, two layers: (1) generator: a per-load sub-block instruction that writes the NEXT load's source register is redrawn from the injecting families when its op is mul, mulhi or or (consumes a draw; the class's own stream); (2) accept.rs: the dynamic test steps the per-load sub-blocks inside run_unit (alu_step, the same arithmetic as the arms) so saturation and distinctness are judged on the register file the loads read from, and a new rejection DuplicateLanes (the per-load class only) refuses a candidate whose load reads one address in two lanes of a unit; a rejected candidate redraws the attempt. After: the trace reads 12,287 of 12,288 with 0 duplicate lanes on the genesis seed; the 64-seed census on a second dataset reads 1 duplicate pair in 16,384 rows (seed ca4-census/49, the chance floor of a 2^24 index space, about 0.5 expected; the class v4 shape's own 2 of 12,288 are the same floor). verify.rs gains trace_load_indices (the diagnostic). Suite on igneum-build-2: 64 + 2 + 7 + 4 + 19 + 2 + 7 passed, 0 failed (RESULT rc=0, 22:23 UTC). The pinned packs unchanged; mx8+shl256x27's accepted attempt and id move, so the pack is re-exported.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:24:02 +00:00
igneum-labs
598fd20f02 Counter ASIC 4.0 research: 20.2 the verifier rows (AVX2 tile path 0.047 us per tile per unit, mm1430 10.14 ms loaded; the per-load placement derives 11 percent fewer distinct items per warp: a uniformity fault as drawn, with its fix)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:08:58 +00:00
igneum-labs
1a7689e1b2 Counter ASIC 4.0 research: section 20, the two prototypes built (what, where, gates; the verifier and card rows pending)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:55:14 +00:00
igneum-labs
83ee0dd807 Counter ASIC 4.0 research: two experimental program classes behind the pack (no chain class, no consensus change)
igneum-pow: ShadowClass gains per_load (the shadow block split into 16 sub-blocks of instrs / 16, sub-block j run reps times right after the j-th load; name "+shl<S>x<R>", id bytes "perload") and tiles (int8 mma.m8n8k16 u8 tile steps per iteration after the shadow block, [a, b, c, c2] drawn from the stream after the shadow draws, c2 != c, both outputs consumed; name "+mm<R>", id bytes "mm8/" || tiles_le16); ShadowClass::block keeps every class v4 literal and id unchanged. New module mm8: the tile step on the warp register file, the scalar reference and an AVX2 path (maddubs on a 4-way split of B so no 16-bit lane saturates), the unit test pinning SIMD equal to scalar on 64 seeds and the all-ones edge; IGNEUM_MM8_SCALAR=1 forces the reference. verify: the per-load sub-blocks inside the base loop, the tile block after the shadow. emit: the sub-block after each load line in Metal, CUDA and OpenCL; the tile block as inline PTX mma in CUDA and as the shuffle-and-byte-product reference in Metal (mm8_ref) and OpenCL (IGNEUM_MM8_REF with IGNEUM_SHFL_IDX in the three exchange variants); lane declared when tiles are present; program.h gains IGNEUM_SHADOW_PER_LOAD and IGNEUM_MM8_TILES[_PER_HASH]; program.json the placement and the descriptors. Nothing is emitted for a class without the fields: the packs test holds the pinned packs byte for byte and the re-exported mx8+sh256x27 is byte-identical to packs-ca3-shadow/sh256x27 on all seven files.

proto-cuda/packs-ca4: mx8_sh256x27 (control), mx8_shl256x27, mx8_mm128, mx8_mm512, mx8_mm1430 over seed igneum-genesis, day 2026-10-03, 1 GiB, generator 2 (every export OVERALL PASS on igneum-build-2, 21:40 UTC); unrun on a card (the hash lane's PC 1 job).

Gate: igneum-build-2 `cargo test --release -p igneum-pow`: 64 + 7 + 4 + 19 + 2 + 7 passed, 0 failed (RESULT rc=0, 21:42 UTC).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:53:54 +00:00
igneum-labs
e767701097 Counter ASIC 4.0 research, second pass: the k-above-1 hunt, the capex lever and the re-ranked list
Sections 15 to 19: every GPU block gaming and AI paid for, priced against the best public 4 to 5 nm chip figure with its k band, verifier cost and the edge at the measured premium (the one-sentence answer: nothing reads k above 1 with certainty; the int8 tensor tile is the only block near or above 1, so the tensor shadow with a SIMD byte-dot verifier is the new rank 3); the capex column added to the chip model (both sides capex-dominated at 7x to 10x their electricity; the per-unit capex wall unreachable by 3x to 7x; the project wall doubled from USD 100 M to about USD 200 M of break-even cap by the shadow-per-load design, the mission lane's method); the microbench of 20 probes documented as built (section 18); the owed list.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:26:19 +00:00
igneum-labs
2b9cef47dc Counter ASIC 4.0 research: --microbench, one sustained kernel per GPU hardware block (the k-below-1 hunt)
proto-cuda/nvrtc/worker.cpp, cuda_api.h: `--microbench [--mb-seconds 60] [--mb-only a,b]` runs 20 probes one at a time at full residency for the window, each compiled by NVRTC on its own (a refused form drops that probe with its error on the row): the sleeping-SM floor, int32 add-xor-rotate, multiply, mulhi, byte permute, LOP3, warp shuffle, FP32 FMA, FP16x2 FMA, tensor tiles at u8 m8n8k16, s8 m16n8k32, f16 and bf16 m16n8k16, e4m3 m16n8k32, L2-resident chases at 32 and 64 MiB (dependent and 4 independent), the 1 GiB DRAM chase (the hash's control), a point-sampled u32 texture fetch and a linearly filtered float fetch (cuTexObjectCreate loaded optionally). Each RESULT line carries the counted operations per second, lanes, registers, UTC start and end stamps for a 1 Hz power sampler, and a checksum. Gate: mingw cross-compile on igneum-build-1 under lease pool (class measure, label "ca4 research"), exit 0 with -Wall -Wextra clean, 21:20 UTC; exe sha256 49aa60c4b28ed77a54655476d0f07c06a54aa22e4f6f6ccadd4019b84cbf0268; unrun on a card (the hash lane's PC 1 queue).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:20:58 +00:00
igneum-labs
30c2d2211f Counter ASIC 4.0 research: clock stamps in UTC (the box compile at 20:48 UTC, the knee reading at 20:5x UTC)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:56:11 +00:00
igneum-labs
5abb666aea Counter ASIC 4.0 research: the identity that forbids a zero-premium chip lever, the ranked designs, and the SM-sparse worker variant
docs/analysis/counter-asic-4-research.md (excluded from the public export): edge = (E_card + F) / (E_mem + k F); at zero premium the stored-dataset chip keeps E_card / E_mem, 3.6x on a 5090 locked at 1,400 MHz (measured card, modelled chip), about 2x at that card's idle-plus-memory bound, 1.7x on the M5 Max; class v5 at zero shadow leaves it at 5.1x to 9.1x; the shadow buys 2.1x at k = 1 for the measured 88 W (81.8 W at the knee) and turns against us below 1.8 pJ per op; per-card classes, the refresh as a cost, proof of useful work, memory shaping and the tensor block priced out with their arithmetic; ten designs ranked with the chip edge, the 5090 and 4070 premiums, the verifier cost, agent hours and what breaks each; the recommendation in five sentences; consequences per tier.

proto-cuda/nvrtc/worker.cpp: opt-in SM-sparse variants sp<N> and sp<N>-w<W> (a persistent grid of N blocks of W warps over the dispatch's nonces; the bound kernel rewritten at compile time with exact anchors into a unit function plus a wrapper of the kernel's name; made on demand by name, never in the default race; refused on variant-5 packs and with minBlocks). Gate: mingw cross-compile on igneum-build-1 under lease pool (class measure, label "ca4 research"), exit 0 with -Wall -Wextra, 22:48 UTC; exe sha256 ee8d0e70dd101f125f42c0c7cf07481a794ee18a1317acf68561b37ea18d72be; unrun on a card (the hash lane's PC 1 job run-ca4-pc1-ca4sparse-5090-20261007 is its first run).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:55:27 +00:00
igneum-labs
adfc46c555 Merge ca3-coord 151e3d88 into master (gate: green on 151e3d88, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:27:31 +00:00
igneum-labs
9fed755a3c Merge build-server 356dee66 into master (gate: green on 356dee66, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:25:01 +00:00
igneum-labs
151e3d88ae Counter ASIC 3.0 status: sub-version 2's final verdict (55 of 64, nine one-site seeds), sub-version 3's first commit ddacfbd3, p23's localisation (an AND-mask idiom, 0.84 of uniform at site 7), the 0.3.22 cost lines
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:23:58 +00:00
igneum-labs
da915621ea Merge ca3-coord 48ca9ac7 into master (gate: green on 48ca9ac7, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:23:09 +00:00
igneum-labs
356dee66df Gate: a --ci run outside GitHub Actions builds the site in the temporary copy like the hook (the in-place build rewrote four tracked site files in the running worktree; the horizon lane, 7 Oct 2026); in place only inside Actions; self-test that the tree is unchanged after a site build
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:23:05 +00:00
igneum-labs
5b681643f6 Merge peer-directory b3187c91 into master (gate: green on b3187c91, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:22:24 +00:00
igneum-labs
48ca9ac726 Counter ASIC 3.0 status: the N15 drift fix done for 0.3.21 (numbering-fix d8bceca5)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:19:37 +00:00
igneum-labs
bdb96688d1 Merge ca3-coord 81d7a666 into master (gate: green on 81d7a666, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:19:01 +00:00
igneum-labs
b3187c91b0 Merge remote-tracking branch 'origin/master' into peer-directory
# Conflicts:
#	infra/fast-time/fork-gate.mjs
#	infra/fast-time/override-60x.json
2026-10-07 14:18:50 +00:00
igneum-labs
9d76a4b5ee Merge horizon a87a9c42 into master (gate: green on a87a9c42, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:17:38 +00:00
igneum-labs
81d7a66692 Counter ASIC 3.0 status: sub-version 3's build result (the bounds do not reach the class under the real dataset), the decision (0.3.21 byte 5, sub-version 3 for 0.3.22)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:15:26 +00:00
igneum-labs
3f8fef9b6f Merge ca3-coord 5f0fc19b into master (gate: green on 5f0fc19b, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:14:20 +00:00
igneum-labs
58229bcf14 Merge mf11-master d945d4cd into master (gate: green on d945d4cd, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:12:42 +00:00
igneum-labs
d945d4cda5 Console: the job-channel ping (MF-11, 7 October 2026). Every 0.3.21 app names itself on its wake long-poll (machine, version, last job); /wake records one row per machine in relay_wake_seen before it holds; the Machines tab reads "job channel polled N ago, last job X" and, after 15 minutes without a poll, "job channel silent since <time>, last job X" in red, whatever the uploads say (PC 2 lost power at 10:46Z and nothing said so until a person read the intake). Tests in relay/test/wake.test.mjs.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:10:59 +00:00
igneum-labs
2cbdce6d4d Merge genesis-forward 7f624df3 into master (gate: green on 7f624df3, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:10:57 +00:00
igneum-labs
5f0fc19b03 Counter ASIC 3.0 status: AP-F8-3, the acceptance never ran the shadow block (the root of the residual classes), the sub-version 3 fix
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:10:46 +00:00
igneum-labs
14d9722466 Merge ca3-coord 1e0af8f2 into master (gate: green on 1e0af8f2, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:09:56 +00:00
igneum-labs
40b1f33134 Merge site-ui-5 ce8ad8ca into master (gate: green on ce8ad8ca, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:09:28 +00:00
igneum-labs
0ed831d251 Merge build-server e77cd823 into master (gate: green on e77cd823, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:08:58 +00:00
igneum-labs
422f9fae6d Merge remote-tracking branch 'origin/master' into peer-directory 2026-10-07 14:07:42 +00:00
igneum-labs
d774838edd Merge ui-overlap 9cffa349 into master (gate: green on 9cffa349, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:07:19 +00:00
igneum-labs
1e0af8f266 Counter ASIC 3.0 status: main's acceptance of the plan, AP-F8-2's exhaustion half closed at 10^6, the exec chain-number drift finding (N15)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:06:58 +00:00
igneum-labs
ce8ad8ca66 site-ui-5: /live sizes its scene box through the renderer (2.0.4 autoHeight, cd4f17b7); the padding constants leave the page. The home fold keeps its CSS height (a backdrop), so autoHeight stays off there by the renderer's own rule.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:06:56 +00:00
igneum-labs
e77cd823a0 Gate: the box lock self-tests skip with an ok line under --ci on a runner with no box (GitHub's hosted runner has no BUILD_HOST and no box file; master went red the moment the check landed, 7 Oct 2026); the Mac hook and the box runners still run them live
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:06:53 +00:00
igneum-labs
7f624df375 Merge branch 'master' of https://github.com/igneum-network/igneum into genesis-forward 2026-10-07 14:06:24 +00:00
igneum-labs
63982e44ea Merge ca3-coord a6fba517 into master (gate: green on a6fba517, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:06:04 +00:00
igneum-labs
a87a9c423a Merge remote-tracking branch 'origin/master' into horizon 2026-10-07 14:05:21 +00:00
igneum-labs
a6fba517d5 Counter ASIC 3.0 status: the hot-set gate in numbers (ratio_w, the reach as per-site index entropy, the null's tail), the line for sub-version 3 (distinct-values bound at 2^20 plus the repeat bound)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:04:00 +00:00
igneum-labs
9cffa3492c overlap-check: a text sliver at a scroll pane's edge is scrolled away, not covered (the miner's Earnings ladder under the closed log drawer's 1 px bar at c3fb95e3 read as covered); the clean fixture now carries that shape (7 October 2026, 16:1x UK)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:03:28 +00:00
igneum-labs
bee63dab06 Merge ca3-coord 2a41d491 into master (gate: green on 2a41d491, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:02:29 +00:00
igneum-labs
efd60ea938 Genesis forward-compatibility: key hashes in the harness summaries cut to 16 hex characters (the no-secrets gate reads committed summaries; the writer redacts at write time)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 14:02:24 +00:00
igneum-labs
b8e295076a Merge remote-tracking branch 'origin/master' into ui-overlap
# Conflicts:
#	tools/ci/pre-push.sh
2026-10-07 14:01:38 +00:00
igneum-labs
e5de1b0400 Merge ship-docs-0320 2fa15d7e into master (gate: green on 2fa15d7e, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 14:01:33 +00:00