voicerender 0.2.3__tar.gz → 0.2.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 (244) hide show
  1. {voicerender-0.2.3 → voicerender-0.2.4}/.github/workflows/tests.yml +1 -0
  2. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +7 -0
  3. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/release.md +3 -3
  4. voicerender-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/audit/commit-audit.yaml +183 -0
  5. voicerender-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0001.md +36 -0
  6. voicerender-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0002.md +35 -0
  7. voicerender-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0003.md +28 -0
  8. voicerender-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0004.md +43 -0
  9. voicerender-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0005.md +27 -0
  10. voicerender-0.2.4/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/release.md +27 -0
  11. voicerender-0.2.4/.ledger/releaseledger/work/0.2.4/audit-decisions.yaml +98 -0
  12. voicerender-0.2.4/.ledger/releaseledger/work/0.2.4/audit.yaml +121 -0
  13. voicerender-0.2.4/.ledger/releaseledger/work/0.2.4/entries.yaml +106 -0
  14. voicerender-0.2.4/.ledger/releaseledger/work/0.2.4/evidence/304b84d.patch +28 -0
  15. voicerender-0.2.4/.ledger/releaseledger/work/0.2.4/evidence/3d486d5.patch +1592 -0
  16. voicerender-0.2.4/.ledger/releaseledger/work/0.2.4/evidence/5ffdff4.patch +1108 -0
  17. voicerender-0.2.4/.ledger/releaseledger/work/0.2.4/evidence/ccd30d2.patch +16 -0
  18. voicerender-0.2.4/.ledger/releaseledger/work/0.2.4/evidence/efe4f37.patch +815 -0
  19. voicerender-0.2.4/.ledger/releaseledger/work/0.2.4/evidence/manifest.json +96 -0
  20. voicerender-0.2.4/.ledger/releaseledger/work/0.2.4/range.json +13 -0
  21. {voicerender-0.2.3 → voicerender-0.2.4}/PKG-INFO +75 -13
  22. {voicerender-0.2.3 → voicerender-0.2.4}/README.md +73 -12
  23. {voicerender-0.2.3 → voicerender-0.2.4}/docs/changelog.md +14 -1
  24. {voicerender-0.2.3 → voicerender-0.2.4}/docs/index.md +5 -1
  25. {voicerender-0.2.3 → voicerender-0.2.4}/docs/renderprofile.md +89 -13
  26. {voicerender-0.2.3 → voicerender-0.2.4}/pyproject.toml +1 -0
  27. voicerender-0.2.4/tests/test_document_contract.py +294 -0
  28. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_engine_options.py +11 -0
  29. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_kittensynth_engine.py +1 -1
  30. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_kokoro_reference.py +401 -3
  31. voicerender-0.2.4/tests/test_profile_roles_cli.py +276 -0
  32. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_renderplan_render.py +36 -0
  33. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_voice_clone.py +71 -1
  34. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/__init__.py +13 -1
  35. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/_version.py +3 -3
  36. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/book.py +12 -0
  37. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/cli.py +187 -37
  38. voicerender-0.2.4/voicerender/document.py +454 -0
  39. voicerender-0.2.4/voicerender/document_contract.py +127 -0
  40. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/base.py +57 -0
  41. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/kittensynth.py +8 -33
  42. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/kokoro.py +291 -19
  43. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/errors.py +11 -0
  44. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/estimates.py +41 -1
  45. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/renderplan_render.py +36 -1
  46. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/voice_clone.py +47 -16
  47. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender.egg-info/PKG-INFO +75 -13
  48. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender.egg-info/SOURCES.txt +20 -0
  49. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender.egg-info/requires.txt +1 -0
  50. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender.egg-info/scm_file_list.json +20 -0
  51. voicerender-0.2.4/voicerender.egg-info/scm_version.json +8 -0
  52. voicerender-0.2.3/tests/test_profile_roles_cli.py +0 -149
  53. voicerender-0.2.3/voicerender.egg-info/scm_version.json +0 -8
  54. {voicerender-0.2.3 → voicerender-0.2.4}/.codecrate.toml +0 -0
  55. {voicerender-0.2.3 → voicerender-0.2.4}/.github/workflows/codecov.yml +0 -0
  56. {voicerender-0.2.3 → voicerender-0.2.4}/.github/workflows/pre-commit.yml +0 -0
  57. {voicerender-0.2.3 → voicerender-0.2.4}/.github/workflows/python-publish.yml +0 -0
  58. {voicerender-0.2.3 → voicerender-0.2.4}/.gitignore +0 -0
  59. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/ledger.toml +0 -0
  60. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/.ledger-project.toml +0 -0
  61. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/config.toml +0 -0
  62. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/.ledger-project.toml +0 -0
  63. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/audit/commit-audit.yaml +0 -0
  64. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/entries/entry-0001.md +0 -0
  65. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/release.md +0 -0
  66. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/audit/commit-audit.yaml +0 -0
  67. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0001.md +0 -0
  68. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0002.md +0 -0
  69. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0003.md +0 -0
  70. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0004.md +0 -0
  71. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0005.md +0 -0
  72. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0006.md +0 -0
  73. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0007.md +0 -0
  74. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/release.md +0 -0
  75. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/audit/commit-audit.yaml +0 -0
  76. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0001.md +0 -0
  77. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0002.md +0 -0
  78. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0003.md +0 -0
  79. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0004.md +0 -0
  80. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0005.md +0 -0
  81. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0006.md +0 -0
  82. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md +0 -0
  83. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/audit/commit-audit.yaml +0 -0
  84. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0001.md +0 -0
  85. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0002.md +0 -0
  86. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0003.md +0 -0
  87. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0004.md +0 -0
  88. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/release.md +0 -0
  89. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/audit/commit-audit.yaml +0 -0
  90. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/entries/entry-0001.md +0 -0
  91. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/entries/entry-0002.md +0 -0
  92. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/audit/commit-audit.yaml +0 -0
  93. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0001.md +0 -0
  94. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0002.md +0 -0
  95. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0003.md +0 -0
  96. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0004.md +0 -0
  97. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0005.md +0 -0
  98. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/release.md +0 -0
  99. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.1.1/audit-decisions.yaml +0 -0
  100. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.1.1/entries.yaml +0 -0
  101. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/audit-decisions.yaml +0 -0
  102. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/audit.yaml +0 -0
  103. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/entries.yaml +0 -0
  104. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/19f5b06.patch +0 -0
  105. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/245ca9f.patch +0 -0
  106. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/42a90e3.patch +0 -0
  107. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/480cbea.patch +0 -0
  108. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/4eb3c28.patch +0 -0
  109. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/50f298e.patch +0 -0
  110. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/56ae327.patch +0 -0
  111. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/57f1e24.patch +0 -0
  112. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/6dae2b6.patch +0 -0
  113. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/84f29db.patch +0 -0
  114. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/a390661.patch +0 -0
  115. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/a431dfa.patch +0 -0
  116. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/c2be7b3.patch +0 -0
  117. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/da15247.patch +0 -0
  118. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/ede34ea.patch +0 -0
  119. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/evidence/manifest.json +0 -0
  120. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.0/range.json +0 -0
  121. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.1/audit-decisions.yaml +0 -0
  122. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.1/audit.yaml +0 -0
  123. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.1/entries.yaml +0 -0
  124. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.1/evidence/3342e15.patch +0 -0
  125. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.1/evidence/3c82349.patch +0 -0
  126. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.1/evidence/7f466cc.patch +0 -0
  127. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.1/evidence/84f629e.patch +0 -0
  128. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.1/evidence/b7e1917.patch +0 -0
  129. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.1/evidence/manifest.json +0 -0
  130. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.1/range.json +0 -0
  131. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.2/audit-decisions.yaml +0 -0
  132. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.2/audit.yaml +0 -0
  133. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.2/entries.yaml +0 -0
  134. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.2/evidence/6510540.patch +0 -0
  135. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.2/evidence/8861791.patch +0 -0
  136. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.2/evidence/f093d36.patch +0 -0
  137. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.2/evidence/fdb106d.patch +0 -0
  138. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.2/evidence/manifest.json +0 -0
  139. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.2/range.json +0 -0
  140. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.3/audit-decisions.yaml +0 -0
  141. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.3/audit.yaml +0 -0
  142. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.3/entries.yaml +0 -0
  143. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.3/evidence/67e4d8e.patch +0 -0
  144. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.3/evidence/b17f1a9.patch +0 -0
  145. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.3/evidence/manifest.json +0 -0
  146. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/0.2.3/range.json +0 -0
  147. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/v0.1.0/audit-decisions.yaml +0 -0
  148. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/v0.1.0/entries.yaml +0 -0
  149. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/v0.1.0/evidence/264eb9b.patch +0 -0
  150. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/v0.1.0/evidence/774f6f2.patch +0 -0
  151. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/v0.1.0/evidence/9e71e84.patch +0 -0
  152. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/v0.1.0/evidence/c4a2872.patch +0 -0
  153. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/v0.1.0/evidence/fb7faaf.patch +0 -0
  154. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/work/v0.1.0/evidence/manifest.json +0 -0
  155. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/releaseledger/write.lock +0 -0
  156. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/taskledger/.ledger-project.toml +0 -0
  157. {voicerender-0.2.3 → voicerender-0.2.4}/.ledger/taskledger/config.toml +0 -0
  158. {voicerender-0.2.3 → voicerender-0.2.4}/.pre-commit-config.yaml +0 -0
  159. {voicerender-0.2.3 → voicerender-0.2.4}/LICENSE +0 -0
  160. {voicerender-0.2.3 → voicerender-0.2.4}/MANIFEST.in +0 -0
  161. {voicerender-0.2.3 → voicerender-0.2.4}/docs/Makefile +0 -0
  162. {voicerender-0.2.3 → voicerender-0.2.4}/docs/conf.py +0 -0
  163. {voicerender-0.2.3 → voicerender-0.2.4}/docs/make.bat +0 -0
  164. {voicerender-0.2.3 → voicerender-0.2.4}/docs/make.py +0 -0
  165. {voicerender-0.2.3 → voicerender-0.2.4}/docs/requirements.txt +0 -0
  166. {voicerender-0.2.3 → voicerender-0.2.4}/examples/README.md +0 -0
  167. {voicerender-0.2.3 → voicerender-0.2.4}/examples/plans/chapter.renderplan.toml +0 -0
  168. {voicerender-0.2.3 → voicerender-0.2.4}/examples/plans/chapter.voiceplan.toml +0 -0
  169. {voicerender-0.2.3 → voicerender-0.2.4}/examples/voices/narration.renderprofile.toml +0 -0
  170. {voicerender-0.2.3 → voicerender-0.2.4}/examples/voices/piper.toml +0 -0
  171. {voicerender-0.2.3 → voicerender-0.2.4}/examples/voices/pocket-reference.toml +0 -0
  172. {voicerender-0.2.3 → voicerender-0.2.4}/setup.cfg +0 -0
  173. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_backends.py +0 -0
  174. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_capacity.py +0 -0
  175. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_chatterboxsynth_engine.py +0 -0
  176. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_cli.py +0 -0
  177. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_control_surface_exports.py +0 -0
  178. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_engine_contracts.py +0 -0
  179. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_engine_registry.py +0 -0
  180. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_inflectsynth_engine.py +0 -0
  181. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_managed_voices.py +0 -0
  182. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_model_management_api.py +0 -0
  183. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_model_management_cli.py +0 -0
  184. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_package_metadata.py +0 -0
  185. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_pocketsynth_managed.py +0 -0
  186. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_preflight.py +0 -0
  187. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_profile_roles.py +0 -0
  188. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_progress.py +0 -0
  189. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_qwen3_voice_design.py +0 -0
  190. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_qwen3synth_engine.py +0 -0
  191. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_render_book.py +0 -0
  192. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_renderer.py +0 -0
  193. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_renderplan_input.py +0 -0
  194. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_renderprofile.py +0 -0
  195. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_soprosynth_engine.py +0 -0
  196. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_storage.py +0 -0
  197. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_voice_clone_cli.py +0 -0
  198. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_voice_descriptors.py +0 -0
  199. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_voice_source_cli.py +0 -0
  200. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_voice_source_codec.py +0 -0
  201. {voicerender-0.2.3 → voicerender-0.2.4}/tests/test_voice_sources.py +0 -0
  202. {voicerender-0.2.3 → voicerender-0.2.4}/tests/wheel_smoke.py +0 -0
  203. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/__main__.py +0 -0
  204. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/book_contract.py +0 -0
  205. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/book_layout.py +0 -0
  206. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/capacity.py +0 -0
  207. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/__init__.py +0 -0
  208. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/api_probe.py +0 -0
  209. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/assets.py +0 -0
  210. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/catalog.py +0 -0
  211. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/chatterboxsynth.py +0 -0
  212. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/inflectsynth.py +0 -0
  213. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/metadata.py +0 -0
  214. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/options.py +0 -0
  215. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/piper.py +0 -0
  216. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/pipersynth.py +0 -0
  217. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/pocket.py +0 -0
  218. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/pocketsynth.py +0 -0
  219. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/profiles.py +0 -0
  220. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/qwen3synth.py +0 -0
  221. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/registry.py +0 -0
  222. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/selection.py +0 -0
  223. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/soprosynth.py +0 -0
  224. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/engines/supertonicsynth.py +0 -0
  225. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/events.py +0 -0
  226. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/lexicons.py +0 -0
  227. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/managed_voices.py +0 -0
  228. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/models.py +0 -0
  229. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/models_api.py +0 -0
  230. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/preflight.py +0 -0
  231. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/profile_roles.py +0 -0
  232. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/progress.py +0 -0
  233. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/py.typed +0 -0
  234. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/render.py +0 -0
  235. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/renderplan_input.py +0 -0
  236. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/renderprofile.py +0 -0
  237. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/storage.py +0 -0
  238. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/voice_design.py +0 -0
  239. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/voice_source_codec.py +0 -0
  240. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/voice_sources.py +0 -0
  241. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender/voices_api.py +0 -0
  242. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender.egg-info/dependency_links.txt +0 -0
  243. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender.egg-info/entry_points.txt +0 -0
  244. {voicerender-0.2.3 → voicerender-0.2.4}/voicerender.egg-info/top_level.txt +0 -0
