Skip to content

fix: Migrate buried_on/buried_at to burial events#651

Open
noahbjohnson wants to merge 5 commits intomainfrom
fix/buried-at-migration
Open

fix: Migrate buried_on/buried_at to burial events#651
noahbjohnson wants to merge 5 commits intomainfrom
fix/buried-at-migration

Conversation

@noahbjohnson
Copy link
Copy Markdown
Contributor

What and why

glx migrate converted born_on/born_at/died_on/died_at to birth/death events but did not handle buried_at (or buried_on). After migration, buried_at survived as an unconverted person property, causing glx summary to show no burial event while the place lingered as a raw property.

This PR gives buried_on/buried_at the same treatment as the other deprecated properties:

  • Migration: creates burial events, merges into existing ones, retargets assertions
  • Validation: rejects buried_on/buried_at with "use burial events instead"
  • GEDCOM export: skips both in the person property export
  • Constants: adds DeprecatedPropertyBuriedOn and DeprecatedPropertyBuriedAt
  • Docs: updates CLI guide, README, and command help text

Related issues

Fixes #645

Testing

  • 5 new migration tests: buried_at only, buried_on+buried_at, merge into existing burial, assertion migration, all three event types together
  • 2 new validation tests: buried_on and buried_at produce errors
  • Updated GEDCOM export test to verify buried_on/buried_at are skipped
  • make test passes, golangci-lint run --new-from-rev reports 0 issues

Breaking changes

None. Archives with buried_on/buried_at that previously passed validation will now receive errors guiding users to run glx migrate.

glx migrate only converted born_on/born_at/died_on/died_at to
birth/death events, leaving buried_at as an unconverted person
property. Add the same treatment for buried_on/buried_at: create
burial events, retarget assertions, remove deprecated properties,
reject them in validation, and skip them in GEDCOM export.

Fixes #645
Copilot AI review requested due to automatic review settings April 6, 2026 05:35
@cloudflare-workers-and-pages
Copy link
Copy Markdown

cloudflare-workers-and-pages bot commented Apr 6, 2026

Deploying genealogix with  Cloudflare Pages  Cloudflare Pages

Latest commit: 441eadd
Status: ✅  Deploy successful!
Preview URL: https://0a04e4b2.genealogix.pages.dev
Branch Preview URL: https://fix-buried-at-migration.genealogix.pages.dev

View logs

@github-project-automation github-project-automation bot moved this to Backlog in beta.10 Apr 6, 2026
@noahbjohnson noahbjohnson moved this from Backlog to In review in beta.10 Apr 6, 2026
golangci-lint v2.11 removed the `sort-results` key from the `output`
section (the `sort-order` key already implies sorting). This broke CI
config verification.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the GLX tooling to fully deprecate buried_on/buried_at by migrating them into burial events (matching existing birth/death behavior), validating against their use, and preventing their export as generic GEDCOM person tags.

Changes:

  • Extend glx migrate to convert buried_on/buried_at into burial events, merge into existing burial events, and retarget assertions.
  • Add validation errors for buried_on/buried_at with guidance to use burial events instead.
  • Skip buried_on/buried_at during GEDCOM person-property export; update docs/changelog and add/adjust tests.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
go-glx/validation.go Treat buried_on/buried_at as removed properties with migration guidance.
go-glx/validation_test.go Add tests asserting validation errors for buried_on/buried_at.
go-glx/gedcom_export_person.go Add burial deprecated properties to the person-property skip list.
go-glx/gedcom_export_test.go Extend export test coverage to ensure burial deprecated props are not exported; includes minor formatting adjustments.
go-glx/constants.go Add DeprecatedPropertyBuriedOn / DeprecatedPropertyBuriedAt constants and update related comments/formatting.
glx/migrate_runner.go Migrate buried_on/buried_at into burial events and retarget relevant assertions; include in deprecated vocab cleanup.
glx/migrate_runner_test.go Add migration tests covering burial creation, merge behavior, assertion retargeting, and combined vital-event migration.
glx/cmd_migrate.go Update glx migrate help text to include burial properties/events.
glx/README.md Document burial migration behavior in CLI docs.
docs/guides/hands-on-cli-guide.md Update hands-on guide to include burial migration behavior.
CHANGELOG.md Add changelog entry describing the burial migration fix (issue #645).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

…erties

The function now handles burial in addition to birth/death. Update the
name and doc comment to reflect the full scope.
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 12 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

The sort-results removal (previous commit) unblocked config validation,
which meant the linter now actually runs — surfacing 784 pre-existing
issues. Add only-new-issues: true so PRs only fail on issues introduced
by the change.
Extract migratePropertyPair and migrateOrphanedAssertions helpers from
migrateVitalEventProperties to bring cognitive complexity under the
gocognit threshold. Add eventFieldDate/eventFieldPlace constants to
satisfy goconst.
Copilot AI review requested due to automatic review settings April 7, 2026 00:31
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: In review

Development

Successfully merging this pull request may close these issues.

glx migrate does not convert buried_at to burial events

2 participants