voicerender 0.2.1__tar.gz → 0.2.2__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 (213) hide show
  1. {voicerender-0.2.1 → voicerender-0.2.2}/.codecrate.toml +1 -0
  2. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +7 -0
  3. voicerender-0.2.2/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0006.md +31 -0
  4. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md +2 -2
  5. voicerender-0.2.2/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/audit/commit-audit.yaml +245 -0
  6. voicerender-0.2.2/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0001.md +46 -0
  7. voicerender-0.2.2/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0002.md +56 -0
  8. voicerender-0.2.2/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0003.md +48 -0
  9. voicerender-0.2.2/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0004.md +35 -0
  10. voicerender-0.2.2/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/release.md +27 -0
  11. voicerender-0.2.2/.ledger/releaseledger/work/0.2.2/audit-decisions.yaml +118 -0
  12. voicerender-0.2.2/.ledger/releaseledger/work/0.2.2/audit.yaml +150 -0
  13. voicerender-0.2.2/.ledger/releaseledger/work/0.2.2/entries.yaml +138 -0
  14. voicerender-0.2.2/.ledger/releaseledger/work/0.2.2/evidence/6510540.patch +3613 -0
  15. voicerender-0.2.2/.ledger/releaseledger/work/0.2.2/evidence/8861791.patch +3992 -0
  16. voicerender-0.2.2/.ledger/releaseledger/work/0.2.2/evidence/f093d36.patch +312 -0
  17. voicerender-0.2.2/.ledger/releaseledger/work/0.2.2/evidence/fdb106d.patch +6839 -0
  18. voicerender-0.2.2/.ledger/releaseledger/work/0.2.2/evidence/manifest.json +134 -0
  19. voicerender-0.2.2/.ledger/releaseledger/work/0.2.2/range.json +13 -0
  20. {voicerender-0.2.1 → voicerender-0.2.2}/PKG-INFO +81 -1
  21. {voicerender-0.2.1 → voicerender-0.2.2}/README.md +80 -0
  22. {voicerender-0.2.1 → voicerender-0.2.2}/docs/changelog.md +10 -0
  23. {voicerender-0.2.1 → voicerender-0.2.2}/docs/index.md +12 -0
  24. {voicerender-0.2.1 → voicerender-0.2.2}/docs/renderprofile.md +51 -0
  25. {voicerender-0.2.1 → voicerender-0.2.2}/pyproject.toml +1 -0
  26. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_cli.py +323 -0
  27. voicerender-0.2.2/tests/test_control_surface_exports.py +91 -0
  28. voicerender-0.2.2/tests/test_engine_options.py +87 -0
  29. voicerender-0.2.2/tests/test_model_management_api.py +127 -0
  30. voicerender-0.2.2/tests/test_model_management_cli.py +87 -0
  31. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_preflight.py +46 -0
  32. voicerender-0.2.2/tests/test_profile_roles.py +250 -0
  33. voicerender-0.2.2/tests/test_profile_roles_cli.py +149 -0
  34. voicerender-0.2.2/tests/test_progress.py +145 -0
  35. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_render_book.py +268 -3
  36. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_renderer.py +68 -1
  37. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_renderplan_render.py +246 -0
  38. voicerender-0.2.2/tests/test_storage.py +36 -0
  39. voicerender-0.2.2/tests/test_voice_clone.py +149 -0
  40. voicerender-0.2.2/tests/test_voice_clone_cli.py +68 -0
  41. voicerender-0.2.2/tests/test_voice_descriptors.py +122 -0
  42. voicerender-0.2.2/tests/test_voice_source_cli.py +145 -0
  43. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/__init__.py +79 -1
  44. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/_version.py +3 -3
  45. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/book.py +347 -7
  46. voicerender-0.2.2/voicerender/cli.py +1877 -0
  47. voicerender-0.2.2/voicerender/engines/assets.py +124 -0
  48. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/base.py +17 -0
  49. voicerender-0.2.2/voicerender/engines/options.py +53 -0
  50. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/registry.py +33 -0
  51. voicerender-0.2.2/voicerender/estimates.py +179 -0
  52. voicerender-0.2.2/voicerender/events.py +101 -0
  53. voicerender-0.2.2/voicerender/models_api.py +290 -0
  54. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/preflight.py +119 -16
  55. voicerender-0.2.2/voicerender/profile_roles.py +123 -0
  56. voicerender-0.2.2/voicerender/progress.py +177 -0
  57. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/render.py +138 -4
  58. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/renderplan_render.py +210 -8
  59. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/storage.py +29 -0
  60. voicerender-0.2.2/voicerender/voice_clone.py +166 -0
  61. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/voice_design.py +2 -2
  62. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/voice_source_codec.py +41 -9
  63. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/voice_sources.py +74 -5
  64. voicerender-0.2.2/voicerender/voices_api.py +298 -0
  65. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender.egg-info/PKG-INFO +81 -1
  66. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender.egg-info/SOURCES.txt +35 -0
  67. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender.egg-info/scm_file_list.json +36 -1
  68. voicerender-0.2.2/voicerender.egg-info/scm_version.json +8 -0
  69. voicerender-0.2.1/tests/test_storage.py +0 -16
  70. voicerender-0.2.1/voicerender/cli.py +0 -981
  71. voicerender-0.2.1/voicerender/events.py +0 -43
  72. voicerender-0.2.1/voicerender.egg-info/scm_version.json +0 -8
  73. {voicerender-0.2.1 → voicerender-0.2.2}/.github/workflows/codecov.yml +0 -0
  74. {voicerender-0.2.1 → voicerender-0.2.2}/.github/workflows/pre-commit.yml +0 -0
  75. {voicerender-0.2.1 → voicerender-0.2.2}/.github/workflows/python-publish.yml +0 -0
  76. {voicerender-0.2.1 → voicerender-0.2.2}/.github/workflows/tests.yml +0 -0
  77. {voicerender-0.2.1 → voicerender-0.2.2}/.gitignore +0 -0
  78. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/ledger.toml +0 -0
  79. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/.ledger-project.toml +0 -0
  80. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/config.toml +0 -0
  81. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/.ledger-project.toml +0 -0
  82. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/audit/commit-audit.yaml +0 -0
  83. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/entries/entry-0001.md +0 -0
  84. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/release.md +0 -0
  85. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/audit/commit-audit.yaml +0 -0
  86. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0001.md +0 -0
  87. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0002.md +0 -0
  88. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0003.md +0 -0
  89. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0004.md +0 -0
  90. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0005.md +0 -0
  91. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0006.md +0 -0
  92. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0007.md +0 -0
  93. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/release.md +0 -0
  94. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/audit/commit-audit.yaml +0 -0
  95. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0001.md +0 -0
  96. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0002.md +0 -0
  97. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0003.md +0 -0
  98. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0004.md +0 -0
  99. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0005.md +0 -0
  100. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/audit/commit-audit.yaml +0 -0
  101. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0001.md +0 -0
  102. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0002.md +0 -0
  103. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0003.md +0 -0
  104. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0004.md +0 -0
  105. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0005.md +0 -0
  106. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/release.md +0 -0
  107. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.1.1/audit-decisions.yaml +0 -0
  108. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.1.1/entries.yaml +0 -0
  109. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/audit-decisions.yaml +0 -0
  110. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/audit.yaml +0 -0
  111. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/entries.yaml +0 -0
  112. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/19f5b06.patch +0 -0
  113. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/245ca9f.patch +0 -0
  114. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/42a90e3.patch +0 -0
  115. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/480cbea.patch +0 -0
  116. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/4eb3c28.patch +0 -0
  117. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/50f298e.patch +0 -0
  118. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/56ae327.patch +0 -0
  119. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/57f1e24.patch +0 -0
  120. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/6dae2b6.patch +0 -0
  121. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/84f29db.patch +0 -0
  122. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/a390661.patch +0 -0
  123. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/a431dfa.patch +0 -0
  124. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/c2be7b3.patch +0 -0
  125. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/da15247.patch +0 -0
  126. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/ede34ea.patch +0 -0
  127. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/evidence/manifest.json +0 -0
  128. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.0/range.json +0 -0
  129. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.1/audit-decisions.yaml +0 -0
  130. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.1/audit.yaml +0 -0
  131. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.1/entries.yaml +0 -0
  132. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.1/evidence/3342e15.patch +0 -0
  133. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.1/evidence/3c82349.patch +0 -0
  134. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.1/evidence/7f466cc.patch +0 -0
  135. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.1/evidence/84f629e.patch +0 -0
  136. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.1/evidence/b7e1917.patch +0 -0
  137. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.1/evidence/manifest.json +0 -0
  138. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/0.2.1/range.json +0 -0
  139. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/v0.1.0/audit-decisions.yaml +0 -0
  140. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/v0.1.0/entries.yaml +0 -0
  141. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/v0.1.0/evidence/264eb9b.patch +0 -0
  142. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/v0.1.0/evidence/774f6f2.patch +0 -0
  143. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/v0.1.0/evidence/9e71e84.patch +0 -0
  144. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/v0.1.0/evidence/c4a2872.patch +0 -0
  145. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/v0.1.0/evidence/fb7faaf.patch +0 -0
  146. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/work/v0.1.0/evidence/manifest.json +0 -0
  147. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/releaseledger/write.lock +0 -0
  148. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/taskledger/.ledger-project.toml +0 -0
  149. {voicerender-0.2.1 → voicerender-0.2.2}/.ledger/taskledger/config.toml +0 -0
  150. {voicerender-0.2.1 → voicerender-0.2.2}/.pre-commit-config.yaml +0 -0
  151. {voicerender-0.2.1 → voicerender-0.2.2}/LICENSE +0 -0
  152. {voicerender-0.2.1 → voicerender-0.2.2}/MANIFEST.in +0 -0
  153. {voicerender-0.2.1 → voicerender-0.2.2}/docs/Makefile +0 -0
  154. {voicerender-0.2.1 → voicerender-0.2.2}/docs/conf.py +0 -0
  155. {voicerender-0.2.1 → voicerender-0.2.2}/docs/make.bat +0 -0
  156. {voicerender-0.2.1 → voicerender-0.2.2}/docs/make.py +0 -0
  157. {voicerender-0.2.1 → voicerender-0.2.2}/docs/requirements.txt +0 -0
  158. {voicerender-0.2.1 → voicerender-0.2.2}/examples/README.md +0 -0
  159. {voicerender-0.2.1 → voicerender-0.2.2}/examples/plans/chapter.renderplan.toml +0 -0
  160. {voicerender-0.2.1 → voicerender-0.2.2}/examples/plans/chapter.voiceplan.toml +0 -0
  161. {voicerender-0.2.1 → voicerender-0.2.2}/examples/voices/narration.renderprofile.toml +0 -0
  162. {voicerender-0.2.1 → voicerender-0.2.2}/examples/voices/piper.toml +0 -0
  163. {voicerender-0.2.1 → voicerender-0.2.2}/examples/voices/pocket-reference.toml +0 -0
  164. {voicerender-0.2.1 → voicerender-0.2.2}/setup.cfg +0 -0
  165. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_backends.py +0 -0
  166. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_capacity.py +0 -0
  167. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_engine_contracts.py +0 -0
  168. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_engine_registry.py +0 -0
  169. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_inflectsynth_engine.py +0 -0
  170. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_kittensynth_engine.py +0 -0
  171. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_kokoro_reference.py +0 -0
  172. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_managed_voices.py +0 -0
  173. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_package_metadata.py +0 -0
  174. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_pocketsynth_managed.py +0 -0
  175. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_qwen3_voice_design.py +0 -0
  176. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_qwen3synth_engine.py +0 -0
  177. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_renderplan_input.py +0 -0
  178. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_renderprofile.py +0 -0
  179. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_soprosynth_engine.py +0 -0
  180. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_voice_source_codec.py +0 -0
  181. {voicerender-0.2.1 → voicerender-0.2.2}/tests/test_voice_sources.py +0 -0
  182. {voicerender-0.2.1 → voicerender-0.2.2}/tests/wheel_smoke.py +0 -0
  183. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/__main__.py +0 -0
  184. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/book_contract.py +0 -0
  185. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/book_layout.py +0 -0
  186. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/capacity.py +0 -0
  187. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/__init__.py +0 -0
  188. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/api_probe.py +0 -0
  189. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/catalog.py +0 -0
  190. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/inflectsynth.py +0 -0
  191. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/kittensynth.py +0 -0
  192. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/kokoro.py +0 -0
  193. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/metadata.py +0 -0
  194. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/piper.py +0 -0
  195. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/pipersynth.py +0 -0
  196. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/pocket.py +0 -0
  197. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/pocketsynth.py +0 -0
  198. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/profiles.py +0 -0
  199. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/qwen3synth.py +0 -0
  200. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/selection.py +0 -0
  201. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/soprosynth.py +0 -0
  202. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/engines/supertonicsynth.py +0 -0
  203. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/errors.py +0 -0
  204. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/lexicons.py +0 -0
  205. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/managed_voices.py +0 -0
  206. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/models.py +0 -0
  207. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/py.typed +0 -0
  208. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/renderplan_input.py +0 -0
  209. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender/renderprofile.py +0 -0
  210. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender.egg-info/dependency_links.txt +0 -0
  211. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender.egg-info/entry_points.txt +0 -0
  212. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender.egg-info/requires.txt +0 -0
  213. {voicerender-0.2.1 → voicerender-0.2.2}/voicerender.egg-info/top_level.txt +0 -0
