From bb19df591bbd2311aaa3fee5e885ce9c98aad695 Mon Sep 17 00:00:00 2001 From: igneum-labs <337424239+igneum-labs@users.noreply.github.com> Date: Thu, 8 Oct 2026 13:49:12 +0000 Subject: [PATCH] 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 --- docs/design/app-audit-2026-10-08.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/design/app-audit-2026-10-08.md b/docs/design/app-audit-2026-10-08.md index 6dccbb6bb..d26872845 100644 --- a/docs/design/app-audit-2026-10-08.md +++ b/docs/design/app-audit-2026-10-08.md @@ -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 `
`. | 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 ``; `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` |