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; returns child_birth_year.
GET .../cleanup/deceased-by-child?born_on_or_before=1900; apply reuses the existing audited POST .../cleanup/deceased.
Frontend: a new preview→approve card in the Cleanup tool.
Goes through _require_editor + the audited mark-deceased path (not raw SQL). Test covers preview/apply/re-preview. Suite 106 passing. No migration.
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; returns `child_birth_year`.
- `GET .../cleanup/deceased-by-child?born_on_or_before=1900`; **apply reuses the existing audited `POST .../cleanup/deceased`**.
- Frontend: a new preview→approve card in the Cleanup tool.
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](https://claude.com/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 <[email protected]>
justin
merged commit 7043532c3b into main2026-06-11 11:08:52 -04:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
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 <[email protected]>