docs(design): define Tree Feller user stories

This commit is contained in:
dmg
2026-08-11 17:07:13 -04:00
commit de27d6519e
12 changed files with 333 additions and 0 deletions
@@ -0,0 +1,36 @@
---
type: User Story
title: "US-007: Administer Tree Feller"
description: Give administrators separate, structured commands for player access, progress, and species thresholds.
status: backlog
---
# US-007: Administer Tree Feller
As a **server administrator**, I want a dedicated administrative command tree so that I can manage Tree Feller without granting ordinary players administrative authority.
## Acceptance criteria
- [ ] All administrative operations are rooted at `/treefelleradmin` rather than `/treefeller`.
- [ ] Administrative commands require `treefeller.admin`, which server operators receive by default and ordinary player permissions never imply.
- [ ] `/treefelleradmin player <name|uuid> status` reports identity, saved enabled preference, administrative lock, and each species' progress, threshold, and unlock state.
- [ ] `/treefelleradmin player <name|uuid> tree <type> grant` grants that species permanently without altering unrelated species.
- [ ] `/treefelleradmin player <name|uuid> tree <type> reset` removes that species' unlock and resets its progress to zero without altering unrelated species.
- [ ] A reset player can earn the species again and receive its normal earned-unlock announcement.
- [ ] `/treefelleradmin player <name|uuid> locked <on|off>` controls an override that prevents all automatic felling for the player without changing their preference, progress, or unlocks.
- [ ] An administratively locked player may continue accruing qualifying manual progress and receives a clear explanation when automatic felling is suppressed.
- [ ] `/treefelleradmin threshold <type> <blocks>` validates and persistently changes the named species' unlock threshold.
- [ ] Lowering a threshold does not scan or immediately mutate all player records; each affected player unlocks on their next qualifying block of that species.
- [ ] Raising a threshold never revokes existing unlocks.
- [ ] Player targets resolve exact online names, previously known names, and UUIDs without confusing players who have used the same name.
- [ ] Tree-type arguments use stable documented identifiers covering every supported species.
- [ ] Autocomplete is permission-aware and suggests valid subcommands, known player targets, properties, tree types, actions, and values for the current argument position.
- [ ] Every successful mutation reports exactly what changed to the administrator and, when online, the affected player.
- [ ] Invalid or unauthorized requests make no partial state or configuration changes.
## Related
- [US-001: Earn tree-type unlocks](us-001-earn-tree-type-unlocks.md)
- [US-004: Control personal tree felling](us-004-control-personal-tree-felling.md)
- [US-006: Announce tree unlocks](us-006-announce-tree-unlocks.md)
- [US-008: Configure and persist Tree Feller](us-008-configure-and-persist-tree-feller.md)