Project layout
booktx now uses a source-first, profile-aware layout.
book/
source/
book.md
.booktx/
source-config.toml
source-manifest.json
names.json
chapter-map.json
chunks/
0001.json
0002.json
translations/
PROFILE_A/
config.toml
identity.json
context.json
context.md
translation-store.json
translation-version-ledger.json
tasks/
ingest/
translated/
reports/
output/
book.de.md
Translation profile scope
Every translation effort lives under translations/<profile>/.
Path |
Scope |
Notes |
|---|---|---|
|
profile-local |
Target language, locale, output filename, default identity |
|
profile-local |
Stored actor/harness/model defaults |
|
profile-local |
Authoritative translation context |
|
profile-local |
Rendered context for agents |
|
profile-local |
Primary record-level translation state |
|
profile-local |
Version history inside this profile |
|
profile-local |
Persisted translation tasks |
|
profile-local |
Durable submission files |
|
profile-local |
Generated compatibility/export chunk JSON (rebuildable; not primary state) |
|
profile-local |
Generated source-only editor QA index; rebuildable from source chunks and chapter map |
|
profile-local |
Generated target-only search index for editor QA; rebuildable from store, chunks, and chapter map |
|
profile-local |
Generated source/target side-by-side editor QA index; rebuildable from store, chunks, and chapter map |
|
profile-local |
Validation reports |
|
profile-local |
Rebuilt translated documents (rebuildable from the store) |
Safety rules
A profile is the hard isolation boundary.
Different languages must not share one translation store.
Model experiments should usually be separate profiles, even for the same target language.
Project-root profile-local commands require
--profile PROFILE.Legacy single-layout projects should be migrated with
booktx profile migrate-current.translations/<profile>/translated/andtranslations/<profile>/output/are generated artifacts. They can be deleted and regenerated; do not treat them as primary state (the store and ledger are).
Legacy layout and migration
Legacy single-layout projects keep all state under .booktx/:
book/.booktx/
config.toml # source + target config
manifest.json
names.json
chunks/
context.json
identity.json
translation-store.json
translation-version-ledger.json
tasks/
ingest/
translated/
reports/
book/output/ # build output lived at the project root
After booktx profile migrate-current ./book PROFILE, mutable state
moves under translations/PROFILE/, shared source state stays under
.booktx/, and build output moves under translations/PROFILE/output/. The
legacy config.toml is removed once migration completes.