docs(rust): plan permission rewards — lend or give any registered permission (PLAN_REDESIGNS §12, D342–D346) #342

Merged
whitlocktech merged 1 commits from docs/rust-perm-rewards-plan into main 2026-10-12 20:21:47 +00:00
Member

The planning phase for the generic permission reward the org lead asked for on 2026-10-12, as a new PLAN_REDESIGNS §12. No code.

What it plans

  • Picker rust.options.permissions: every permission in the enabled servers' catalogues, grouped by the plugin that registered it, sorted plugin → permission. Unowned ones (Carbon built-ins) are grouped by prefix, as the permission manager does, and a permission missing from a server says where it is missing (row note).
  • rust.perm.lend, Permissions until the event ends: a kit reward's lease (rust_perm_run_grants), change/ledger, budget rust.permissions.
  • rust.perm.give, Permissions for good: a standing rust_perm_grants row (source event), irreversible/none like rust.coins.pay, budget rust.permissions.kept; staff remove it in the permission manager.
  • Core addition, MODULE_API 1.13.0 → 1.14.0: multiple: true (+ max) on an action param, so one step takes several permissions through a multi-select. Additive only; Module-uo unaffected.
  • No plugin, sidecar, protocol, installer or app change.

Decisions of record (answered 2026-10-12)

# Decision
D342 Any registered permission can be a reward, picked by plugin then permission; rust.backpack.size stays
D343 No block/allowlist; a required "I am sure" toggle in the step, refused at dry run/run when unticked
D344 Several permissions per step via a multi-select (core multiple flag, MODULE_API 1.14.0)
D345 Until the run ends, or for good, the author's choice
D346 Two steps with separate risk classes and budgets

§12.6 lists four points this plan settled itself (blank message tells nobody, max 10 per step, a missing permission is refused rather than skipped, for-good grants scoped to the step's server). Any of them can be overruled.

Build order (§12.7): website core PR first, then Module-Rust against it, then the docs built notes. Walk rows (§12.9) join the deferred end-of-plan walk (D331).

  • AI-assisted: written with Claude Code (Claude Opus 5.5)

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

The planning phase for the generic permission reward the org lead asked for on 2026-10-12, as a new **PLAN_REDESIGNS §12**. No code. ## What it plans - **Picker `rust.options.permissions`**: every permission in the enabled servers' catalogues, grouped by the plugin that registered it, sorted plugin → permission. Unowned ones (Carbon built-ins) are grouped by prefix, as the permission manager does, and a permission missing from a server says where it is missing (row `note`). - **`rust.perm.lend`**, *Permissions until the event ends*: a kit reward's lease (`rust_perm_run_grants`), `change`/`ledger`, budget `rust.permissions`. - **`rust.perm.give`**, *Permissions for good*: a standing `rust_perm_grants` row (source `event`), `irreversible`/`none` like `rust.coins.pay`, budget `rust.permissions.kept`; staff remove it in the permission manager. - **Core addition, MODULE_API 1.13.0 → 1.14.0**: `multiple: true` (+ `max`) on an action param, so one step takes several permissions through a multi-select. Additive only; Module-uo unaffected. - No plugin, sidecar, protocol, installer or app change. ## Decisions of record (answered 2026-10-12) | # | Decision | |---|---| | D342 | Any registered permission can be a reward, picked by plugin then permission; `rust.backpack.size` stays | | D343 | No block/allowlist; a required "I am sure" toggle in the step, refused at dry run/run when unticked | | D344 | Several permissions per step via a multi-select (core `multiple` flag, MODULE_API 1.14.0) | | D345 | Until the run ends, or for good, the author's choice | | D346 | Two steps with separate risk classes and budgets | §12.6 lists four points this plan settled itself (blank message tells nobody, max 10 per step, a missing permission is refused rather than skipped, for-good grants scoped to the step's server). Any of them can be overruled. **Build order (§12.7):** website core PR first, then Module-Rust against it, then the docs built notes. Walk rows (§12.9) join the deferred end-of-plan walk (D331). - [x] AI-assisted: written with Claude Code (Claude Opus 5.5) 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-10-12 19:50:21 +00:00
Two event steps over the permission catalogue, picked by plugin then
permission: rust.perm.lend (until the run ends, a kit reward's lease) and
rust.perm.give (for good, a standing grant, irreversible). Several
permissions per step through a new `multiple` action-param flag in core
(MODULE_API 1.14.0). No blocklist; a required "I am sure" toggle instead.
No plugin, sidecar or protocol change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit 54aa9e2ed8 into main 2026-10-12 20:21:47 +00:00
whitlocktech deleted branch docs/rust-perm-rewards-plan 2026-10-12 20:21:48 +00:00
Sign in to join this conversation.
No description provided.