# Пример проекта книги: один чанк zh→ru через C1 — прод-пара пайплайна (pipeline-c1 несёт # промпты, ключёванные по паре, только для zh-ru: D39 слой 2). Собственный тестовый фрагмент. book_id: sample-zh title: 黎明藏书阁 # «Книгохранилище на рассвете» — собственный тестовый фрагмент source_lang: zh target_lang: ru genre: ранобэ audience: взрослые читатели вебновелл adult: false venuti: 0.6 honorifics: keep transcription: palladius # zh→ru: система Палладия (пиньинь — латинская, не для ru-таргета) footnotes: minimal pipeline: ../configs/pipeline-c1.yaml models: ../configs/models.yaml source_file: chapter1-zh.txt project_db: sample-zh.db ceilings: book_usd: 1.00 # потолок $ на книгу — ledger обязан работать и в тестах day_usd: 2.00 # --- Демонстрация pair-сеама (D39 слой 2), НЕ активная конфигурация ------------------ # pipeline-c1 несёт промпты только для пары zh-ru (conventions написаны под китайский # исходник). Книга с source_lang: ja даёт LangPair() = "ja-ru", которого в паке нет, и # загрузка ПАДАЕТ ГРОМКО на loadTemplates (никогда молча не подставляем чужую пару). Чтобы # увидеть сеам, поменяйте выше на блок ниже (ja-фрагмент лежит в chapter1-chunk0.txt): # source_lang: ja # target_lang: ru # transcription: polivanov # source_file: chapter1-chunk0.txt # Запуск такого конфига fail-loud'ится с «no prompt for language pair "ja-ru"» — это # сигнал добавить ja-ru пакет промптов, а НЕ баг. ja-ru пакет здесь НЕ сочиняется: # контент пары = данные под реальную книгу (инвариант общности §0.1).