Commit graph

519 commits

Author SHA1 Message Date
igneum-labs
29c3f86c02 Merge branch 'ledger-pc2' into fud-close 2026-10-06 15:42:26 +00:00
igneum-labs
ee9609342d Ledger close round 2: M16 answered with the PC 2 run (inline at 64 MiB in the L2 0.256x of honest, 5.1x worse per joule), E17 the 5090 draw lines, the playbook on settings.json, the job report 2026-10-06 00:45:09 +00:00
igneum-labs
09c1de48c0 Ledger P23 (the pool has no reorg hook, found by the P17 run), the 6 October count, fud-fixes row 128, status after round 2
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 23:35:32 +00:00
igneum-labs
aaa4990c8d Merge branch 'ledger-pc2' into fud-close
# Conflicts:
#	docs/bench-log.md
2026-10-05 23:34:45 +00:00
igneum-labs
0e06740bea Merge branch 'ledger-observer' into fud-close
# Conflicts:
#	docs/bench-log.md
2026-10-05 23:34:38 +00:00
igneum-labs
277710c4a9 Merge branch 'ledger-design' into fud-close 2026-10-05 23:34:33 +00:00
igneum-labs
f559c37bea Ledger decisions item 13 (the gate-3 parameters of spec 3.4.2) and the F3, F17 pointers; ledger-tails merged
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 23:34:14 +00:00
igneum-labs
22f6edcd7e Merge branch 'ledger-tails' into fud-close 2026-10-05 23:33:53 +00:00
igneum-labs
bb5bbccf08 Ledger close round 2: M16 the inline-cache bench beside the CUDA worker (gen.py, inline_bench.cpp, the Mac emulation check PASS, the PC 2 kit and playbook), E17 the draw-line sampler, P17 the conformance driver, its run log, the bench-log entries, the design 8.2 row, the three ledger entries 2026-10-05 23:32:44 +00:00
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
223d073fa9 Ledger close round 2: X14 signing concentration from block payloads; X5 observer columns on a branch (O-X.1)
X14: the signing half. No RPC exposes a certificate's signer set, so
tools/finality-attacks/x14-concentration.mjs now walks the selected
chain over the window, decodes the coinbase finality section (IGNF
trailer: votes, certificates, evidence, the IGNK reveal), rebuilds the
canonical voter list at every checkpoint from headers the way the node's
compute_weights does, and maps every bitmap through it. Read-only on the
Mac observer node under the run lock, node version and DAA recorded,
two readings kept (the window straddles the 0.3.10 restart). Result at
23:00:44 UTC, DAA 138,542: signed weight over the heaviest certificate
per index, 27 keys, top-1 10.0%, top-3 29.1%, top-10 77.3%; hashing
6.4/19.2/60.1, aggregation 44.9/84.1/100, proving 100/100/100. Checks:
240 of 240 rebuilt voter lists equal the node's count, 194 of 194
certificates mapped, 27 reveals against BLAKE2b with 0 mismatches.
Status moved to Answered with evidence for all four; the old status
kept after "Was:". Bench-log entry appended.

