Skip to content

Bridge 0.12.0

Choose a tag to compare

@RevantCI RevantCI released this 18 Sep 11:08
· 346 commits to main since this release

Cross-verse alignment gets suggestions — from the project's own completed alignments, and optionally from an AI provider.

Highlights

Cross-verse suggestions (#137–#139). alignment.gapScan gives one definition of an alignment gap, chapter-wide, and the Suggest strip ranks where each unmatched source word was probably realized in a neighbouring verse. The evidence is this project's own completed alignments — translation probability, PMI, a Strong's-keyed index and a phonetic edit-distance boost. Accepting stays an ordinary cross-verse link.

Suggest with AI, with an agreement gate (#146). A second button asks the configured OpenAI-compatible provider the same question. The model is handed opaque handles for the gap words only, so it cannot invent a word — every id it returns is resolved back against Bridge's own list, and an unknown one is refused. A pair is linked without a click only where the model and the offline statistical scorer independently choose the same uncontested pair; the model's own confidence is never the gate. Auto-applied links carry origin: "ai-auto" on the append-only audit trail, are removable like any other link, and never touch alignmentData/. With no API key the feature is simply absent and everything else works unchanged.

Source words are labelled in English (#145). The line under a Greek or Hebrew word in both alignment views is now the lexicon's rendering list — "condemn, damn" rather than another word in a script you may not read. Lemma, Strong's number and the full definition moved to the hover tooltip. Cross-verse rows also stack the word above its drop cell, so more of the range fits on screen.

Dashboard fixes (#143, #144). Opening a project no longer builds the whole QA report (measured at ~113 s on a real 1533-verse Genesis import), and "no AI review yet" is no longer counted as a verse needing attention.

Please read before using the AI feature

No Bridge AI path has ever been sent a request to a real provider (#131, QA matrix D12/D14). Every test uses a fake transport. The plumbing is verified — invented ids are refused, proposing writes nothing, a missing key is handled — but prompt quality, how often the agreement gate actually fires, and the cost estimate of roughly $0.03 per click are all unmeasured. Treat the first real run as an experiment, on a book you are willing to re-import.

Related: estimate_cost bills any model outside the four gpt-5.6-* names at the most expensive tier, so the lifetime usage figure over-reports for e.g. gpt-4o-mini (#147).

Verification

CI green on ed1c48f: engine 1287 passed, frontend 461 passed, Rust 10 passed, production build clean.

docs/QA_TEST_MATRIX.md is the release gate beyond CI and carries 49 NOT RUN rows — one more than 0.11.0, the new one being D14 for the AI feature above. The manual desktop rows (M01–M44) remain largely unrun, as at previous releases. scripts/smoke_sidecars.py is continue-on-error in the release workflow because of a known project.inspectImport classification mismatch, so a green build is not by itself evidence the frozen sidecars are healthy.

Windows (x86_64-pc-windows-msvc) is the only verified target.