Commit graph

9 commits

Author SHA1 Message Date
igneum-labs
044ccb4a3a Ledger close round 2: F7 block rates (f7.mjs, 1/2/5 blocks/s), F3 hostile aggregator (finality_v2.py scenario O) and the per-block vote bound, F17 key default and bitmap proposals (spec 3.4.2, O-3.2 O-3.3 O-3.5 O-3.12)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 23:20:28 +00:00
igneum-labs
7dc6e349c0 Ledger close round 1 (sims): M14 and F14, the 50x pulse against a lagging retarget inside finality_v2.py, both W2 forms; X1 status restored
sim/daa_trace.py: Kaspa's sampled DAA and the Igneum rule v2 inside a block-level block supply with bounded histories, the two W2 forms from the aggregate series.
sim/finality_v2.py: scenario N, P.wform (hour, daa, median), Sim.supply.
Result: weight share over hash share under 1.0 in every cell; Kaspa's DAA plus the DAA-second window hands the renter a third on day 12; rule v2 keeps it under 20%; the median-time form caps it at 17% under either controller.
Also: the X12 status edit of the previous commit had landed on X1's identical line; X1 is back to Conceded, fix now and X12 carries it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 19:19:30 +00:00
igneum-labs
2bb0728eb2 Finality rule v3 (ledger F21, F22): simulator scenario M, spec 03 Q4/Q5, cloud vote-timing analysis, v3 harness runner, fast-time profile, bench-log entry, devnet rollout plan
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 20:04:12 +00:00
igneum-labs
70bed1065a CI on every push: igneum-pow tests, census build, simulator quick modes, site build + link check, identity grep
GitHub Actions workflow (.github/workflows/ci.yml) on push and pull_request with three jobs on the free runners:
igneum-pow `cargo test --release` and the igneum-census build; the two Python simulators' --quick modes under a
120-second timeout; the site build, an internal link check of site/*.html (tools/ci/link-check.mjs) and a gh-free
identity grep of the public export list (tools/ci/identity-check.sh over tools/ci/forbidden-strings.txt: machine
names, LAN and overlay addresses, home paths, local time zones, the log-intake key pattern; never a key or a name).
The node fork is too big for CI today and the workflow says so.

sim/finality_v2.py --quick is now a genuine smoke run (one day or hour per scenario, one partition and one eclipse
setting): 149 s at nice 19 on a loaded Mac, was 745 s. sim/difficulty/sim.py gains --quick (up50 and warmup-hard,
kaspa and igneum controllers, 36 s). One bench-log time-zone label reworded so the identity grep passes.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 09:57:34 +00:00
igneum-labs
1d018c601c Finality: the total-weight floor is two thirds (O-3.15 decided, 4 October 2026)
A lock needs two thirds of all 30-day weight signing; finality pauses
whenever less than two thirds is connected and signing, the chain runs
on proof of work meanwhile and the node reports it. Spec 3.3, 3.3.1,
3.7, 3.9, 3.10 Q3 row, 3.11 rewritten with the new arithmetic (safety
one third in every view, liveness two thirds connected, the per-view
window bound stated as 3.7 item 9); O-3.15 decided, O-3.16 closed,
O-3.18 and O-3.19 narrowed. Simulator: --floor, the +local partition
mode, scenario L; A to L re-run at the 2/3 floor over five seeds with
the 0.85 deltas in results_v2.md. Litepaper finality sentences and the
'does not claim' item. Ledger F2, F9, F16, F18 restated, F21 added
(the window bound and the post-heal finality fork from the devnet).
Bench-log: node build and tests, simulator deltas, three-node six-voter
runs of 6A, 6B and 6A with a long heal on ports 29200 and up.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-04 08:17:50 +00:00
igneum-labs
dc49dcafcd Finality 3.11 Guarantees: safety and liveness bounds derived from Q3, recovery rule, acquired keys, seeds during a pause, test table; simulator scenarios H to K
Safety: X = 1/3 of total weight while honest votes reach every honest node within 41 min of median time; 4/30 = 13.3% across a longer partition, because only the 17/30 floor binds then (2 x 17/30 - 1). Liveness: Y = 17/30 connected and signing, T = P (1 - Y/(2(1 - Y))) + 107 s, 107 s at 2/3, 43 min at 17/30; below the floor finality pauses and the node reports it. Two certificates at one index: no verified lock is ever withdrawn, operators resolve (replaces the 3.5 re-evaluation). Seeds: uncertified checkpoint allowed (O-4.3 decided). Scenarios H (equivocator across a 50/50 split: conflicts at 12 to 16 min with 20%, none at 13%), I (40/40/20), J (signing stops 1, 6, 24 h), K (bought keys worth 20% and 40% against 30% hash), five seeds each. 3.10 rows for the gaps; open items O-3.15 to O-3.19.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 22:41:36 +00:00
igneum-labs
42d780818a Chain scene: back to four states with a bold locked ring
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 16:05:19 +00:00
igneum-labs
0b3cf78bb0 Site: live chain scene with miner sparks, shard fills and lock ripples; OS and GitHub logos
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 15:59:18 +00:00
igneum-labs
bf9e4c4fbb Site: DAG fits any width, hero graph rebuilt with fade mask, locks and proof glow
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-03 15:56:18 +00:00