@@ -16,6 +16,7 @@ include = [
16
16
  "**/*.yaml",
17
17
  "**/*.yml",
18
18
  "**/*.ssmd",
19
+ "**/*.typed",
19
20
  "LICENSE",
20
21
  ]
21
22
  split_max_chars = 0
@@ -21,3 +21,10 @@
21
21
  {"data":{"row_count":5},"event":"audit.created","event_id":"event-0021","record_revisions":{"commit_audit_sheet":1},"release_version":"0.2.1","schema_version":2}
22
22
  {"data":{"updated_rows":5},"event":"audit.updated","event_id":"event-0022","record_revisions":{"commit_audit_sheet":2},"release_version":"0.2.1","schema_version":2}
23
23
  {"data":{"entry_ids":["entry-0001","entry-0002","entry-0003","entry-0004","entry-0005"],"synced_audit_rows":5},"event":"entry.batch_added","event_id":"event-0023","record_revisions":{"commit_audit_sheet":3,"entry:0.2.1/entry-0001":1,"entry:0.2.1/entry-0002":1,"entry:0.2.1/entry-0003":1,"entry:0.2.1/entry-0004":1,"entry:0.2.1/entry-0005":1,"release:0.2.1":3},"release_version":"0.2.1","schema_version":2}
24
+ {"data":{"kind":"added","status":"accepted"},"entry_id":"entry-0006","event":"entry.added","event_id":"event-0024","record_revisions":{"entry:0.2.1/entry-0006":1,"release:0.2.1":4},"release_version":"0.2.1","schema_version":2}
25
+ {"data":{"status":"planned"},"event":"release.created","event_id":"event-0025","record_revisions":{"release:0.2.2":1},"release_version":"0.2.2","schema_version":2}
26
+ {"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-0026","record_revisions":{"release:0.2.2":2},"release_version":"0.2.2","schema_version":2}
27
+ {"data":{"row_count":4},"event":"audit.created","event_id":"event-0027","record_revisions":{"commit_audit_sheet":1},"release_version":"0.2.2","schema_version":2}
28
+ {"data":{"updated_rows":4},"event":"audit.updated","event_id":"event-0028","record_revisions":{"commit_audit_sheet":2},"release_version":"0.2.2","schema_version":2}
29
+ {"data":{"entry_ids":["entry-0001","entry-0002","entry-0003","entry-0004"],"synced_audit_rows":4},"event":"entry.batch_added","event_id":"event-0029","record_revisions":{"commit_audit_sheet":3,"entry:0.2.2/entry-0001":1,"entry:0.2.2/entry-0002":1,"entry:0.2.2/entry-0003":1,"entry:0.2.2/entry-0004":1,"release:0.2.2":3},"release_version":"0.2.2","schema_version":2}
30
+ {"data":{"released_at":"2026-10-17"},"event":"release.finalized","event_id":"event-0030","record_revisions":{"release:0.2.2":4},"release_version":"0.2.2","schema_version":2}
@@ -0,0 +1,31 @@
1
+ ---
2
+ schema_version: 2
3
+ object_type: release_entry
4
+ versioning:
5
+ schema_version: 1
6
+ revision: 1
7
+ entry_id: entry-0006
8
+ release_version: 0.2.1
9
+ kind: added
10
+ summary: Added typed progress, evidence-based ETA, and workload estimates
11
+ status: accepted
12
+ audience: null
13
+ scopes: []
14
+ source_refs: []
15
+ paths:
16
+ - voicerender/events.py
17
+ - voicerender/progress.py
18
+ - voicerender/cli.py
19
+ - voicerender/estimates.py
20
+ - README.md
21
+ - docs/index.md
22
+ issues: []
23
+ prs: []
24
+ sources: []
25
+ contributors: []
26
+ breaking: false
27
+ internal: false
28
+ order: 6
29
+ ---
30
+
31
+ Render and preflight callbacks expose item and chapter progress with ETA only after successful synthesis timing samples. CLI progress stays on stderr, while pre-run estimates report verified output reuse and unknown duration without a calibrated timing model.
@@ -3,7 +3,7 @@ schema_version: 2
3
3
  object_type: release
