Skip to content

Adopt GetBible SWORD 0.4.0 for verified study text - #12

Merged
Llewellynvdm merged 2 commits into
mainfrom
fix/getbiblesword-0.4.0
Oct 10, 2026
Merged

Llewellynvdm merged 2 commits into
mainfrom
fix/getbiblesword-0.4.0

Conversation

@Llewellynvdm

@Llewellynvdm Llewellynvdm commented Oct 10, 2026 •

Copy link
Copy Markdown
Member

The study builder still pins GetBible SWORD 0.1.1. Release 0.4.0 adds strictly decoded UTF-8 source projections, detects corrupted SWORD strip output, and repairs current-entry attribute extraction. Merely changing the executable version would leave the builder decoding legacy fields and missing these improvements.

This change pins the public 0.4.0 release and both architecture hashes, synchronizes the extractor's v1 schema, and consumes verified normalized_raw / normalized_stripped bytes as strict UTF-8. Both API writers retain their source-aware TEI/OSIS/ThML conversion, so line boundaries, note bodies, character references, and scripture references benefit from the normalized source.

Explicitly unavailable source decoding is reported after stream verification, preserving extractor diagnostics and existing module recovery. Unavailable stripped text can still be recovered from valid source markup. Legacy rendered/stripped bytes remain verified and retained, but cannot override an unavailable normalized projection. Older v1 streams omitting both additions retain compatibility. The existing key decoder remains in use for UTF-8/single-byte dictionary indexes so malformed legacy keys, including Easton's actual index bytes, keep their existing v1 IDs and URLs. SCSU/UTF-16 source-body codecs are not applied to UTF-8 keys. This key compatibility rule does not relax normalized body decoding.

Public dictionary/commentary v1 schemas, paths, identifiers, reference shapes, and complete-download composition are unchanged. Original records, corrected official attributes, and unknown additive fields remain available internally. No generated API trees are published by this PR.

Validation:

  • 402 tests passed locally, including 50 new normalized-contract regressions and both writers across TEI, OSIS, and ThML.
  • Ruff checks and formatting passed.
  • Public release installation and version/contract verification passed.
  • Local rebuild and API validation passed for Easton (3,963 entries), StrongsGreek (5,742), StrongsHebrew (8,675), Clarke, and TSK.
  • Test Builder: passed.
  • Crosswire Corpus: 9/9 module builds and API validations passed.
  • Get Bible Sword: 6/6 binary smoke builds and API validations passed.
  • All 16 jobs passed on adaa342b7697cf7373f098dbbedbd279b8338924. The two live matrices cover 12 distinct dictionary/commentary modules, including the large Luther corpus.

Pin the new release and prefer its normalized source and stripped text
without reapplying source encodings or falling back to unsafe projections.
Preserve NDJSON verification, source records, diagnostics, and v1 API shapes.
Keep the established key decoder for legacy UTF-8 and single-byte indexes.
GetBible SWORD normalizes source bodies, not index keys; real Easton keys
still contain malformed bytes, so changing their decoding changes v1 URLs.
Cover the real index bytes while keeping source-body decoding strict.
@Llewellynvdm
Llewellynvdm marked this pull request as ready for review October 10, 2026 10:54
@Llewellynvdm
Llewellynvdm merged commit e6c30e3 into main Oct 10, 2026
16 checks passed
@Llewellynvdm
Llewellynvdm deleted the fix/getbiblesword-0.4.0 branch October 10, 2026 11:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant