-
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. -
RootsMagicMapper.map()returns a typed, deterministic, JSON-safeRootsMagicGedcomDocumentand structured loss report without exposing host paths or creating output/report files. Application-ownedRootsMagicExporter.export()privately retains source verification state, validates the document before staging, and preserves rollback-capable pair publication behind the legacy exporter import. -
GedcomServiceconsumes the public parser, graph, identity, quality, serialization, and synchronization seams. Exact architecture gateways prevent services and unrelated modules from reaching through import-only compatibility façades to undeclared implementation details. - 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 historical GEDCOM engine and incremental synchronizer are now import-only compatibility façades. Bounded ingress, loss-minimal serialization, atomic text staging, typed synchronization contracts, deterministic algorithms, manifest validation, generation publication and recovery, typed orchestration, and legacy argument translation have focused physical owners. Production callers use those owners through the supported service façades; one explicit test retains two direct compatibility imports to verify re-export identity.
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 reads one verified immutable snapshot. Publication retains the private source fingerprint, validates mapped content before creating staged artifacts, then revalidates the source while committing or rolling back the GEDCOM and sanitized report pair as one operation.
The #166 extraction is implemented in this candidate without changing stable
errors, cancellation/recovery semantics, deterministic output, loss-minimal
GEDCOM handling, provider-none behavior, or atomic publication. Release
evidence is still required for the broad non-person and multi-generation sync
paths, external GEDCOM interoperability, and every other scoped tracker item.
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