C++20 · native extraction boundary
GetBibleSWORD
A native C++20 extraction engine for CrossWire SWORD modules with a CLI, stable C ABI, deterministic NDJSON output, and cross-architecture releases.
- Role
- Architect and systems developer.
- Evidence
- 2 direct public links
Purpose and value
Why this system exists
The engine isolates native library concerns behind explicit machine interfaces, allowing build pipelines and other consumers to use SWORD data without inheriting its implementation complexity.
Architect and systems developer.
System structure
Architecture
- 01
A native core reads SWORD modules and emits a versioned NDJSON protocol.
- 02
The command-line interface supports batch and pipeline operation.
- 03
A stable C ABI exposes library functionality to other runtimes without a C++ ABI dependency.
- 04
Release workflows target x86_64 and arm64.
Boundaries
Principal interfaces
Judgement
Engineering decisions
Use C++ for direct SWORD integration and a C ABI for broad language interoperability.
Keep output deterministic and line-oriented for validation, streaming, and failure isolation.
Treat the protocol as a contract rather than an incidental serialization detail.
Confidence model
Delivery, validation, and maintenance
- Conformance validation
- Deterministic serialization
- Explicit ABI versioning
- Automated x86_64 and arm64 builds
Direct sources