Skip to content

feat(characters): wills and estates on Profile (stage 6b) - #218

Draft
ryanbarlow97 wants to merge 5 commits into
mainfrom
stage6b/estates
Draft

ryanbarlow97 wants to merge 5 commits into
mainfrom
stage6b/estates

Conversation

@ryanbarlow97

@ryanbarlow97 ryanbarlow97 commented Oct 13, 2026 •

Copy link
Copy Markdown
Contributor

Stage 6b gives the website wills and estates (design ~/stage6b/design.md, section W5 and Website; umbrella TF-Minecraft/RPCharacters#89).

The roster push now carries each character's death date, death id, will and estate. Wills are stored on the roster row and estates in a new character_estates table keyed by realm and death, which a roster push never deletes. An older will or estate revision never replaces a newer one; within one estate revision, the plugin's updated_at decides.

Profile can name an heir or revoke a will. The request goes into a new will_requests queue that RPCharacters pulls and acknowledges, like web creation. Both plugin routes require a realm and the ack is checked against the request's realm. A heir search lists living characters of the player's realm by name (three letters or more, ten results, rate-limited) with name, race and short id only, marking the player's own.

On Profile, living cards show "Heir: Kira" or "No will" with Change and Revoke, and a pending change until the server answers. Dead and missing cards open a read-only memorial: death date or "Before records began", heir, estate state and who received what. Wardrobe and kit pages, and their backend edits, refuse dead and missing characters.

Routes and payloads are in the paired Docs guide: TF-Minecraft/Docs#216.

Tests: new backend/src/characters/test_wills_estates.py (46 cases); full backend pytest 2282 passed; frontend vitest 2191 passed; lint and oxfmt clean. Draft until RPCharacters and TFMCWeb are ready; merging deploys Dev.

🤖 Generated with Claude Code

ryanbarlow97 and others added 3 commits October 13, 2026 14:04
…nges from Profile

The roster push now carries each character's death, will and estate.
Estates live in character_estates keyed by realm and death, so a push never
deletes them, and an older will or estate revision never replaces a newer one.

Profile can ask RPCharacters to name an heir or revoke a will through a
pull-and-ack queue like web creation. The plugin routes require a realm and
check it against the request's. A heir search lists living characters of the
player's realm by name, without saying who plays them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…haracters

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Living cards show the heir or No will, with Change (a name search) and
Revoke; a change shows as pending until the server answers. Dead and missing
characters open a read-only view with the death date, heir and where the
estate went. Wardrobe and kit pages turn the dead away.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 13, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

ryanbarlow97 and others added 2 commits October 13, 2026 15:40
…e-step applied ack

Same-revision estates now compare updated_at with milliseconds, so a push built
earlier in the same second cannot undo a decision. An applied ack updates the
stored will only at base_revision + 1; anything else waits for the roster push.
Negative counts and money read as zero.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

This branch was successfully deployed

1 active deployment
preview — 64392171 Deployed Oct 13, 2026 by ryanbarlow97 via deploy #376
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant