Commit graph

91 commits

Author SHA1 Message Date
igneum-labs
a1b3977a69 Merge finality-boundary 2e5f1c60 into master (gate: green on 2e5f1c60, recorded by tools/ci/pre-push.sh; landed on the build mirror under the exception declared by main: finality-boundary amendment 2e5f1c603 (the coordinator's word 18:5x BST): docs/spec/finality-guarantees.md only; no .rs, Cargo or build file) 2026-10-08 18:00:03 +00:00
igneum-labs
2e5f1c6036 finality-guarantees.md: the two-thirds anchored test never lapses (6.2 item 1, after the node lane's harness finding acd9d067); the even split's jitter fact (7 item 4); the harness pass line per variant (6.7)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 17:51:41 +00:00
igneum-labs
12ab389906 spec 09: the wire shape for the vote-key commitment (Igneum 2.0): job and share carry vote_key_hash, share_result gains code vote_key, 9.4.1 item 1 reads the job's key, 9.8 item 5 checks it first
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 17:45:46 +00:00
igneum-labs
6184cb9e28 Enforced proving spec: the fast-time harness's key-succession mode (section 8)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 17:34:24 +00:00
igneum-labs
1b8fde55c6 Enforced proving: the register row for negative test six's proof side (derivation inside the aggregator guest, P22 stage 3), clock 18:00 UK 9 October 2026
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 17:04:36 +00:00
igneum-labs
48dcfd81e6 Merge class-v6 a7c2c082 into master (gate: green on a7c2c082, recorded by tools/ci/pre-push.sh; landed on the build mirror) 2026-10-08 16:44:21 +00:00
igneum-labs
10a1834aa8 Merge enforced-proving 3f6e8eb2 into master (gate: green on 3f6e8eb2, recorded by tools/ci/pre-push.sh; landed on the box mirror) 2026-10-08 16:37:46 +00:00
igneum-labs
e9f32fb9f7 Merge finality-boundary b8b3135f into master (gate: green on b8b3135f, recorded by tools/ci/pre-push.sh; landed on the build mirror under the exception declared by main: finality-boundary landing (D5 partition row, the coordinator's word 17:36 BST): docs/, sim/ and docs/plans only; no .rs, Cargo or build file; igneum-pow and proto-cuda equal master's after the ca4-code-revert 3a7592c5) 2026-10-08 16:35:32 +00:00
igneum-labs
c23f687bc0 class-v6: merge master 3a7592c52 (after the counter-asic-4 code revert eb2c21c0) into class-v6 so the frozen tree lands on master as one two-parent merge. Conflicts: igneum-pow memhard.rs, main.rs, tests/packs.rs keep class-v6's text (class v5's mixer-draw rule in the agreed AP-F4-1 form, cost 205 with w32; master carried the first form, NAF sum 163; the ds55 and reg64 arms of epoch_of; the window tests); site/litepaper.html takes master's (the site lane's text); docs/ledger-public.md and site/ledger.html regenerated from the merged docs/fud-ledger-2.0.md by tools/ledger/export-public.mjs and tools/ledger-page.mjs.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 16:31:19 +00:00
igneum-labs
bf53dcdcc5 Enforced proving: row 6 of the six negative tests reads team-tested for the native veto and PENDING for the proof side (the coordinator's clock, 17:3x UK)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 16:31:07 +00:00
igneum-labs
c55a127914 Merge remote-tracking branch 'box/master' into finality-boundary 2026-10-08 16:23:02 +00:00
igneum-labs
5cc2825235 Enforced proving spec: the fast-time crossing PASS at 17:22 UK (the finding paid below the floor, nothing paid and four refusals per honest node at it), the row-6 test's version
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 16:22:47 +00:00
igneum-labs
00ed8e1678 D5 partition row: N1b and N2b (the recovery bound measured on build-4) and the harness known-failed line on real nodes (v3 split past the expiry: both sides lock alone, 8 disagreeing locks after the heal); results, spec test table and the plan's D5 block updated
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 16:21:46 +00:00
igneum-labs
813498d4df Merge box/master ba6bf0ea into finality-boundary (the plan file: master's version with the D5 partition row re-applied) 2026-10-08 16:06:31 +00:00
igneum-labs
9e6b3f0205 Merge remote-tracking branch 'box/master' into enforced-proving 2026-10-08 16:05:31 +00:00
igneum-labs
c1ad2fd122 Enforced proving spec: the 2.0 plan's six negative tests mapped to the named tests (section 3a), the boundary sentence, the (6) row PENDING with its native-veto test; the ledger P22 row carries both
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 16:05:30 +00:00
igneum-labs
ba6bf0ea16 Merge counter-asic-4 91929389 into master (gate: green on 91929389, recorded by tools/ci/pre-push.sh; landed on the build mirror) 2026-10-08 16:03:13 +00:00
igneum-labs
b2faca79dc Merge box master 9f1c40b6 into enforced-proving (the public ledger regenerated; the fast-time case reads paid shards only)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:48:09 +00:00
igneum-labs
ddb0976351 Merge the mirror's master into counter-asic-4 before the D4 landing
# Conflicts:
#	site/economics.html
2026-10-08 15:46:02 +00:00
igneum-labs
984aa603d8 Igneum 2.0 D4: the tip-share discrepancy resolved (the tip whole to the block, O-5.7 closed at zero; the provers paid by the congestion-priced proving base fee, 90 percent to the block's pool and 10 percent burned; the burn listed separately; the cap and no development tax untouched); spec 5.1 to 5.3, the economics page, the code pinned
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:45:00 +00:00
igneum-labs
894a776f3d Igneum 2.0 D5: the partition row (the chain's behaviour across partitions under rule v4, measured in scenario N), on the coordinator's plan files; spec: Devnet 3 clock line dropped
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:41:25 +00:00
igneum-labs
050f1213f7 Enforced proving: the measured verify cost in the spec (0.668 to 0.710 s a record on one EPYC core, about 30 MB a verify); the fast-time case forges outside the exclusive window and hashes the bytes it submits
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:40:41 +00:00
igneum-labs
ed4e162100 Enforced proving docs: UK clock times (the identity grep refuses the timezone word in the public export)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:19:14 +00:00
igneum-labs
bfb8ce9e21 Enforced proving spec: the 16:15 BST suite results on build-2
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:15:58 +00:00
igneum-labs
e157532dc4 Finality boundary: N3 reading corrected (a silent third fails Q3's own floor; the recovery relaxes the anchored test only)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:13:51 +00:00
igneum-labs
b441800e3c Finality boundary: scenario N results (N1, N2, N3, N4, N6 on build-3), the Rule v4 section in sim/results_v2.md, the spec's test table and the recovery bound's dust clause; sim: att_both (the equivocator mining on both sides), N1b key fix, N2b
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:13:06 +00:00
igneum-labs
ffd6751e7c Release manifest and the proving economics: site/release-manifest.json served at /release.json (network and chain id, source commits and fingerprints, mining class and dataset, finality rule v3, proof program ids, verifier off per P21, fees, versions per platform, the proving view, generated date); /build, /economics, /miner, /evidence and the litepaper read it at build through data-rm spans and a gate check holds the pages to it; /light, /receipt and the light client say two thirds of total weight; 4463 marked historical in older docs; dated log entries labelled historical; the evidence page's sixth label (activated) and the reference-repository wording; /economics gains "Who pays for proving": three incomes apart, the burned base fee stated, the measured 24-hour payout, the halving walk computed from emission.mjs at build, per card per hour, the two routes priced, no price
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:11:33 +00:00
igneum-labs
c9bcbdf4eb Enforced proving: the rule, the switch, the seven refusals, the P22 staging statement and the fast-time case (ledger P21 and P22, 8 October 2026)
docs/spec/proving-enforcement.md (the rule in the body and the payment, the named switch verifier_in_consensus and what each object does, the tests per refusal, the cost section, the activation plan, the four-stage P22 statement, the fast-time case); the ledger entries P21 and P22 updated; infra/fast-time/override-60x.json lists the switch; infra/fast-time/proving-enforcement.mjs runs the seven shapes across the floor. The node code is on enforced-proving-node (the fork, 0.3.25 node line).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:11:24 +00:00
igneum-labs
47c76537cb Finality guarantees and the long-partition boundary (rule v4): docs/spec/finality-guarantees.md, pointers in section 3, O-3.20, O-4.3 closed, README row
The external review of 8 October 2026 (accepted 16:1x UK): the boundary must be explicit; a timeout alone cannot tell a node whether missing miners are gone or partitioned. Rule v4: the frozen table is anchored (never expires by time) and, after a full window with no certificate, a lock needs Q3 plus more than half of the anchored table on the chain through the last certified checkpoint (the majority-continuity recovery, verifiable from the chain). Safety and Liveness stated with their arguments, the pause's duration by cause, what is not guaranteed, the single answer on program rotation during a pause (seeds from chain blocks, O-4.3 closed), the four interface words and where each interface shows them.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 15:02:19 +00:00
igneum-labs
182a40c975 Merge remote-tracking branch 'build/master' into class-v5
# Conflicts:
#	site/ledger.html
2026-10-08 02:39:20 +00:00
igneum-labs
31f9a7a3be Spec 01 1.4.6.5: the shipped rule's own rejection shares beside the class v2 census figures (adv-accept's 20,000-seed attempts census on sub-version 3, 8 October 2026: 68.1 percent rejected per candidate, (a') 83.5 percent of rejections, mean accepted attempt 2.1, 0 exhaustions)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 00:42:31 +00:00
igneum-labs
cab01edae6 Spec 01 1.4.6.4: the acceptance rule's closed-form dataset stated in full (the eight operations and three constants of dataset_elem) with two pinned vectors, so part (c) computes from the text alone (adv-accept-3 Q4c: the text-only re-derivation at 797887f7 matched the chain on 400 of 400 epochs and took that one function from the crate); igneum-pow/tests/spec_readback.rs pins every dataset_elem vector the spec prints
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 00:33:10 +00:00
igneum-labs
b6ef33f357 class v5: program_id_derivation takes the rung-0 plain form for class v5 as program_id does (the text follows the id); spec 1.4.7.5's id table in the read-back reader's shape (bare 64-hex epoch seed, the era in the Note; the no-era v4 control is the packs test's, not a chain row); 1.4.7.1 names the rung-0 and above-rung-0 forms
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 00:23:51 +00:00
igneum-labs
68f8116b8c class v5 record: the tally is nine of nine hot sets refused (adv-accept's 228763 at 0.9809, a non-saturated single-item source), in main's sentence on AP-F8-6, section 14 and spec 1.4.7.2
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 00:13:46 +00:00
igneum-labs
785d288a99 Merge remote-tracking branch 'build/master' into class-v5
# Conflicts:
#	docs/fud-ledger.md
#	docs/ledger-public.md
#	site/ledger.html
2026-10-07 22:57:36 +00:00
igneum-labs
c8a9b5107c class v5 records: the time zone written as UK, not the forbidden zone name, in the ledger, the spec and the page
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:54:09 +00:00
igneum-labs
428b5bd866 class v5: the 61-row era reading (0 of 61 refused; era-drawn-28 at 0.9969) and the class v5 attempts census (per-candidate rejection 0.6893, (a') 83.4 percent, (c''') 1.0 percent, 0 exhaustions, P(256) 4.4e-42) on the spec, the page and AP-F8-6, logs under the harness dir
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:50:45 +00:00
igneum-labs
30713a67b0 Spec read-back and the ledger page (AP-F8-5, 7 October 2026 night)
Spec 01 1.4.6: the constants table gains ACCEPT_TAG, LANES, the (c'') window-cap literal and the first-refused reading of MAX_SATURATED. tools/ci/spec-constants-check.mjs joins the gate: every "Constant | Value | Where" table of spec 01 against the crate's pub const items (an expression over constants evaluated, a byte string compared, a pending row skipped while the constant is absent), known-failed fixture first. igneum-pow/tests/spec_readback.rs derives every pinned id of the "Seed | Attempt | Id | Note" table through the crate and draws each class v4 row with its era to the stated attempt; a must-differ row asserts another id (box suite on the branch: 64 + 7 + 4 + 19 + 2 + 7 + 2 passed, build-remote rc 0).
tools/ledger-page.mjs: both entry heading forms render (M1 and AP-F8-1; the single-letter form dropped every in-house pass row from /ledger), the pass gets its own section, a known-failed self-test in the gate. docs/fud-ledger.md drops the USD 50,000 prize clauses and "paid independent cryptanalysis" (decision item 1 of 6 October: no bounty; the in-house rule of 7 October), so the regenerated site/ledger.html carries neither. checks.txt regenerated (73 checks).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:44:14 +00:00
igneum-labs
68e4b7c505 Merge remote-tracking branch 'build/master' into class-v5
# Conflicts:
#	docs/fud-ledger.md
#	igneum-pow/src/generator.rs
#	site/ledger.html
#	site/litepaper.html
2026-10-07 22:39:39 +00:00
igneum-labs
ef41681c46 spec 01 1.4.7.5: the class v5 id table in the read-back test's shape (Seed, Attempt, Id, Note with the generator)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:27:21 +00:00
igneum-labs
03b4abafee spec 01 1.4.7.6: the class v5 constants table (one row per igneum-pow pub const, for the spec-constants check); igneum-pow: the listed-programs (c''') reading as an ignored test (IGNEUM_V5_PROGRAMS file: epoch, era, attempt per line)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:21:24 +00:00
igneum-labs
70949f8bfb Spec 01: the acceptance rule and the draw as igneum-pow ships them at a5d735b2 (adv-accept-3 finding 3, 7 October 2026 night; ledger AP-F8-5)
1.4.3 rewritten: the draw's two per-register states (fresh, fresh_value), the dataflow table and the shared-operand rule the class v4 shape uses for the load source, the empty-list fallback, the era window draws, the shadow block's draw from the same stream (256 ALU slots, era draws consumed), the draw counts per class (592, 720, 3,536).
1.4.6 rewritten into 1.4.6.1 to 1.4.6.6: (a) over two passes of the base instructions, (b), (a') to its fixpoint then a checking pass over base then shadow, (c) with the shadow block executed 27 times per iteration and its inputs and limits in tables, (c') saturated sources at 164 of 16,384, (c'') the distinct-index ratio at 2^20 evaluations with the 0.98 floor and its integer form, the attempts and the two caps (32; 256) with the measured per-part rates, the last resort stated as unreachable and unverified (fails (a) on 251 of 3,000 seeds), the program id with the generator-4 "sub/" || 3_le16 suffix and the class-rung form, a "Constants of the shipped rule" table and a "Pinned program ids" table in the shape the hash lane's read-back test parses.
1.7 gains the shadow block's execution; 1.13.1 names the ninth consumed era draw (the latency ladder); 1.8.5 carries the one-line pointer to class v5's 1.8.6 (agreed with the v5 lane).
docs/fud-ledger.md AP-F8-5 (the finding, the fix, the check); docs/ledger-public.md regenerated.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:19:30 +00:00
igneum-labs
94ba1a222f spec 01: class v5 as 1.4.7 (the class, generator 5, (c''') with the census numbers, the verified last resort, the two draw rules, the activation object and signal, the test vectors) and 1.8.6 (the state leaves: stream, derivation, sample, leaf line, refresh, witness, cost)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:17:32 +00:00
igneum-labs
16839685e4 Merge build/master c862a233 into ca3-v4-amend (the ledger keeps both sides) and the AP-F8-4 ledger row (the program id derivation text; igneum-pow against a5d735b2 differs in the recipe refactor, the exporter's print and the new test only; program.json outside the digested pack bytes) 2026-10-07 22:11:07 +00:00
igneum-labs
0cf21455e6 Program id derivation stated exactly (adv-accept-3 documentation finding, 7 October 2026): the id and its printed derivation come from one byte recipe; program.json and spec 1.4.6 name the 'sub/' || sub_version_le16 suffix of generator 4 and the class-rung form; every pinned pack's id re-derived from its own text
generator.rs: IdRecipe (bytes + labelled parts), program_id_recipe and program_id_class_recipe build the bytes the id hashes and the text program.json prints, Program::program_id_derivation picks the form as program_id does. emit.rs prints that text. Spec 01 section 1.4.6 (the "Program id" paragraph) states the suffix, the class v5 form (generator 5, no suffix) and the rung form. tests/derivation.rs re-derives each of the 18 pinned packs' ids from its own derivation string with the pack's fields only (the plain text gives 8aa9f185d63f269e for the devnet v4 pack where the id is a785001687d8688a: the known-failed case). Packs: program.json re-exported for the 7 generator-4 packs and the 9 shadow ladder packs, one line each (the derivation); every other file byte-identical on re-export, ids and fingerprints unchanged. No object change.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:25:53 +00:00
igneum-labs
7355d53fde Pre-public scrub, the text pass (7 October 2026, 19:5x UK): no founder name, personal login, earlier business or personal address in any tracked text file, and a gate check that keeps it so
The sweep (main's item 1): 199 tracked text files, 783 lines. The founder's full name, first name and possessive become "the founder" (sentence starts capitalised); the lowercase operating-system user name in WSL paths and commands becomes <user>; the second owner login becomes "the second owner login"; the three earlier businesses and the two other brands become "the other business", "the earlier entity", "the earlier business" and "another brand"; the Chrome profile rule names the igneum.network profile, not the profile's label. The standing commit login igneum-labs is not a founder term here: the fresh-repository step renames it in the history (docs/plans/history-rewrite.md, tools/repo/fresh-repo.sh).

The patterns never appear in plain text in the tree (a plaintext list would be the hit): tools/ci/founder-strings.b64 (perl regex, tab, a sample per row) is read by tools/ci/founder-strings-check.sh (every tracked text file, perl, known-failed first: the self-test plants each row's sample in a fixture and the hit must name the file), by tools/community/discord-hooks.mjs (the guard's founder and business rows; the test takes its fixtures from the samples) and by tools/repo/fresh-repo.sh (the business names of the rewrite rules). site/forbidden-strings.txt carries the same patterns as b64: lines, decoded case-insensitive by site/scrub.mjs and tools/ci/launch-gates-check.mjs (whose fixture now plants an encoded made-up name). The check runs in the gate's tree checks on every merge.

Not in this commit, by main's word: the 105 commit messages and 40 personal-identity commits that need the history rewrite (listed, not run), and the secrets found by gitleaks over the history (reported with owners).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:39:50 +00:00
igneum-labs
c88b00f578 Era VDF lane (7 October 2026): spec 04 sections 4.2, 4.4, 4.5 and 4.6 completed for the era path (the scheme byte and the hash-chain fallback, the cut rule under the O-4.3 reading, the day-of-blues input, the delay, the seed, the era constants as measured), spec 01 section 1.13.1 and era-layout.md section 8 updated, open items O-4.8 closed and O-4.10 to O-4.12 added, FUD ledger F11 updated, two decisions for the project lead in ledger-decisions.md, the record docs/analysis/era-vdf-2026-10-07.md (what was built, the parameters and measured rates, the harness gate with both runs, the cut rule for the finality lane, the verify gate, the tiers), the F7 re-roll harness against the real era cut (tools/era-vdf/reroll.mjs: --vdf off fires 6 of 6, --vdf on silent 0 of 6; the adversary evaluates asynchronously with the node's own code and is found by the node's own log line), the fast-time file's era fields 2026-10-07 15:24:22 +00:00
igneum-labs
44fe8c7562 Genesis forward-compatibility (mission item 8): design doc, spec text (W1 scheme byte, W5 succession, the cache rung, the VDF fallback flagged), ledger rows GF1 to GF4, the fast-time harness, override-60x.json
docs/design/genesis-forward.md names the three fields, their defaults, the digest change and the gates; spec 03 W1 and W5
amended and the W5 implementation row filled; spec 01 the cache rung beside the schedule; spec 04 the class-group VDF's
quantum fallback flagged, not sized; infra/fast-time/key-succession.mjs (3 nodes, one CPU miner each: the window fills,
a succession carried once on every node, refused twice, scheme 1 refused by every node; the known-failed case
--expect no-succession first); override-60x.json carries the four new keys at never.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 10:03:37 +00:00
igneum-labs
25edaee1e4 Counter ASIC 3.0: mixer_mult = 8 in spec 1.13.1 and mixer-x4.md section 2 (item 3's finding); item 3 closed in the status file 2026-10-06 07:31:02 +00:00
igneum-labs
e72fdf872f Merge commit '48db27e' into release-0.3.11
# Conflicts:
#	docs/bench-log.md
#	docs/evidence.md
#	site/litepaper.html
2026-10-05 22:39:34 +00:00