Skip to content

Add registry-compliant YAML files for v0.2.1#5

Merged
glamberson merged 1 commit into
masterfrom
add-registry-yaml
Jul 28, 2025
Merged

Add registry-compliant YAML files for v0.2.1#5
glamberson merged 1 commit into
masterfrom
add-registry-yaml

Conversation

@glamberson
Copy link
Copy Markdown
Owner

@glamberson glamberson commented Jul 28, 2025

Summary

This PR adds the GEDCOM registry-compliant YAML files and prepares for the v0.2.1 release.

Changes

  • Added registry-yaml/ directory with official GEDCOM registry format
  • Includes all 9 required files:
    • 5 structure definitions (_OCUR, _OCREF, _PART, _PRESENCE, _ATTR)
    • 3 enumeration definitions (Present, Absent, Unknown)
    • 1 enumeration-set definition (Presence)
  • Added CHANGELOG.md to track version history
  • Updated README with registry submission status
  • Bumped version to 0.2.1

Context

These YAML files were submitted to the official GEDCOM registry via PR #173 and have been validated using the official GEDCOM registry validator.

The original yaml/ directory is preserved for backward compatibility, but registry-yaml/ contains the authoritative definitions going forward.

Registry Compliance

The key differences from our original YAML files:

  • Fixed type: recordtype: structure
  • Added proper enumeration definitions
  • Fixed payload URIs to use enumset references
  • All files validated with the official registry validator

🤖 Generated with Claude Code

Summary by Sourcery

Add registry-compliant GEDCOM YAML definitions for the gedcom-occurrences extension in preparation for the v0.2.1 release, update documentation, and bump project version.

New Features:

  • Add registry-yaml directory containing official GEDCOM registry-compliant definitions (5 structures, 3 enumerations, 1 enumeration set)

Enhancements:

  • Bump project version to 0.2.1

Documentation:

  • Add CHANGELOG.md tracking version history and update README with registry submission status and link to GEDCOM Registry PR
  • Add registry-yaml README describing usage and key differences of the registry-compliant files

- Added registry-yaml/ directory with official GEDCOM registry format
- Includes all 9 required files (5 structures, 3 enumerations, 1 enumeration-set)
- These files were submitted to GEDCOM registry via PR #173
- Validated using official GEDCOM registry validator
- Added CHANGELOG.md to track version history
- Updated README with registry submission status
- Bumped version to 0.2.1

The original yaml/ directory is preserved for backward compatibility,
but registry-yaml/ contains the authoritative definitions.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
@sourcery-ai
Copy link
Copy Markdown

sourcery-ai Bot commented Jul 28, 2025

Reviewer's Guide

This PR prepares the v0.2.1 release by introducing a new registry-yaml directory containing nine GEDCOM registry-compliant definitions (five structures, three enumerations, one enumeration-set), adding a changelog and version bump, and updating documentation to reflect published status and registry submission.

Entity relationship diagram for new registry-compliant GEDCOM structures and enumerations

