diff --git a/docs/plans/evidence/UX-01-20261008.md b/docs/plans/evidence/UX-01-20261008.md new file mode 100644 index 000000000..c7340e6b2 --- /dev/null +++ b/docs/plans/evidence/UX-01-20261008.md @@ -0,0 +1,21 @@ +# UX-01 evidence, run ux-01-20261008-win-2.0.0 (8 October 2026) + +Onboard ordinary owners on native desktop apps, the team-run half: the two Windows PCs take the Igneum Miner 2.0.x Windows +entry (2.0.0 live 18:44 UK, Setup exe 793a631d, manifest aa354ed5; 2.0.1 about 20:55 UK with the coinbase-over-u64 fix) +through the app's own update path, with no click after the install and mining on every card (the founder's rule of +18:0x UK), observed through the apps' own intake uploads and the relay agents. The P10 study (30 unaffiliated +participants) is NOT RUN: not yet recruited; never a staff run. + +## Shape +- PC 1 (ae432dc7): Igneum Miner 0.3.26 since 17:26 UK, RTX 5090, RTX 5080, RX 7600; mining off under the Devnet 3 off order; the 2.0.0 installer downloaded and verified 18:58 UK, the install queued in the hash lane's order (update-now-20261008-181124). +- PC 2 (1ccfe586): RTX 5090, RTX 5060 Ti, Arc B580; mining off since the Devnet 3 off jobs (#1519 api/pause 16:38 UK, #1521 17:15 UK). +- The read-back: the engine's "update-return: app up after the update from " line at intake, then the relay run "mining on after the 2.0.1 install" (mining-on-after-200.ps1: wait for 2.0.1 or later, clear a stale install-running.flag, api/resume, start the app if silent) printing `RESULT MINING-ON ok|partial version=... network=... node=... synced=... paused=false cards= rates=...`. + +## Read-back lines (time UK, PC, the line or the fault and its class) +- 19:22:01 PC 2: `update-return: app 2.0.0 up after the update from 0.3.26 (node igneumd 2.0.0, machine 1ccfe586)`; node started 19:22:05; `[ok] mining resumed` 19:22:13 (no click: relay run #1742 cleared the pause through api/resume). +- 19:28 PC 2 (#1754): `RESULT MINING-ON partial version=2.0.0 network=devnet node=no peers synced=False paused=False cards=3` (every card waiting). Class: the devnet-4 hubs' outage (every dial target down 19:15 to 19:17, back by 19:29), not the install. +- 19:41 PC 2 (#1757): `RESULT MINING-ON partial ... node=behind peers=1 synced=False tip_age_s=1289`; IBD completed 19:29:16, the node then "behind". Class: the 2.0.0 miner refuses every template whose coinbase exceeds a u64 (the shipper, 19:5x UK), fixed in node 777214af as the 2.0.1 entry. +- PC 1: pending (0.3.26; the install runs when its queue reaches update-now, then 2.0.1 through the same path). + +## Status +- 20:36 UK: RUNNING; the 2.0.1 read-backs (relay runs #1762 PC 2, #1763 PC 1) are the next lines. diff --git a/docs/plans/igneum-2.0-test-harness-map.md b/docs/plans/igneum-2.0-test-harness-map.md index 16b05aefc..11c9f9520 100644 --- a/docs/plans/igneum-2.0-test-harness-map.md +++ b/docs/plans/igneum-2.0-test-harness-map.md @@ -365,6 +365,16 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover - ADV-02 Price shared, reduced and reconstructed memory: memory sharing, partial stores at the measured window-layer hit rates (and hit 0.50 with layer 8 off), recomputation and the set-up amortisation on the complete board (section 13); the formal memory model's terms (section 16) - ADV-04 Measure profitable selective participation: selective participation over 2,000 era draws under the layer 1 band with two reserve families live per epoch, the specialist's revenue against its ratio gain (section 13); downtime and re-entry priced as the DAA window's lag, not simulated against the difficulty rule itself (owed) +### pc:install-update + +- Command: `signed jobs and relay runs on PC 1 (ae432dc7) and PC 2 (1ccfe586): the installer over the running app (rule 14: installed versions, the process set, the first upload), the OTA path (update-now, the update-return read-back line), and the no-click resume after the install (relay run mining-on-after-200.ps1)` +- Box class: PC (the two Windows PCs; nothing on the Mac) +- Fixtures: F2 +- Cases: + - UX-01 Onboard ordinary owners on native desktop apps: team-run evidence only (the two PCs taking the Windows entry through the app's own update path with no click and mining on every card); the P10 study is NOT RUN until unaffiliated participants are recruited + - UX-07 Expose actionable failures and safe updates: partial: the install classes (the payload's stop step, the detached installer under a job, the installer refusing a wrong-version name, a stale install flag) and the no-click resume; the recovery-instruction and canary rows are the shipper's + - OPS-03 Separate update distribution from consensus authority: partial: the update path's read-back and the signed manifest's verify on the PC (a tampered or rolled-back payload is refused by the engine's manifest check); authority separation is the shipper's review + ## Automated cases with no harness in the matrix (NOT RUN, the reason) - GOV-02 Approve thresholds before results: the approval is recorded in the registry's approval field; the automated half (thresholds frozen before any run_status) is the gate rule landing by 21:00 @@ -520,4 +530,4 @@ Rule: a case maps to a cell only where the cell's tests visibly answer it; cover ## Count -171 automated cases: 77 mapped to a cell, 150 NOT RUN with a reason. +171 automated cases: 78 mapped to a cell, 150 NOT RUN with a reason. diff --git a/docs/plans/igneum-2.0-test-registry.json b/docs/plans/igneum-2.0-test-registry.json index 32b3659da..569de284a 100644 --- a/docs/plans/igneum-2.0-test-registry.json +++ b/docs/plans/igneum-2.0-test-registry.json @@ -8978,29 +8978,30 @@ "manual_page": 54, "owner_lane": "shipper (ae892a8b0f78fe31c)", "run_status": "NOT RUN", - "evidence_path": "site/release-manifest.json at the landing sha", - "run_id": "site-manifest-20261008-01", - "updated": "2026-10-08T20:07:45.894Z", + "evidence_path": "site/release-manifest.json at the landing sha; docs/plans/evidence/UX-01-20261008.md", + "run_id": "ux-01-20261008-win-2.0.0", + "updated": "2026-10-08T20:42:25.701Z", "evidence_record": { - "cell": "site:manifest", - "manifest_sha": "3f1a3f332", - "coverage": { - "OPS-03": "partial: the manifest's versions and network blocks regenerate from their sources; the separation itself is the node suites' (suite:exec, suite:p2p-flows)" - }, - "at": "2026-10-08T20:07:45.894Z", - "method": "static", "requirement_id": "OPS-03", "decision": "NOT RUN", - "reviewer": "", - "claim_impact": "", + "method": "team-reported", + "cell": "pc:install-update", + "manifest_sha": "aa354ed5", + "run_id": "ux-01-20261008-win-2.0.0", + "evidence": "docs/plans/evidence/UX-01-20261008.md", + "in_progress": true, + "coverage": "partial: the update path's read-back and the signed manifest's verify on the PC (a tampered or rolled-back payload is refused by the engine's manifest check); authority separation is the shipper's review", "release_identity": { - "commit": "3f1a3f332", + "commit": "aa354ed5", "lockfile": "", "binary": "", "network_object": "", "activation": "", "profile_hashes": "" - } + }, + "claim_impact": "", + "reviewer": "", + "at": "2026-10-08T20:42:25.701Z" }, "approvals": { "scope_approved": null, @@ -9032,8 +9033,31 @@ "run_id": "site-manifest-20261008-01", "evidence": "site/release-manifest.json at the landing sha", "in_progress": false + }, + "pc:install-update": { + "requirement_id": "OPS-03", + "decision": "NOT RUN", + "method": "team-reported", + "cell": "pc:install-update", + "manifest_sha": "aa354ed5", + "run_id": "ux-01-20261008-win-2.0.0", + "evidence": "docs/plans/evidence/UX-01-20261008.md", + "in_progress": true, + "coverage": "partial: the update path's read-back and the signed manifest's verify on the PC (a tampered or rolled-back payload is refused by the engine's manifest check); authority separation is the shipper's review", + "release_identity": { + "commit": "aa354ed5", + "lockfile": "", + "binary": "", + "network_object": "", + "activation": "", + "profile_hashes": "" + }, + "claim_impact": "", + "reviewer": "", + "at": "2026-10-08T20:42:25.701Z" } - } + }, + "in_progress_since": "2026-10-08T20:42:25.701Z" }, { "id": "OPS-04", @@ -9490,15 +9514,62 @@ "manual_page": 57, "owner_lane": "update-return lane (a22d765a2e0355a9f)", "run_status": "NOT RUN", - "evidence_path": "", - "run_id": "", - "updated": "2026-10-08 18:3x UK", + "evidence_path": "docs/plans/evidence/UX-01-20261008.md", + "run_id": "ux-01-20261008-win-2.0.0", + "updated": "2026-10-08T20:42:25.701Z", "approvals": { "scope_approved": null, "implementation_complete": null, "evidence_reproduced": null, "claim_authorised": null - } + }, + "evidence_records": { + "pc:install-update": { + "requirement_id": "UX-01", + "decision": "NOT RUN", + "method": "team-reported", + "cell": "pc:install-update", + "manifest_sha": "aa354ed5", + "run_id": "ux-01-20261008-win-2.0.0", + "evidence": "docs/plans/evidence/UX-01-20261008.md", + "in_progress": true, + "coverage": "team-run evidence only (the two PCs taking the Windows entry through the app's own update path with no click and mining on every card); the P10 study is NOT RUN until unaffiliated participants are recruited", + "release_identity": { + "commit": "aa354ed5", + "lockfile": "", + "binary": "", + "network_object": "", + "activation": "", + "profile_hashes": "" + }, + "claim_impact": "", + "reviewer": "", + "at": "2026-10-08T20:42:25.701Z" + } + }, + "evidence_record": { + "requirement_id": "UX-01", + "decision": "NOT RUN", + "method": "team-reported", + "cell": "pc:install-update", + "manifest_sha": "aa354ed5", + "run_id": "ux-01-20261008-win-2.0.0", + "evidence": "docs/plans/evidence/UX-01-20261008.md", + "in_progress": true, + "coverage": "team-run evidence only (the two PCs taking the Windows entry through the app's own update path with no click and mining on every card); the P10 study is NOT RUN until unaffiliated participants are recruited", + "release_identity": { + "commit": "aa354ed5", + "lockfile": "", + "binary": "", + "network_object": "", + "activation": "", + "profile_hashes": "" + }, + "claim_impact": "", + "reviewer": "", + "at": "2026-10-08T20:42:25.701Z" + }, + "in_progress_since": "2026-10-08T20:42:25.701Z" }, { "id": "UX-02", @@ -9967,32 +10038,30 @@ "manual_page": 59, "owner_lane": "shipper (ae892a8b0f78fe31c)", "run_status": "NOT RUN", - "evidence_path": "build-1:/srv/artefacts/tas/201-7cfa422a-aa0e0f45/miner-9c844503/box2-app.log", - "run_id": "201-7cfa422a-aa0e0f45", - "updated": "2026-10-08T19:32:50.856Z", + "evidence_path": "build-1:/srv/artefacts/tas/201-7cfa422a-aa0e0f45/miner-9c844503/box2-app.log; docs/plans/evidence/UX-01-20261008.md", + "run_id": "ux-01-20261008-win-2.0.0", + "updated": "2026-10-08T20:42:25.701Z", "evidence_record": { - "cell": "suite:app", - "manifest_sha": "7cfa422a", - "coverage": { - "UX-02": "partial: the engine state machine's pause, stop and knob tests; the operator study is UX-01's", - "UX-03": "partial: the card and earnings rendering tests; the net-earnings model against real bills is COM/ECO evidence", - "UX-07": "partial: the refused-update and manifest tests; the update-return lane's install classes are its own rows", - "VER-08": "partial: the app's own state-word tests; the wallet and light client rows are VER-01 to VER-03" - }, - "at": "2026-10-08T19:32:50.856Z", - "method": "native", "requirement_id": "UX-07", "decision": "NOT RUN", - "reviewer": "", - "claim_impact": "", + "method": "team-reported", + "cell": "pc:install-update", + "manifest_sha": "aa354ed5", + "run_id": "ux-01-20261008-win-2.0.0", + "evidence": "docs/plans/evidence/UX-01-20261008.md", + "in_progress": true, + "coverage": "partial: the install classes (the payload's stop step, the detached installer under a job, the installer refusing a wrong-version name, a stale install flag) and the no-click resume; the recovery-instruction and canary rows are the shipper's", "release_identity": { - "commit": "7cfa422a", + "commit": "aa354ed5", "lockfile": "", "binary": "", "network_object": "", "activation": "", "profile_hashes": "" - } + }, + "claim_impact": "", + "reviewer": "", + "at": "2026-10-08T20:42:25.701Z" }, "in_progress_since": "2026-10-08T19:32:50.856Z", "approvals": { @@ -10028,6 +10097,28 @@ "run_id": "201-7cfa422a-aa0e0f45", "evidence": "build-1:/srv/artefacts/tas/201-7cfa422a-aa0e0f45/miner-9c844503/box2-app.log", "in_progress": true + }, + "pc:install-update": { + "requirement_id": "UX-07", + "decision": "NOT RUN", + "method": "team-reported", + "cell": "pc:install-update", + "manifest_sha": "aa354ed5", + "run_id": "ux-01-20261008-win-2.0.0", + "evidence": "docs/plans/evidence/UX-01-20261008.md", + "in_progress": true, + "coverage": "partial: the install classes (the payload's stop step, the detached installer under a job, the installer refusing a wrong-version name, a stale install flag) and the no-click resume; the recovery-instruction and canary rows are the shipper's", + "release_identity": { + "commit": "aa354ed5", + "lockfile": "", + "binary": "", + "network_object": "", + "activation": "", + "profile_hashes": "" + }, + "claim_impact": "", + "reviewer": "", + "at": "2026-10-08T20:42:25.701Z" } } }, diff --git a/tools/ci/batches/ux-01-20261008-win-2.0.0.json b/tools/ci/batches/ux-01-20261008-win-2.0.0.json new file mode 100644 index 000000000..32acdab3d --- /dev/null +++ b/tools/ci/batches/ux-01-20261008-win-2.0.0.json @@ -0,0 +1,14 @@ +{ + "run_id": "ux-01-20261008-win-2.0.0", + "manifest_sha": "aa354ed5", + "evidence_dir": "docs/plans/evidence/UX-01-20261008.md", + "cells": [ + { + "cell": "pc:install-update", + "status": "RUNNING", + "evidence": "docs/plans/evidence/UX-01-20261008.md", + "method": "team-reported" + } + ], + "method": "team-reported" +} diff --git a/tools/ci/test-map.json b/tools/ci/test-map.json index c02497061..fd0e6f4c9 100644 --- a/tools/ci/test-map.json +++ b/tools/ci/test-map.json @@ -629,6 +629,23 @@ "ADV-02": "memory sharing, partial stores at the measured window-layer hit rates (and hit 0.50 with layer 8 off), recomputation and the set-up amortisation on the complete board (section 13); the formal memory model's terms (section 16)", "ADV-04": "selective participation over 2,000 era draws under the layer 1 band with two reserve families live per epoch, the specialist's revenue against its ratio gain (section 13); downtime and re-entry priced as the DAA window's lag, not simulated against the difficulty rule itself (owed)" } + }, + "pc:install-update": { + "command": "signed jobs and relay runs on PC 1 (ae432dc7) and PC 2 (1ccfe586): the installer over the running app (rule 14: installed versions, the process set, the first upload), the OTA path (update-now, the update-return read-back line), and the no-click resume after the install (relay run mining-on-after-200.ps1)", + "box_class": "PC (the two Windows PCs; nothing on the Mac)", + "fixtures": [ + "F2" + ], + "cases": [ + "UX-01", + "UX-07", + "OPS-03" + ], + "coverage": { + "UX-01": "team-run evidence only (the two PCs taking the Windows entry through the app's own update path with no click and mining on every card); the P10 study is NOT RUN until unaffiliated participants are recruited", + "UX-07": "partial: the install classes (the payload's stop step, the detached installer under a job, the installer refusing a wrong-version name, a stale install flag) and the no-click resume; the recovery-instruction and canary rows are the shipper's", + "OPS-03": "partial: the update path's read-back and the signed manifest's verify on the PC (a tampered or rolled-back payload is refused by the engine's manifest check); authority separation is the shipper's review" + } } }, "not_run": {