diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..051d81d --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,34 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## [0.1.1] - 2025-01-28 + +### Added +- Registry-compliant YAML files in `registry-yaml/` directory +- VERSION file +- CHANGELOG.md file +- Link to GEDCOM Registry PR #173 in README + +### Changed +- Updated README to reference registry submission status + +### Technical Details +- Added 12 YAML files validated by official GEDCOM registry validator: + - 7 structure definitions (_EVID, _ID, _FIND, _RDOC, _RACT, _CONC, _CONF) + - 4 enumeration definitions (High, Medium, Low, Hypothesis) + - 1 enumeration-set definition (Confidence) + +## [0.1.0] - 2025-01-27 + +### Added +- Initial release +- Evidence container records (_EVID) +- Research findings (_FIND, _RDOC, _RACT) +- Identity tracking (_ID) +- Confidence assessments (_CONC, _CONF) +- Basic examples +- Comprehensive documentation \ No newline at end of file diff --git a/README.md b/README.md index 0425037..f38c493 100644 --- a/README.md +++ b/README.md @@ -48,10 +48,12 @@ Tracks research process, including negative searches. - [Specification](specification.md) - Technical details and YAML definitions - [Design Rationale](design-rationale.md) - Why we made these choices -- [Community Insights](community-insights.md) - 15 years of discussions analyzed +- [Migration Guide](migration-guide.md) - Upgrading from traditional GEDCOM - [Use Cases](use-cases.md) - Real-world examples +- [Community Insights](community-insights.md) - Community discussions summary - [Glossary](glossary.md) - Terms and concepts -- [Migration Guide](migration-guide.md) - Adopting the extension +- [YAML Definitions](yaml/) - Original extension definitions +- [Registry-Compliant YAML](registry-yaml/) - Official registry format ## Key Benefits @@ -73,6 +75,12 @@ This extension synthesizes insights from: - 47 detailed proposals - 74 contributing genealogists and developers +## Status + +**Published** - v0.1.0 released + +**Registry Submission** - Submitted to [GEDCOM Registry PR #173](https://github.com/FamilySearch/GEDCOM-registries/pull/173) + ## Contributing This extension is open for community input. Please see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines. diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..6da28dd --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.1.1 \ No newline at end of file diff --git a/registry-yaml/README.md b/registry-yaml/README.md new file mode 100644 index 0000000..c057c7a --- /dev/null +++ b/registry-yaml/README.md @@ -0,0 +1,28 @@ +# Registry-Compliant YAML Files + +This directory contains the GEDCOM registry-compliant YAML files for the gedcom-evidence extension. + +These files were submitted to the official GEDCOM registry via PR #173: +https://github.com/FamilySearch/GEDCOM-registries/pull/173 + +## Structure + +The files follow the official GEDCOM registry structure: + +- `structure/` - Extension tag definitions (_EVID, _FIND, _RDOC, etc.) +- `enumeration/` - Individual enumeration values (High, Medium, Low, Hypothesis) +- `enumeration-set/` - Enumeration set definition (Confidence) + +## Key Differences from Original yaml/ Directory + +The original `yaml/` directory files had several issues that prevented registry acceptance: +- Used `type: record` instead of `type: structure` +- Missing enumeration definitions +- Incorrect enumeration value format (lowercase instead of uppercase) + +These registry-compliant versions have been validated and accepted by the GEDCOM registry validator. + +## Usage + +These files are the authoritative definitions for the gedcom-evidence extension tags. +Applications implementing this extension should reference these definitions. \ No newline at end of file diff --git a/registry-yaml/enumeration-set/enumset-Confidence.yaml b/registry-yaml/enumeration-set/enumset-Confidence.yaml new file mode 100644 index 0000000..3906e8c --- /dev/null +++ b/registry-yaml/enumeration-set/enumset-Confidence.yaml @@ -0,0 +1,16 @@ +%YAML 1.2 +--- +lang: en-US + +type: enumeration set + +uri: https://github.com/glamberson/gedcom-evidence/enumset-Confidence + +enumeration values: + - "https://github.com/glamberson/gedcom-evidence/enum-High" + - "https://github.com/glamberson/gedcom-evidence/enum-Medium" + - "https://github.com/glamberson/gedcom-evidence/enum-Low" + - "https://github.com/glamberson/gedcom-evidence/enum-Hypothesis" + +contact: "https://github.com/glamberson/gedcom-evidence" +... \ No newline at end of file diff --git a/registry-yaml/enumeration/enum-High.yaml b/registry-yaml/enumeration/enum-High.yaml new file mode 100644 index 0000000..a066949 --- /dev/null +++ b/registry-yaml/enumeration/enum-High.yaml @@ -0,0 +1,11 @@ +lang: en-US +type: enumeration +uri: https://github.com/glamberson/gedcom-evidence/enum-High +extension tags: +- _HIGH +specification: +- High Confidence +- Strong confidence in evidence relevance and interpretation +value of: +- https://github.com/glamberson/gedcom-evidence/enumset-Confidence +contact: https://github.com/glamberson/gedcom-evidence diff --git a/registry-yaml/enumeration/enum-Hypothesis.yaml b/registry-yaml/enumeration/enum-Hypothesis.yaml new file mode 100644 index 0000000..1f43974 --- /dev/null +++ b/registry-yaml/enumeration/enum-Hypothesis.yaml @@ -0,0 +1,11 @@ +lang: en-US +type: enumeration +uri: https://github.com/glamberson/gedcom-evidence/enum-Hypothesis +extension tags: +- _HYPOTHESIS +specification: +- Hypothesis +- Speculative connection requiring further research +value of: +- https://github.com/glamberson/gedcom-evidence/enumset-Confidence +contact: https://github.com/glamberson/gedcom-evidence diff --git a/registry-yaml/enumeration/enum-Low.yaml b/registry-yaml/enumeration/enum-Low.yaml new file mode 100644 index 0000000..9ccbac3 --- /dev/null +++ b/registry-yaml/enumeration/enum-Low.yaml @@ -0,0 +1,11 @@ +lang: en-US +type: enumeration +uri: https://github.com/glamberson/gedcom-evidence/enum-Low +extension tags: +- _LOW +specification: +- Low Confidence +- Weak confidence, significant uncertainty +value of: +- https://github.com/glamberson/gedcom-evidence/enumset-Confidence +contact: https://github.com/glamberson/gedcom-evidence diff --git a/registry-yaml/enumeration/enum-Medium.yaml b/registry-yaml/enumeration/enum-Medium.yaml new file mode 100644 index 0000000..05f3a93 --- /dev/null +++ b/registry-yaml/enumeration/enum-Medium.yaml @@ -0,0 +1,11 @@ +lang: en-US +type: enumeration +uri: https://github.com/glamberson/gedcom-evidence/enum-Medium +extension tags: +- _MEDIUM +specification: +- Medium Confidence +- Moderate confidence, some uncertainty remains +value of: +- https://github.com/glamberson/gedcom-evidence/enumset-Confidence +contact: https://github.com/glamberson/gedcom-evidence diff --git a/registry-yaml/structure/_CONC.yaml b/registry-yaml/structure/_CONC.yaml new file mode 100644 index 0000000..2377fc0 --- /dev/null +++ b/registry-yaml/structure/_CONC.yaml @@ -0,0 +1,32 @@ +%YAML 1.2 +--- +contact: https://github.com/glamberson/gedcom-evidence +extension tags: +- _CONC +label: Evidence Conclusion +lang: en-US +payload: '@@' +specification: +- Evidence Conclusion +- 'A reference from an individual or family to evidence that supports + + conclusions about that person or family. This creates the reverse + + link from conclusions to supporting evidence. + + + _CONC structures allow individuals and families to document which + + evidence supports their existence and characteristics, completing + + the bidirectional relationship between evidence and conclusions.' +substructures: + https://gedcom.io/terms/v7/NOTE: '{0:M}' + https://gedcom.io/terms/v7/QUAY: '{0:1}' + https://github.com/glamberson/gedcom-evidence/_RDOC: '{0:M}' +superstructures: + https://gedcom.io/terms/v7/record-FAM: '{0:M}' + https://gedcom.io/terms/v7/record-INDI: '{0:M}' +type: structure +uri: https://github.com/glamberson/gedcom-evidence/_CONC +... diff --git a/registry-yaml/structure/_CONF.yaml b/registry-yaml/structure/_CONF.yaml new file mode 100644 index 0000000..1d8cac3 --- /dev/null +++ b/registry-yaml/structure/_CONF.yaml @@ -0,0 +1,27 @@ +%YAML 1.2 +--- +contact: https://github.com/glamberson/gedcom-evidence +extension tags: +- _CONF +label: Evidence Confidence +lang: en-US +payload: https://github.com/glamberson/gedcom-evidence/enumset-Confidence +specification: +- Evidence Confidence +- 'Overall confidence assessment for a piece of evidence. This differs + + from QUAY (quality of data) by assessing the researcher''s confidence + + in the evidence''s relevance and interpretation. + + + Confidence levels can change as additional evidence is discovered + + and analysis progresses.' +substructures: + https://gedcom.io/terms/v7/NOTE: '{0:M}' +superstructures: + https://github.com/glamberson/gedcom-evidence/_EVID: '{0:1}' +type: structure +uri: https://github.com/glamberson/gedcom-evidence/_CONF +... diff --git a/registry-yaml/structure/_EVID.yaml b/registry-yaml/structure/_EVID.yaml new file mode 100644 index 0000000..c9b1015 --- /dev/null +++ b/registry-yaml/structure/_EVID.yaml @@ -0,0 +1,40 @@ +%YAML 1.2 +--- +contact: https://github.com/glamberson/gedcom-evidence +extension tags: +- _EVID +label: Evidence Container +lang: en-US +payload: null +specification: +- Evidence Container +- 'An _EVID record represents a piece of evidence as an independent object, + + separate from any specific conclusion or individual. This allows "floating + + evidence" that can be associated with multiple potential individuals or + + left unassociated until identity can be determined. + + + Evidence containers preserve original source information exactly as found, + + including names, dates, places, and relationships, without forcing premature + + identity conclusions. This solves the "Which John Smith?" problem by allowing + + evidence to exist independently until research determines the correct association.' +substructures: + https://gedcom.io/terms/v7/CHAN: '{0:1}' + https://gedcom.io/terms/v7/EXID: '{0:M}' + https://gedcom.io/terms/v7/NOTE: '{0:M}' + https://gedcom.io/terms/v7/SNOTE: '{0:M}' + https://gedcom.io/terms/v7/SOUR: '{1:M}' + https://gedcom.io/terms/v7/UID: '{0:M}' + https://github.com/glamberson/gedcom-evidence/_CONF: '{0:1}' + https://github.com/glamberson/gedcom-evidence/_FIND: '{0:M}' + https://github.com/glamberson/gedcom-evidence/_ID: '{0:M}' +superstructures: {} +type: structure +uri: https://github.com/glamberson/gedcom-evidence/_EVID +... diff --git a/registry-yaml/structure/_FIND.yaml b/registry-yaml/structure/_FIND.yaml new file mode 100644 index 0000000..4e11757 --- /dev/null +++ b/registry-yaml/structure/_FIND.yaml @@ -0,0 +1,35 @@ +%YAML 1.2 +--- +contact: https://github.com/glamberson/gedcom-evidence +extension tags: +- _FIND +label: Evidence Finding +lang: en-US +payload: null +specification: +- Evidence Finding +- 'A specific finding or fact extracted from evidence. _FIND structures + + represent individual pieces of information found in sources, such as + + names, dates, places, ages, relationships, or occupations. + + + Findings preserve the exact information as it appears in the source, + + including original spelling, formatting, and context, allowing researchers + + to maintain data fidelity throughout the research process.' +substructures: + https://gedcom.io/terms/v7/AGE: '{0:1}' + https://gedcom.io/terms/v7/DATE: '{0:1}' + https://gedcom.io/terms/v7/NOTE: '{0:M}' + https://gedcom.io/terms/v7/PLAC: '{0:1}' + https://gedcom.io/terms/v7/TEXT: '{0:1}' + https://gedcom.io/terms/v7/TYPE: '{1:1}' + https://github.com/glamberson/gedcom-evidence/_ID: '{0:M}' +superstructures: + https://github.com/glamberson/gedcom-evidence/_EVID: '{0:M}' +type: structure +uri: https://github.com/glamberson/gedcom-evidence/_FIND +... diff --git a/registry-yaml/structure/_ID.yaml b/registry-yaml/structure/_ID.yaml new file mode 100644 index 0000000..668be84 --- /dev/null +++ b/registry-yaml/structure/_ID.yaml @@ -0,0 +1,30 @@ +%YAML 1.2 +--- +contact: https://github.com/glamberson/gedcom-evidence +extension tags: +- _ID +label: Evidence Identifier +lang: en-US +payload: '@@ | @@ | @@' +specification: +- Evidence Identifier +- 'An identifier reference from evidence to an individual, family, or other + + record. This creates a bidirectional link between evidence and conclusions, + + allowing evidence to be associated with multiple potential individuals. + + + The _ID structure supports gradual refinement of identity as research + + progresses, with confidence levels and research documentation.' +substructures: + https://gedcom.io/terms/v7/NOTE: '{0:M}' + https://gedcom.io/terms/v7/QUAY: '{0:1}' + https://github.com/glamberson/gedcom-evidence/_RDOC: '{0:M}' +superstructures: + https://github.com/glamberson/gedcom-evidence/_EVID: '{0:M}' + https://github.com/glamberson/gedcom-evidence/_FIND: '{0:M}' +type: structure +uri: https://github.com/glamberson/gedcom-evidence/_ID +... diff --git a/registry-yaml/structure/_RACT.yaml b/registry-yaml/structure/_RACT.yaml new file mode 100644 index 0000000..6913825 --- /dev/null +++ b/registry-yaml/structure/_RACT.yaml @@ -0,0 +1,35 @@ +%YAML 1.2 +--- +contact: https://github.com/glamberson/gedcom-evidence +extension tags: +- _RACT +label: Research Activity +lang: en-US +payload: null +specification: +- Research Activity +- 'A record of a specific research activity, including searches performed, + + sources consulted, and findings. _RACT records support research logs + + and document the research process over time. + + + Research activities can reference evidence found, conclusions drawn, + + and documentation of negative searches (sources checked that yielded + + no relevant information).' +substructures: + https://gedcom.io/terms/v7/CHAN: '{0:1}' + https://gedcom.io/terms/v7/DATE: '{0:1}' + https://gedcom.io/terms/v7/NOTE: '{0:M}' + https://gedcom.io/terms/v7/SNOTE: '{0:M}' + https://gedcom.io/terms/v7/SOUR: '{0:M}' + https://gedcom.io/terms/v7/TYPE: '{0:1}' + https://gedcom.io/terms/v7/UID: '{0:M}' + https://github.com/glamberson/gedcom-evidence/_RDOC: '{0:M}' +superstructures: {} +type: structure +uri: https://github.com/glamberson/gedcom-evidence/_RACT +... diff --git a/registry-yaml/structure/_RDOC.yaml b/registry-yaml/structure/_RDOC.yaml new file mode 100644 index 0000000..be6364c --- /dev/null +++ b/registry-yaml/structure/_RDOC.yaml @@ -0,0 +1,33 @@ +%YAML 1.2 +--- +contact: https://github.com/glamberson/gedcom-evidence +extension tags: +- _RDOC +label: Research Documentation +lang: en-US +payload: '@@' +specification: +- Research Documentation +- 'Documentation of research reasoning, analysis, and decisions. _RDOC + + structures capture the "why" behind associations between evidence and + + individuals, including proof arguments and conflict resolution. + + + This supports the Genealogical Proof Standard by documenting reasonably + + exhaustive searches, complete source citations, analysis and correlation, + + resolution of conflicts, and soundly reasoned conclusions.' +substructures: + https://gedcom.io/terms/v7/DATE: '{0:1}' + https://gedcom.io/terms/v7/NOTE: '{0:M}' + https://gedcom.io/terms/v7/SNOTE: '{0:M}' +superstructures: + https://github.com/glamberson/gedcom-evidence/_CONC: '{0:M}' + https://github.com/glamberson/gedcom-evidence/_ID: '{0:M}' + https://github.com/glamberson/gedcom-evidence/_RACT: '{0:M}' +type: structure +uri: https://github.com/glamberson/gedcom-evidence/_RDOC +...