readio 0.3.3__tar.gz → 0.3.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (432) hide show
  1. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +6 -0
  2. readio-0.3.4/.ledger/releaseledger/data/ledgers/main/releases/v0.3.4/audit/commit-audit.yaml +237 -0
  3. readio-0.3.4/.ledger/releaseledger/data/ledgers/main/releases/v0.3.4/entries/entry-0001.md +47 -0
  4. readio-0.3.4/.ledger/releaseledger/data/ledgers/main/releases/v0.3.4/entries/entry-0002.md +48 -0
  5. readio-0.3.4/.ledger/releaseledger/data/ledgers/main/releases/v0.3.4/entries/entry-0003.md +68 -0
  6. readio-0.3.4/.ledger/releaseledger/data/ledgers/main/releases/v0.3.4/entries/entry-0004.md +51 -0
  7. readio-0.3.4/.ledger/releaseledger/data/ledgers/main/releases/v0.3.4/release.md +27 -0
  8. readio-0.3.4/.ledger/releaseledger/work/v0.3.4/audit-decisions.yaml +80 -0
  9. readio-0.3.4/.ledger/releaseledger/work/v0.3.4/audit.yaml +175 -0
  10. readio-0.3.4/.ledger/releaseledger/work/v0.3.4/entries.yaml +161 -0
  11. readio-0.3.4/.ledger/releaseledger/work/v0.3.4/evidence/422c1ba.patch +1967 -0
  12. readio-0.3.4/.ledger/releaseledger/work/v0.3.4/evidence/aac57ba.patch +3589 -0
  13. readio-0.3.4/.ledger/releaseledger/work/v0.3.4/evidence/c9c1f8c.patch +2948 -0
  14. readio-0.3.4/.ledger/releaseledger/work/v0.3.4/evidence/ca9684a.patch +1660 -0
  15. readio-0.3.4/.ledger/releaseledger/work/v0.3.4/evidence/manifest.json +159 -0
  16. readio-0.3.4/.ledger/releaseledger/work/v0.3.4/range.json +13 -0
  17. {readio-0.3.3 → readio-0.3.4}/PKG-INFO +3 -2
  18. {readio-0.3.3 → readio-0.3.4}/README.md +2 -1
  19. {readio-0.3.3 → readio-0.3.4}/docs/api.md +39 -0
  20. {readio-0.3.3 → readio-0.3.4}/docs/changelog.md +14 -0
  21. {readio-0.3.3 → readio-0.3.4}/docs/cli.md +27 -0
  22. {readio-0.3.3 → readio-0.3.4}/docs/projects.md +24 -1
  23. {readio-0.3.3 → readio-0.3.4}/llm-guides/README.md +38 -8
  24. readio-0.3.4/llm-guides/evals/README.md +43 -0
  25. readio-0.3.4/llm-guides/evals/prompts/audio-drama-source.md +12 -0
  26. readio-0.3.4/llm-guides/evals/prompts/audio-drama.md +5 -0
  27. readio-0.3.4/llm-guides/evals/prompts/debate-pro-con.md +5 -0
  28. readio-0.3.4/llm-guides/evals/prompts/document-summary.md +9 -0
  29. readio-0.3.4/llm-guides/evals/prompts/dramatic-story-constraints.md +11 -0
  30. readio-0.3.4/llm-guides/evals/prompts/dramatic-story.md +5 -0
  31. readio-0.3.4/llm-guides/evals/prompts/educational-explainer.md +5 -0
  32. readio-0.3.4/llm-guides/evals/prompts/funny-story-source.md +9 -0
  33. readio-0.3.4/llm-guides/evals/prompts/funny-story.md +5 -0
  34. readio-0.3.4/llm-guides/evals/prompts/general-narration.md +5 -0
  35. readio-0.3.4/llm-guides/evals/prompts/guided-meditation.md +5 -0
  36. readio-0.3.4/llm-guides/evals/prompts/kids-story-constraints.md +11 -0
  37. readio-0.3.4/llm-guides/evals/prompts/kids-story.md +5 -0
  38. readio-0.3.4/llm-guides/evals/prompts/language-learning.md +5 -0
  39. readio-0.3.4/llm-guides/evals/prompts/news-briefing.md +9 -0
  40. readio-0.3.4/llm-guides/evals/prompts/podcast-interview-source.md +13 -0
  41. readio-0.3.4/llm-guides/evals/prompts/podcast-interview.md +5 -0
  42. readio-0.3.4/llm-guides/evals/prompts/podcast-roundtable-source.md +9 -0
  43. readio-0.3.4/llm-guides/evals/prompts/podcast-roundtable.md +5 -0
  44. readio-0.3.4/llm-guides/evals/prompts/podcast-solo.md +5 -0
  45. readio-0.3.4/llm-guides/evals/prompts/quiz-trivia.md +5 -0
  46. readio-0.3.4/llm-guides/evals/rubric.md +31 -0
  47. readio-0.3.4/llm-guides/ssmd/audio-drama.md +375 -0
  48. readio-0.3.4/llm-guides/ssmd/debate-pro-con.md +374 -0
  49. readio-0.3.4/llm-guides/ssmd/document-summary.md +358 -0
  50. readio-0.3.4/llm-guides/ssmd/dramatic-story.md +371 -0
  51. readio-0.3.4/llm-guides/ssmd/educational-explainer.md +357 -0
  52. readio-0.3.4/llm-guides/ssmd/funny-story.md +385 -0
  53. readio-0.3.4/llm-guides/ssmd/general-narration.md +353 -0
  54. readio-0.3.4/llm-guides/ssmd/guided-meditation.md +355 -0
  55. readio-0.3.4/llm-guides/ssmd/kids-story.md +373 -0
  56. readio-0.3.4/llm-guides/ssmd/language-learning.md +388 -0
  57. readio-0.3.4/llm-guides/ssmd/news-briefing.md +355 -0
  58. readio-0.3.4/llm-guides/ssmd/podcast-interview.md +380 -0
  59. readio-0.3.4/llm-guides/ssmd/podcast-roundtable.md +375 -0
  60. readio-0.3.4/llm-guides/ssmd/podcast-solo.md +353 -0
  61. readio-0.3.4/llm-guides/ssmd/quiz-trivia.md +365 -0
  62. {readio-0.3.3 → readio-0.3.4}/readio/api/__init__.py +10 -0
  63. {readio-0.3.3 → readio-0.3.4}/readio/api/audiobooks.py +43 -3
  64. {readio-0.3.3 → readio-0.3.4}/readio/api/projects.py +214 -10
  65. {readio-0.3.3 → readio-0.3.4}/readio/api/speech.py +11 -0
  66. {readio-0.3.3 → readio-0.3.4}/readio/api/types.py +155 -1
  67. {readio-0.3.3 → readio-0.3.4}/readio/cli.py +272 -15
  68. {readio-0.3.3 → readio-0.3.4}/readio/cli_adapter.py +4 -0
  69. {readio-0.3.3 → readio-0.3.4}/readio/execution.py +1 -0
  70. {readio-0.3.3 → readio-0.3.4}/readio/plan.py +88 -6
  71. {readio-0.3.3 → readio-0.3.4}/readio/project_model.py +233 -16
  72. readio-0.3.4/readio/project_settings.py +520 -0
  73. {readio-0.3.3 → readio-0.3.4}/readio/stages/audiobook_export.py +3 -2
  74. {readio-0.3.3 → readio-0.3.4}/readio/stages/composition.py +136 -26
  75. {readio-0.3.3 → readio-0.3.4}/readio/stages/pipeline.py +234 -36
  76. {readio-0.3.3 → readio-0.3.4}/readio/stages/planning.py +42 -6
  77. {readio-0.3.3 → readio-0.3.4}/readio/stages/synthesis.py +52 -3
  78. {readio-0.3.3 → readio-0.3.4}/readio.egg-info/PKG-INFO +3 -2
  79. {readio-0.3.3 → readio-0.3.4}/readio.egg-info/SOURCES.txt +39 -0
  80. {readio-0.3.3 → readio-0.3.4}/readio.egg-info/scm_file_list.json +39 -0
  81. readio-0.3.4/readio.egg-info/scm_version.json +8 -0
  82. {readio-0.3.3 → readio-0.3.4}/tests/test_audiobook_export_api.py +120 -0
  83. {readio-0.3.3 → readio-0.3.4}/tests/test_audiobook_status.py +56 -0
  84. {readio-0.3.3 → readio-0.3.4}/tests/test_cli.py +139 -8
  85. {readio-0.3.3 → readio-0.3.4}/tests/test_incremental_project_render.py +5 -1
  86. readio-0.3.4/tests/test_llm_guides.py +333 -0
  87. readio-0.3.4/tests/test_mastering_profiles.py +62 -0
  88. {readio-0.3.3 → readio-0.3.4}/tests/test_project_composition.py +35 -3
  89. {readio-0.3.3 → readio-0.3.4}/tests/test_project_model.py +216 -0
  90. {readio-0.3.3 → readio-0.3.4}/tests/test_public_api_events.py +29 -0
  91. {readio-0.3.3 → readio-0.3.4}/tests/test_public_api_imports.py +3 -0
  92. {readio-0.3.3 → readio-0.3.4}/tests/test_public_api_projects.py +387 -0
  93. {readio-0.3.3 → readio-0.3.4}/tests/test_public_api_types.py +22 -0
  94. {readio-0.3.3 → readio-0.3.4}/tests/test_render_from_plan.py +3 -0
  95. {readio-0.3.3 → readio-0.3.4}/tests/test_ssmd_authoring_09.py +29 -0
  96. {readio-0.3.3 → readio-0.3.4}/tests/typecheck/public_api_consumer.py +17 -0
  97. readio-0.3.3/llm-guides/ssmd/audio-drama.md +0 -328
  98. readio-0.3.3/llm-guides/ssmd/debate-pro-con.md +0 -330
  99. readio-0.3.3/llm-guides/ssmd/document-summary.md +0 -310
  100. readio-0.3.3/llm-guides/ssmd/dramatic-story.md +0 -326
  101. readio-0.3.3/llm-guides/ssmd/educational-explainer.md +0 -316
  102. readio-0.3.3/llm-guides/ssmd/funny-story.md +0 -337
  103. readio-0.3.3/llm-guides/ssmd/general-narration.md +0 -306
  104. readio-0.3.3/llm-guides/ssmd/guided-meditation.md +0 -310
  105. readio-0.3.3/llm-guides/ssmd/kids-story.md +0 -329
  106. readio-0.3.3/llm-guides/ssmd/language-learning.md +0 -333
  107. readio-0.3.3/llm-guides/ssmd/news-briefing.md +0 -313
  108. readio-0.3.3/llm-guides/ssmd/podcast-interview.md +0 -335
  109. readio-0.3.3/llm-guides/ssmd/podcast-roundtable.md +0 -331
  110. readio-0.3.3/llm-guides/ssmd/podcast-solo.md +0 -316
  111. readio-0.3.3/llm-guides/ssmd/quiz-trivia.md +0 -315
  112. readio-0.3.3/readio/project_settings.py +0 -175
  113. readio-0.3.3/readio.egg-info/scm_version.json +0 -8
  114. readio-0.3.3/tests/test_llm_guides.py +0 -135
  115. {readio-0.3.3 → readio-0.3.4}/.codecrate.toml +0 -0
  116. {readio-0.3.3 → readio-0.3.4}/.github/workflows/codecov.yml +0 -0
  117. {readio-0.3.3 → readio-0.3.4}/.github/workflows/pre-commit.yml +0 -0
  118. {readio-0.3.3 → readio-0.3.4}/.github/workflows/python-publish.yml +0 -0
  119. {readio-0.3.3 → readio-0.3.4}/.github/workflows/tests.yml +0 -0
  120. {readio-0.3.3 → readio-0.3.4}/.gitignore +0 -0
  121. {readio-0.3.3 → readio-0.3.4}/.ledger/documentledger/.ledger-project.toml +0 -0
  122. {readio-0.3.3 → readio-0.3.4}/.ledger/documentledger/config.toml +0 -0
  123. {readio-0.3.3 → readio-0.3.4}/.ledger/documentledger/data/.ledger-project.toml +0 -0
  124. {readio-0.3.3 → readio-0.3.4}/.ledger/documentledger/data/docs/docs-changelog-md-77f023b9.yaml +0 -0
  125. {readio-0.3.3 → readio-0.3.4}/.ledger/documentledger/data/docs/docs-index-md-b4d68dc8.yaml +0 -0
  126. {readio-0.3.3 → readio-0.3.4}/.ledger/documentledger/data/docs/readme-md-b3356305.yaml +0 -0
  127. {readio-0.3.3 → readio-0.3.4}/.ledger/documentledger/data/scan.yaml +0 -0
  128. {readio-0.3.3 → readio-0.3.4}/.ledger/documentledger/data/source-index.json +0 -0
  129. {readio-0.3.3 → readio-0.3.4}/.ledger/documentledger/data/storage.yaml +0 -0
  130. {readio-0.3.3 → readio-0.3.4}/.ledger/ledger.toml +0 -0
  131. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/.ledger-project.toml +0 -0
  132. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/config.toml +0 -0
  133. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/.ledger-project.toml +0 -0
  134. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/audit/commit-audit.yaml +0 -0
  135. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0001.md +0 -0
  136. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0002.md +0 -0
  137. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0003.md +0 -0
  138. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0004.md +0 -0
  139. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0005.md +0 -0
  140. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/release.md +0 -0
  141. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.1/audit/commit-audit.yaml +0 -0
  142. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.1/entries/entry-0001.md +0 -0
  143. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.1/release.md +0 -0
  144. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/audit/commit-audit.yaml +0 -0
  145. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/entries/entry-0001.md +0 -0
  146. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/entries/entry-0002.md +0 -0
  147. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/entries/entry-0003.md +0 -0
  148. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/entries/entry-0004.md +0 -0
  149. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.2/release.md +0 -0
  150. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.3/audit/commit-audit.yaml +0 -0
  151. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.3/entries/entry-0001.md +0 -0
  152. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.3/entries/entry-0002.md +0 -0
  153. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.3/release.md +0 -0
  154. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/audit/commit-audit.yaml +0 -0
  155. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0001.md +0 -0
  156. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0002.md +0 -0
  157. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0003.md +0 -0
  158. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0004.md +0 -0
  159. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0005.md +0 -0
  160. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/entries/entry-0006.md +0 -0
  161. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.0/release.md +0 -0
  162. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.1/audit/commit-audit.yaml +0 -0
  163. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.1/entries/entry-0001.md +0 -0
  164. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.1/release.md +0 -0
  165. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/audit/commit-audit.yaml +0 -0
  166. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0001.md +0 -0
  167. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0002.md +0 -0
  168. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0003.md +0 -0
  169. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0004.md +0 -0
  170. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0005.md +0 -0
  171. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0006.md +0 -0
  172. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/entries/entry-0007.md +0 -0
  173. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.2/release.md +0 -0
  174. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0001.md +0 -0
  175. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0002.md +0 -0
  176. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0003.md +0 -0
  177. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0004.md +0 -0
  178. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0005.md +0 -0
  179. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/entries/entry-0006.md +0 -0
  180. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.3/release.md +0 -0
  181. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/audit/commit-audit.yaml +0 -0
  182. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/entries/entry-0001.md +0 -0
  183. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/entries/entry-0002.md +0 -0
  184. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/entries/entry-0003.md +0 -0
  185. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/entries/entry-0004.md +0 -0
  186. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.2.4/release.md +0 -0
  187. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.0/entries/entry-0001.md +0 -0
  188. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.0/entries/entry-0002.md +0 -0
  189. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.0/entries/entry-0003.md +0 -0
  190. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.0/entries/entry-0004.md +0 -0
  191. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.0/release.md +0 -0
  192. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.1/audit/commit-audit.yaml +0 -0
  193. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.1/entries/entry-0001.md +0 -0
  194. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.1/release.md +0 -0
  195. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.2/audit/commit-audit.yaml +0 -0
  196. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.2/entries/entry-0001.md +0 -0
  197. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.2/entries/entry-0002.md +0 -0
  198. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.2/entries/entry-0003.md +0 -0
  199. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.2/release.md +0 -0
  200. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.3/audit/commit-audit.yaml +0 -0
  201. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.3/entries/entry-0001.md +0 -0
  202. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.3/entries/entry-0002.md +0 -0
  203. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.3.3/release.md +0 -0
  204. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.0/audit-decisions.yaml +0 -0
  205. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.0/audit.yaml +0 -0
  206. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.0/entries.yaml +0 -0
  207. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.0/evidence/4ecf165.patch +0 -0
  208. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.0/evidence/manifest.json +0 -0
  209. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.0/range.json +0 -0
  210. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.4/audit-decisions.yaml +0 -0
  211. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.4/audit.yaml +0 -0
  212. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.4/entries.yaml +0 -0
  213. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.4/evidence/18d1765.patch +0 -0
  214. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.4/evidence/2c5e221.patch +0 -0
  215. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.4/evidence/4791e70.patch +0 -0
  216. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.4/evidence/5840ad5.patch +0 -0
  217. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.4/evidence/manifest.json +0 -0
  218. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.2.4/range.json +0 -0
  219. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.1/audit-decisions.yaml +0 -0
  220. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.1/audit.yaml +0 -0
  221. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.1/entries.yaml +0 -0
  222. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.1/evidence/86a3aec.patch +0 -0
  223. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.1/evidence/manifest.json +0 -0
  224. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.1/range.json +0 -0
  225. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.2/audit-decisions.yaml +0 -0
  226. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.2/audit.yaml +0 -0
  227. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.2/entries.yaml +0 -0
  228. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.2/evidence/0251443.patch +0 -0
  229. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.2/evidence/20c4037.patch +0 -0
  230. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.2/evidence/manifest.json +0 -0
  231. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.2/range.json +0 -0
  232. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.3/audit-decisions.yaml +0 -0
  233. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.3/audit.yaml +0 -0
  234. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.3/entries.yaml +0 -0
  235. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.3/evidence/05f8940.patch +0 -0
  236. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.3/evidence/3dbc57b.patch +0 -0
  237. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.3/evidence/manifest.json +0 -0
  238. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/work/v0.3.3/range.json +0 -0
  239. {readio-0.3.3 → readio-0.3.4}/.ledger/releaseledger/write.lock +0 -0
  240. {readio-0.3.3 → readio-0.3.4}/.ledger/taskledger/.ledger-project.toml +0 -0
  241. {readio-0.3.3 → readio-0.3.4}/.ledger/taskledger/config.toml +0 -0
  242. {readio-0.3.3 → readio-0.3.4}/.pre-commit-config.yaml +0 -0
  243. {readio-0.3.3 → readio-0.3.4}/LICENSE +0 -0
  244. {readio-0.3.3 → readio-0.3.4}/docs/architecture.md +0 -0
  245. {readio-0.3.3 → readio-0.3.4}/docs/conf.py +0 -0
  246. {readio-0.3.3 → readio-0.3.4}/docs/incremental-rendering.md +0 -0
  247. {readio-0.3.3 → readio-0.3.4}/docs/index.md +0 -0
  248. {readio-0.3.3 → readio-0.3.4}/docs/make.py +0 -0
  249. {readio-0.3.3 → readio-0.3.4}/docs/requirements.txt +0 -0
  250. {readio-0.3.3 → readio-0.3.4}/examples/README.md +0 -0
  251. {readio-0.3.3 → readio-0.3.4}/examples/python_api.py +0 -0
  252. {readio-0.3.3 → readio-0.3.4}/examples/readio-podcast.ssmd +0 -0
  253. {readio-0.3.3 → readio-0.3.4}/examples/readio-prosody.ssmd +0 -0
  254. {readio-0.3.3 → readio-0.3.4}/pyproject.toml +0 -0
  255. {readio-0.3.3 → readio-0.3.4}/readio/__init__.py +0 -0
  256. {readio-0.3.3 → readio-0.3.4}/readio/__main__.py +0 -0
  257. {readio-0.3.3 → readio-0.3.4}/readio/api/app.py +0 -0
  258. {readio-0.3.3 → readio-0.3.4}/readio/api/catalog.py +0 -0
  259. {readio-0.3.3 → readio-0.3.4}/readio/api/configuration.py +0 -0
  260. {readio-0.3.3 → readio-0.3.4}/readio/api/diagnostics.py +0 -0
  261. {readio-0.3.3 → readio-0.3.4}/readio/api/errors.py +0 -0
  262. {readio-0.3.3 → readio-0.3.4}/readio/api/events.py +0 -0
  263. {readio-0.3.3 → readio-0.3.4}/readio/api/extensions.py +0 -0
  264. {readio-0.3.3 → readio-0.3.4}/readio/api/ingest.py +0 -0
  265. {readio-0.3.3 → readio-0.3.4}/readio/api/integrations/__init__.py +0 -0
  266. {readio-0.3.3 → readio-0.3.4}/readio/api/integrations/spotify.py +0 -0
  267. {readio-0.3.3 → readio-0.3.4}/readio/api/roles.py +0 -0
  268. {readio-0.3.3 → readio-0.3.4}/readio/api/ssmd.py +0 -0
  269. {readio-0.3.3 → readio-0.3.4}/readio/api/templates.py +0 -0
  270. {readio-0.3.3 → readio-0.3.4}/readio/audio.py +0 -0
  271. {readio-0.3.3 → readio-0.3.4}/readio/audiobook.py +0 -0
  272. {readio-0.3.3 → readio-0.3.4}/readio/chapter_selection.py +0 -0
  273. {readio-0.3.3 → readio-0.3.4}/readio/cli_help.py +0 -0
  274. {readio-0.3.3 → readio-0.3.4}/readio/cli_present.py +0 -0
  275. {readio-0.3.3 → readio-0.3.4}/readio/config.py +0 -0
  276. {readio-0.3.3 → readio-0.3.4}/readio/doctor.py +0 -0
  277. {readio-0.3.3 → readio-0.3.4}/readio/document.py +0 -0
  278. {readio-0.3.3 → readio-0.3.4}/readio/engines/__init__.py +0 -0
  279. {readio-0.3.3 → readio-0.3.4}/readio/engines/base.py +0 -0
  280. {readio-0.3.3 → readio-0.3.4}/readio/engines/catalog.py +0 -0
  281. {readio-0.3.3 → readio-0.3.4}/readio/engines/discovery.py +0 -0
  282. {readio-0.3.3 → readio-0.3.4}/readio/engines/pipersynth.py +0 -0
  283. {readio-0.3.3 → readio-0.3.4}/readio/engines/pocketsynth.py +0 -0
  284. {readio-0.3.3 → readio-0.3.4}/readio/engines/pykokoro.py +0 -0
  285. {readio-0.3.3 → readio-0.3.4}/readio/engines/registry.py +0 -0
  286. {readio-0.3.3 → readio-0.3.4}/readio/engines/selection.py +0 -0
  287. {readio-0.3.3 → readio-0.3.4}/readio/errors.py +0 -0
  288. {readio-0.3.3 → readio-0.3.4}/readio/formats.py +0 -0
  289. {readio-0.3.3 → readio-0.3.4}/readio/ingest.py +0 -0
  290. {readio-0.3.3 → readio-0.3.4}/readio/jsonutil.py +0 -0
  291. {readio-0.3.3 → readio-0.3.4}/readio/lexicons.py +0 -0
  292. {readio-0.3.3 → readio-0.3.4}/readio/logging_config.py +0 -0
  293. {readio-0.3.3 → readio-0.3.4}/readio/manifest.py +0 -0
  294. {readio-0.3.3 → readio-0.3.4}/readio/markdown.py +0 -0
  295. {readio-0.3.3 → readio-0.3.4}/readio/models.py +0 -0
  296. {readio-0.3.3 → readio-0.3.4}/readio/paths.py +0 -0
  297. {readio-0.3.3 → readio-0.3.4}/readio/planning/__init__.py +0 -0
  298. {readio-0.3.3 → readio-0.3.4}/readio/planning/compiler.py +0 -0
  299. {readio-0.3.3 → readio-0.3.4}/readio/planning/policy.py +0 -0
  300. {readio-0.3.3 → readio-0.3.4}/readio/planning/semantic.py +0 -0
  301. {readio-0.3.3 → readio-0.3.4}/readio/progress.py +0 -0
  302. {readio-0.3.3 → readio-0.3.4}/readio/project.py +0 -0
  303. {readio-0.3.3 → readio-0.3.4}/readio/project_roles.py +0 -0
  304. {readio-0.3.3 → readio-0.3.4}/readio/py.typed +0 -0
  305. {readio-0.3.3 → readio-0.3.4}/readio/reader.py +0 -0
  306. {readio-0.3.3 → readio-0.3.4}/readio/rendering/__init__.py +0 -0
  307. {readio-0.3.3 → readio-0.3.4}/readio/rendering/capacity.py +0 -0
  308. {readio-0.3.3 → readio-0.3.4}/readio/rendering/lowering.py +0 -0
  309. {readio-0.3.3 → readio-0.3.4}/readio/resources/__init__.py +0 -0
  310. {readio-0.3.3 → readio-0.3.4}/readio/resources/templates/__init__.py +0 -0
  311. {readio-0.3.3 → readio-0.3.4}/readio/resources/templates/briefing.ssmd +0 -0
  312. {readio-0.3.3 → readio-0.3.4}/readio/resources/templates/dialogue.ssmd +0 -0
  313. {readio-0.3.3 → readio-0.3.4}/readio/resources/templates/podcast.ssmd +0 -0
  314. {readio-0.3.3 → readio-0.3.4}/readio/selection.py +0 -0
  315. {readio-0.3.3 → readio-0.3.4}/readio/spotify.py +0 -0
  316. {readio-0.3.3 → readio-0.3.4}/readio/spotify_cli.py +0 -0
  317. {readio-0.3.3 → readio-0.3.4}/readio/ssmd.py +0 -0
  318. {readio-0.3.3 → readio-0.3.4}/readio/ssmd_authoring.py +0 -0
  319. {readio-0.3.3 → readio-0.3.4}/readio/stages/__init__.py +0 -0
  320. {readio-0.3.3 → readio-0.3.4}/readio/stages/export.py +0 -0
  321. {readio-0.3.3 → readio-0.3.4}/readio/stages/speech_identity.py +0 -0
  322. {readio-0.3.3 → readio-0.3.4}/readio/synthesis.py +0 -0
  323. {readio-0.3.3 → readio-0.3.4}/readio/templates.py +0 -0
  324. {readio-0.3.3 → readio-0.3.4}/readio/text.py +0 -0
  325. {readio-0.3.3 → readio-0.3.4}/readio/voices.py +0 -0
  326. {readio-0.3.3 → readio-0.3.4}/readio/wave.py +0 -0
  327. {readio-0.3.3 → readio-0.3.4}/readio.egg-info/dependency_links.txt +0 -0
  328. {readio-0.3.3 → readio-0.3.4}/readio.egg-info/entry_points.txt +0 -0
  329. {readio-0.3.3 → readio-0.3.4}/readio.egg-info/requires.txt +0 -0
  330. {readio-0.3.3 → readio-0.3.4}/readio.egg-info/top_level.txt +0 -0
  331. {readio-0.3.3 → readio-0.3.4}/setup.cfg +0 -0
  332. {readio-0.3.3 → readio-0.3.4}/skill/readio/SKILL.md +0 -0
  333. {readio-0.3.3 → readio-0.3.4}/skill/readio/references/cli.md +0 -0
  334. {readio-0.3.3 → readio-0.3.4}/skill/readio/references/input-formats.md +0 -0
  335. {readio-0.3.3 → readio-0.3.4}/skill/readio/references/spotify.md +0 -0
  336. {readio-0.3.3 → readio-0.3.4}/skill/readio/references/ssmd.md +0 -0
  337. {readio-0.3.3 → readio-0.3.4}/skill/readio/references/troubleshooting.md +0 -0
  338. {readio-0.3.3 → readio-0.3.4}/tests/audiobook_support.py +0 -0
  339. {readio-0.3.3 → readio-0.3.4}/tests/conftest.py +0 -0
  340. {readio-0.3.3 → readio-0.3.4}/tests/fixtures/architecture-review.ssmd +0 -0
  341. {readio-0.3.3 → readio-0.3.4}/tests/fixtures/markdown/all-elements.md +0 -0
  342. {readio-0.3.3 → readio-0.3.4}/tests/fixtures/markdown/all-elements.txt +0 -0
  343. {readio-0.3.3 → readio-0.3.4}/tests/multiscope_support.py +0 -0
  344. {readio-0.3.3 → readio-0.3.4}/tests/project_support.py +0 -0
  345. {readio-0.3.3 → readio-0.3.4}/tests/test_audio.py +0 -0
  346. {readio-0.3.3 → readio-0.3.4}/tests/test_audio_formats.py +0 -0
  347. {readio-0.3.3 → readio-0.3.4}/tests/test_audiobook_cli.py +0 -0
  348. {readio-0.3.3 → readio-0.3.4}/tests/test_audiobook_export.py +0 -0
  349. {readio-0.3.3 → readio-0.3.4}/tests/test_audiobook_pipeline.py +0 -0
  350. {readio-0.3.3 → readio-0.3.4}/tests/test_audiobook_project.py +0 -0
  351. {readio-0.3.3 → readio-0.3.4}/tests/test_backend_config.py +0 -0
  352. {readio-0.3.3 → readio-0.3.4}/tests/test_chapter_selection.py +0 -0
  353. {readio-0.3.3 → readio-0.3.4}/tests/test_chapters.py +0 -0
  354. {readio-0.3.3 → readio-0.3.4}/tests/test_cli_adapter.py +0 -0
  355. {readio-0.3.3 → readio-0.3.4}/tests/test_cli_help.py +0 -0
  356. {readio-0.3.3 → readio-0.3.4}/tests/test_cli_public_api_boundary.py +0 -0
  357. {readio-0.3.3 → readio-0.3.4}/tests/test_composition_ssmd09_prosody.py +0 -0
  358. {readio-0.3.3 → readio-0.3.4}/tests/test_config.py +0 -0
  359. {readio-0.3.3 → readio-0.3.4}/tests/test_defaults_cli.py +0 -0
  360. {readio-0.3.3 → readio-0.3.4}/tests/test_doctor.py +0 -0
  361. {readio-0.3.3 → readio-0.3.4}/tests/test_document.py +0 -0
  362. {readio-0.3.3 → readio-0.3.4}/tests/test_engine_adapters_requests.py +0 -0
  363. {readio-0.3.3 → readio-0.3.4}/tests/test_engine_contract.py +0 -0
  364. {readio-0.3.3 → readio-0.3.4}/tests/test_engine_execution.py +0 -0
  365. {readio-0.3.3 → readio-0.3.4}/tests/test_engine_registry.py +0 -0
  366. {readio-0.3.3 → readio-0.3.4}/tests/test_engine_spine.py +0 -0
  367. {readio-0.3.3 → readio-0.3.4}/tests/test_examples.py +0 -0
  368. {readio-0.3.3 → readio-0.3.4}/tests/test_execution_request_path.py +0 -0
  369. {readio-0.3.3 → readio-0.3.4}/tests/test_ffmpeg_sink.py +0 -0
  370. {readio-0.3.3 → readio-0.3.4}/tests/test_ingest.py +0 -0
  371. {readio-0.3.3 → readio-0.3.4}/tests/test_language_defaults_config.py +0 -0
  372. {readio-0.3.3 → readio-0.3.4}/tests/test_lexicon_catalog.py +0 -0
  373. {readio-0.3.3 → readio-0.3.4}/tests/test_lexicons_cli.py +0 -0
  374. {readio-0.3.3 → readio-0.3.4}/tests/test_logging_cli.py +0 -0
  375. {readio-0.3.3 → readio-0.3.4}/tests/test_manifest.py +0 -0
  376. {readio-0.3.3 → readio-0.3.4}/tests/test_markdown.py +0 -0
  377. {readio-0.3.3 → readio-0.3.4}/tests/test_model_source_preference.py +0 -0
  378. {readio-0.3.3 → readio-0.3.4}/tests/test_models_cli.py +0 -0
  379. {readio-0.3.3 → readio-0.3.4}/tests/test_package_resources.py +0 -0
  380. {readio-0.3.3 → readio-0.3.4}/tests/test_packaging_metadata.py +0 -0
  381. {readio-0.3.3 → readio-0.3.4}/tests/test_paths.py +0 -0
  382. {readio-0.3.3 → readio-0.3.4}/tests/test_piper_engine.py +0 -0
  383. {readio-0.3.3 → readio-0.3.4}/tests/test_plan.py +0 -0
  384. {readio-0.3.3 → readio-0.3.4}/tests/test_plan_cli.py +0 -0
  385. {readio-0.3.3 → readio-0.3.4}/tests/test_plan_no_tts_load.py +0 -0
  386. {readio-0.3.3 → readio-0.3.4}/tests/test_plan_v2.py +0 -0
  387. {readio-0.3.3 → readio-0.3.4}/tests/test_plan_validation.py +0 -0
  388. {readio-0.3.3 → readio-0.3.4}/tests/test_pocketsynth_engine.py +0 -0
  389. {readio-0.3.3 → readio-0.3.4}/tests/test_progress.py +0 -0
  390. {readio-0.3.3 → readio-0.3.4}/tests/test_project_atomic_manifest.py +0 -0
  391. {readio-0.3.3 → readio-0.3.4}/tests/test_project_export.py +0 -0
  392. {readio-0.3.3 → readio-0.3.4}/tests/test_project_layout.py +0 -0
  393. {readio-0.3.3 → readio-0.3.4}/tests/test_project_planning.py +0 -0
  394. {readio-0.3.3 → readio-0.3.4}/tests/test_project_roles.py +0 -0
  395. {readio-0.3.3 → readio-0.3.4}/tests/test_project_target_routing.py +0 -0
  396. {readio-0.3.3 → readio-0.3.4}/tests/test_public_api_catalog_listings.py +0 -0
  397. {readio-0.3.3 → readio-0.3.4}/tests/test_public_api_catalog_roles_ssmd_extensions.py +0 -0
  398. {readio-0.3.3 → readio-0.3.4}/tests/test_public_api_configuration_templates_ingest_diagnostics.py +0 -0
  399. {readio-0.3.3 → readio-0.3.4}/tests/test_public_api_errors.py +0 -0
  400. {readio-0.3.3 → readio-0.3.4}/tests/test_public_api_examples.py +0 -0
  401. {readio-0.3.3 → readio-0.3.4}/tests/test_public_api_speech.py +0 -0
  402. {readio-0.3.3 → readio-0.3.4}/tests/test_public_api_spotify.py +0 -0
  403. {readio-0.3.3 → readio-0.3.4}/tests/test_pykokoro_10_contract.py +0 -0
  404. {readio-0.3.3 → readio-0.3.4}/tests/test_pykokoro_10_regressions.py +0 -0
  405. {readio-0.3.3 → readio-0.3.4}/tests/test_pykokoro_10_support.py +0 -0
  406. {readio-0.3.3 → readio-0.3.4}/tests/test_reader_markdown.py +0 -0
  407. {readio-0.3.3 → readio-0.3.4}/tests/test_reader_selection.py +0 -0
  408. {readio-0.3.3 → readio-0.3.4}/tests/test_released_engine_apis.py +0 -0
  409. {readio-0.3.3 → readio-0.3.4}/tests/test_render_manifest_cli.py +0 -0
  410. {readio-0.3.3 → readio-0.3.4}/tests/test_rendering_capacity.py +0 -0
  411. {readio-0.3.3 → readio-0.3.4}/tests/test_rendering_lowering.py +0 -0
  412. {readio-0.3.3 → readio-0.3.4}/tests/test_segment_architecture.py +0 -0
  413. {readio-0.3.3 → readio-0.3.4}/tests/test_selection.py +0 -0
  414. {readio-0.3.3 → readio-0.3.4}/tests/test_semantic_plan.py +0 -0
  415. {readio-0.3.3 → readio-0.3.4}/tests/test_skill_integrity.py +0 -0
  416. {readio-0.3.3 → readio-0.3.4}/tests/test_spotify.py +0 -0
  417. {readio-0.3.3 → readio-0.3.4}/tests/test_spotify_cli.py +0 -0
  418. {readio-0.3.3 → readio-0.3.4}/tests/test_spotify_lifecycle.py +0 -0
  419. {readio-0.3.3 → readio-0.3.4}/tests/test_ssmd_cli.py +0 -0
  420. {readio-0.3.3 → readio-0.3.4}/tests/test_ssmd_integration.py +0 -0
  421. {readio-0.3.3 → readio-0.3.4}/tests/test_ssmd_model_roster.py +0 -0
  422. {readio-0.3.3 → readio-0.3.4}/tests/test_ssmd_preflight.py +0 -0
  423. {readio-0.3.3 → readio-0.3.4}/tests/test_ssmd_single_source.py +0 -0
  424. {readio-0.3.3 → readio-0.3.4}/tests/test_synthesis.py +0 -0
  425. {readio-0.3.3 → readio-0.3.4}/tests/test_template_validate.py +0 -0
  426. {readio-0.3.3 → readio-0.3.4}/tests/test_templates.py +0 -0
  427. {readio-0.3.3 → readio-0.3.4}/tests/test_text.py +0 -0
  428. {readio-0.3.3 → readio-0.3.4}/tests/test_utterplan_v3_linguistics.py +0 -0
  429. {readio-0.3.3 → readio-0.3.4}/tests/test_voice_catalog.py +0 -0
  430. {readio-0.3.3 → readio-0.3.4}/tests/test_voice_resolution_workflow.py +0 -0
  431. {readio-0.3.3 → readio-0.3.4}/tests/test_voices_cli.py +0 -0
  432. {readio-0.3.3 → readio-0.3.4}/tests/test_wave.py +0 -0
