Skip to content
github-actions[bot] edited this page Jul 30, 2026 · 5 revisions

AncestryLLM 0.4.0

Status: Unreleased development candidate. These notes describe the implemented first slice of the 0.4.0 milestone; they are not a publication or release-readiness claim. Milestone 3 and release tracker #193 are authoritative for scope, current completion, acceptance criteria, and remaining gates.

Implemented boundary slice

  • RootsMagic now has declared public core, query, and export boundaries. RootsMagicService composes those concerns instead of owning SQL generation policy itself.
  • RootsMagicExporter.map() returns a typed, validated in-memory RootsMagicGedcomDocument without creating output or report files. export() builds on that result and retains rollback-capable pair publication.
  • GedcomService consumes the public parser, graph, identity, quality, serialization, and synchronization seams. Exact architecture gateways prevent services and unrelated modules from reaching through to private compatibility kernels.
  • Public façade allowlists and representative prohibited-import tests make the dependency direction executable.
  • The GEDCOM document model, physical-line parser, structural validator, and deterministic UTF-8-safe line serializer are physically separate from the compatibility engine. Supported parser and serialization façades preserve their existing symbols and diagnostics.

Preserved compatibility and safety

The one-shot CLI and prompt-toolkit/Rich REPL remain the only implemented adapters. Command grammar, stable coded errors, immutable RootsMagic inputs, loss-minimal GEDCOM handling, explicit provider selection and consent, and network-free provider=none behavior are unchanged.

RootsMagic mapping verifies the source fingerprint before and after conversion. Publication still stages the GEDCOM and sanitized report and commits or rolls back the pair as one operation.

Remaining 0.4.0 work

The document-foundation slice does not claim that the historical kernels have been fully decomposed. Issues #164 through #167 still require physical extraction of GEDCOM operations and RootsMagic query/schema internals from gedcom/engine.py, gedcom/incremental.py, rootsmagic/reader.py, and rootsmagic/schema_adapter.py, followed by #166 removal of obsolete compatibility paths. The implemented work establishes the supported document boundary that those extractions must preserve.

Before 0.4.0 can be declared release-ready, every scoped issue and acceptance criterion in release tracker #193 must be complete and the canonical local and hosted release gates must pass. Project and lock metadata now identify the 0.4.0 development line; this is not permission to tag or publish it.

Clone this wiki locally