Add the Paratext 9 import service, storage, provenance, and commands - #273
Open
jasonleenaylor wants to merge 4 commits into
Open
Add the Paratext 9 import service, storage, provenance, and commands#273jasonleenaylor wants to merge 4 commits into
jasonleenaylor wants to merge 4 commits into
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
jasonleenaylor
force-pushed
the
pt9-parsed-service
branch
2 times, most recently
from
August 27, 2026 22:21
7706947 to
5ce31d8
Compare
jasonleenaylor
marked this pull request as ready for review
August 27, 2026 22:47
The backend half of the PT9 import: InterlinearProject gains optional pt9Import provenance (per-file hashes and the import timestamp), and a project carrying it is frozen - storage rejects user writes and only the import's own save path replaces its content, while deleting stays allowed. projectStorage gains savePt9Import, getPt9ImportForSource, and createEditableCopy; pt9ImportService.importPt9Project fetches the parsed payload through the platformScripture.Pt9Interlinear projectInterface, rebuilds each referenced book's text layer from USJ, converts, and persists the source's single frozen import. Commands and type guards round out the wire surface. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The provenance doc names the functions that enforce it (updateAnalysis and updateProjectMetadata reject, savePt9Import replaces, deleteProject accepts) and no longer claims view behavior this tree does not contain. The writing-system fallback is pinned for a non-string setting value, not only an empty one. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
isPt9ImportReport and its per-book helper now live in the converter's report module, next to the type they validate and exported through the converter's public surface, so the types layer no longer imports upward from the converters. The frontend-mock helper leaves this tree for the WebView change that uses it, and the ENOENT error fixture has one definition in test-helpers instead of one per test file. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
jasonleenaylor
force-pushed
the
pt9-parsed-service
branch
from
August 27, 2026 23:04
d5f84f5 to
378ab64
Compare
jasonleenaylor
force-pushed
the
pt9-parsed-converter
branch
from
August 27, 2026 23:04
42f0b13 to
8805469
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The backend half of the PT9 import, stacked on #272. Supersedes #268.
the import timestamp). A project carrying it is frozen: storage rejects
every user write and only the import's own save path replaces its content;
deleting stays allowed.
project or replace it wholesale), getPt9ImportForSource, and
createEditableCopy (clone an import's analysis into a new editable project
with no provenance).
platformScripture.Pt9Interlinear projectInterface, rebuilds each referenced
book's text layer from USJ, converts, and persists - created on first run,
replaced wholesale on later runs, and kept untouched (staleKept) when the
source files have vanished.
description, and the type guards the wire surface needs.
This change is