Commit graph

194 commits

Author SHA1 Message Date
igneum-labs
52c6ac59c7 Merge live-shards-8 ba503056 into master (gate: green on ba503056, recorded by tools/ci/pre-push.sh; landed on the box mirror) 2026-10-08 09:19:53 +00:00
igneum-labs
a2f1678be5 Merge build-server 44170c7f into master on the box mirror: the site deploy checks (served links, the regrouped /miners count, the pipefail fixes) 2026-10-08 09:18:01 +00:00
igneum-labs
ba503056f7 Live proving feed: the page says when its shard states are stale, and a chain block with an empty plan reads "no shards in this block" (8 October 2026, main's order: the project lead wants to watch proving and shards in real time; a stale snapshot must read as stale). Reading of the day: /api/live's proven and paid states come from the Devnet 3 observer's own node on igneum-build-1 (igneum-observer-node-dn3, EVM 26850), not from hub-1; that node stopped crediting payouts at 23:57Z on 7 October (paidShards frozen at 7,304 while blocks carried 8,457 proof records by 03:00Z and hub-1 counted 11,861 by 08:56Z), and the page kept showing the paid total as fresh. site/lib/proving-health.mjs (tests known-failed first: "Cannot find module", then 10 green on build-2): stale when the observer's last status read is over 60 s old (status_at, new in the observer's live_state.proving), when the node's tip trails the newest block by over 300 DAA, or when blocks carried proof records in the last 10 minutes and no shard moved to verified or paid for 10 minutes (the blind-to-records class); a quiet chain is not stale for lack of credits. /api/live carries stale, stale_reason, status_age_s, tip_lag_daa, records_10m and last_change_at on proving (two more indexed readings; scene/feed-contract.json lists the keys; the recorded fixture carries them). /live: the Proven tile's line reads "proving feed stale: ..." in ember, else "... last credit N s ago"; the inspector's count adds "feed stale". Scene 2.0.7: a chain block whose plan is known (block.number set, carried as plan on the normalised block) and empty reads "no shards in this block"; loading and late stay for an unread plan (shard-words test, known-failed on 2.0.6). Gate: the health test joins the site unit-test line.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 09:12:56 +00:00
igneum-labs
9ce85d7eee Merge gh-igneum-dir eeca554b into master (gate: green on eeca554b, recorded by tools/ci/pre-push.sh; landed on the box mirror under the exception declared by main: main's ruling, 7 Oct 2026 19:5x UK: the GitHub account is suspended, lanes land on the box mirror's master, the box gate stamp is the verdict; GitHub gets the fast-forward when it answers) 2026-10-08 08:57:37 +00:00
igneum-labs
eeca554b31 Every gate gh call reads Igneum's own gh directory, never the founder's (main's rule, 8 October 2026, 10:0x UK): tools/ci/gh-env.sh sets GH_CONFIG_DIR=~/.config/gh-igneum for the gate, the hook, the merge tool and the CI-state reader
At 09:46 UK the founder's gh had his other account active (his own work) and tools/ci/gh-account-check.sh refused every Igneum push from the Mac (the v5 lane's 56a50160 held local). The check now reads Igneum's directory: empty, it refuses naming the one step (the founder or main stores the Igneum token there with `GH_CONFIG_DIR=~/.config/gh-igneum gh auth login --with-token`; no lane does); another login, refused and named; the stored entry, passes; while tools/ci/github-suspended stands it skips with a line, because no gh call can succeed and the hook already refuses GitHub pushes, so the lanes land on the mirror meanwhile. Known-failed first: an empty directory, another login, the founder's directory never read (the fake gh records the directory it was given), the marker's skip, no gh. IGNEUM_GH_CONFIG_DIR overrides the path for the self-tests.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 08:51:55 +00:00
igneum-labs
4ea194bfb0 OpenCL worker: on an Intel platform rotr_var is rewritten to the shift form before the build (the Intel rotate fold, the Arc B580 bisect of 7 October 2026)
Intel's compiler turns rotate(x, (0u - n) & 31u) into a rotate LEFT by n: lane 0's register trace on the B580 diverged
at instruction 6 of iteration 0 (rotr) and nowhere before, in both exchange modes, with every other family and the
dataset kernels bit-exact. proto-opencl/intel_rotr.h rewrites the one helper line when the device's vendor or
platform string holds Intel (host.c's buildProgram and the prepare path), no other vendor sees a change, no pack or
consensus text moves. proto-opencl/test_intel_rotr.c (the pre-push gate runs it) feeds the line through the rewrite
under Intel, AMD and NVIDIA strings and asserts the outputs.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
(cherry picked from commit d10c5ebfc7)
2026-10-08 08:44:23 +00:00
igneum-labs
f9868343fb Merge github-suspended 50c5102b into master (gate: green on 50c5102b, recorded by tools/ci/pre-push.sh; landed on the box mirror under the exception declared by main: main's ruling, 7 Oct 2026 19:5x UK: the GitHub account is suspended, lanes land on the box mirror's master, the box gate stamp is the verdict; GitHub gets the fast-forward when it answers) 2026-10-08 03:04:36 +00:00
igneum-labs
0b87b59215 Merge ca3-v4-amend fe6c6800 into master (gate: green on fe6c6800, recorded by tools/ci/pre-push.sh; landed on the build mirror) 2026-10-08 03:02:03 +00:00
igneum-labs
50c5102bc8 merge-to-master self-test: the nested refusal call's exit is caught (under set -e a plain assignment of a failing substitution ended the script before any check ran)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 02:59:43 +00:00
igneum-labs
ced8442d37 merge-to-master: the suspension refusal lets --self-test through to exercise the refusal itself (the first cut refused its own self-test under the real marker)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 02:58:49 +00:00
igneum-labs
fe6c6800f2 PC 1 measurement pass: the step budget keeps four minutes of the cap for the restore and sizes each step from the last rate read; a probe dev line answered in helper.log counts as the helper up when its heartbeat stays stale; the gate check pc1-step-budget-check.sh with the known-failed case (the third 5090 pass of 8 October, ended by its cap at the 300 MHz step with the card left locked)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 02:56:18 +00:00
igneum-labs
8e77d4ca1b No push, fetch or poll of GitHub while tools/ci/github-suspended stands (8 October 2026, 03:5x UK): merge-to-master.sh refuses a GitHub remote with the line and exit 2 before any gh or git call; the pre-push hook refuses any push to a GitHub remote
At 03:39 UK a lane's default-remote call of the merge tool polled GitHub's CI 21 times (403 each) before it was killed by pid and re-run with --remote box; the rule since the suspension (never touch GitHub) rested on every lane remembering the switch. The marker is tracked and dated; main removes it at the cut-over. Known-failed first in both self-tests: a GitHub remote under the marker is refused with the line naming --remote box (exit 2 in the tool), a mirror remote is not, and no marker means no refusal.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 02:52:31 +00:00
igneum-labs
a99d454d52 Merge build/master (512a676c) into crypto-engage: funding.md conflict resolved to the in-house pass with the pre-public scrub applied; in-house-pass.md scrubbed the same way
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-08 02:22:08 +00:00
igneum-labs
b2f875d5d5 identity-check: PC 2 is rewritten card-free as "the second Windows rig" (its cards are in dispute between lanes tonight; PC 1's verified list stays)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:58:53 +00:00
igneum-labs
96addd60eb Merge build/master 9b88ac01 into spec-accept-23 (the hash lane's derivation recipe and test taken; the rewritten 1.4.6 keeps its program-id paragraph, which carries the recipe's text; AP-F8-4 ordered before AP-F8-5; the public ledger and the ledger page regenerated)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 22:44:49 +00:00
igneum-labs
fd916f4f65 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
eea88b79ac The founder's name out of the ledger row and two script comments (the pre-public scrub check of the gate); the mirror's master cf839cec merged in 2026-10-07 22:21:37 +00:00
igneum-labs
e9f0ebebc2 Merge build/master 90a0d4d6 into ca3-v4-amend (the ledger keeps both sides) and the AP-F8-4 ledger row (the program id derivation text; igneum-pow against 84601bc9 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
9ff2bac279 Gate: the inline-rm check's run line once (the restore and the build-server lane's registration both carried it; identical text, run twice for nothing); the manifest to match
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:59:01 +00:00
igneum-labs
f9e8a2c3ff Merge remote-tracking branch 'build/master' into HEAD 2026-10-07 21:47:23 +00:00
igneum-labs
1b0b524ad5 Merge build-server 6e8084bf into master on the box mirror: lease pool classes and pre-emption, the runner prelude, the manifest digest guard, the inline-rm gate, the site deploy checks, cloud-sweep, forgejo (tools/ci conflicts resolved as the union of both sides)
# Conflicts:
#	tools/ci/README.md
#	tools/ci/pre-push.sh
2026-10-07 21:34:58 +00:00
igneum-labs
a4967cee71 Merge build/master 0f0cda9e into site-fresh-23 (scrub-3's live.mjs comment and live page taken; the Devnet 3 pill re-stamped from the partial)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:29:41 +00:00
igneum-labs
5ca56af846 The gate restored and given a manifest (7 October 2026, 22:2x UK): tools/ci/checks.txt names every check and a push is red when a name has no run line or a run line no name
At 21:43 UK a merge on the box mirror (be6cbb9e, site-land-dn3) resolved its conflict in tools/ci/pre-push.sh by taking an old copy: 88 lines gone, among them the hook's CI rule (master_ci_ok, the remote and exception logic), the branch red line, the overlap wall clock and the self-tests of the timeouts check, retry-once, ci-state, the public ledger and the gh-account check; every landing for 40 minutes ran the weaker gate and nothing said so. This commit restores the file (the one real addition of the other side, the inline-rm check, kept) and adds tools/ci/gate-manifest-check.sh in the never-push set: every push on every branch, and the merge's own push, compares pre-push.sh's run lines with tools/ci/checks.txt both ways; known-failed first (a dropped check and an unlisted check each red and named). Adding or removing a check edits checks.txt in the same commit; --write regenerates it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:23:59 +00:00
igneum-labs
edbc5c4a27 Merge remote-tracking branch 'box/master' into scrub-3
# Conflicts:
#	tools/ci/pre-push.sh
2026-10-07 21:21:36 +00:00
igneum-labs
15c2c1b59e gh's active account on this Mac is the stored Igneum entry, checked before every push and every landing (main's rule, 7 October 2026, 21:5x UK)
tools/ci/gh-account-check.sh reads `gh auth status` for the account marked active and refuses with the line when it is not the stored entry (~/.config/igneum/gh-user) or when none is active; a machine without gh or without the file skips with a line. Known-failed first: a fake gh whose active account is another login is refused and named; the stored one passes; no active account is refused; no gh skips. The pre-push hook runs it live before any push; merge-to-master.sh before any landing; the gate carries its self-test. The rule row in tools/ci/README.md: no lane switches gh accounts on this Mac, ever. At 21:41 UK a lane switched gh to the second owner's login during the suspension; no transcript or history on the Mac shows which; the check closes it.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:14:53 +00:00
igneum-labs
9e05fb4484 Merge build/master 333a906d into site-fresh-23 (the Counter ASIC lane's chip text wins the row 17 and chip-paragraph conflicts; the sweep's Devnet 3, version, testnet, repository and dev-fee edits re-applied; the class v4 premium quoted at the lock, unlocked and the best points)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:13:34 +00:00
igneum-labs
333a906d2b Merge site-land-dn3 1e366a7d into master on the box mirror (the site reads Devnet 3 from master; repository links on the git host; the inline-rm gate) 2026-10-07 21:04:24 +00:00
igneum-labs
adaad3a76f Site freshness sweep, 7 October 2026 evening (site-fresh-23): every served page against tonight's facts
Devnet 3: the litepaper's live table reads Devnet 3 (first block 18:06 UK, first lock 20:02 UK, every upgrade on from block zero), its status chip, the precedents rows, the roadmap's phase 3 and the journey's phase 3; the nav pill names igneum-devnet-3 and chain id 4463 on every page (the live-dn3 edit had been made on the injected copy, which the build overwrote from the partial); evidence rows 7 and 10 carry Devnet 3's first block and first lock, row 17 the 5090 class v4 efficiency pass (136.84 MH/s at 475.5 W unlocked, 134.98 at 316.3 W at the 1,400 MHz lock, class v3 control 134.68 at 228.0 W), and a "what moved on 7 October" table.
Versions: Ember 0.3.22 and Wallet 0.1.5 wherever the litepaper and the MetaMask page named 0.3.9, 0.3.13, 0.3.14 or 0.1.4; downloads.json refreshed from the live index (hive 0.3.22; the Mac and Windows aliases still read 0.3.20 there).
Testnet: "weeks away, when the go checklist closes" becomes "armed, opens on the go word" on the home, download and miner pages, the litepaper (twice, plus roadmap row 5), the journey's phase 5, the ledger's X31 and O-X.2 rows and the ledger text check; no date anywhere.
Repository: the nav and footer partials point at git.igneum.network/igneum-network/spec (label Source, a neutral glyph); the X1 sentence no longer says "private repository until the public testnet" (litepaper, ledger X1, the public ledger table, the text check); evidence rule 1 and the "what would move a row" table drop the private-repository condition; provenance drops "before the repository goes public" and gains a tooling table (Forgejo, Caddy, SP1, CaDiCaL, licences approximate).
Cryptanalysis: the in-house adversarial pass replaces "paid independent cryptanalysis" on the litepaper (twice) and the public ledger page; the ledger page drops the USD 50,000 prize clauses (decision item 1 of 6 October: no bounty; nothing public about a prize). The staged outside-check clause stays as main's own cut.
Dev fee: the miner page's fee table (and /dev-fee from it) adds the pool row: no software fee in pool mode, the pool's own fee is the only one (docs/plans/pool.md C6, the Hive README).
MetaMask: Devnet 3 answers chain id 4463 until its class v5 floor, then 4464. Two founder-name comments reworded (site/api/live.mjs, tools/ci/README.md).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 21:03:10 +00:00
igneum-labs
d78a086b24 Public chip texts: the X9 wording retired (its claimed ratio is against a CPU core); the floor and the premium as measured numbers at the 5090's knee (2.1x at k = 1, 3.4x at a core three times better, the premium 81.8 W, Ember Tune named); the ledger pins X35 and X36 moved; Counter ASIC 3.0 status: the research file's two orders
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:59:56 +00:00
igneum-labs
76fd6b0bc8 The manifest digest guard (the shipper and main, 7 Oct 2026 21:4x BST, from the Devnet 3 sweep that split the network): publish-manifest.sh refuses an app entry whose node pin reads another consensus params digest than the network's current one unless --move-clock \"HH:MM UTC, <reason>\" records the move (logged in the notes); tools/digest-read.sh reads a digest from a pinned binary started bare or from a running node's log or journal (read on build-1: the 0.3.23 pin ba75bf6f against the running Devnet 3 83eb50cd); known-failed self-test (2720d8d2 entry against 83eb50cd refused, accepted with the clock) in the gate. tools/ci/README.md = master's scrubbed copy plus the inline-rm rule
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:53:54 +00:00
igneum-labs
93348c0aa3 tools/ci/README.md: the scrubbed master copy with the inline-rm rule appended (the landing had carried a stale copy over the scrub)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:52:40 +00:00
igneum-labs
f02541a9cc Merge site-land-dn3 183a40af into master on the box mirror (the site reads Devnet 3 from master; repository links on the git host; the inline-rm gate) 2026-10-07 20:50:18 +00:00
igneum-labs
36f6ee5c29 Merge scrub-3 2a6956a2 into master (gate: green on 2a6956a2, recorded by tools/ci/pre-push.sh; landed on the box mirror under the exception declared by main: main's ruling, 7 Oct 2026 19:5x UK: the GitHub account is suspended, lanes land on the box mirror's master, the box gate stamp is the verdict; GitHub gets the fast-forward when it answers) 2026-10-07 20:46:40 +00:00
igneum-labs
be6cbb9e39 Merge site-land-dn3 5649aae2 into master on the box mirror (the site reads Devnet 3 from master; repository links on the git host)
# Conflicts:
#	tools/ci/pre-push.sh
2026-10-07 20:43:06 +00:00
igneum-labs
2a6956a2c0 Scrub: the founder list leaves the repository in every encoding; the never-push founder check decodes base64, hex and .b64 blobs too (7 October 2026, 21:4x UK)
tools/ci/founder-strings.b64 was the founder check's pattern list base64-encoded: a grep could not read it, any reader of the public host could (git.igneum.network was public from 21:26 UK; read off at 21:36). The list now lives only in a private file (~/.config/igneum/founder-strings on the Mac, /srv/discord-hooks/founder-strings on build-1 for the Discord guard; $IGNEUM_FOUNDER_STRINGS overrides) and site/forbidden-strings.txt carries no encoded copy. Readers: founder-strings-check.sh (skips with a line where the file is absent; the Mac's hook is the guard), site/scrub.mjs and launch-gates-check.mjs (the private file's patterns added where it exists), discord-hooks.mjs (three locations; the test writes a fixture list and loads the module after it), fresh-repo.sh (the private file; drops tools/ci/founder-strings.b64 from every commit; rewrites the base64 of every list regex out of every blob and scans for it).

The check's second pass (main's addition): every base64 literal of 24 characters or more, every hex literal of 24 or more and every *.b64 file is decoded and scanned, so no encoding hides a term again; the self-test plants each fixture sample in plain text, in a .b64 file, as a base64 literal and as a hex literal, each caught and named, and a tree without the list skips with its line.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:40:36 +00:00
igneum-labs
183a40aff0 Site on master: live reads Devnet 3 (the live-dn3 edit, cherry-picked onto master so a master deploy carries it; main 7 Oct 2026 21:2x BST, every site deploy is master only from now) and every repository link flips from github.com/igneum-network to git.igneum.network/igneum-network (the public Forgejo host, by the founder word through main at 21:2x BST; GitHub is dark). Also: the runner pool classes in remote-run.sh (two founder-name comments reworded), infra/build-server/forgejo.sh (the git host stand-up), and the gate check tools/ci/inline-rm-check.sh (no deletion inside an inline bash -c / sh -c string; main 21:33 BST; known-failed self-test first, three proving-v1 lines allow-listed by name) with the rule in tools/ci/README.md
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:38:41 +00:00
igneum-labs
0d5c90c61b rule 15 at six places; release 0.3.22: the 0.3.22 Windows take 2 fault and the skip, the version miss's second layer, the 0.3.23 pairs
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:35:17 +00:00
igneum-labs
1d7ff30052 Gate: no deletion inside an inline bash -c / sh -c string (main, 7 Oct 2026 21:33 BST: the desktop app asked the founder to approve lanes' commands carrying rm in an inline string); tools/ci/inline-rm-check.sh with a known-failed self-test (rm, find -delete, truncate, PowerShell -c list) and the tree scan, registered in pre-push.sh; the rule in tools/ci/README.md
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:34:29 +00:00
igneum-labs
0bcf6ff727 tools/ci/release-version-check.sh (rule 15): a release-0.3.N branch reads 0.3.N in Cargo.toml, Cargo.lock and version.h from its first commit; self-test on the 0.3.23 shape; wired into the pre-push gate
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 20:29:07 +00:00
igneum-labs
8714d39bae The founder-strings check is the third never-push class (every push, every branch, 7 s): a site lane's branch, green-stamped before the check existed, carried the founder's name onto the mirror's master in tools/ci/scroll-width-check.mjs at 20:3x UK; the word is fixed here
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 19:52:55 +00:00
igneum-labs
927c847296 Merge scrub ea51666e into master (gate: green on ea51666e, recorded by tools/ci/pre-push.sh; landed on the box mirror under the exception declared by main: main's ruling, 7 Oct 2026 19:5x UK: the GitHub account is suspended, lanes land on the box mirror's master, the box gate stamp is the verdict; GitHub gets the fast-forward when it answers) 2026-10-07 19:28:40 +00:00
igneum-labs
04822f34b6 Merge site-22 838fc54e into master (gate: green on 838fc54e, recorded by tools/ci/pre-push.sh; the full gate runs in CI on this merge) 2026-10-07 19:17:32 +00:00
igneum-labs
ea51666e62 Merge remote-tracking branch 'box/master' into scrub
# Conflicts:
#	CLAUDE.md
#	docs/plans/counter-asic-3-status.md
#	docs/plans/release-0.3.21.md
#	docs/plans/release-0.3.22.md
#	tools/ci/merge-to-master.sh
#	tools/ci/pre-push.sh
#	tools/ci/red-watch.mjs
2026-10-07 19:16:14 +00:00
igneum-labs
838fc54e3b Site, 7 October 2026 evening (the project lead's four asks through main, one landing): (1) the bar's nav to the right: the mark and the devnet pill on the left, Mine, Network, Learn and the controls right-aligned with the same gaps and sizes, each open panel anchored under its button (the script sets --panel-left) and a panel that would run past the container aligned to its button's right edge, the phone sheet unchanged; (2) no lateral scroll: tools/ci/scroll-width-check.mjs on the gate (scrollWidth equals clientWidth on every route at 390, 768, 1024, 1280 and 1440 in both themes; only a table, code or diagram scrolls inside its own overflow-x box; self-test with a 100vw plus 20 px fixture known-failed first); (3) LG-5, the launch text: the front page leads with the three wants (hardware that stays useful, income without a cliff, a fair supply) and the live network with finality is the second screen; the litepaper's regulatory note reads "Not legal advice." alone over its eight sentences from future.md 8.3 (the project lead: counsel not yet; the string "counsel is engaged" is in both forbidden-strings lists and gone from the research heading), the pay sentence stays; the journey's phase line reads Devnet 3 live, testnet next; (4) LG-1, /income: docs/analysis/income-tiers.md published as a page by tools/launch/income-page.mjs (checked on the gate against the document), listed under Learn, labels on every number, no price of IGN anywhere
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 19:12:04 +00:00
igneum-labs
4f2e8b5ad0 Merge remote-tracking branch 'box/master' into ci-steward-2
# Conflicts:
#	tools/ci/merge-to-master.sh
#	tools/ci/pre-push.sh
2026-10-07 18:57:47 +00:00
igneum-labs
6a74c72000 Pre-public scrub, second pass (7 October 2026, 20:0x UK, main's rulings 2 and 4): the public tree names igneum-labs only; the public ledger generated from the full ledger
Ruling 2: every tracked text mention of the login's pre-rename spelling becomes igneum-labs (29 files); the commit identity in the scripts becomes igneum-labs <337424239+igneum-labs@users.noreply.github.com> (the same noreply id); the three scripts that hand the stored gh keyring name to gh (register.sh, fetch-ci-artifacts.sh, ship-app.mjs) read it from ~/.config/igneum/gh-user (never in the repository), default igneum-labs; fresh-repo.sh reads the login to rewrite from the encoded list's row 10; the old spelling joins the founder-strings list, so no tracked file may spell it; CLAUDE.md's GitHub paragraph rewritten. The red watcher's self-test fixtures use a neutral author.

Ruling 4: docs/ledger-public.md, one row per ledger item (id, the claim in one line, status, what was done in one line, the evidence link or the evidence in words), generated by tools/ledger/export-public.mjs from docs/fud-ledger.md: no round or status-update sections, no commit ids, no time of day, no lane, agent or branch names. 190 items. The gate runs its self-test (a fixture with a commit id, a time, a lane and a branch name comes out clean; --check fails on drift) and its --check on every merge; the founder check reads the output like every tracked file.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:56:08 +00:00
igneum-labs
1a434c59db No PC job raises a UAC prompt (standing rule, the project lead through main, 7 October 2026): publish-jobs.sh refuses --elevated; playbook-quit-check rule 3 fails a script that launches with -Verb RunAs or runas /user
The known-failed case: run-ca3-pc1-v4-eff-5090-20261007 as published at 18:27Z (--elevated) waited two minutes for a click and died with exit 251, the card switched off for nothing. The rights path is the installed app's Igneum Power Helper task (app/igneum-app/src/powertask.rs: Start-ScheduledTask by the owning user, the fixed verbs through its cmd.txt), which tools/ca3-v4-amend/pc1-v4-efficiency.ps1 uses; a job without the task reports the fact and takes its measured-only rows. Self-tests: a -Verb RunAs launch fails, a Power Helper task start passes, the publisher refuses --elevated (exit 3).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:52:48 +00:00
igneum-labs
601a4ce283 merge-to-master --remote <name>: land on a box mirror's master while GitHub is unreachable (the box gate stamp as the verdict, the exception named in the merge message); the CI rule binds the GitHub remote only (main's ruling, 7 October 2026, 19:5x UK)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:50:20 +00:00
igneum-labs
d92f96f435 Merge branch 'ci-steward' into ci-steward-2 2026-10-07 18:49:47 +00:00
igneum-labs
34f1830848 Hook: the CI rule binds a GitHub remote; a box mirror remote or a declared IGNEUM_MASTER_EXCEPTION takes the local gate, printed with the push (main's ruling, 7 October 2026, 19:5x UK: the account suspended, lanes landing on the mirror's master)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-07 18:49:47 +00:00