Miner window audit: the dev fee section is last on Settings with no control (the coordinator's order of 8 October 2026, earnings-26); T-R12 counts s-fee-card and asserts no input

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
igneum-labs 2026-10-08 13:49:12 +00:00
parent 95d26e3eb2
commit bb19df591b

View file

@ -125,7 +125,7 @@ Each repeat, where it sits today, and the one place it keeps. The test that prov
| R9 | blocks this run and lifetime | Overview hero "6,785 blocks this run · 8,055 lifetime"; Earnings "6,784 blocks this run"; Earnings "Lifetime 8,054 blocks"; each row's "102 blocks" | Earnings, the windows table | remove from the hero; the row's count stays (it is per card) |
| R10 | rank, weight, the ladder | the Overview strip; the Earnings Weight cell; the Earnings ladder rung "Rank by weight"; the block card's rank line | Earnings, one Standing row with the rungs behind a disclosure | remove the strip and the cell |
| R11 | the rewards address | the rail foot "pays 0x…"; Earnings Rewards address card; the key sheet | Settings > Wallet; one Payouts line on Earnings | remove the foot line and the Earnings card |
| R12 | the dev fee | Earnings switch; Overview activity "N to the dev fee" | Settings, the last section (the UI lane's item) | remove the activity mention |
| R12 | the dev fee | Earnings switch; Overview activity "N to the dev fee" | Settings, the last section, no control (earnings-26) | remove the switch and the activity mention |
| R13 | open the log | the rail foot Logs; Activity "Open the log"; Settings Logs "Show the log" | the rail foot and Settings Logs | remove the Activity button |
| R14 | the node facts | Overview node card, 13 rows plus fingerprint plus rule change | Settings > Node | Mine keeps one line |
| R15 | proving | the Prove page; the Earnings ladder rung "Your card proved a shard"; the Overview strip chip | Settings > Proving (the switches) and Earnings (the shard counts) | remove the page |
@ -244,7 +244,7 @@ Sub-title: "set once, left alone". Sections in this order, each a card:
8. **This machine**: start at login, make my page public, allow remote jobs (note, Check for jobs, History), name, appearance. Unchanged.
9. **Logs**: Copy the log, Show the log, the two paths. Unchanged.
10. **Advanced** (devnet): vote on checkpoints, trust proofs, the live page, the machine id. Unchanged.
11. **Dev fee**, last: the switch "Dev fee: 1 block in 100 pays the people who make this app (12 blocks so far)." / "Dev fee off. Every block pays your address." (the UI lane's item, placed here).
11. **The dev fee**, last, no control (the founder's order through the coordinator, 8 October 2026; earnings-26 321041dc): "1 block in 100 pays the people who make this app." and one line on what it funds, the site's wording from site/miner.html. The command-line arm (`--dev-fee 0`) stays; an off state reads "The dev fee is off on this machine."
### 4.5 The rail, the pill, the titles
@ -308,7 +308,7 @@ counts inside one `<section class="page" id="page-…">`.
| T-R9 | `inPage(html, 'mine', 't-blocks') === 0`; `once(html, 'e-run') === 0`; `View.earningsLines(state).all.blocks` is the only lifetime count |
| T-R10 | `once(html, 'ladder-strip') === 0`; `once(html, 'id="rungs"') === 1` and it sits in `#page-earnings` behind `#standing-details` |
| T-R11 | `once(html, 'id="r-address"') === 1` and it sits in `#page-settings`; `View.railFoot(state)` has no "pays" line; `inPage(html, 'earnings', 's-address-input') === 0` |
| T-R12 | `once(html, 'id="s-devfee"') === 1` and it is inside the last `.card` of `#page-settings`; `View.activityStats` is not exported and `d-stats` is absent |
| T-R12 | `once(html, 'id="s-fee-card"') === 1`, it is the last `.card` of `#page-settings` and holds no `<input>`; `once(html, 's-devfee') === 0`; `#page-earnings` has no "fee" word; `View.activityStats` is not exported and `d-stats` is absent |
| T-R13 | `once(html, 'btn-open-log') === 0`; `once(html, 'id="btn-logs"') === 1`; `once(html, 'id="s-log-open"') === 1` |
| T-R14 | `once(html, 'id="node-details"') === 1` and it sits in `#page-settings`; `inPage(html, 'mine', 'n-digest') === 0` |
| T-R15 | `View.PAGES.map(p => p.id)` deep-equals `['mine', 'tune', 'earnings', 'settings']`; `once(html, 'id="page-prove"') === 0`; `once(html, 'id="s-prove"') === 1` and it sits in `#page-settings` |