4
4
  versioning:
5
5
  schema_version: 1
6
- revision: 3
6
+ revision: 4
7
7
  version: 0.2.1
8
8
  status: planned
9
9
  history_state: curated
@@ -16,7 +16,7 @@ changelog_file: null
16
16
  boundary_ref: null
17
17
  source_refs: []
18
18
  source_count: null
19
- entry_count: 5
19
+ entry_count: 6
20
20
  artifact_count: 0
21
21
  git_base_ref: v0.2.0
22
22
  git_base_sha: a627d2d625bc3e6daae8e3bee58abb77231918ec
@@ -0,0 +1,245 @@
1
+ schema_version: 1
2
+ object_type: commit_audit_sheet
3
+ versioning:
4
+ schema_version: 1
5
+ revision: 3
6
+ release_version: 0.2.2
7
+ git_base_ref: 7f466cc
8
+ git_base_sha: 7f466cc98bb9644372a562b621411ba778a9dba5
9
+ git_head_ref: HEAD
10
+ git_head_sha: f093d362eb1e35533c997d9e97c850690848b94a
11
+ git_range: 7f466cc98bb9644372a562b621411ba778a9dba5..f093d362eb1e35533c997d9e97c850690848b94a
12
+ commit_count: 4
13
+ rows:
14
+ - sha: fdb106d099e7085933d3573089ec9bb7ff5f86ea
15
+ source_ref: git:fdb106d099e7085933d3573089ec9bb7ff5f86ea
16
+ short_sha: fdb106d
17
+ changed_paths:
18
+ - .ledger/releaseledger/data/ledgers/main/events/events.jsonl
19
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.0/release.md
20
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/audit/commit-audit.yaml
21
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0001.md
22
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0002.md
23
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0003.md
24
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0004.md
25
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0005.md
26
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md
27
+ - .ledger/releaseledger/work/0.2.1/audit-decisions.yaml
28
+ - .ledger/releaseledger/work/0.2.1/audit.yaml
29
+ - .ledger/releaseledger/work/0.2.1/entries.yaml
30
+ - .ledger/releaseledger/work/0.2.1/evidence/3342e15.patch
31
+ - .ledger/releaseledger/work/0.2.1/evidence/3c82349.patch
32
+ - .ledger/releaseledger/work/0.2.1/evidence/7f466cc.patch
33
+ - .ledger/releaseledger/work/0.2.1/evidence/84f629e.patch
34
+ - .ledger/releaseledger/work/0.2.1/evidence/b7e1917.patch
35
+ - .ledger/releaseledger/work/0.2.1/evidence/manifest.json
36
+ - .ledger/releaseledger/work/0.2.1/range.json
37
+ - docs/changelog.md
38
+ stats:
39
+ files_changed: 20
40
+ insertions: 6669
41
+ deletions: 5
42
+ inspected: true
43
+ inspected_paths:
44
+ - .ledger/releaseledger/data/ledgers/main/events/events.jsonl
45
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.0/release.md
46
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/audit/commit-audit.yaml
47
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0001.md
48
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0002.md
49
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0003.md
50
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0004.md
51
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0005.md
52
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md
53
+ - .ledger/releaseledger/work/0.2.1/audit-decisions.yaml
54
+ - .ledger/releaseledger/work/0.2.1/audit.yaml
55
+ - .ledger/releaseledger/work/0.2.1/entries.yaml
56
+ - .ledger/releaseledger/work/0.2.1/evidence/3342e15.patch
57
+ - .ledger/releaseledger/work/0.2.1/evidence/3c82349.patch
58
+ - .ledger/releaseledger/work/0.2.1/evidence/7f466cc.patch
59
+ - .ledger/releaseledger/work/0.2.1/evidence/84f629e.patch
60
+ - .ledger/releaseledger/work/0.2.1/evidence/b7e1917.patch
61
+ - .ledger/releaseledger/work/0.2.1/evidence/manifest.json
62
+ - .ledger/releaseledger/work/0.2.1/range.json
63
+ - docs/changelog.md
64
+ observed_behavior:
65
+ Updated releaseledger metadata and generated changelog source
66
+ for the prior release; no product behavior changed.
67
+ public_impact: none
68
+ decision: internal
69
+ stale: false
70
+ evidence_subject: "doc: changelog"
71
+ target_entry_id: entry-0001
72
+ notes: Release bookkeeping only.
73
+ - sha: 88617914750a7ab2f973bd9fac4992093136dd56
74
+ source_ref: git:88617914750a7ab2f973bd9fac4992093136dd56
75
+ short_sha: "8861791"
76
+ changed_paths:
77
+ - README.md
78
+ - docs/index.md
79
+ - docs/renderprofile.md
80
+ - tests/test_control_surface_exports.py
81
+ - tests/test_engine_options.py
82
+ - tests/test_model_management_api.py
83
+ - tests/test_model_management_cli.py
84
+ - tests/test_profile_roles.py
85
+ - tests/test_profile_roles_cli.py
86
+ - tests/test_storage.py
87
+ - tests/test_voice_clone.py
88
+ - tests/test_voice_clone_cli.py
89
+ - tests/test_voice_descriptors.py
90
+ - tests/test_voice_source_cli.py
91
+ - voicerender/__init__.py
92
+ - voicerender/cli.py
93
+ - voicerender/engines/assets.py
94
+ - voicerender/engines/base.py
95
+ - voicerender/engines/options.py
96
+ - voicerender/engines/registry.py
97
+ - voicerender/models_api.py
98
+ - voicerender/profile_roles.py
99
+ - voicerender/storage.py
100
+ - voicerender/voice_clone.py
101
+ - voicerender/voice_design.py
102
+ - voicerender/voice_source_codec.py
103
+ - voicerender/voice_sources.py
104
+ - voicerender/voices_api.py
105
+ stats:
106
+ files_changed: 28
107
+ insertions: 3320
108
+ deletions: 35
109
+ inspected: true
110
+ inspected_paths:
111
+ - README.md
112
+ - docs/index.md
113
+ - docs/renderprofile.md
114
+ - tests/test_control_surface_exports.py
115
+ - tests/test_engine_options.py
116
+ - tests/test_model_management_api.py
117
+ - tests/test_model_management_cli.py
118
+ - tests/test_profile_roles.py
119
+ - tests/test_profile_roles_cli.py
120
+ - tests/test_storage.py
121
+ - tests/test_voice_clone.py
122
+ - tests/test_voice_clone_cli.py
123
+ - tests/test_voice_descriptors.py
124
+ - tests/test_voice_source_cli.py
125
+ - voicerender/__init__.py
126
+ - voicerender/cli.py
127
+ - voicerender/engines/assets.py
128
+ - voicerender/engines/base.py
129
+ - voicerender/engines/options.py
130
+ - voicerender/engines/registry.py
131
+ - voicerender/models_api.py
132
+ - voicerender/profile_roles.py
133
+ - voicerender/storage.py
134
+ - voicerender/voice_clone.py
135
+ - voicerender/voice_design.py
136
+ - voicerender/voice_source_codec.py
137
+ - voicerender/voice_sources.py
138
+ - voicerender/voices_api.py
139
+ observed_behavior:
140
+ Added public engine and voice control APIs for model management,
141
+ voice discovery, voice cloning, and RenderProfile role mutations, with matching
142
+ CLI commands and documentation.
143
+ public_impact: public
144
+ decision: accepted
145
+ stale: false
146
+ evidence_subject: "feat: control surface added"
147
+ target_entry_id: entry-0002
148
+ notes: User-facing API and CLI capabilities.
149
+ - sha: 651054065218edf3812fedb2ec7963111a2cde13
150
+ source_ref: git:651054065218edf3812fedb2ec7963111a2cde13
151
+ short_sha: "6510540"
152
+ changed_paths:
153
+ - .ledger/releaseledger/data/ledgers/main/events/events.jsonl
154
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0006.md
155
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md
156
+ - README.md
157
+ - docs/changelog.md
158
+ - docs/index.md
159
+ - tests/test_cli.py
160
+ - tests/test_control_surface_exports.py
161
+ - tests/test_preflight.py
162
+ - tests/test_progress.py
163
+ - tests/test_render_book.py
164
+ - tests/test_renderer.py
165
+ - tests/test_renderplan_render.py
166
+ - voicerender/__init__.py
167
+ - voicerender/book.py
168
+ - voicerender/cli.py
169
+ - voicerender/estimates.py
170
+ - voicerender/events.py
171
+ - voicerender/preflight.py
172
+ - voicerender/progress.py
173
+ - voicerender/render.py
174
+ - voicerender/renderplan_render.py
175
+ stats:
176
+ files_changed: 22
177
+ insertions: 2733
178
+ deletions: 69
179
+ inspected: true
180
+ inspected_paths:
181
+ - .ledger/releaseledger/data/ledgers/main/events/events.jsonl
182
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0006.md
183
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md
184
+ - README.md
185
+ - docs/changelog.md
186
+ - docs/index.md
187
+ - tests/test_cli.py
188
+ - tests/test_control_surface_exports.py
189
+ - tests/test_preflight.py
190
+ - tests/test_progress.py
191
+ - tests/test_render_book.py
192
+ - tests/test_renderer.py
193
+ - tests/test_renderplan_render.py
194
+ - voicerender/__init__.py
195
+ - voicerender/book.py
196
+ - voicerender/cli.py
197
+ - voicerender/estimates.py
198
+ - voicerender/events.py
199
+ - voicerender/preflight.py
200
+ - voicerender/progress.py
201
+ - voicerender/render.py
202
+ - voicerender/renderplan_render.py
203
+ observed_behavior:
204
+ Added typed render progress events, workload estimates, and evidence-based
205
+ ETA reporting across preflight, single-plan rendering, book rendering, and CLI
206
+ progress output.
207
+ public_impact: public
208
+ decision: accepted
209
+ stale: false
210
+ evidence_subject: "feat: progress view added"
211
+ target_entry_id: entry-0003
212
+ notes: User-facing progress and estimation capabilities.
213
+ - sha: f093d362eb1e35533c997d9e97c850690848b94a
214
+ source_ref: git:f093d362eb1e35533c997d9e97c850690848b94a
215
+ short_sha: f093d36
216
+ changed_paths:
217
+ - pyproject.toml
218
+ - voicerender/book.py
219
+ - voicerender/cli.py
220
+ - voicerender/engines/options.py
221
+ - voicerender/models_api.py
222
+ - voicerender/profile_roles.py
223
+ - voicerender/voices_api.py
224
+ stats:
225
+ files_changed: 7
226
+ insertions: 53
227
+ deletions: 42
228
+ inspected: true
229
+ inspected_paths:
230
+ - pyproject.toml
231
+ - voicerender/book.py
232
+ - voicerender/cli.py
233
+ - voicerender/engines/options.py
234
+ - voicerender/models_api.py
235
+ - voicerender/profile_roles.py
236
+ - voicerender/voices_api.py
237
+ observed_behavior:
238
+ Adjusted annotations and typing configuration to satisfy mypy
239
+ without changing runtime behavior.
240
+ public_impact: internal
241
+ decision: internal
242
+ stale: false
243
+ evidence_subject: "chore: mypy"
244
+ target_entry_id: entry-0004
245
+ notes: Type-checking maintenance only.
@@ -0,0 +1,46 @@
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: 0.2.2
9
+ kind: docs
10
+ summary: Documented release metadata for the prior release
11
+ status: accepted
12
+ audience: null
13
+ scopes: []
14
+ source_refs:
15
+ - git:fdb106d099e7085933d3573089ec9bb7ff5f86ea
16
+ paths:
17
+ - .ledger/releaseledger/data/ledgers/main/events/events.jsonl
18
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.0/release.md
19
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/audit/commit-audit.yaml
20
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0001.md
21
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0002.md
22
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0003.md
23
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0004.md
24
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0005.md
25
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md
26
+ - .ledger/releaseledger/work/0.2.1/audit-decisions.yaml
27
+ - .ledger/releaseledger/work/0.2.1/audit.yaml
28
+ - .ledger/releaseledger/work/0.2.1/entries.yaml
29
+ - .ledger/releaseledger/work/0.2.1/evidence/3342e15.patch
30
+ - .ledger/releaseledger/work/0.2.1/evidence/3c82349.patch
31
+ - .ledger/releaseledger/work/0.2.1/evidence/7f466cc.patch
32
+ - .ledger/releaseledger/work/0.2.1/evidence/84f629e.patch
33
+ - .ledger/releaseledger/work/0.2.1/evidence/b7e1917.patch
34
+ - .ledger/releaseledger/work/0.2.1/evidence/manifest.json
35
+ - .ledger/releaseledger/work/0.2.1/range.json
36
+ - docs/changelog.md
37
+ issues: []
38
+ prs: []
39
+ sources:
40
+ - git:fdb106d099e7085933d3573089ec9bb7ff5f86ea
41
+ contributors:
42
+ - "@holgern"
43
+ breaking: false
44
+ internal: true
45
+ order: 1
46
+ ---
@@ -0,0 +1,56 @@
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: 0.2.2
9
+ kind: added
10
+ summary:
11
+ Added model management, voice discovery, voice cloning, and RenderProfile
12
+ role APIs and CLI commands
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:88617914750a7ab2f973bd9fac4992093136dd56
18
+ paths:
19
+ - README.md
20
+ - docs/index.md
21
+ - docs/renderprofile.md
22
+ - tests/test_control_surface_exports.py
23
+ - tests/test_engine_options.py
24
+ - tests/test_model_management_api.py
25
+ - tests/test_model_management_cli.py
26
+ - tests/test_profile_roles.py
27
+ - tests/test_profile_roles_cli.py
28
+ - tests/test_storage.py
29
+ - tests/test_voice_clone.py
30
+ - tests/test_voice_clone_cli.py
31
+ - tests/test_voice_descriptors.py
32
+ - tests/test_voice_source_cli.py
33
+ - voicerender/__init__.py
34
+ - voicerender/cli.py
35
+ - voicerender/engines/assets.py
36
+ - voicerender/engines/base.py
37
+ - voicerender/engines/options.py
38
+ - voicerender/engines/registry.py
39
+ - voicerender/models_api.py
40
+ - voicerender/profile_roles.py
41
+ - voicerender/storage.py
42
+ - voicerender/voice_clone.py
43
+ - voicerender/voice_design.py
44
+ - voicerender/voice_source_codec.py
45
+ - voicerender/voice_sources.py
46
+ - voicerender/voices_api.py
47
+ issues: []
48
+ prs: []
49
+ sources:
50
+ - git:88617914750a7ab2f973bd9fac4992093136dd56
51
+ contributors:
52
+ - "@holgern"
53
+ breaking: false
54
+ internal: false
55
+ order: 2
56
+ ---
@@ -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-0003
8
+ release_version: 0.2.2
9
+ kind: added
10
+ summary: Added typed progress, workload estimates, and evidence-based ETA reporting
11
+ status: accepted
12
+ audience: null
13
+ scopes: []
14
+ source_refs:
15
+ - git:651054065218edf3812fedb2ec7963111a2cde13
16
+ paths:
17
+ - .ledger/releaseledger/data/ledgers/main/events/events.jsonl
18
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0006.md
19
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md
20
+ - README.md
21
+ - docs/changelog.md
22
+ - docs/index.md
23
+ - tests/test_cli.py
24
+ - tests/test_control_surface_exports.py
25
+ - tests/test_preflight.py
26
+ - tests/test_progress.py
27
+ - tests/test_render_book.py
28
+ - tests/test_renderer.py
29
+ - tests/test_renderplan_render.py
30
+ - voicerender/__init__.py
31
+ - voicerender/book.py
32
+ - voicerender/cli.py
33
+ - voicerender/estimates.py
34
+ - voicerender/events.py
35
+ - voicerender/preflight.py
36
+ - voicerender/progress.py
37
+ - voicerender/render.py
38
+ - voicerender/renderplan_render.py
39
+ issues: []
40
+ prs: []
41
+ sources:
42
+ - git:651054065218edf3812fedb2ec7963111a2cde13
43
+ contributors:
44
+ - "@holgern"
45
+ breaking: false
46
+ internal: false
47
+ order: 3
48
+ ---
@@ -0,0 +1,35 @@
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: 0.2.2
9
+ kind: internal
10
+ summary:
11
+ Changed type annotations and mypy configuration without affecting runtime
12
+ behavior
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:f093d362eb1e35533c997d9e97c850690848b94a
18
+ paths:
19
+ - pyproject.toml
20
+ - voicerender/book.py
21
+ - voicerender/cli.py
22
+ - voicerender/engines/options.py
23
+ - voicerender/models_api.py
24
+ - voicerender/profile_roles.py
25
+ - voicerender/voices_api.py
26
+ issues: []
27
+ prs: []
28
+ sources:
29
+ - git:f093d362eb1e35533c997d9e97c850690848b94a
30
+ contributors:
31
+ - "@holgern"
32
+ breaking: false
33
+ internal: true
34
+ order: 4
35
+ ---
@@ -0,0 +1,27 @@
1
+ ---
2
+ schema_version: 2
3
+ object_type: release
4
+ versioning:
5
+ schema_version: 1
6
+ revision: 4
7
+ version: 0.2.2
8
+ status: released
9
+ history_state: curated
10
+ title: null
11
+ released_at: "2026-10-17"
12
+ previous_version: 0.2.1
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: 7f466cc
22
+ git_base_sha: 7f466cc98bb9644372a562b621411ba778a9dba5
23
+ git_head_ref: HEAD
24
+ git_head_sha: f093d362eb1e35533c997d9e97c850690848b94a
25
+ git_range: 7f466cc98bb9644372a562b621411ba778a9dba5..f093d362eb1e35533c997d9e97c850690848b94a
26
+ git_commit_count: 4
27
+ ---
@@ -0,0 +1,118 @@
1
+ rows:
2
+ - sha: fdb106d099e7085933d3573089ec9bb7ff5f86ea
3
+ inspected: true
4
+ inspected_paths:
5
+ - .ledger/releaseledger/data/ledgers/main/events/events.jsonl
6
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.0/release.md
7
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/audit/commit-audit.yaml
8
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0001.md
9
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0002.md
10
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0003.md
11
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0004.md
12
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0005.md
13
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md
14
+ - .ledger/releaseledger/work/0.2.1/audit-decisions.yaml
15
+ - .ledger/releaseledger/work/0.2.1/audit.yaml
16
+ - .ledger/releaseledger/work/0.2.1/entries.yaml
17
+ - .ledger/releaseledger/work/0.2.1/evidence/3342e15.patch
18
+ - .ledger/releaseledger/work/0.2.1/evidence/3c82349.patch
19
+ - .ledger/releaseledger/work/0.2.1/evidence/7f466cc.patch
20
+ - .ledger/releaseledger/work/0.2.1/evidence/84f629e.patch
21
+ - .ledger/releaseledger/work/0.2.1/evidence/b7e1917.patch
22
+ - .ledger/releaseledger/work/0.2.1/evidence/manifest.json
23
+ - .ledger/releaseledger/work/0.2.1/range.json
24
+ - docs/changelog.md
25
+ observed_behavior: "Updated releaseledger metadata and generated changelog source for the prior release; no product behavior changed."
26
+ public_impact: none
27
+ decision: internal
28
+ target_entry_key: null
29
+ target_entry_id: null
30
+ notes: "Release bookkeeping only."
31
+ stale: false
32
+ - sha: 88617914750a7ab2f973bd9fac4992093136dd56
33
+ inspected: true
34
+ inspected_paths:
35
+ - README.md
36
+ - docs/index.md
37
+ - docs/renderprofile.md
38
+ - tests/test_control_surface_exports.py
39
+ - tests/test_engine_options.py
40
+ - tests/test_model_management_api.py
41
+ - tests/test_model_management_cli.py
42
+ - tests/test_profile_roles.py
43
+ - tests/test_profile_roles_cli.py
44
+ - tests/test_storage.py
45
+ - tests/test_voice_clone.py
46
+ - tests/test_voice_clone_cli.py
47
+ - tests/test_voice_descriptors.py
48
+ - tests/test_voice_source_cli.py
49
+ - voicerender/__init__.py
50
+ - voicerender/cli.py
51
+ - voicerender/engines/assets.py
52
+ - voicerender/engines/base.py
53
+ - voicerender/engines/options.py
54
+ - voicerender/engines/registry.py
55
+ - voicerender/models_api.py
56
+ - voicerender/profile_roles.py
57
+ - voicerender/storage.py
58
+ - voicerender/voice_clone.py
59
+ - voicerender/voice_design.py
60
+ - voicerender/voice_source_codec.py
61
+ - voicerender/voice_sources.py
62
+ - voicerender/voices_api.py
63
+ observed_behavior: "Added public engine and voice control APIs for model management, voice discovery, voice cloning, and RenderProfile role mutations, with matching CLI commands and documentation."
64
+ public_impact: public
65
+ decision: accepted
66
+ target_entry_key: null
67
+ target_entry_id: null
68
+ notes: "User-facing API and CLI capabilities."
69
+ stale: false
70
+ - sha: 651054065218edf3812fedb2ec7963111a2cde13
71
+ inspected: true
72
+ inspected_paths:
73
+ - .ledger/releaseledger/data/ledgers/main/events/events.jsonl
74
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0006.md
75
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md
76
+ - README.md
77
+ - docs/changelog.md
78
+ - docs/index.md
79
+ - tests/test_cli.py
80
+ - tests/test_control_surface_exports.py
81
+ - tests/test_preflight.py
82
+ - tests/test_progress.py
83
+ - tests/test_render_book.py
84
+ - tests/test_renderer.py
85
+ - tests/test_renderplan_render.py
86
+ - voicerender/__init__.py
87
+ - voicerender/book.py
88
+ - voicerender/cli.py
89
+ - voicerender/estimates.py
90
+ - voicerender/events.py
91
+ - voicerender/preflight.py
92
+ - voicerender/progress.py
93
+ - voicerender/render.py
94
+ - voicerender/renderplan_render.py
95
+ observed_behavior: "Added typed render progress events, workload estimates, and evidence-based ETA reporting across preflight, single-plan rendering, book rendering, and CLI progress output."
96
+ public_impact: public
97
+ decision: accepted
98
+ target_entry_key: null
99
+ target_entry_id: null
100
+ notes: "User-facing progress and estimation capabilities."
101
+ stale: false
102
+ - sha: f093d362eb1e35533c997d9e97c850690848b94a
103
+ inspected: true
104
+ inspected_paths:
105
+ - pyproject.toml
106
+ - voicerender/book.py
107
+ - voicerender/cli.py
108
+ - voicerender/engines/options.py
109
+ - voicerender/models_api.py
110
+ - voicerender/profile_roles.py
111
+ - voicerender/voices_api.py
112
+ observed_behavior: "Adjusted annotations and typing configuration to satisfy mypy without changing runtime behavior."
113
+ public_impact: internal
114
+ decision: internal
115
+ target_entry_key: null
116
+ target_entry_id: null
117
+ notes: "Type-checking maintenance only."
118
+ stale: false