Cleanup tool: mark deceased by a child's birth year #254
Reference in New Issue
Block a user
Delete Branch "cleanup-deceased-by-child"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds a preview/apply rule to the Cleanup tool for parents with no birth date of their own (so the existing born-on-or-before rule misses them) who have a child born long ago — necessarily deceased. This is the gap that left ~56 parents in the Paul tree as "unknown".
preview_deceased_by_child(year)— parents of any child born ≤ cutoff, excluding already-deceased; returnschild_birth_year.GET .../cleanup/deceased-by-child?born_on_or_before=1900; apply reuses the existing auditedPOST .../cleanup/deceased.Goes through
_require_editor+ the audited mark-deceased path (not raw SQL). Test covers preview/apply/re-preview. Suite 106 passing. No migration.🤖 Generated with Claude Code
Adds a preview/apply rule to the Cleanup tool for parents who have NO birth date of their own (so the existing born-on-or-before rule can't reach them) but who have a child born long ago — they're necessarily deceased. This is the gap that left ~56 parents in the Paul tree as "unknown". - cleanup_service.preview_deceased_by_child(year): parents of any child born on/before the cutoff, excluding already-deceased; returns child_birth_year. - GET /trees/{id}/cleanup/deceased-by-child?born_on_or_before=1900. Apply reuses the existing POST .../cleanup/deceased (same audited mark-deceased path). - Frontend: a new card in the Cleanup tool (year input → preview → select → apply), preview-first like the rest of the tool. Test covers preview (finds the no-birthdate parent of a pre-cutoff child, excludes modern-child parents), child_birth_year, apply, and re-preview drop. Suite 106 passing. Signed-off-by: Justin Paul <justin@jpaul.me>