Paradaux

PAR-93

0

Disbanding a Firm Confirmation Action

DoneHighrianBusinessImprovement

Make disbanding a firm a confirmable action like transfer proprietorship, making it clear that firm funds are given to the proprietor.

Resources

Comments

tesks · Jun 5, 2026, 11:23 AM

Shipped on develop (commit 871a127), together with PAR-86.

/firm disband <firm> is now a two-step confirmable action (in the spirit of the proprietorship-transfer flow, but lighter — no DB-backed request):

  1. Warn — validates firm/proprietorship, then shows: the firm's balance returns to your personal account and the name cannot be reused, with a clickable /firm disband <firm> confirm to run within 60s.
  2. Confirm — re-validates firm existence, archived state, and proprietorship, consumes the pending confirmation, then disbands.

Backed by FirmDisbandConfirmationService (in-memory, clock-injectable): one pending confirmation per player, single-use, matched to the exact firm so you can't warn on one firm and confirm-disband another, 60s TTL. Tested (within-TTL, no-request, wrong-firm, expiry, single-use); coverage gate green.

Activity

  • ParadauxIO linked a commit — Commit 871a127 — Require confirmation before disbanding a firm (PAR-93, PAR-86)
  • ParadauxIO changed status to Status → Done
  • ParadauxIO linked a pull request — PR #6 merged — Release: develop → main
  • ParadauxIO linked a pull request — PR #6 open — Release: develop → main
  • ParadauxIO linked a pull request — PR #6 open — Release: develop → main
  • ParadauxIO linked a pull request — PR #6 open — Release: develop → main
  • ParadauxIO linked a pull request — PR #6 open — Release: develop → main
  • ParadauxIO linked a pull request — PR #6 open — Release: develop → main
  • ParadauxIO linked a pull request — PR #6 open — Release: develop → main
  • tesks commented
  • tesks changed status to Status → Pending Release
  • ParadauxIO linked a commit — Commit 871a127 — Require confirmation before disbanding a firm (PAR-93, PAR-86)
  • tesks changed status to Status → In Progress
  • paradaux set priority to Priority → High
  • paradaux updated labels (Labels updated)
  • paradaux changed status to Status → Planned
  • tesks created the issue