Merge ci-int07-kit2 4e7f90a6 into master (gate: green on 2e736f2d, 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)

This commit is contained in:
igneum-labs 2026-10-09 01:39:15 +00:00
commit a9bf2e8552
6 changed files with 68 additions and 27 deletions

View file

@ -54,7 +54,7 @@ The fixture every case of the Test and Acceptance Standard (docs/plans/igneum-2.
| The acceptance rule on the candidate (6.13) | PASS under both era inputs in circulation; the edc4fa84 program (the candidate) clean at widths 4 and 1 under the full rule and the crate's own predicate; attack-f8 subset PASS | master 17dee5bc (lane D, 22:40 UK); batch family-gate-20261008c | lane D |
| The live class v5 object (context 03) | 81fbfa3aa413173f at epoch 2 (epoch seed 3c3fab43…, day 20734), the live node's own program-id line as the witness; the same-work test's live-chain half, references about 00:25 UK, CUDA after them; labelled on an island, not a network | the hand's context 03 (build-1, sha256 53837a96…) | same-work hand |
| 2.0.2 pair gate | Kit 2 (the roll): node release-2.0.2-node 5d53a591 (kit2b-line: fix 2 + the wedge fix on kit 1's tree) and the cut tip release-2.0.2 1176efb9 (the pin and the manifest's node block at 5d53a591, release-manifest-check green; no crate move since 77b5acc5): on build-4 from the key-succession parent with the class v5 freeze (fingerprint cbc5bd0a) the kaspad check with igneum-pow GREEN (rule 19), core 185/0, exec 95/0, miner 33/0, p2p-flows 40/0, consensus 143/0; the miner tip pow 113/0, app 389/0 on 77b5acc5. Batch 202-5d53a591-1176efb9. Kit 1 re-cut (490ebcfe, 5db25637; batch 202-490ebcfe-5db25637, master ff1da144) is the clean fallback. cf32be79 (the record-store fold) read red on the fresh-sync read at 00:55 UK (the store's IBD pre-fetch reads its own store as held while the body rule reads the pool) and rides 2.0.3. Earlier shas stand as records: 94e4c6ba (six cells GREEN, the mac canary FAIL, the wedge at DAA 9,821; master 9b040ab0), d657e490 (the 4,379 stall; master 76041234), a284380b (the pair RED on chain, a fix-2 lock fault; master 26203e35). | the shipper's 01:2x line; build-1:/srv/artefacts/tas/202-5d53a591-1176efb9/ | CI steward, shipper, node lane, HEAL lane |
| Rule 33 canary for 2.0.2 | Kit 1 as 94e4c6ba (870c0344): the mac block FAIL on its sync line (the fresh node on the project's macOS machine wedged at DAA 9,821: the executor behind the exec state lock, the exec RPC answering nothing; build-1:/srv/canary/870c0344/mini/00-verdict.txt, 04-sync.txt), recorded on INT-07; the HEAL lane named the class from the code and the re-cut 490ebcfe (5db25637) carries the fix. No 2.0.2 entry publishes until a four-block record reads PASS (publish-manifest's guard holds); the roll and the entries come on kit 2 (cf32be79) on its own PASS record, kit 1's re-cut the clean fallback; the mini's canary re-runs on the fixed node. F0's 2.0.2 row names kit 2 then. | the shipper's 00:0x and 00:2x lines; the coordinator's ruling | shipper, fleet lane, relay lane, HEAL lane |
| Rule 33 canary for 2.0.2 | Kit 2 (1176efb9, node 5d53a591): the record tools/ci/canary/1176efb9.json landed on master fa8139bd at 02:29 UK with its mac block PASS (the project's macOS machine, Apple M6: synced from empty in 2,016 s on hub-1's chain, 18 blocks in five minutes at 12.65 MH/s, 0 refusals, shard n/a on Apple silicon, the tip inside ten of the age-adjusted feed, quit in 4 s; build-1:/srv/canary/1176efb9/mini/); the Mac entry published on it at 02:20 UK through publish-manifest's guard (Igneum-Miner-2.0.2-5d53a591-1176efb9.dmg 66137cd8…, the public alias on it); Windows and HiveOS stay 2.0.1 until their own blocks read PASS; the fleet, hive and windows blocks join from their boxes. INT-07 reads NOT RUN in progress on one of four blocks. Kit 1 as 94e4c6ba (870c0344): the mac block FAIL on its sync line (the wedge at DAA 9,821) stands as that sha's record; kit 1 re-cut (5db25637) has its own PASS mac block staged as the fallback's evidence. | the shipper's 02:3x line; the coordinator's ruling | shipper, fleet lane, relay lane, HEAL lane |
| Network label | devnet-4 has been islands since the epoch-3 cut: every measurement recorded on the 2.0 devnet after 20:00 UK reads "on an island, not a network" until the fleet is one chain (the 2.0.2 roll as the convergence test, else the operator reset onto hub-1's chain at 04:00) | main's word through the coordinator, 22:2x UK; the recorder's --label-islands | CI steward |
The block is the steward's read-back of the lanes' own landed lines; the three roles in the signatures table sign by a landing of their own.

View file

@ -15430,56 +15430,58 @@
"owner": "CI steward with the hash lane (a690540514aa453d7) and the worker lane (a9e87343f008e0edd)",
"manual_page": null,
"owner_lane": "CI steward with the hash lane (a690540514aa453d7) and the worker lane (a9e87343f008e0edd)",
"run_status": "FAIL",
"run_status": "NOT RUN",
"master_status": "PROPOSED / NOT RUN",
"run_id": "202-94e4c6ba-870c0344",
"evidence_path": "build-1:/srv/canary/870c0344/mini/00-verdict.txt; build-1:/srv/canary/870c0344/mini/04-sync.txt",
"updated": "2026-10-08T23:23:36.269Z",
"run_id": "canary-202-20261009-01",
"evidence_path": "tools/ci/canary/1176efb9.json; build-1:/srv/canary/1176efb9/mini/00-verdict.txt",
"updated": "2026-10-09T01:39:15.241Z",
"evidence_record": {
"requirement_id": "INT-07",
"decision": "FAIL",
"decision": "NOT RUN",
"method": "team-reported",
"cell": "canary:fresh-install",
"manifest_sha": "94e4c6ba",
"run_id": "202-94e4c6ba-870c0344",
"evidence": "build-1:/srv/canary/870c0344/mini/00-verdict.txt; build-1:/srv/canary/870c0344/mini/04-sync.txt",
"in_progress": false,
"manifest_sha": "5d53a591",
"run_id": "canary-202-20261009-01",
"evidence": "tools/ci/canary/1176efb9.json; build-1:/srv/canary/1176efb9/mini/00-verdict.txt",
"in_progress": true,
"coverage": "partial: V6-12's clean-install half (one published object installed fresh, synced, mined, proved and paid on one host per artefact); the cross-host agreement half (node, pool, CPU verifier, each GPU host across activation) is harness:same-work's",
"release_identity": {
"commit": "94e4c6ba",
"commit": "1176efb9 (release-2.0.2 kit 2 tip; node 5d53a591)",
"lockfile": "",
"binary": "",
"network_object": "",
"binary": "Igneum-Miner-2.0.2-5d53a591-1176efb9.dmg 66137cd8…",
"network_object": "igneum-devnet-4, chain id 4465",
"activation": "",
"profile_hashes": ""
},
"claim_impact": "",
"claim_impact": "INT-07's clean-install half: kit 2's rule-33 record reads PASS on its mac block (one of four); the row reads NOT RUN in progress until the fleet, hive and windows blocks join, PASS then; the Mac entry published on it at 02:20 UK through publish-manifest's guard",
"reviewer": "",
"at": "2026-10-08T23:23:36.269Z",
"at": "2026-10-09T01:39:15.241Z",
"note": "one PASS block (mac) of four on kit 2's record; the row turns PASS when the fleet, hive and windows blocks read PASS | Kit 2 (tip 1176efb9, node 5d53a591): the mac block PASS under tools/ci/canary-check.sh on master (synced from empty in 2,016 s on hub-1's chain, 18 blocks in five minutes at 12.65 MH/s, 0 refusals, shard n/a on Apple silicon, tip 16731 against the feed's 16722 at 1 s, quit in 4 s); the record landed as fa8139bd at 02:29 UK; the fleet, hive and windows blocks join from their boxes when their canaries read. Kit 1's 94e4c6ba FAIL (the wedge) stands as that sha's record.",
"network_label": "on an island, not a network"
},
"evidence_records": {
"canary:fresh-install": {
"requirement_id": "INT-07",
"decision": "FAIL",
"decision": "NOT RUN",
"method": "team-reported",
"cell": "canary:fresh-install",
"manifest_sha": "94e4c6ba",
"run_id": "202-94e4c6ba-870c0344",
"evidence": "build-1:/srv/canary/870c0344/mini/00-verdict.txt; build-1:/srv/canary/870c0344/mini/04-sync.txt",
"in_progress": false,
"manifest_sha": "5d53a591",
"run_id": "canary-202-20261009-01",
"evidence": "tools/ci/canary/1176efb9.json; build-1:/srv/canary/1176efb9/mini/00-verdict.txt",
"in_progress": true,
"coverage": "partial: V6-12's clean-install half (one published object installed fresh, synced, mined, proved and paid on one host per artefact); the cross-host agreement half (node, pool, CPU verifier, each GPU host across activation) is harness:same-work's",
"release_identity": {
"commit": "94e4c6ba",
"commit": "1176efb9 (release-2.0.2 kit 2 tip; node 5d53a591)",
"lockfile": "",
"binary": "",
"network_object": "",
"binary": "Igneum-Miner-2.0.2-5d53a591-1176efb9.dmg 66137cd8…",
"network_object": "igneum-devnet-4, chain id 4465",
"activation": "",
"profile_hashes": ""
},
"claim_impact": "",
"claim_impact": "INT-07's clean-install half: kit 2's rule-33 record reads PASS on its mac block (one of four); the row reads NOT RUN in progress until the fleet, hive and windows blocks join, PASS then; the Mac entry published on it at 02:20 UK through publish-manifest's guard",
"reviewer": "",
"at": "2026-10-08T23:23:36.269Z",
"at": "2026-10-09T01:39:15.241Z",
"note": "one PASS block (mac) of four on kit 2's record; the row turns PASS when the fleet, hive and windows blocks read PASS | Kit 2 (tip 1176efb9, node 5d53a591): the mac block PASS under tools/ci/canary-check.sh on master (synced from empty in 2,016 s on hub-1's chain, 18 blocks in five minutes at 12.65 MH/s, 0 refusals, shard n/a on Apple silicon, tip 16731 against the feed's 16722 at 1 s, quit in 4 s); the record landed as fa8139bd at 02:29 UK; the fleet, hive and windows blocks join from their boxes when their canaries read. Kit 1's 94e4c6ba FAIL (the wedge) stands as that sha's record.",
"network_label": "on an island, not a network"
}
},
@ -15488,7 +15490,8 @@
"implementation_complete": null,
"evidence_reproduced": null,
"claim_authorised": null
}
},
"in_progress_since": "2026-10-09T01:39:15.241Z"
},
{
"id": "INT-08",

View file

@ -43,3 +43,5 @@ outside check
waits on its escrow
staged and waits
the publish word
# the owner's first name inside a machine or host name never enters a record (9 October 2026, 02:3x UK: a canary record's box.host carried it)
\bJoshs?-[A-Za-z0-9-]+\b

View file

@ -0,0 +1,32 @@
{
"run_id": "canary-202-20261009-01",
"manifest_sha": "5d53a591",
"method": "team-reported",
"evidence_dir": "tools/ci/canary/1176efb9.json; build-1:/srv/canary/1176efb9",
"boxes": [
"igneum-mini"
],
"release_identity": {
"commit": "1176efb9 (release-2.0.2 kit 2 tip; node 5d53a591)",
"lockfile": "",
"binary": "Igneum-Miner-2.0.2-5d53a591-1176efb9.dmg 66137cd8\u2026",
"network_object": "igneum-devnet-4, chain id 4465",
"activation": "",
"profile_hashes": ""
},
"claim_impact": "INT-07's clean-install half: kit 2's rule-33 record reads PASS on its mac block (one of four); the row reads NOT RUN in progress until the fleet, hive and windows blocks join, PASS then; the Mac entry published on it at 02:20 UK through publish-manifest's guard",
"note": "Kit 2 (tip 1176efb9, node 5d53a591): the mac block PASS under tools/ci/canary-check.sh on master (synced from empty in 2,016 s on hub-1's chain, 18 blocks in five minutes at 12.65 MH/s, 0 refusals, shard n/a on Apple silicon, tip 16731 against the feed's 16722 at 1 s, quit in 4 s); the record landed as fa8139bd at 02:29 UK; the fleet, hive and windows blocks join from their boxes when their canaries read. Kit 1's 94e4c6ba FAIL (the wedge) stands as that sha's record.",
"cells": [
{
"cell": "canary:fresh-install",
"cases": [
"INT-07"
],
"status": "NOT RUN",
"in_progress": true,
"evidence": "tools/ci/canary/1176efb9.json; build-1:/srv/canary/1176efb9/mini/00-verdict.txt",
"network_label": "on an island, not a network",
"note": "one PASS block (mac) of four on kit 2's record; the row turns PASS when the fleet, hive and windows blocks read PASS"
}
]
}

View file

@ -108,7 +108,7 @@ SITE_FILES="$(find "$REPO/site" -type f \( -name '*.html' -o -name '*.json' -o -
# the acceptance registry's sources are served too (8 October 2026, 22:2x UK: /acceptance renders docs/plans/igneum-2.0-test-registry.json,
# which the recorder writes from tools/ci/test-map.json, tools/ci/batches/ and tools/ci/notes/; a rig name in a batch note reached the
# served registry), so those sources take the served-site pattern list as well
REG_FILES="$(find "$REPO/tools/ci/batches" "$REPO/tools/ci/notes" -type f -name '*.json' 2>/dev/null; [ -f "$REPO/tools/ci/test-map.json" ] && echo "$REPO/tools/ci/test-map.json"; [ -f "$REPO/docs/plans/igneum-2.0-test-registry.json" ] && echo "$REPO/docs/plans/igneum-2.0-test-registry.json"; true)"
REG_FILES="$(find "$REPO/tools/ci/batches" "$REPO/tools/ci/notes" "$REPO/tools/ci/canary" -type f -name '*.json' 2>/dev/null; [ -f "$REPO/tools/ci/test-map.json" ] && echo "$REPO/tools/ci/test-map.json"; [ -f "$REPO/docs/plans/igneum-2.0-test-registry.json" ] && echo "$REPO/docs/plans/igneum-2.0-test-registry.json"; true)"
SITE_FILES="$(printf '%s\n%s\n' "$SITE_FILES" "$REG_FILES" | grep -v '^$' || true)"
SITE_PAT="$(printf '%s\n%s\n' "$PAT" "$(grep -vE '^\s*(#|$)' "$REPO/site/forbidden-strings.txt")")"
SITE_HITS="$(printf '%s\n' "$SITE_FILES" | xargs grep -En -f <(printf '%s\n' "$SITE_PAT") 2>/dev/null || true)"

View file

@ -89,6 +89,7 @@ function record(reg, map, batch) {
// 20:3x UK): RUNNING is not a state and becomes NOT RUN with in_progress_since; DEFERRED becomes NOT RUN with the deferral note
let status = String(cell.status || '').toUpperCase(); let inProgress = false, deferral = null;
if (status === 'RUNNING') { status = 'NOT RUN'; inProgress = true; }
if (cell.in_progress === true && status === 'NOT RUN') inProgress = true; // the batch form's own flag (9 October 2026, 02:3x UK: every "in_progress": true written tonight had been dropped; only the legacy word RUNNING set it)
if (status === 'DEFERRED') { status = 'NOT RUN'; deferral = cell.deferral || 'deferred by the founder'; }
if (!DECISIONS.has(status)) throw new Error(`cell ${cell.cell}: status ${cell.status} is not one of NOT RUN, BLOCKED, FAIL, PASS (RUNNING reads as NOT RUN in progress; DEFERRED as NOT RUN with a deferral note)`);
const method = cell.method || batch.method; if (!METHODS.has(method)) throw new Error(`cell ${cell.cell}: method must be one of ${[...METHODS].join(', ')} (never conflated); got ${method}`);
@ -162,6 +163,9 @@ if (args.includes('--self-test')) {
if (!(reg.cases[0].evidence_record.method === 'native' && reg.cases[0].evidence_record.decision === 'PASS' && reg.cases[0].evidence_record.requirement_id === 'C1' && reg.cases[0].evidence_record.reviewer === '' && reg.cases[0].approvals.claim_authorised === null)) { console.log(`self-test failed: the p.139 record fields or the four approvals (never inferred) are wrong: ${JSON.stringify(reg.cases[0].evidence_record)} ${JSON.stringify(reg.cases[0].approvals)}`); fails = 1; }
record(reg, map, { run_id: 'r1r', manifest_sha: 'abc', method: 'native', cells: [{ cell: 'pow', status: 'RUNNING', evidence: '/e/pow.log' }] });
if (!(reg.cases[0].run_status === 'NOT RUN' && reg.cases[0].in_progress_since)) { console.log('self-test failed: RUNNING did not become NOT RUN with in_progress_since'); fails = 1; }
const regIP = { cases: [{ id: 'P1', method: 'Automated', accept: 'a' }] };
record(regIP, { cells: { pc: { command: 'x', box_class: 'b', fixtures: [], cases: ['P1'] } }, not_run: {} }, { run_id: 'rip', manifest_sha: 'abc', method: 'native', cells: [{ cell: 'pc', status: 'NOT RUN', in_progress: true, evidence: '/e/p.log' }] });
if (!(regIP.cases[0].run_status === 'NOT RUN' && regIP.cases[0].in_progress_since && regIP.cases[0].evidence_record.in_progress === true)) { console.log('self-test failed: a cell with "in_progress": true did not mark the row in progress'); fails = 1; }
let badStatus = false; try { record(reg, map, { run_id: 'x', manifest_sha: 'abc', method: 'native', cells: [{ cell: 'pow', status: 'GREEN' }] }); } catch { badStatus = true; }
delete process.env.TEST_RECORD_NO_TREE; let badPath = ''; try { record(reg, map, { run_id: 'x', manifest_sha: 'abc', method: 'native', cells: [{ cell: 'pow', status: 'FAIL', evidence: `${d}/missing.log`.replace(/^\//, 'rel/') }] }); } catch (e) { badPath = String(e.message); }
if (!/not in the tree at record time/.test(badPath)) { console.log(`self-test failed: an evidence path not in the tree was accepted at record time: ${badPath}`); fails = 1; }