diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d1dd95..08dcbe8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -105,4 +105,4 @@ releases may contain breaking changes. ("bulk-editing glosses" and "building a LIFT export from scratch", complete runnable scripts with verified output) and a "Differences from the C# libraries" page summarizing where sil-lift - deviates from SIL.Lift/LiftSorter/Chorus behavior and why. + deviates from SIL.Lift/LiftSorter behavior and why. diff --git a/README.md b/README.md index 9f6146a..f9796ef 100644 --- a/README.md +++ b/README.md @@ -48,8 +48,8 @@ byte-identity tests and property-based (Hypothesis) round-trip tests. rejected with a clear error; one-off migration of legacy files is possible with the XSLTs in the [lift-standard](https://github.com/sillsdev/lift-standard) repository. -- No merging (see [Chorus](https://github.com/sillsdev/chorus)) and no LDML - interpretation (writing-system files are carried, not parsed). +- No merging and no LDML interpretation (writing-system files are carried, not + parsed). ## Versioning diff --git a/docs/en/csharp-differences.md b/docs/en/csharp-differences.md index f6158d0..cf0cf1e 100644 --- a/docs/en/csharp-differences.md +++ b/docs/en/csharp-differences.md @@ -1,6 +1,6 @@ # Differences from the C# libraries -sil-lift is loosely analogous to SIL's C# LIFT tooling — chiefly `SIL.Lift` in [libpalaso](https://github.com/sillsdev/libpalaso) (parser, validator, migrator, `LiftSorter`), `SIL.DictionaryServices` in the same repo (the `LexEntry`/`LexSense` model, with its own LIFT reader/writer, that The Combine and WeSay use), and the LIFT handlers in [Chorus](https://github.com/sillsdev/chorus). It is a fresh implementation, not a port. This page summarizes where behavior deliberately differs. +sil-lift is loosely analogous to SIL's C# LIFT tooling — chiefly `SIL.Lift` in [libpalaso](https://github.com/sillsdev/libpalaso) (parser, validator, migrator, `LiftSorter`) and `SIL.DictionaryServices` in the same repo (the `LexEntry`/`LexSense` model, with its own LIFT reader/writer, that The Combine and WeSay use). It is a fresh implementation, not a port. This page summarizes where behavior deliberately differs. ## Scope @@ -8,7 +8,6 @@ sil-lift is loosely analogous to SIL's C# LIFT tooling — chiefly `SIL.Lift` in | ------------------ | ---------------------------------- | ---------------------------------------------------------- | | LIFT versions | 0.10–0.13 (migration built in) | **0.13 only**; older versions rejected with a clear error | | Version migration | `Migrator` (XSLT chain) | none — use the XSLTs in lift-standard for one-off upgrades | -| 3-way merge / sync | Chorus | out of scope | | Validation | RELAX NG only (`Validator`) | RELAX NG + ranges schema + semantic checks | | Streaming | internal entry-granularity parsing | public `open_reader` / `open_writer` API | @@ -21,7 +20,7 @@ sil-lift is loosely analogous to SIL's C# LIFT tooling — chiefly `SIL.Lift` in The strongest deliberate difference. Saving with `SIL.Lift` re-serializes the whole document. sil-lift guarantees: - an unchanged document saves **byte-identically**, and -- untouched entries keep their exact source bytes even when other entries change — the same per-entry byte chunking Chorus uses, applied automatically. +- untouched entries keep their exact source bytes even when other entries change — per-entry byte chunking, applied automatically. See [Fidelity guarantees](fidelity.md). @@ -48,5 +47,5 @@ The spec repo's `canonicalizeLift.xsl` is not used at all: it collapses whitespa ## Not carried over - WeSay-specific conveniences (dashboard/config handling around LIFT files). -- `SynchronicMerger` (Chorus update merging) — the byte-chunking idea lives on in the fidelity layer, the merging does not. +- `SynchronicMerger` (LIFT update-file merging) — the byte-chunking idea lives on in the fidelity layer, the merging does not. - LDML writing-system parsing: files in `WritingSystems/` are treated as opaque folder content. diff --git a/tests/corpus/PROVENANCE.md b/tests/corpus/PROVENANCE.md index 2a3df46..45dcf60 100644 --- a/tests/corpus/PROVENANCE.md +++ b/tests/corpus/PROVENANCE.md @@ -97,11 +97,10 @@ that script; committed so tests don't depend on regeneration. ## Not fetchable as files -- **chorus / LiftTools test data**: verified at pinned SHAs (`7313dd6…`, - `f3e87cc…`) that neither repo contains any standalone `.lift`/`.lift-ranges` - file — their LIFT test data is inline C# strings. The C# suites remain a - behavioral oracle; targeted extraction into `negative/`/edge-case fixtures - happens as needed. +- **LiftTools test data**: verified at a pinned SHA (`f3e87cc…`) that the repo + contains no standalone `.lift`/`.lift-ranges` file — its LIFT test data is + inline C# strings. The C# suites remain a behavioral oracle; targeted + extraction into `negative/`/edge-case fixtures happens as needed. - **libpalaso inline edge-case XML**: extracted as needed. - **Enggano export**: license/permission check pending; not fetched.