erDiagram
    _OCUR {
      string uri
      string label
    }
    _PART {
      string uri
      string label
    }
    _OCREF {
      string uri
      string label
    }
    _ATTR {
      string uri
      string label
    }
    _PRESENCE {
      string uri
      string label
    }
    enumset_Presence {
      string uri
    }
    enum_Present {
      string uri
    }
    enum_Absent {
      string uri
    }
    enum_Unknown {
      string uri
    }

    _OCUR ||--o{ _PART : "has participants"
    _PART }o--|| _OCUR : "belongs to occurrence"
    _OCREF ||--o{ _ATTR : "has attributes"
    _OCREF ||--|{ _PRESENCE : "has presence status"
    _OCREF }o--|| _PART : "references participant"
    _OCREF }o--|| _OCUR : "references occurrence"
    _PRESENCE }o--|| enumset_Presence : "uses enumset"
    enumset_Presence ||--|{ enum_Present : "includes"
    enumset_Presence ||--|{ enum_Absent : "includes"
    enumset_Presence ||--|{ enum_Unknown : "includes"
    _ATTR }o--|| _OCREF : "belongs to occurrence reference"
Loading

Class diagram for registry-compliant GEDCOM YAML structures

classDiagram
    class _OCUR {
      +string uri
      +string label
      +list<_PART> participants
      +list<string> substructures
    }
    class _PART {
      +string uri
      +string label
      +string pointerToParticipant
    }
    class _OCREF {
      +string uri
      +string label
      +string payload
      +list<_ATTR> attributes
      +_PRESENCE presence
      +list<string> substructures
    }
    class _ATTR {
      +string uri
      +string label
      +string type
      +string text
    }
    class _PRESENCE {
      +string uri
      +string label
      +enumset_Presence status
    }
    class enumset_Presence {
      +string uri
      +list<enum> values
    }
    class enum_Present {
      +string uri
      +string label
    }
    class enum_Absent {
      +string uri
      +string label
    }
    class enum_Unknown {
      +string uri
      +string label
    }

    _OCUR --> _PART : contains
    _PART --> _OCUR : belongs to
    _OCREF --> _ATTR : has
    _OCREF --> _PRESENCE : has
    _OCREF --> _OCUR : references
    _PRESENCE --> enumset_Presence : uses
    enumset_Presence --> enum_Present : includes
    enumset_Presence --> enum_Absent : includes
    enumset_Presence --> enum_Unknown : includes
    _ATTR --> _OCREF : belongs to
Loading

File-Level Changes

Change Details Files
Introduce registry-compliant YAML definitions for gedcom-occurrences extension
  • Add five structure definitions (_OCUR, _OCREF, _PART, _ATTR, _PRESENCE)
  • Add three individual enumeration definitions (Present, Absent, Unknown)
  • Add one enumeration-set definition (Presence)
  • Include registry-yaml/README.md with usage and compliance notes
registry-yaml/structure/_OCUR.yaml
registry-yaml/structure/_OCREF.yaml
registry-yaml/structure/_PART.yaml
registry-yaml/structure/_ATTR.yaml
registry-yaml/structure/_PRESENCE.yaml
registry-yaml/enumeration/enum-Present.yaml
registry-yaml/enumeration/enum-Absent.yaml
registry-yaml/enumeration/enum-Unknown.yaml
registry-yaml/enumeration-set/enumset-Presence.yaml
registry-yaml/README.md
Add changelog and bump project version to 0.2.1
  • Create CHANGELOG.md documenting v0.2.1 entry
  • Update VERSION to 0.2.1
CHANGELOG.md
VERSION
Update project README with release and registry submission status
  • Change status from Draft to Published v0.2.0
  • Add link to registry submission PR
  • Fix formatting of YAML definitions link
README.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@glamberson glamberson merged commit 794daea into master Jul 28, 2025
@glamberson glamberson deleted the add-registry-yaml branch July 28, 2025 10:41
Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

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

Hey @glamberson - I've reviewed your changes and they look great!

Prompt for AI Agents
Please address the comments from this code review:
## Individual Comments

### Comment 1
<location> `registry-yaml/structure/_ATTR.yaml:17` </location>
<code_context>
+
+  enumeration district, or other structured data from historical records.'
+substructures:
+  https://gedcom.io/terms/v7/TEXT: '{1:1}'
+  https://gedcom.io/terms/v7/TYPE: '{1:1}'
+superstructures:
+  https://github.com/glamberson/gedcom-occurrences/_OCREF: '{0:M}'
</code_context>

<issue_to_address>
Required substructure cardinality is strict.

If omitting either field is valid, adjust the cardinality. Otherwise, confirm all data sources provide both fields.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines +17 to +18
https://gedcom.io/terms/v7/TEXT: '{1:1}'
https://gedcom.io/terms/v7/TYPE: '{1:1}'
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

question: Required substructure cardinality is strict.

If omitting either field is valid, adjust the cardinality. Otherwise, confirm all data sources provide both fields.

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.

2 participants