@@ -107,3 +107,9 @@
107
107
  {"data":{"updated_rows":2},"event":"audit.updated","event_id":"event-0107","record_revisions":{"commit_audit_sheet":2},"release_version":"v0.3.3","schema_version":2}
108
108
  {"data":{"entry_ids":["entry-0001","entry-0002"],"synced_audit_rows":2},"event":"entry.batch_added","event_id":"event-0108","record_revisions":{"commit_audit_sheet":3,"entry:v0.3.3/entry-0001":1,"entry:v0.3.3/entry-0002":1,"release:v0.3.3":3},"release_version":"v0.3.3","schema_version":2}
109
109
  {"data":{"released_at":"2026-09-28"},"event":"release.finalized","event_id":"event-0109","record_revisions":{"release:v0.3.3":4},"release_version":"v0.3.3","schema_version":2}
110
+ {"data":{"status":"planned"},"event":"release.created","event_id":"event-0110","record_revisions":{"release:v0.3.4":1},"release_version":"v0.3.4","schema_version":2}
111
+ {"data":{"fields":["git_base_ref","git_base_sha","git_commit_count","git_head_ref","git_head_sha","git_range"]},"event":"release.updated","event_id":"event-0111","record_revisions":{"release:v0.3.4":2},"release_version":"v0.3.4","schema_version":2}
112
+ {"data":{"row_count":4},"event":"audit.created","event_id":"event-0112","record_revisions":{"commit_audit_sheet":1},"release_version":"v0.3.4","schema_version":2}
113
+ {"data":{"updated_rows":4},"event":"audit.updated","event_id":"event-0113","record_revisions":{"commit_audit_sheet":2},"release_version":"v0.3.4","schema_version":2}
114
+ {"data":{"entry_ids":["entry-0001","entry-0002","entry-0003","entry-0004"],"synced_audit_rows":4},"event":"entry.batch_added","event_id":"event-0114","record_revisions":{"commit_audit_sheet":3,"entry:v0.3.4/entry-0001":1,"entry:v0.3.4/entry-0002":1,"entry:v0.3.4/entry-0003":1,"entry:v0.3.4/entry-0004":1,"release:v0.3.4":3},"release_version":"v0.3.4","schema_version":2}
115
+ {"data":{"released_at":"2026-09-29"},"event":"release.finalized","event_id":"event-0115","record_revisions":{"release:v0.3.4":4},"release_version":"v0.3.4","schema_version":2}
@@ -0,0 +1,237 @@
1
+ schema_version: 1
2
+ object_type: commit_audit_sheet
3
+ versioning:
4
+ schema_version: 1
5
+ revision: 3
6
+ release_version: v0.3.4
7
+ git_base_ref: v0.3.3
8
+ git_base_sha: c71a801997baa40ea95e6eefe92f8abd321d7d98
9
+ git_head_ref: HEAD
10
+ git_head_sha: c9c1f8c0159fe33746a96d12c48ca2f09749c54a
11
+ git_range: c71a801997baa40ea95e6eefe92f8abd321d7d98..c9c1f8c0159fe33746a96d12c48ca2f09749c54a
12
+ commit_count: 4
13
+ rows:
14
+ - sha: 422c1baaf31a1abd26432370b1b4e3870bdd142d
15
+ source_ref: git:422c1baaf31a1abd26432370b1b4e3870bdd142d
16
+ short_sha: 422c1ba
17
+ changed_paths:
18
+ - README.md
19
+ - llm-guides/README.md
20
+ - llm-guides/ssmd/audio-drama.md
21
+ - llm-guides/ssmd/debate-pro-con.md
22
+ - llm-guides/ssmd/document-summary.md
23
+ - llm-guides/ssmd/dramatic-story.md
24
+ - llm-guides/ssmd/educational-explainer.md
25
+ - llm-guides/ssmd/funny-story.md
26
+ - llm-guides/ssmd/general-narration.md
27
+ - llm-guides/ssmd/guided-meditation.md
28
+ - llm-guides/ssmd/kids-story.md
29
+ - llm-guides/ssmd/language-learning.md
30
+ - llm-guides/ssmd/news-briefing.md
31
+ - llm-guides/ssmd/podcast-interview.md
32
+ - llm-guides/ssmd/podcast-roundtable.md
33
+ - llm-guides/ssmd/podcast-solo.md
34
+ - llm-guides/ssmd/quiz-trivia.md
35
+ - tests/test_llm_guides.py
36
+ - tests/test_ssmd_authoring_09.py
37
+ stats:
38
+ files_changed: 19
39
+ insertions: 751
40
+ deletions: 175
41
+ inspected: true
42
+ inspected_paths:
43
+ - README.md
44
+ - llm-guides/README.md
45
+ - llm-guides/ssmd/audio-drama.md
46
+ - llm-guides/ssmd/debate-pro-con.md
47
+ - llm-guides/ssmd/kids-story.md
48
+ - llm-guides/ssmd/podcast-interview.md
49
+ - tests/test_llm_guides.py
50
+ - tests/test_ssmd_authoring_09.py
51
+ observed_behavior:
52
+ Updated standalone SSMD guidance to recommend .ssmd.md files,
53
+ use canonical three-colon directive fences, and describe current prosody values;
54
+ regression checks cover the guide set and parser behavior.
55
+ public_impact: docs
56
+ decision: accepted
57
+ stale: false
58
+ evidence_subject: "feat: improved llm guides"
59
+ target_entry_id: entry-0001
60
+ notes: ""
61
+ - sha: ca9684a23eee5da638ddfe80efd891429ec53911
62
+ source_ref: git:ca9684a23eee5da638ddfe80efd891429ec53911
63
+ short_sha: ca9684a
64
+ changed_paths:
65
+ - docs/api.md
66
+ - docs/cli.md
67
+ - docs/projects.md
68
+ - readio/api/__init__.py
69
+ - readio/api/projects.py
70
+ - readio/api/speech.py
71
+ - readio/api/types.py
72
+ - readio/cli.py
73
+ - readio/cli_adapter.py
74
+ - readio/execution.py
75
+ - readio/plan.py
76
+ - readio/stages/composition.py
77
+ - readio/stages/pipeline.py
78
+ - tests/test_cli.py
79
+ - tests/test_incremental_project_render.py
80
+ - tests/test_mastering_profiles.py
81
+ - tests/test_project_composition.py
82
+ - tests/test_public_api_events.py
83
+ - tests/test_public_api_projects.py
84
+ - tests/test_render_from_plan.py
85
+ stats:
86
+ files_changed: 20
87
+ insertions: 801
88
+ deletions: 66
89
+ inspected: true
90
+ inspected_paths:
91
+ - docs/api.md
92
+ - docs/cli.md
93
+ - docs/projects.md
94
+ - readio/api/projects.py
95
+ - readio/api/types.py
96
+ - readio/cli.py
97
+ - readio/plan.py
98
+ - readio/stages/composition.py
99
+ - tests/test_mastering_profiles.py
100
+ observed_behavior:
101
+ Added named mastering profiles and inheritable numeric overrides
102
+ across compose, preview, render, and project APIs; results expose loudness and
103
+ peak metrics, composition progress has explicit phases, and the resolved mastering
104
+ policy participates in composition identity.
105
+ public_impact: public
106
+ decision: accepted
107
+ stale: false
108
+ evidence_subject: "feat: better compose"
109
+ target_entry_id: entry-0002
110
+ notes: ""
111
+ - sha: aac57baba49f6df361c9f5799b1cef01a95da239
112
+ source_ref: git:aac57baba49f6df361c9f5799b1cef01a95da239
113
+ short_sha: aac57ba
114
+ changed_paths:
115
+ - llm-guides/README.md
116
+ - llm-guides/evals/README.md
117
+ - llm-guides/evals/prompts/audio-drama-source.md
118
+ - llm-guides/evals/prompts/audio-drama.md
119
+ - llm-guides/evals/prompts/debate-pro-con.md
120
+ - llm-guides/evals/prompts/document-summary.md
121
+ - llm-guides/evals/prompts/dramatic-story-constraints.md
122
+ - llm-guides/evals/prompts/dramatic-story.md
123
+ - llm-guides/evals/prompts/educational-explainer.md
124
+ - llm-guides/evals/prompts/funny-story-source.md
125
+ - llm-guides/evals/prompts/funny-story.md
126
+ - llm-guides/evals/prompts/general-narration.md
127
+ - llm-guides/evals/prompts/guided-meditation.md
128
+ - llm-guides/evals/prompts/kids-story-constraints.md
129
+ - llm-guides/evals/prompts/kids-story.md
130
+ - llm-guides/evals/prompts/language-learning.md
131
+ - llm-guides/evals/prompts/news-briefing.md
132
+ - llm-guides/evals/prompts/podcast-interview-source.md
133
+ - llm-guides/evals/prompts/podcast-interview.md
134
+ - llm-guides/evals/prompts/podcast-roundtable-source.md
135
+ - llm-guides/evals/prompts/podcast-roundtable.md
136
+ - llm-guides/evals/prompts/podcast-solo.md
137
+ - llm-guides/evals/prompts/quiz-trivia.md
138
+ - llm-guides/evals/rubric.md
139
+ - llm-guides/ssmd/audio-drama.md
140
+ - llm-guides/ssmd/debate-pro-con.md
141
+ - llm-guides/ssmd/document-summary.md
142
+ - llm-guides/ssmd/dramatic-story.md
143
+ - llm-guides/ssmd/educational-explainer.md
144
+ - llm-guides/ssmd/funny-story.md
145
+ - llm-guides/ssmd/general-narration.md
146
+ - llm-guides/ssmd/guided-meditation.md
147
+ - llm-guides/ssmd/kids-story.md
148
+ - llm-guides/ssmd/language-learning.md
149
+ - llm-guides/ssmd/news-briefing.md
150
+ - llm-guides/ssmd/podcast-interview.md
151
+ - llm-guides/ssmd/podcast-roundtable.md
152
+ - llm-guides/ssmd/podcast-solo.md
153
+ - llm-guides/ssmd/quiz-trivia.md
154
+ - tests/test_llm_guides.py
155
+ stats:
156
+ files_changed: 40
157
+ insertions: 1475
158
+ deletions: 890
159
+ inspected: true
160
+ inspected_paths:
161
+ - llm-guides/README.md
162
+ - llm-guides/evals/README.md
163
+ - llm-guides/evals/rubric.md
164
+ - llm-guides/evals/prompts/audio-drama-source.md
165
+ - llm-guides/ssmd/audio-drama.md
166
+ - llm-guides/ssmd/debate-pro-con.md
167
+ - tests/test_llm_guides.py
168
+ observed_behavior:
169
+ Added a manually scored prompt corpus and listening-quality rubric
170
+ for the standalone guides, while strengthening audio-only clarity, stable speaker-role,
171
+ source-fidelity, and non-cloning guidance; model generation and listening remain
172
+ outside normal CI.
173
+ public_impact: docs
174
+ decision: accepted
175
+ stale: false
176
+ evidence_subject: "feat: improve llm-guides"
177
+ target_entry_id: entry-0003
178
+ notes: ""
179
+ - sha: c9c1f8c0159fe33746a96d12c48ca2f09749c54a
180
+ source_ref: git:c9c1f8c0159fe33746a96d12c48ca2f09749c54a
181
+ short_sha: c9c1f8c
182
+ changed_paths:
183
+ - README.md
184
+ - docs/api.md
185
+ - docs/cli.md
186
+ - docs/projects.md
187
+ - readio/api/__init__.py
188
+ - readio/api/audiobooks.py
189
+ - readio/api/projects.py
190
+ - readio/api/types.py
191
+ - readio/cli.py
192
+ - readio/project_model.py
193
+ - readio/project_settings.py
194
+ - readio/stages/audiobook_export.py
195
+ - readio/stages/pipeline.py
196
+ - readio/stages/planning.py
197
+ - readio/stages/synthesis.py
198
+ - tests/test_audiobook_export_api.py
199
+ - tests/test_audiobook_status.py
200
+ - tests/test_cli.py
201
+ - tests/test_project_model.py
202
+ - tests/test_public_api_imports.py
203
+ - tests/test_public_api_projects.py
204
+ - tests/test_public_api_types.py
205
+ - tests/typecheck/public_api_consumer.py
206
+ stats:
207
+ files_changed: 23
208
+ insertions: 2211
209
+ deletions: 73
210
+ inspected: true
211
+ inspected_paths:
212
+ - docs/api.md
213
+ - docs/cli.md
214
+ - docs/projects.md
215
+ - readio/api/audiobooks.py
216
+ - readio/api/projects.py
217
+ - readio/api/types.py
218
+ - readio/cli.py
219
+ - readio/project_model.py
220
+ - readio/project_settings.py
221
+ - readio/stages/pipeline.py
222
+ - readio/stages/planning.py
223
+ - readio/stages/synthesis.py
224
+ - tests/test_audiobook_export_api.py
225
+ - tests/test_project_model.py
226
+ - tests/test_public_api_projects.py
227
+ observed_behavior:
228
+ Added persisted synthesis, composition, generic-export, and audiobook-export
229
+ settings with public API and CLI configuration; requestless project workflows
230
+ consume saved defaults, status identifies stale stages after settings changes,
231
+ and existing synthesis caches remain reusable.
232
+ public_impact: public
233
+ decision: accepted
234
+ stale: false
235
+ evidence_subject: "feat: project settings can now store more settings"
236
+ target_entry_id: entry-0004
237
+ notes: ""
@@ -0,0 +1,47 @@
1
+ ---
2
+ schema_version: 2
3
+ object_type: release_entry
4
+ versioning:
5
+ schema_version: 1
6
+ revision: 1
7
+ entry_id: entry-0001
8
+ release_version: v0.3.4
9
+ kind: docs
10
+ summary:
11
+ Documented canonical SSMD syntax, prosody values, and .ssmd.md authoring
12
+ guidance
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:422c1baaf31a1abd26432370b1b4e3870bdd142d
18
+ paths:
19
+ - README.md
20
+ - llm-guides/README.md
21
+ - llm-guides/ssmd/audio-drama.md
22
+ - llm-guides/ssmd/debate-pro-con.md
23
+ - llm-guides/ssmd/document-summary.md
24
+ - llm-guides/ssmd/dramatic-story.md
25
+ - llm-guides/ssmd/educational-explainer.md
26
+ - llm-guides/ssmd/funny-story.md
27
+ - llm-guides/ssmd/general-narration.md
28
+ - llm-guides/ssmd/guided-meditation.md
29
+ - llm-guides/ssmd/kids-story.md
30
+ - llm-guides/ssmd/language-learning.md
31
+ - llm-guides/ssmd/news-briefing.md
32
+ - llm-guides/ssmd/podcast-interview.md
33
+ - llm-guides/ssmd/podcast-roundtable.md
34
+ - llm-guides/ssmd/podcast-solo.md
35
+ - llm-guides/ssmd/quiz-trivia.md
36
+ - tests/test_llm_guides.py
37
+ - tests/test_ssmd_authoring_09.py
38
+ issues: []
39
+ prs: []
40
+ sources:
41
+ - git:422c1baaf31a1abd26432370b1b4e3870bdd142d
42
+ contributors:
43
+ - "@holgern"
44
+ breaking: false
45
+ internal: false
46
+ order: 1
47
+ ---
@@ -0,0 +1,48 @@
1
+ ---
2
+ schema_version: 2
3
+ object_type: release_entry
4
+ versioning:
5
+ schema_version: 1
6
+ revision: 1
7
+ entry_id: entry-0002
8
+ release_version: v0.3.4
9
+ kind: added
10
+ summary:
11
+ Added mastering profiles with LUFS and true-peak reporting across composition
12
+ workflows
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:ca9684a23eee5da638ddfe80efd891429ec53911
18
+ paths:
19
+ - docs/api.md
20
+ - docs/cli.md
21
+ - docs/projects.md
22
+ - readio/api/__init__.py
23
+ - readio/api/projects.py
24
+ - readio/api/speech.py
25
+ - readio/api/types.py
26
+ - readio/cli.py
27
+ - readio/cli_adapter.py
28
+ - readio/execution.py
29
+ - readio/plan.py
30
+ - readio/stages/composition.py
31
+ - readio/stages/pipeline.py
32
+ - tests/test_cli.py
33
+ - tests/test_incremental_project_render.py
34
+ - tests/test_mastering_profiles.py
35
+ - tests/test_project_composition.py
36
+ - tests/test_public_api_events.py
37
+ - tests/test_public_api_projects.py
38
+ - tests/test_render_from_plan.py
39
+ issues: []
40
+ prs: []
41
+ sources:
42
+ - git:ca9684a23eee5da638ddfe80efd891429ec53911
43
+ contributors:
44
+ - "@holgern"
45
+ breaking: false
46
+ internal: false
47
+ order: 2
48
+ ---
@@ -0,0 +1,68 @@
1
+ ---
2
+ schema_version: 2
3
+ object_type: release_entry
4
+ versioning:
5
+ schema_version: 1
6
+ revision: 1
7
+ entry_id: entry-0003
8
+ release_version: v0.3.4
9
+ kind: docs
10
+ summary:
11
+ Documented an audio-first evaluation corpus and rubric for standalone SSMD
12
+ guides
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:aac57baba49f6df361c9f5799b1cef01a95da239
18
+ paths:
19
+ - llm-guides/README.md
20
+ - llm-guides/evals/README.md
21
+ - llm-guides/evals/prompts/audio-drama-source.md
22
+ - llm-guides/evals/prompts/audio-drama.md
23
+ - llm-guides/evals/prompts/debate-pro-con.md
24
+ - llm-guides/evals/prompts/document-summary.md
25
+ - llm-guides/evals/prompts/dramatic-story-constraints.md
26
+ - llm-guides/evals/prompts/dramatic-story.md
27
+ - llm-guides/evals/prompts/educational-explainer.md
28
+ - llm-guides/evals/prompts/funny-story-source.md
29
+ - llm-guides/evals/prompts/funny-story.md
30
+ - llm-guides/evals/prompts/general-narration.md
31
+ - llm-guides/evals/prompts/guided-meditation.md
32
+ - llm-guides/evals/prompts/kids-story-constraints.md
33
+ - llm-guides/evals/prompts/kids-story.md
34
+ - llm-guides/evals/prompts/language-learning.md
35
+ - llm-guides/evals/prompts/news-briefing.md
36
+ - llm-guides/evals/prompts/podcast-interview-source.md
37
+ - llm-guides/evals/prompts/podcast-interview.md
38
+ - llm-guides/evals/prompts/podcast-roundtable-source.md
39
+ - llm-guides/evals/prompts/podcast-roundtable.md
40
+ - llm-guides/evals/prompts/podcast-solo.md
41
+ - llm-guides/evals/prompts/quiz-trivia.md
42
+ - llm-guides/evals/rubric.md
43
+ - llm-guides/ssmd/audio-drama.md
44
+ - llm-guides/ssmd/debate-pro-con.md
45
+ - llm-guides/ssmd/document-summary.md
46
+ - llm-guides/ssmd/dramatic-story.md
47
+ - llm-guides/ssmd/educational-explainer.md
48
+ - llm-guides/ssmd/funny-story.md
49
+ - llm-guides/ssmd/general-narration.md
50
+ - llm-guides/ssmd/guided-meditation.md
51
+ - llm-guides/ssmd/kids-story.md
52
+ - llm-guides/ssmd/language-learning.md
53
+ - llm-guides/ssmd/news-briefing.md
54
+ - llm-guides/ssmd/podcast-interview.md
55
+ - llm-guides/ssmd/podcast-roundtable.md
56
+ - llm-guides/ssmd/podcast-solo.md
57
+ - llm-guides/ssmd/quiz-trivia.md
58
+ - tests/test_llm_guides.py
59
+ issues: []
60
+ prs: []
61
+ sources:
62
+ - git:aac57baba49f6df361c9f5799b1cef01a95da239
63
+ contributors:
64
+ - "@holgern"
65
+ breaking: false
66
+ internal: false
67
+ order: 3
68
+ ---
@@ -0,0 +1,51 @@
1
+ ---
2
+ schema_version: 2
3
+ object_type: release_entry
4
+ versioning:
5
+ schema_version: 1
6
+ revision: 1
7
+ entry_id: entry-0004
8
+ release_version: v0.3.4
9
+ kind: added
10
+ summary:
11
+ Added saved project settings for synthesis, composition, export, and audiobook
12
+ workflows with stage-aware rebuilds
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:c9c1f8c0159fe33746a96d12c48ca2f09749c54a
18
+ paths:
19
+ - README.md
20
+ - docs/api.md
21
+ - docs/cli.md
22
+ - docs/projects.md
23
+ - readio/api/__init__.py
24
+ - readio/api/audiobooks.py
25
+ - readio/api/projects.py
26
+ - readio/api/types.py
27
+ - readio/cli.py
28
+ - readio/project_model.py
29
+ - readio/project_settings.py
30
+ - readio/stages/audiobook_export.py
31
+ - readio/stages/pipeline.py
32
+ - readio/stages/planning.py
33
+ - readio/stages/synthesis.py
34
+ - tests/test_audiobook_export_api.py
35
+ - tests/test_audiobook_status.py
36
+ - tests/test_cli.py
37
+ - tests/test_project_model.py
38
+ - tests/test_public_api_imports.py
39
+ - tests/test_public_api_projects.py
40
+ - tests/test_public_api_types.py
41
+ - tests/typecheck/public_api_consumer.py
42
+ issues: []
43
+ prs: []
44
+ sources:
45
+ - git:c9c1f8c0159fe33746a96d12c48ca2f09749c54a
46
+ contributors:
47
+ - "@holgern"
48
+ breaking: false
49
+ internal: false
50
+ order: 4
51
+ ---
@@ -0,0 +1,27 @@
1
+ ---
2
+ schema_version: 2
3
+ object_type: release
4
+ versioning:
5
+ schema_version: 1
6
+ revision: 4
7
+ version: v0.3.4
8
+ status: released
9
+ history_state: curated
10
+ title: null
11
+ released_at: "2026-09-29"
12
+ previous_version: v0.3.3
13
+ cancel_reason: null
14
+ superseded_by: null
15
+ changelog_file: docs/changelog.md
16
+ boundary_ref: null
17
+ source_refs: []
18
+ source_count: null
19
+ entry_count: 4
20
+ artifact_count: 0
21
+ git_base_ref: v0.3.3
22
+ git_base_sha: c71a801997baa40ea95e6eefe92f8abd321d7d98
23
+ git_head_ref: HEAD
24
+ git_head_sha: c9c1f8c0159fe33746a96d12c48ca2f09749c54a
25
+ git_range: c71a801997baa40ea95e6eefe92f8abd321d7d98..c9c1f8c0159fe33746a96d12c48ca2f09749c54a
26
+ git_commit_count: 4
27
+ ---
@@ -0,0 +1,80 @@
1
+ rows:
2
+ - sha: 422c1baaf31a1abd26432370b1b4e3870bdd142d
3
+ inspected: true
4
+ inspected_paths:
5
+ - README.md
6
+ - llm-guides/README.md
7
+ - llm-guides/ssmd/audio-drama.md
8
+ - llm-guides/ssmd/debate-pro-con.md
9
+ - llm-guides/ssmd/kids-story.md
10
+ - llm-guides/ssmd/podcast-interview.md
11
+ - tests/test_llm_guides.py
12
+ - tests/test_ssmd_authoring_09.py
13
+ observed_behavior: Updated standalone SSMD guidance to recommend .ssmd.md files, use canonical three-colon directive fences, and describe current prosody values; regression checks cover the guide set and parser behavior.
14
+ public_impact: docs
15
+ decision: accepted
16
+ target_entry_key: null
17
+ target_entry_id: null
18
+ notes: ""
19
+ stale: false
20
+ - sha: ca9684a23eee5da638ddfe80efd891429ec53911
21
+ inspected: true
22
+ inspected_paths:
23
+ - docs/api.md
24
+ - docs/cli.md
25
+ - docs/projects.md
26
+ - readio/api/projects.py
27
+ - readio/api/types.py
28
+ - readio/cli.py
29
+ - readio/plan.py
30
+ - readio/stages/composition.py
31
+ - tests/test_mastering_profiles.py
32
+ observed_behavior: Added named mastering profiles and inheritable numeric overrides across compose, preview, render, and project APIs; results expose loudness and peak metrics, composition progress has explicit phases, and the resolved mastering policy participates in composition identity.
33
+ public_impact: public
34
+ decision: accepted
35
+ target_entry_key: null
36
+ target_entry_id: null
37
+ notes: ""
38
+ stale: false
39
+ - sha: aac57baba49f6df361c9f5799b1cef01a95da239
40
+ inspected: true
41
+ inspected_paths:
42
+ - llm-guides/README.md
43
+ - llm-guides/evals/README.md
44
+ - llm-guides/evals/rubric.md
45
+ - llm-guides/evals/prompts/audio-drama-source.md
46
+ - llm-guides/ssmd/audio-drama.md
47
+ - llm-guides/ssmd/debate-pro-con.md
48
+ - tests/test_llm_guides.py
49
+ observed_behavior: Added a manually scored prompt corpus and listening-quality rubric for the standalone guides, while strengthening audio-only clarity, stable speaker-role, source-fidelity, and non-cloning guidance; model generation and listening remain outside normal CI.
50
+ public_impact: docs
51
+ decision: accepted
52
+ target_entry_key: null
53
+ target_entry_id: null
54
+ notes: ""
55
+ stale: false
56
+ - sha: c9c1f8c0159fe33746a96d12c48ca2f09749c54a
57
+ inspected: true
58
+ inspected_paths:
59
+ - docs/api.md
60
+ - docs/cli.md
61
+ - docs/projects.md
62
+ - readio/api/audiobooks.py
63
+ - readio/api/projects.py
64
+ - readio/api/types.py
65
+ - readio/cli.py
66
+ - readio/project_model.py
67
+ - readio/project_settings.py
68
+ - readio/stages/pipeline.py
69
+ - readio/stages/planning.py
70
+ - readio/stages/synthesis.py
71
+ - tests/test_audiobook_export_api.py
72
+ - tests/test_project_model.py
73
+ - tests/test_public_api_projects.py
74
+ observed_behavior: Added persisted synthesis, composition, generic-export, and audiobook-export settings with public API and CLI configuration; requestless project workflows consume saved defaults, status identifies stale stages after settings changes, and existing synthesis caches remain reusable.
75
+ public_impact: public
76
+ decision: accepted
77
+ target_entry_key: null
78
+ target_entry_id: null
79
+ notes: ""
80
+ stale: false