@@ -101,6 +101,7 @@ jobs:
101
101
  "pytest==8.0.0" \
102
102
  "numpy==1.23.0" \
103
103
  "soundfile==0.12.1" \
104
+ "tomlkit==0.13.3" \
104
105
  "tomli==2.0.1" \
105
106
  "renderplan==0.1.2" \
106
107
  "voicefolio==0.1.1"
@@ -33,3 +33,10 @@
33
33
  {"data":{"row_count":2},"event":"audit.created","event_id":"event-0033","record_revisions":{"commit_audit_sheet":1},"release_version":"0.2.3","schema_version":2}
34
34
  {"data":{"updated_rows":2},"event":"audit.updated","event_id":"event-0034","record_revisions":{"commit_audit_sheet":2},"release_version":"0.2.3","schema_version":2}
35
35
  {"data":{"entry_ids":["entry-0001","entry-0002"],"synced_audit_rows":2},"event":"entry.batch_added","event_id":"event-0035","record_revisions":{"commit_audit_sheet":3,"entry:0.2.3/entry-0001":1,"entry:0.2.3/entry-0002":1,"release:0.2.3":3},"release_version":"0.2.3","schema_version":2}
36
+ {"data":{"status":"planned"},"event":"release.created","event_id":"event-0036","record_revisions":{"release:0.2.4":1},"release_version":"0.2.4","schema_version":2}
37
+ {"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-0037","record_revisions":{"release:0.2.4":2},"release_version":"0.2.4","schema_version":2}
38
+ {"data":{"row_count":5},"event":"audit.created","event_id":"event-0038","record_revisions":{"commit_audit_sheet":1},"release_version":"0.2.4","schema_version":2}
39
+ {"data":{"updated_rows":5},"event":"audit.updated","event_id":"event-0039","record_revisions":{"commit_audit_sheet":2},"release_version":"0.2.4","schema_version":2}
40
+ {"data":{"entry_ids":["entry-0001","entry-0002","entry-0003","entry-0004","entry-0005"],"synced_audit_rows":5},"event":"entry.batch_added","event_id":"event-0040","record_revisions":{"commit_audit_sheet":3,"entry:0.2.4/entry-0001":1,"entry:0.2.4/entry-0002":1,"entry:0.2.4/entry-0003":1,"entry:0.2.4/entry-0004":1,"entry:0.2.4/entry-0005":1,"release:0.2.4":3},"release_version":"0.2.4","schema_version":2}
41
+ {"data":{"released_at":"2026-10-18"},"event":"release.finalized","event_id":"event-0041","record_revisions":{"release:0.2.3":4},"release_version":"0.2.3","schema_version":2}
42
+ {"data":{"released_at":"2026-10-20"},"event":"release.finalized","event_id":"event-0042","record_revisions":{"release:0.2.4":4},"release_version":"0.2.4","schema_version":2}
@@ -3,12 +3,12 @@ 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.3
8
- status: planned
8
+ status: released
9
9
  history_state: curated