X5 (paragraph only; Status stays Decision owner: the project lead): the observer
columns of O-X.1 on this branch, not deployed, the running observer
untouched: live_peer_asn (offline prefix table, no third-party lookup),
live_key_machines (machine fingerprint per vote key from the log
intake), live_pool_statements (signed JSON {pool, keys[], signed_at},
Ed25519, parser and verifier), live_concentration (nightly top-1/3/10
for the four concentrations plus N_ind labelled "proposed definition").
Pure functions in tools/observer/lib/concentration.mjs and
lib/nightly.mjs; keyed BLAKE2b in tools/finality-attacks/lib/blake2b.mjs;
9 node:test tests, all passing.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 23:07:00 +00:00
igneum-labs
90b5bd1aff Ledger close status: the fork rebase sized (two files, the miner's export path is the substantive one), queued as round 3
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 22:58:03 +00:00
igneum-labs
9b64e478cf Ledger M28 closer's note (worker and miner halves ship together) and the 23:10 ship state
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 22:57:35 +00:00
igneum-labs
3148b7da11 Ledger close round 2, design and review items: D6 reviewed (docs/review/d6-forged-job-result-2026-10-05.md), X17 designed (spec 8.8, phone-app 4.1), D5 owner and gate (developer-adoption 5), P3 P16 P22 X15 status lines terminal-explicit, P21 litepaper sentence labelled Open
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 22:54:52 +00:00
igneum-labs
a4b3a5d980 Ledger close status: round 1 merged, counts, evidence pointers, round 2 started
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 22:46:03 +00:00
igneum-labs
f0dba7d448 Ledger close: round 1 merged; count by status (night); decision pointers on L2, G14, X29, M8, M11, P16 and decisions item 12 (hardware); payment routes state on 5 October
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 22:45:37 +00:00
igneum-labs
cc899aac37 Merge branch 'ledger-fork' into fud-close
# Conflicts:
#	docs/bench-log.md
2026-10-05 22:43:55 +00:00
igneum-labs
9070f95f22 Merge branch 'ledger-sims' into fud-close
# Conflicts:
#	docs/bench-log.md
#	docs/fud-ledger.md
2026-10-05 22:43:50 +00:00
igneum-labs
325c0403f5 Merge branch 'ledger-relay' into fud-close 2026-10-05 22:43:34 +00:00
igneum-labs
0f7b141ee4 Merge branch 'ledger-text' into fud-close 2026-10-05 22:43:34 +00:00
igneum-labs
4281efdef2 Ledger close round 1, group B: X20, X19, P15, M25, M28, X22 fixed on fork branch ledger-fixes; G10 rule written; F1 harness wording
Ledger rows of these ids moved to Fixed on a branch, pending merge (fork ledger-fixes bd1b676a, suites on PC 2 jobs
build-20261005-200049 and -200606), G10 to Rule written (spec 8.3 item 2), the F1 tail; bench-log entry with the
build, the suites (six attempts, the shared-zip race named), the M25 mismatch re-run (65/0 and 65/0, 130 accepted,
0 rejected) and the M28 emu test (tampered pack refused). Main-repo code: packfile.h SHA-256 kernel check and the
OpenCL prepare check (M28), per-card pack directories and the exit-42 wait (X22), the dead override field dropped
from infra/fast-time/override-60x.json (X19), the 2/3 wording in tools/finality-attacks/run.mjs (F1).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 20:11:50 +00:00
igneum-labs
e85efaae1d bench-log X14/E16: fleet version and DAA recorded for the live reading (coordinator's 0.3.10 rollout constraint)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 20:08:36 +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
def6ef137d Ledger close round 1 (sims): F20, M21, X14, E16 code half, P17, X12 run and logged
F20: tools/finality-attacks/f20.mjs, a 47.5% silent set through four fast-time epoch boundaries (0 locks in the pause, program on schedule, one seed per index, 12 pre-pause locks held, 0 conflicts).
M21: tools/finality-attacks/m21.mjs, 490 KB coinbase bodies on 100-ms proxied links, k re-derived with the fork's calculate_ghostdag_k (p99 812 ms, k 5).
X14 and E16: tools/finality-attacks/x14-concentration.mjs, read-only concentration from the observer node (signing not exposed by any RPC) and one live block's burn output beside its escrow payout.
P17: report only, igneum_getTransactionStatus per state, finalized resolves to the tip.
X12: sim/difficulty/record_report.py, the 3 October record's step profile, retarget trajectory, 2-minute buckets and epoch gap in the bench-log.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 19:15:59 +00:00
igneum-labs
359d4662fd ledger: X23 to X29, G13, G14 fixed on ledger-relay 1065b81; bench-log entry for the night's test runs
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 18:47:45 +00:00
igneum-labs
1065b81d05 relay: three auth tiers, signed run tasks, machine secrets, retention; clients on headers; TZ=UTC and curl -K checks (X23 X24 X25 X26 X27 X28 X29 G13 G14)
Relay (X23, X27): the intake key is its own tier (upload and file drops only, RELAY_INTAKE_COMPAT=0 closes it);
a run task needs an Ed25519 signature by the Mac run key over {to, nonce, body sha256, flags} (RELAY_RUN_PUB,
401 without) and an HMAC tag with the target's machine secret that the agent verifies before anything runs;
results and registration are bound to the machine the secret proves (403 on a forged from).
X24: every client and Mac tool sends x-relay-token as a header to /api/relay?fn=; the path token stays for the
phone page only. X25: the agent arms the logon task only for a restart a task asked for and disarms on start
and exit. X26: 30-day retention with blob deletion, feed capped at 100, the dl base as RELAY_DL_BASE held by the
agent, never in a body. X28: GET inbox never acks (POST inbox does), RELAY-REBOOT on its own line and only with a
reboot flag, 120/min and 10 failed auths/min per IP, no username or folder on register, WSL sudo scoped to
apt-get and dpkg with SETENV, no password on a command line. X29: the intake key reaches curl through -K in
upload.sh and both upload-log.bat; tools/ci/curl-header-check.sh fails the class. G14: TZ=UTC in ship-app.mjs
and publish-jobs.sh; tools/ci/commit-tz-check.sh fails the class; history-rewrite.md names the .old-2026-10-05
files as the values in the history. The handler moved to relay/lib/handler.mjs with injected sql and blobs
(relay/lib/blob.mjs holds @vercel/blob) so relay/test/handler.test.mjs drives it without a database:
47 tests across 6 suites, all green.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 18:46:13 +00:00
igneum-labs
a795b02b31 FUD ledger close round 1: public text (group A), 45 entries moved
Verified by grep and moved to "stated": M2, M4, M7, M9, M10, M13, F5, F10, P1, P4, P6, P7, P10, E5, G1, G2, G3, G4, G6, C2, C3, C5, C6, C8, C10, C11, M18, X1, X2, X7, X8, X9, X10, D2.
Written tonight, then moved: P3 (overclaim 25 plus the certificate-half numbers), M29 (the app paragraph rewritten to Ember 0.3.9), E16 text half (the 20% is burned under igneum-proving-pool-v0, provers paid from the execution-state escrow), L9 (devnet no-value line beside every download control, the tiles), L2 text half (no "so" clause), E17 text half (100,000-gas calls, fleet-size dependence), E13 (the six-row payment-route table in the litepaper Economics and the customer brief, from docs/design/payment-routes.md), E6 (the schedule as a bet), C13 (Monero's record does not price the die), L8 (Circle's decision), X3 (August 2027 under the proofs feed), M10 (overclaim 14 applied).
docs/fud-fixes.md gains section 2.7 with one row per group. Site rebuilt with node build.mjs (the live downloads index moved the HiveOS package to 0.3.9; journey.json regenerated from the log).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 18:35:06 +00:00
igneum-labs
83316151a5 Ledger close status: round 1 started, starting counts
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 18:28:05 +00:00
igneum-labs
68dd4c47de Ledger decisions for the project lead: eleven decision requests with recommendations (docs/plans/ledger-decisions.md); the ledger entries M1, M22, F16, X5, E14, X13, L1, L3, L4, L5, P9, P21 point at them
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 18:27:37 +00:00
igneum-labs
93dcf18d84 Ledger close plan: the open list by group, machine and closing action (5 October 2026, 18:30 UTC)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 18:24:07 +00:00
igneum-labs
5aa75166d8 Merge remote-tracking branch 'origin/master' into release-0.3.9 2026-10-05 18:19:29 +00:00
igneum-labs
995769d0e6 finality-v3-devnet-publish.md: the app nodes, the sweep (every live node on 1f4b4425), the Mac app's external-node finding, the checkpoint read 2026-10-05 18:19:03 +00:00
igneum-labs
4c7a1d0f1a site: download cards point at Igneum Miner 0.3.9 (regenerated by the 0.3.9 ship)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 18:18:26 +00:00
igneum-labs
2260a43053 docs/plans/finality-v3-devnet-publish.md: N3 = 135,200, digest 1f4b4425, the hand nodes, the seed and the three manifests 2026-10-05 18:09:05 +00:00
igneum-labs
135f67ab2a Merge remote-tracking branch 'origin/master' into release-0.3.9 2026-10-05 17:55:57 +00:00
igneum-labs
c30b0c0f09 release-0.3.9 plan: the ship, the proving rollout, the fee switch (H 210,000, digest ab8847da) and the sweep; restart-hand-nodes.sh: grep -c instead of grep -q under pipefail, lines() never ends the script 2026-10-05 17:55:35 +00:00
igneum-labs
7d09857f91 observer: a watchdog forces a reconnect after ten failed ticks (the live page went stale for an hour after a node restart)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 17:22:22 +00:00
igneum-labs
a96bcea470 Merge key-custody: key inventory, encrypted offline backup and restore scripts, the two-signing-key plan, a no-secrets CI check
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 17:01:53 +00:00
igneum-labs
addeb660fd Key custody: inventory, encrypted backup and restore, no-secrets CI check
docs/security/keys.md: every key the project depends on (the folder, the gh
keyring, the Vercel env of three projects, the GitHub secrets) with where it
lives, what it unlocks, the blast radius lost and leaked, who rotates it and
the rotation status, written from the files and the scripts that read them.
No value, no private fingerprint. Section 4: the second OTA signing key kept
offline, the app change (a key list plus revocation in the manifest), 0.3.9
as the carrier, and the emergency path if the one key leaks today (a manifest
signed with a new key is useless to 0.3.x apps; the mitigation in order).

tools/keys/backup.sh: ~/Desktop/igneum-keys-<date>.dmg, AES-256, hdiutil's
own prompt (never argv, history or a file), the folder minus build-slots,
dlsite-dir and pytools/, plus a README; attached read-only, every file
compared by sha256, listed, detached. --dry-run lists. restore.sh: --check
compares the image against the live folder without printing values, --to
copies back with 0600/0644 and 0700. test-backup.sh: the end-to-end test on a
scratch folder with a throwaway passphrase, 8 steps, passed.

tools/ci/no-secrets-check.sh, in ci.yml: no tracked file named like a key of
~/.config/igneum, no 64-hex value assigned to a token/key/secret name outside
tests and the allowlist (the OTA public key, the published Hardhat and Anvil
accounts); a --self-test fires on a known-bad tree first. 776 files, 0 hits.

Also: ~/.config/igneum, vercel/ and txgen/ are 0700 now (were 0755).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 17:01:01 +00:00
igneum-labs
8d80195869 release-0.3.9 plan: the cut so far (branch, tests, node builds, hand nodes and seed on a24ab01a, DMG, package) 2026-10-05 16:51:20 +00:00
igneum-labs
c8a9d4346c site: rebuilt on this tree (the pre-push hook's build differed from master's copy of the two generated files) 2026-10-05 16:50:12 +00:00
igneum-labs
8b4b1e500a Merge origin/master (974805b) into release-0.3.9: fud-a round 6, the entity imprint, the conflict-marker check; docs/bench-log.md both entries, the site taken from master and rebuilt (519 links, 0 broken) 2026-10-05 16:48:00 +00:00
igneum-labs
974805b9df ci: no conflict markers in tracked files (check + pre-push hook that also builds the site)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 16:45:09 +00:00
igneum-labs
042bdce16a site: conflict markers removed from the generated journey data, every page rebuilt
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 16:44:16 +00:00
igneum-labs
f8efe7d22c site: the home page's journey block merged and rebuilt (a conflict marker had slipped into the merge)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 16:43:10 +00:00
igneum-labs
ee7cfa9c27 Merge entity: Igneum Labs LTD and the DIFC address as the entity and contact everywhere, repository public at the public testnet, ledger published with it, no team page
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

# Conflicts:
#	docs/fud-ledger.md
#	site/bench.html
#	site/index.html
#	site/journey.json
2026-10-05 16:42:40 +00:00
igneum-labs
5fc4252734 infra/devnet: the restart scripts take the fork tip's commit and the seed's cross-built binary by variable (0.3.9: a24ab01a; the seed's glibc 2.36 refuses the PC 1 build) 2026-10-05 16:42:37 +00:00
igneum-labs
02b19ed761 Entity, contact route and repository date: Igneum Labs LTD imprint in the footer, litepaper and miner fee, hello@igneum.network as the flaw route, repository public at the public testnet
Footer partial: imprint line with the registered address and the mailbox; Report a flaw mails hello@igneum.network with the spec issues as the second route. Litepaper: Who are you names the entity that ships the software, the team is pseudonymous with no team page, the ledger and the benchmark source are public with the repository at the public testnet, the last paragraph gives the mailbox and the address. Miner: the dev fee goes to Igneum Labs LTD. Evidence (md and page): repository private until the public testnet. Trademark FILING.md: applicant Igneum Labs LTD at the DIFC address. Identity check: the ledger and fixes file join the export list; the forbidden list notes that the registered address is allowed. Site rebuilt (bench page and journey picked up the txgen log entry).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 16:41:38 +00:00
igneum-labs
0c92c5faa1 Ledger and fixes: published with the repository at the public testnet, submissions to hello@igneum.network, no team page (decisions of 5 October 2026)
The ledger's header and submission lines, G3's status line, and the fixes file's legend, row 9, decision (b) note and section 5 record the four decisions. Two literal pattern mentions reworded so the identity check passes with both files on its export list.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 16:41:38 +00:00
igneum-labs
acd6f86cb2 site: rebuilt after fud-a
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-05 16:33:16 +00:00