Concepts
Source project
A source project is the shared book and its source-derived state:
source/.booktx/source-config.toml.booktx/source-manifest.json.booktx/names.json.booktx/chapter-map.json.booktx/chunks/
Translation profile
A translation profile is an isolated translation effort under
translations/<profile>/.
It owns:
target language and locale
default actor / harness / model identity
profile-local context
translation store
version ledger
task files
ingest files
compatibility exported chunks
validation reports
rebuilt output
Explicit profile selection
.booktx/profile state records the currently selected profile. When
multiple profiles exist, commands that read or mutate translation state should
use --profile or rely on the active selection.
Versions inside a profile
Versions are scoped inside a profile, not across the whole project.
1.1and1.2are two candidates or context forks within the same profilea model change may create a new major track such as
2.1two profiles may both have a
1.1, and those are intentionally independent
Subversions are baseline-scoped, not full-live-context-scoped:
a chapter-note append updates the next task’s effective context but keeps the same dotted version;
a baseline policy change (style, glossary, answered questions, global rules, readiness, source metadata, language metadata) creates or selects the next subversion inside the current track.
Translation store
translations/<profile>/translation-store.json is the primary record-level
translation state for that profile.
translations/<profile>/translated/*.json remains a compatibility/export
surface managed by booktx translate export.
Editor QA indexes
booktx translate export-index writes three generated profile-local artifacts:
source-index.json– source text only, for isolated profile workflows and source-language searchtarget-index.json– effective target text only, for target-language search without source false positivessource-target-index.json– slim source/target side-by-side view for translation-fit scanning
All three are derived from the store, source chunks, and chapter map. They are
safe to delete and regenerate. Do not edit them manually and do not use them as
build input. The canonical state remains translation-store.json.
Context
translations/<profile>/context.json is authoritative.
translations/<profile>/context.md is a rendered agent view and must not be
treated as the durable source of truth.
Each task composes a context view from the current baseline plus the chapter
notes that come before the target chapter in chapter-map order. That composed
view is snapshotted under translations/<profile>/context-history/views/<sha>/
and becomes immutable task evidence.
Context is profile-local and never shared by linking or symlinking. For books
in the same series, export reusable policy (style, global rules, glossary,
approved question answers) as a series context pack and import it into the
other profile: see booktx context export-pack / import-pack.