10
10
  title: null
11
- released_at: null
11
+ released_at: "2026-10-18"
12
12
  previous_version: 0.2.2
13
13
  cancel_reason: null
14
14
  superseded_by: null
@@ -0,0 +1,183 @@
1
+ schema_version: 1
2
+ object_type: commit_audit_sheet
3
+ versioning:
4
+ schema_version: 1
5
+ revision: 3
6
+ release_version: 0.2.4
7
+ git_base_ref: v0.2.3
8
+ git_base_sha: 817587bef3fafffbe39f6b8b715720263dec50dd
9
+ git_head_ref: HEAD
10
+ git_head_sha: ccd30d20fcc85c71d35c850accaf41ffdc5fc960
11
+ git_range: 817587bef3fafffbe39f6b8b715720263dec50dd..ccd30d20fcc85c71d35c850accaf41ffdc5fc960
12
+ commit_count: 5
13
+ rows:
14
+ - sha: 5ffdff4e822f5ea3bff212cf708a6d797029915d
15
+ source_ref: git:5ffdff4e822f5ea3bff212cf708a6d797029915d
16
+ short_sha: 5ffdff4
17
+ changed_paths:
18
+ - README.md
19
+ - tests/test_document_contract.py
20
+ - voicerender/__init__.py
21
+ - voicerender/cli.py
22
+ - voicerender/document.py
23
+ - voicerender/document_contract.py
24
+ - voicerender/errors.py
25
+ - voicerender/estimates.py
26
+ stats:
27
+ files_changed: 8
28
+ insertions: 970
29
+ deletions: 2
30
+ inspected: true
31
+ inspected_paths:
32
+ - README.md
33
+ - tests/test_document_contract.py
34
+ - voicerender/__init__.py
35
+ - voicerender/cli.py
36
+ - voicerender/document.py
37
+ - voicerender/document_contract.py
38
+ - voicerender/errors.py
39
+ - voicerender/estimates.py
40
+ observed_behavior:
41
+ Added SSMDDoc v1 workspace validation plus document-level render
42
+ and estimate operations that resolve a checked RenderPlan variant and keep outputs
43
+ and caches in variant-scoped workspace directories.
44
+ public_impact: public
45
+ decision: accepted
46
+ stale: false
47
+ evidence_subject: "feat: add support for document dir"
48
+ target_entry_key: document-workspace
49
+ target_entry_id: entry-0001
50
+ notes: Reviewed implementation and focused contract tests.
51
+ - sha: efe4f37393479c1143e37f5288b8b586d3fbcc8c
52
+ source_ref: git:efe4f37393479c1143e37f5288b8b586d3fbcc8c
53
+ short_sha: efe4f37
54
+ changed_paths:
55
+ - README.md
56
+ - docs/index.md
57
+ - docs/renderprofile.md
58
+ - tests/test_document_contract.py
59
+ - tests/test_profile_roles_cli.py
60
+ - voicerender/cli.py
61
+ - voicerender/document.py
62
+ stats:
63
+ files_changed: 7
64
+ insertions: 416
65
+ deletions: 86
66
+ inspected: true
67
+ inspected_paths:
68
+ - README.md
69
+ - docs/index.md
70
+ - docs/renderprofile.md
71
+ - tests/test_document_contract.py
72
+ - tests/test_profile_roles_cli.py
73
+ - voicerender/cli.py
74
+ - voicerender/document.py
75
+ observed_behavior:
76
+ Expanded RenderProfile role workflows so one profile can describe
77
+ a complete cast with mixed engine bindings, including first-class role binding
78
+ and descriptive human and JSON profile inspection.
79
+ public_impact: public
80
+ decision: accepted
81
+ stale: false
82
+ evidence_subject: "feat: better voice role binding"
83
+ target_entry_key: mixed-engine-casts
84
+ target_entry_id: entry-0002
85
+ notes: Reviewed CLI, documentation, and role presentation tests.
86
+ - sha: 304b84d7fca0509a1524e2d3131858740124ed1a
87
+ source_ref: git:304b84d7fca0509a1524e2d3131858740124ed1a
88
+ short_sha: 304b84d
89
+ changed_paths:
90
+ - .github/workflows/tests.yml
91
+ - pyproject.toml
92
+ stats:
93
+ files_changed: 2
94
+ insertions: 2
95
+ deletions: 0
96
+ inspected: true
97
+ inspected_paths:
98
+ - .github/workflows/tests.yml
99
+ - pyproject.toml
100
+ observed_behavior:
101
+ Added the tomlkit runtime dependency required by the release's
102
+ TOML report writing path and kept the dependency available in the test workflow.
103
+ public_impact: internal
104
+ decision: internal
105
+ stale: false
106
+ evidence_subject: "chore: fix tomli"
107
+ target_entry_key: tomlkit-dependency
108
+ target_entry_id: entry-0003
109
+ notes: Packaging and workflow support only; intentionally excluded from public notes.
110
+ - sha: 3d486d5fddcc8612430c321760e9ebd3d84607fc
111
+ source_ref: git:3d486d5fddcc8612430c321760e9ebd3d84607fc
112
+ short_sha: 3d486d5
113
+ changed_paths:
114
+ - README.md
115
+ - docs/renderprofile.md
116
+ - tests/test_engine_options.py
117
+ - tests/test_kittensynth_engine.py
118
+ - tests/test_kokoro_reference.py
119
+ - tests/test_renderplan_render.py
120
+ - tests/test_voice_clone.py
121
+ - voicerender/book.py
122
+ - voicerender/cli.py
123
+ - voicerender/document.py
124
+ - voicerender/engines/base.py
125
+ - voicerender/engines/kittensynth.py
126
+ - voicerender/engines/kokoro.py
127
+ - voicerender/renderplan_render.py
128
+ - voicerender/voice_clone.py
129
+ stats:
130
+ files_changed: 15
131
+ insertions: 1028
132
+ deletions: 73
133
+ inspected: true
134
+ inspected_paths:
135
+ - README.md
136
+ - docs/renderprofile.md
137
+ - tests/test_engine_options.py
138
+ - tests/test_kittensynth_engine.py
139
+ - tests/test_kokoro_reference.py
140
+ - tests/test_renderplan_render.py
141
+ - tests/test_voice_clone.py
142
+ - voicerender/book.py
143
+ - voicerender/cli.py
144
+ - voicerender/document.py
145
+ - voicerender/engines/base.py
146
+ - voicerender/engines/kittensynth.py
147
+ - voicerender/engines/kokoro.py
148
+ - voicerender/renderplan_render.py
149
+ - voicerender/voice_clone.py
150
+ observed_behavior:
151
+ Added configurable Kokoro short-sentence and voice-level controls,
152
+ normalized and clamped finite PCM overshoots with diagnostics, enforced AkinVox
153
+ transcript and speed constraints, delegated engine-specific clone binding, and
154
+ recorded segment and engine identity in render failures.
155
+ public_impact: public
156
+ decision: accepted
157
+ stale: false
158
+ evidence_subject: "feat: pykokoro improvements"
159
+ target_entry_key: kokoro-rendering
160
+ target_entry_id: entry-0004
161
+ notes: Reviewed adapter, cloning, diagnostics, and regression tests.
162
+ - sha: ccd30d20fcc85c71d35c850accaf41ffdc5fc960
163
+ source_ref: git:ccd30d20fcc85c71d35c850accaf41ffdc5fc960
164
+ short_sha: ccd30d2
165
+ changed_paths:
166
+ - voicerender/renderplan_render.py
167
+ stats:
168
+ files_changed: 1
169
+ insertions: 1
170
+ deletions: 1
171
+ inspected: true
172
+ inspected_paths:
173
+ - voicerender/renderplan_render.py
174
+ observed_behavior:
175
+ Refined render result typing for the existing failure-diagnostics
176
+ fields without changing runtime behavior.
177
+ public_impact: internal
178
+ decision: internal
179
+ stale: false
180
+ evidence_subject: "chore: mypy"
181
+ target_entry_key: typing-maintenance
182
+ target_entry_id: entry-0005
183
+ notes: Static typing maintenance only; intentionally excluded from public notes.
@@ -0,0 +1,36 @@
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.4
9
+ kind: added
10
+ summary:
11
+ Added document workspace rendering and estimation with safe SSMDDoc validation
12
+ and variant-scoped outputs
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:5ffdff4e822f5ea3bff212cf708a6d797029915d
18
+ paths:
19
+ - README.md
20
+ - tests/test_document_contract.py
21
+ - voicerender/__init__.py
22
+ - voicerender/cli.py
23
+ - voicerender/document.py
24
+ - voicerender/document_contract.py
25
+ - voicerender/errors.py
26
+ - voicerender/estimates.py
27
+ issues: []
28
+ prs: []
29
+ sources:
30
+ - git:5ffdff4e822f5ea3bff212cf708a6d797029915d
31
+ contributors:
32
+ - "@holgern"
33
+ breaking: false
34
+ internal: false
35
+ order: 1
36
+ ---
@@ -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-0002
8
+ release_version: 0.2.4
9
+ kind: added
10
+ summary:
11
+ Added mixed-engine RenderProfile casts with role binding and descriptive
12
+ cast inspection
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:efe4f37393479c1143e37f5288b8b586d3fbcc8c
18
+ paths:
19
+ - README.md
20
+ - docs/index.md
21
+ - docs/renderprofile.md
22
+ - tests/test_document_contract.py
23
+ - tests/test_profile_roles_cli.py
24
+ - voicerender/cli.py
25
+ - voicerender/document.py
26
+ issues: []
27
+ prs: []
28
+ sources:
29
+ - git:efe4f37393479c1143e37f5288b8b586d3fbcc8c
30
+ contributors:
31
+ - "@holgern"
32
+ breaking: false
33
+ internal: false
34
+ order: 2
35
+ ---
@@ -0,0 +1,28 @@
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.4
9
+ kind: internal
10
+ summary: Added the tomlkit runtime dependency for TOML report writing
11
+ status: accepted
12
+ audience: null
13
+ scopes: []
14
+ source_refs:
15
+ - git:304b84d7fca0509a1524e2d3131858740124ed1a
16
+ paths:
17
+ - .github/workflows/tests.yml
18
+ - pyproject.toml
19
+ issues: []
20
+ prs: []
21
+ sources:
22
+ - git:304b84d7fca0509a1524e2d3131858740124ed1a
23
+ contributors:
24
+ - "@holgern"
25
+ breaking: false
26
+ internal: true
27
+ order: 3
28
+ ---
@@ -0,0 +1,43 @@
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.4
9
+ kind: changed
10
+ summary:
11
+ Improved Kokoro controls, reference cloning, PCM safety, and render failure
12
+ diagnostics
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:3d486d5fddcc8612430c321760e9ebd3d84607fc
18
+ paths:
19
+ - README.md
20
+ - docs/renderprofile.md
21
+ - tests/test_engine_options.py
22
+ - tests/test_kittensynth_engine.py
23
+ - tests/test_kokoro_reference.py
24
+ - tests/test_renderplan_render.py
25
+ - tests/test_voice_clone.py
26
+ - voicerender/book.py
27
+ - voicerender/cli.py
28
+ - voicerender/document.py
29
+ - voicerender/engines/base.py
30
+ - voicerender/engines/kittensynth.py
31
+ - voicerender/engines/kokoro.py
32
+ - voicerender/renderplan_render.py
33
+ - voicerender/voice_clone.py
34
+ issues: []
35
+ prs: []
36
+ sources:
37
+ - git:3d486d5fddcc8612430c321760e9ebd3d84607fc
38
+ contributors:
39
+ - "@holgern"
40
+ breaking: false
41
+ internal: false
42
+ order: 4
43
+ ---
@@ -0,0 +1,27 @@
1
+ ---
2
+ schema_version: 2
3
+ object_type: release_entry
4
+ versioning:
5
+ schema_version: 1
6
+ revision: 1
7
+ entry_id: entry-0005
8
+ release_version: 0.2.4
9
+ kind: internal
10
+ summary: Changed static typing for render failure diagnostics
11
+ status: accepted
12
+ audience: null
13
+ scopes: []
14
+ source_refs:
15
+ - git:ccd30d20fcc85c71d35c850accaf41ffdc5fc960
16
+ paths:
17
+ - voicerender/renderplan_render.py
18
+ issues: []
19
+ prs: []
20
+ sources:
21
+ - git:ccd30d20fcc85c71d35c850accaf41ffdc5fc960
22
+ contributors:
23
+ - "@holgern"
24
+ breaking: false
25
+ internal: true
26
+ order: 5
27
+ ---
@@ -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.4
8
+ status: released
9
+ history_state: curated
10
+ title: null
11
+ released_at: "2026-10-20"
12
+ previous_version: 0.2.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: 5
20
+ artifact_count: 0
21
+ git_base_ref: v0.2.3
22
+ git_base_sha: 817587bef3fafffbe39f6b8b715720263dec50dd
23
+ git_head_ref: HEAD
24
+ git_head_sha: ccd30d20fcc85c71d35c850accaf41ffdc5fc960
25
+ git_range: 817587bef3fafffbe39f6b8b715720263dec50dd..ccd30d20fcc85c71d35c850accaf41ffdc5fc960
26
+ git_commit_count: 5
27
+ ---
@@ -0,0 +1,98 @@
1
+ rows:
2
+ - sha: 5ffdff4e822f5ea3bff212cf708a6d797029915d
3
+ inspected: true
4
+ inspected_paths:
5
+ - README.md
6
+ - tests/test_document_contract.py
7
+ - voicerender/__init__.py
8
+ - voicerender/cli.py
9
+ - voicerender/document.py
10
+ - voicerender/document_contract.py
11
+ - voicerender/errors.py
12
+ - voicerender/estimates.py
13
+ observed_behavior: >-
14
+ Added SSMDDoc v1 workspace validation plus document-level render and estimate
15
+ operations that resolve a checked RenderPlan variant and keep outputs and
16
+ caches in variant-scoped workspace directories.
17
+ public_impact: public
18
+ decision: accepted
19
+ target_entry_key: document-workspace
20
+ target_entry_id: null
21
+ notes: Reviewed implementation and focused contract tests.
22
+ stale: false
23
+ - sha: efe4f37393479c1143e37f5288b8b586d3fbcc8c
24
+ inspected: true
25
+ inspected_paths:
26
+ - README.md
27
+ - docs/index.md
28
+ - docs/renderprofile.md
29
+ - tests/test_document_contract.py
30
+ - tests/test_profile_roles_cli.py
31
+ - voicerender/cli.py
32
+ - voicerender/document.py
33
+ observed_behavior: >-
34
+ Expanded RenderProfile role workflows so one profile can describe a complete
35
+ cast with mixed engine bindings, including first-class role binding and
36
+ descriptive human and JSON profile inspection.
37
+ public_impact: public
38
+ decision: accepted
39
+ target_entry_key: mixed-engine-casts
40
+ target_entry_id: null
41
+ notes: Reviewed CLI, documentation, and role presentation tests.
42
+ stale: false
43
+ - sha: 304b84d7fca0509a1524e2d3131858740124ed1a
44
+ inspected: true
45
+ inspected_paths:
46
+ - .github/workflows/tests.yml
47
+ - pyproject.toml
48
+ observed_behavior: >-
49
+ Added the tomlkit runtime dependency required by the release's TOML report
50
+ writing path and kept the dependency available in the test workflow.
51
+ public_impact: internal
52
+ decision: internal
53
+ target_entry_key: tomlkit-dependency
54
+ target_entry_id: null
55
+ notes: Packaging and workflow support only; intentionally excluded from public notes.
56
+ stale: false
57
+ - sha: 3d486d5fddcc8612430c321760e9ebd3d84607fc
58
+ inspected: true
59
+ inspected_paths:
60
+ - README.md
61
+ - docs/renderprofile.md
62
+ - tests/test_engine_options.py
63
+ - tests/test_kittensynth_engine.py
64
+ - tests/test_kokoro_reference.py
65
+ - tests/test_renderplan_render.py
66
+ - tests/test_voice_clone.py
67
+ - voicerender/book.py
68
+ - voicerender/cli.py
69
+ - voicerender/document.py
70
+ - voicerender/engines/base.py
71
+ - voicerender/engines/kittensynth.py
72
+ - voicerender/engines/kokoro.py
73
+ - voicerender/renderplan_render.py
74
+ - voicerender/voice_clone.py
75
+ observed_behavior: >-
76
+ Added configurable Kokoro short-sentence and voice-level controls, normalized
77
+ and clamped finite PCM overshoots with diagnostics, enforced AkinVox transcript
78
+ and speed constraints, delegated engine-specific clone binding, and recorded
79
+ segment and engine identity in render failures.
80
+ public_impact: public
81
+ decision: accepted
82
+ target_entry_key: kokoro-rendering
83
+ target_entry_id: null
84
+ notes: Reviewed adapter, cloning, diagnostics, and regression tests.
85
+ stale: false
86
+ - sha: ccd30d20fcc85c71d35c850accaf41ffdc5fc960
87
+ inspected: true
88
+ inspected_paths:
89
+ - voicerender/renderplan_render.py
90
+ observed_behavior: >-
91
+ Refined render result typing for the existing failure-diagnostics fields
92
+ without changing runtime behavior.
93
+ public_impact: internal
94
+ decision: internal
95
+ target_entry_key: typing-maintenance
96
+ target_entry_id: null
97
+ notes: Static typing maintenance only; intentionally excluded from public notes.
98
+ stale: false
@@ -0,0 +1,121 @@
1
+ schema_version: 1
2
+ object_type: commit_audit_sheet
3
+ versioning:
4
+ schema_version: 1
5
+ revision: 1
6
+ release_version: 0.2.4
7
+ git_base_ref: v0.2.3
8
+ git_base_sha: 817587bef3fafffbe39f6b8b715720263dec50dd
9
+ git_head_ref: HEAD
10
+ git_head_sha: ccd30d20fcc85c71d35c850accaf41ffdc5fc960
11
+ git_range: 817587bef3fafffbe39f6b8b715720263dec50dd..ccd30d20fcc85c71d35c850accaf41ffdc5fc960
12
+ commit_count: 5
13
+ rows:
14
+ - sha: 5ffdff4e822f5ea3bff212cf708a6d797029915d
15
+ source_ref: git:5ffdff4e822f5ea3bff212cf708a6d797029915d
16
+ short_sha: 5ffdff4
17
+ changed_paths:
18
+ - README.md
19
+ - tests/test_document_contract.py
20
+ - voicerender/__init__.py
21
+ - voicerender/cli.py
22
+ - voicerender/document.py
23
+ - voicerender/document_contract.py
24
+ - voicerender/errors.py
25
+ - voicerender/estimates.py
26
+ stats:
27
+ files_changed: 8
28
+ insertions: 970
29
+ deletions: 2
30
+ inspected: false
31
+ inspected_paths: []
32
+ observed_behavior: ""
33
+ public_impact: unknown
34
+ decision: needs_review
35
+ stale: false
36
+ evidence_subject: "feat: add support for document dir"
37
+ - sha: efe4f37393479c1143e37f5288b8b586d3fbcc8c
38
+ source_ref: git:efe4f37393479c1143e37f5288b8b586d3fbcc8c
39
+ short_sha: efe4f37
40
+ changed_paths:
41
+ - README.md
42
+ - docs/index.md
43
+ - docs/renderprofile.md
44
+ - tests/test_document_contract.py
45
+ - tests/test_profile_roles_cli.py
46
+ - voicerender/cli.py
47
+ - voicerender/document.py
48
+ stats:
49
+ files_changed: 7
50
+ insertions: 416
51
+ deletions: 86
52
+ inspected: false
53
+ inspected_paths: []
54
+ observed_behavior: ""
55
+ public_impact: unknown
56
+ decision: needs_review
57
+ stale: false
58
+ evidence_subject: "feat: better voice role binding"
59
+ - sha: 304b84d7fca0509a1524e2d3131858740124ed1a
60
+ source_ref: git:304b84d7fca0509a1524e2d3131858740124ed1a
61
+ short_sha: 304b84d
62
+ changed_paths:
63
+ - .github/workflows/tests.yml
64
+ - pyproject.toml
65
+ stats:
66
+ files_changed: 2
67
+ insertions: 2
68
+ deletions: 0
69
+ inspected: false
70
+ inspected_paths: []
71
+ observed_behavior: ""
72
+ public_impact: unknown
73
+ decision: needs_review
74
+ stale: false
75
+ evidence_subject: "chore: fix tomli"
76
+ - sha: 3d486d5fddcc8612430c321760e9ebd3d84607fc
77
+ source_ref: git:3d486d5fddcc8612430c321760e9ebd3d84607fc
78
+ short_sha: 3d486d5
79
+ changed_paths:
80
+ - README.md
81
+ - docs/renderprofile.md
82
+ - tests/test_engine_options.py
83
+ - tests/test_kittensynth_engine.py
84
+ - tests/test_kokoro_reference.py
85
+ - tests/test_renderplan_render.py
86
+ - tests/test_voice_clone.py
87
+ - voicerender/book.py
88
+ - voicerender/cli.py
89
+ - voicerender/document.py
90
+ - voicerender/engines/base.py
91
+ - voicerender/engines/kittensynth.py
92
+ - voicerender/engines/kokoro.py
93
+ - voicerender/renderplan_render.py
94
+ - voicerender/voice_clone.py
95
+ stats:
96
+ files_changed: 15
97
+ insertions: 1028
98
+ deletions: 73
99
+ inspected: false
100
+ inspected_paths: []
101
+ observed_behavior: ""
102
+ public_impact: unknown
103
+ decision: needs_review
104
+ stale: false
105
+ evidence_subject: "feat: pykokoro improvements"
106
+ - sha: ccd30d20fcc85c71d35c850accaf41ffdc5fc960
107
+ source_ref: git:ccd30d20fcc85c71d35c850accaf41ffdc5fc960
108
+ short_sha: ccd30d2
109
+ changed_paths:
110
+ - voicerender/renderplan_render.py
111
+ stats:
112
+ files_changed: 1
113
+ insertions: 1
114
+ deletions: 1
115
+ inspected: false
116
+ inspected_paths: []
117
+ observed_behavior: ""
118
+ public_impact: unknown
119
+ decision: needs_review
120
+ stale: false
121
+ evidence_subject: "chore: mypy"