-
Notifications
You must be signed in to change notification settings - Fork 0
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.
- RootsMagic now has declared public
core,query, andexportboundaries.RootsMagicServicecomposes those concerns instead of owning SQL generation policy itself. -
RootsMagicExporter.map()returns a typed, validated in-memoryRootsMagicGedcomDocumentwithout creating output or report files.export()builds on that result and retains rollback-capable pair publication. -
GedcomServiceconsumes 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 immutable RootsMagic SQLite source and schema implementations now have
physical
source.pyandschema.pyownership behind the publiccorefaçade. Query results include deterministic truncation metadata and tagged JSON-safe binary values, while legacy private import paths remain aliases. - 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.
- GEDCOM graph traversal, identity evidence and conservative merge, and immutable quality analysis/rendering are physically owned by their public operation modules. They preserve cancellation checkpoints and accept optional transport-neutral resolver ports without depending on UI, configuration, provider, keyring, or publication implementations.
- Incremental synchronization now has a pure staged kernel with bounded, immutable DTOs for snapshots, comparisons, content-addressed plans, replayable decisions, coded loss reports, unpublished application, atomic commit, recovery, structural events, and terminal outcomes. The public sync façade connects shared decision, cancellation, and progress ports without introducing terminal, host-path, or provider dependencies.
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.
The historical kernels have not been fully decomposed. Issue #166 still
requires concrete GEDCOM synchronization/publication adapters around the #165
stage contracts, followed by removal of obsolete compatibility paths in
gedcom/engine.py and gedcom/incremental.py. The implemented document,
operation, synchronization, and RootsMagic query boundaries define the
contracts that extraction 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.
- Home
- CLI reference
- Interactive console guide
- Architecture ownership and dependency contracts
- Bounded file ingress
- Versioning and compatibility
- Continuous integration
- Release runbook
- Encrypted backup and recovery
- First-run storage diagnostics
- GEDCOM compatibility and release checks
- Built-in module authoring
- Privacy and consent
- Provider guide
- Local LLM benchmarks
- Local-first retrieval evaluation
- Wiki synchronization
- Wiki operations and recovery
- Security response checklist
- Electron and FastAPI desktop ADR
- Data-flow threat model and control matrix