voicerender 0.2.4__tar.gz → 0.2.6__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 (285) hide show
  1. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +14 -0
  2. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0007.md +28 -0
  3. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0008.md +29 -0
  4. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md +2 -2
  5. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.5/audit/commit-audit.yaml +76 -0
  6. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.5/entries/entry-0001.md +49 -0
  7. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.5/release.md +27 -0
  8. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/audit/commit-audit.yaml +220 -0
  9. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0001.md +37 -0
  10. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0002.md +40 -0
  11. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0003.md +33 -0
  12. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0004.md +37 -0
  13. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0005.md +29 -0
  14. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/entries/entry-0006.md +35 -0
  15. voicerender-0.2.6/.ledger/releaseledger/data/ledgers/main/releases/0.2.6/release.md +27 -0
  16. voicerender-0.2.6/.ledger/releaseledger/work/0.2.5/audit-decisions.yaml +32 -0
  17. voicerender-0.2.6/.ledger/releaseledger/work/0.2.5/audit.yaml +49 -0
  18. voicerender-0.2.6/.ledger/releaseledger/work/0.2.5/entries.yaml +44 -0
  19. voicerender-0.2.6/.ledger/releaseledger/work/0.2.5/evidence/0ab4075.patch +2227 -0
  20. voicerender-0.2.6/.ledger/releaseledger/work/0.2.5/evidence/manifest.json +45 -0
  21. voicerender-0.2.6/.ledger/releaseledger/work/0.2.5/range.json +13 -0
  22. voicerender-0.2.6/.ledger/releaseledger/work/0.2.6/audit-decisions.yaml +104 -0
  23. voicerender-0.2.6/.ledger/releaseledger/work/0.2.6/audit.yaml +146 -0
  24. voicerender-0.2.6/.ledger/releaseledger/work/0.2.6/entries.yaml +126 -0
  25. voicerender-0.2.6/.ledger/releaseledger/work/0.2.6/evidence/4ab4750.patch +362 -0
  26. voicerender-0.2.6/.ledger/releaseledger/work/0.2.6/evidence/5d929c9.patch +254 -0
  27. voicerender-0.2.6/.ledger/releaseledger/work/0.2.6/evidence/9a323b2.patch +1822 -0
  28. voicerender-0.2.6/.ledger/releaseledger/work/0.2.6/evidence/ade44bc.patch +1494 -0
  29. voicerender-0.2.6/.ledger/releaseledger/work/0.2.6/evidence/bc7551a.patch +53 -0
  30. voicerender-0.2.6/.ledger/releaseledger/work/0.2.6/evidence/fdfe8ca.patch +969 -0
  31. voicerender-0.2.6/.ledger/releaseledger/work/0.2.6/evidence/manifest.json +120 -0
  32. voicerender-0.2.6/.ledger/releaseledger/work/0.2.6/range.json +13 -0
  33. {voicerender-0.2.4 → voicerender-0.2.6}/PKG-INFO +76 -114
  34. {voicerender-0.2.4 → voicerender-0.2.6}/README.md +74 -113
  35. {voicerender-0.2.4 → voicerender-0.2.6}/docs/changelog.md +29 -0
  36. voicerender-0.2.6/docs/index.md +66 -0
  37. {voicerender-0.2.4 → voicerender-0.2.6}/docs/renderprofile.md +47 -70
  38. {voicerender-0.2.4 → voicerender-0.2.6}/pyproject.toml +1 -0
  39. voicerender-0.2.6/tests/test_bundle_batch_render.py +707 -0
  40. voicerender-0.2.6/tests/test_bundle_contract.py +184 -0
  41. voicerender-0.2.6/tests/test_bundle_render.py +274 -0
  42. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_cli.py +372 -20
  43. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_control_surface_exports.py +6 -0
  44. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_document_contract.py +82 -12
  45. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_kokoro_reference.py +21 -10
  46. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_qwen3synth_engine.py +13 -0
  47. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_render_book.py +71 -18
  48. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_renderplan_render.py +23 -5
  49. voicerender-0.2.6/tests/test_runtime.py +294 -0
  50. voicerender-0.2.6/tests/test_runtime_cli.py +159 -0
  51. voicerender-0.2.6/tests/test_variants.py +469 -0
  52. {voicerender-0.2.4 → voicerender-0.2.6}/tests/wheel_smoke.py +10 -5
  53. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/__init__.py +34 -4
  54. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/_version.py +3 -3
  55. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/book.py +1 -1
  56. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/book_contract.py +1 -1
  57. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/book_layout.py +12 -4
  58. voicerender-0.2.6/voicerender/bundle.py +87 -0
  59. voicerender-0.2.6/voicerender/bundle_batch.py +383 -0
  60. voicerender-0.2.6/voicerender/bundle_contract.py +119 -0
  61. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/cli.py +553 -181
  62. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/document.py +2 -2
  63. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/document_contract.py +29 -21
  64. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/kokoro.py +8 -4
  65. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/qwen3synth.py +4 -1
  66. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/errors.py +19 -1
  67. voicerender-0.2.6/voicerender/runtime.py +139 -0
  68. voicerender-0.2.6/voicerender/variants.py +662 -0
  69. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender.egg-info/PKG-INFO +76 -114
  70. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender.egg-info/SOURCES.txt +41 -0
  71. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender.egg-info/requires.txt +1 -0
  72. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender.egg-info/scm_file_list.json +41 -0
  73. voicerender-0.2.6/voicerender.egg-info/scm_version.json +8 -0
  74. voicerender-0.2.4/docs/index.md +0 -83
  75. voicerender-0.2.4/voicerender.egg-info/scm_version.json +0 -8
  76. {voicerender-0.2.4 → voicerender-0.2.6}/.codecrate.toml +0 -0
  77. {voicerender-0.2.4 → voicerender-0.2.6}/.github/workflows/codecov.yml +0 -0
  78. {voicerender-0.2.4 → voicerender-0.2.6}/.github/workflows/pre-commit.yml +0 -0
  79. {voicerender-0.2.4 → voicerender-0.2.6}/.github/workflows/python-publish.yml +0 -0
  80. {voicerender-0.2.4 → voicerender-0.2.6}/.github/workflows/tests.yml +0 -0
  81. {voicerender-0.2.4 → voicerender-0.2.6}/.gitignore +0 -0
  82. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/ledger.toml +0 -0
  83. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/.ledger-project.toml +0 -0
  84. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/config.toml +0 -0
  85. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/.ledger-project.toml +0 -0
  86. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/audit/commit-audit.yaml +0 -0
  87. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/entries/entry-0001.md +0 -0
  88. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/release.md +0 -0
  89. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/audit/commit-audit.yaml +0 -0
  90. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0001.md +0 -0
  91. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0002.md +0 -0
  92. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0003.md +0 -0
  93. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0004.md +0 -0
  94. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0005.md +0 -0
  95. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0006.md +0 -0
  96. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0007.md +0 -0
  97. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/release.md +0 -0
  98. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/audit/commit-audit.yaml +0 -0
  99. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0001.md +0 -0
  100. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0002.md +0 -0
  101. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0003.md +0 -0
  102. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0004.md +0 -0
  103. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0005.md +0 -0
  104. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0006.md +0 -0
  105. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/audit/commit-audit.yaml +0 -0
  106. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0001.md +0 -0
  107. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0002.md +0 -0
  108. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0003.md +0 -0
  109. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/entries/entry-0004.md +0 -0
  110. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.2/release.md +0 -0
  111. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/audit/commit-audit.yaml +0 -0
  112. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/entries/entry-0001.md +0 -0
  113. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/entries/entry-0002.md +0 -0
  114. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.3/release.md +0 -0
  115. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/audit/commit-audit.yaml +0 -0
  116. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0001.md +0 -0
  117. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0002.md +0 -0
  118. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0003.md +0 -0
  119. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0004.md +0 -0
  120. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/entries/entry-0005.md +0 -0
  121. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/0.2.4/release.md +0 -0
  122. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/audit/commit-audit.yaml +0 -0
  123. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0001.md +0 -0
  124. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0002.md +0 -0
  125. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0003.md +0 -0
  126. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0004.md +0 -0
  127. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/entries/entry-0005.md +0 -0
  128. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/data/ledgers/main/releases/v0.1.0/release.md +0 -0
  129. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.1.1/audit-decisions.yaml +0 -0
  130. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.1.1/entries.yaml +0 -0
  131. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/audit-decisions.yaml +0 -0
  132. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/audit.yaml +0 -0
  133. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/entries.yaml +0 -0
  134. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/19f5b06.patch +0 -0
  135. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/245ca9f.patch +0 -0
  136. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/42a90e3.patch +0 -0
  137. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/480cbea.patch +0 -0
  138. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/4eb3c28.patch +0 -0
  139. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/50f298e.patch +0 -0
  140. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/56ae327.patch +0 -0
  141. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/57f1e24.patch +0 -0
  142. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/6dae2b6.patch +0 -0
  143. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/84f29db.patch +0 -0
  144. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/a390661.patch +0 -0
  145. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/a431dfa.patch +0 -0
  146. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/c2be7b3.patch +0 -0
  147. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/da15247.patch +0 -0
  148. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/ede34ea.patch +0 -0
  149. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/evidence/manifest.json +0 -0
  150. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.0/range.json +0 -0
  151. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.1/audit-decisions.yaml +0 -0
  152. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.1/audit.yaml +0 -0
  153. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.1/entries.yaml +0 -0
  154. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.1/evidence/3342e15.patch +0 -0
  155. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.1/evidence/3c82349.patch +0 -0
  156. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.1/evidence/7f466cc.patch +0 -0
  157. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.1/evidence/84f629e.patch +0 -0
  158. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.1/evidence/b7e1917.patch +0 -0
  159. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.1/evidence/manifest.json +0 -0
  160. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.1/range.json +0 -0
  161. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.2/audit-decisions.yaml +0 -0
  162. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.2/audit.yaml +0 -0
  163. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.2/entries.yaml +0 -0
  164. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.2/evidence/6510540.patch +0 -0
  165. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.2/evidence/8861791.patch +0 -0
  166. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.2/evidence/f093d36.patch +0 -0
  167. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.2/evidence/fdb106d.patch +0 -0
  168. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.2/evidence/manifest.json +0 -0
  169. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.2/range.json +0 -0
  170. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.3/audit-decisions.yaml +0 -0
  171. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.3/audit.yaml +0 -0
  172. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.3/entries.yaml +0 -0
  173. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.3/evidence/67e4d8e.patch +0 -0
  174. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.3/evidence/b17f1a9.patch +0 -0
  175. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.3/evidence/manifest.json +0 -0
  176. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.3/range.json +0 -0
  177. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.4/audit-decisions.yaml +0 -0
  178. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.4/audit.yaml +0 -0
  179. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.4/entries.yaml +0 -0
  180. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.4/evidence/304b84d.patch +0 -0
  181. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.4/evidence/3d486d5.patch +0 -0
  182. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.4/evidence/5ffdff4.patch +0 -0
  183. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.4/evidence/ccd30d2.patch +0 -0
  184. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.4/evidence/efe4f37.patch +0 -0
  185. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.4/evidence/manifest.json +0 -0
  186. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/0.2.4/range.json +0 -0
  187. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/v0.1.0/audit-decisions.yaml +0 -0
  188. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/v0.1.0/entries.yaml +0 -0
  189. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/v0.1.0/evidence/264eb9b.patch +0 -0
  190. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/v0.1.0/evidence/774f6f2.patch +0 -0
  191. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/v0.1.0/evidence/9e71e84.patch +0 -0
  192. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/v0.1.0/evidence/c4a2872.patch +0 -0
  193. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/v0.1.0/evidence/fb7faaf.patch +0 -0
  194. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/work/v0.1.0/evidence/manifest.json +0 -0
  195. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/releaseledger/write.lock +0 -0
  196. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/taskledger/.ledger-project.toml +0 -0
  197. {voicerender-0.2.4 → voicerender-0.2.6}/.ledger/taskledger/config.toml +0 -0
  198. {voicerender-0.2.4 → voicerender-0.2.6}/.pre-commit-config.yaml +0 -0
  199. {voicerender-0.2.4 → voicerender-0.2.6}/LICENSE +0 -0
  200. {voicerender-0.2.4 → voicerender-0.2.6}/MANIFEST.in +0 -0
  201. {voicerender-0.2.4 → voicerender-0.2.6}/docs/Makefile +0 -0
  202. {voicerender-0.2.4 → voicerender-0.2.6}/docs/conf.py +0 -0
  203. {voicerender-0.2.4 → voicerender-0.2.6}/docs/make.bat +0 -0
  204. {voicerender-0.2.4 → voicerender-0.2.6}/docs/make.py +0 -0
  205. {voicerender-0.2.4 → voicerender-0.2.6}/docs/requirements.txt +0 -0
  206. {voicerender-0.2.4 → voicerender-0.2.6}/examples/README.md +0 -0
  207. {voicerender-0.2.4 → voicerender-0.2.6}/examples/plans/chapter.renderplan.toml +0 -0
  208. {voicerender-0.2.4 → voicerender-0.2.6}/examples/plans/chapter.voiceplan.toml +0 -0
  209. {voicerender-0.2.4 → voicerender-0.2.6}/examples/voices/narration.renderprofile.toml +0 -0
  210. {voicerender-0.2.4 → voicerender-0.2.6}/examples/voices/piper.toml +0 -0
  211. {voicerender-0.2.4 → voicerender-0.2.6}/examples/voices/pocket-reference.toml +0 -0
  212. {voicerender-0.2.4 → voicerender-0.2.6}/setup.cfg +0 -0
  213. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_backends.py +0 -0
  214. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_capacity.py +0 -0
  215. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_chatterboxsynth_engine.py +0 -0
  216. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_engine_contracts.py +0 -0
  217. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_engine_options.py +0 -0
  218. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_engine_registry.py +0 -0
  219. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_inflectsynth_engine.py +0 -0
  220. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_kittensynth_engine.py +0 -0
  221. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_managed_voices.py +0 -0
  222. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_model_management_api.py +0 -0
  223. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_model_management_cli.py +0 -0
  224. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_package_metadata.py +0 -0
  225. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_pocketsynth_managed.py +0 -0
  226. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_preflight.py +0 -0
  227. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_profile_roles.py +0 -0
  228. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_profile_roles_cli.py +0 -0
  229. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_progress.py +0 -0
  230. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_qwen3_voice_design.py +0 -0
  231. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_renderer.py +0 -0
  232. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_renderplan_input.py +0 -0
  233. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_renderprofile.py +0 -0
  234. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_soprosynth_engine.py +0 -0
  235. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_storage.py +0 -0
  236. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_voice_clone.py +0 -0
  237. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_voice_clone_cli.py +0 -0
  238. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_voice_descriptors.py +0 -0
  239. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_voice_source_cli.py +0 -0
  240. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_voice_source_codec.py +0 -0
  241. {voicerender-0.2.4 → voicerender-0.2.6}/tests/test_voice_sources.py +0 -0
  242. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/__main__.py +0 -0
  243. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/capacity.py +0 -0
  244. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/__init__.py +0 -0
  245. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/api_probe.py +0 -0
  246. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/assets.py +0 -0
  247. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/base.py +0 -0
  248. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/catalog.py +0 -0
  249. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/chatterboxsynth.py +0 -0
  250. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/inflectsynth.py +0 -0
  251. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/kittensynth.py +0 -0
  252. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/metadata.py +0 -0
  253. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/options.py +0 -0
  254. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/piper.py +0 -0
  255. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/pipersynth.py +0 -0
  256. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/pocket.py +0 -0
  257. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/pocketsynth.py +0 -0
  258. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/profiles.py +0 -0
  259. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/registry.py +0 -0
  260. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/selection.py +0 -0
  261. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/soprosynth.py +0 -0
  262. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/engines/supertonicsynth.py +0 -0
  263. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/estimates.py +0 -0
  264. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/events.py +0 -0
  265. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/lexicons.py +0 -0
  266. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/managed_voices.py +0 -0
  267. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/models.py +0 -0
  268. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/models_api.py +0 -0
  269. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/preflight.py +0 -0
  270. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/profile_roles.py +0 -0
  271. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/progress.py +0 -0
  272. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/py.typed +0 -0
  273. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/render.py +0 -0
  274. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/renderplan_input.py +0 -0
  275. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/renderplan_render.py +0 -0
  276. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/renderprofile.py +0 -0
  277. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/storage.py +0 -0
  278. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/voice_clone.py +0 -0
  279. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/voice_design.py +0 -0
  280. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/voice_source_codec.py +0 -0
  281. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/voice_sources.py +0 -0
  282. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender/voices_api.py +0 -0
  283. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender.egg-info/dependency_links.txt +0 -0
  284. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender.egg-info/entry_points.txt +0 -0
  285. {voicerender-0.2.4 → voicerender-0.2.6}/voicerender.egg-info/top_level.txt +0 -0
@@ -40,3 +40,17 @@
40
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
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
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}
43
+ {"data":{"status":"planned"},"event":"release.created","event_id":"event-0043","record_revisions":{"release:0.2.5":1},"release_version":"0.2.5","schema_version":2}
44
+ {"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-0044","record_revisions":{"release:0.2.5":2},"release_version":"0.2.5","schema_version":2}
45
+ {"data":{"row_count":1},"event":"audit.created","event_id":"event-0045","record_revisions":{"commit_audit_sheet":1},"release_version":"0.2.5","schema_version":2}
46
+ {"data":{"updated_rows":1},"event":"audit.updated","event_id":"event-0046","record_revisions":{"commit_audit_sheet":2},"release_version":"0.2.5","schema_version":2}
47
+ {"data":{"entry_ids":["entry-0001"],"synced_audit_rows":1},"event":"entry.batch_added","event_id":"event-0047","record_revisions":{"commit_audit_sheet":3,"entry:0.2.5/entry-0001":1,"release:0.2.5":3},"release_version":"0.2.5","schema_version":2}
48
+ {"data":{"released_at":"2026-10-21"},"event":"release.finalized","event_id":"event-0048","record_revisions":{"release:0.2.5":4},"release_version":"0.2.5","schema_version":2}
49
+ {"data":{"kind":"added","status":"accepted"},"entry_id":"entry-0007","event":"entry.added","event_id":"event-0049","record_revisions":{"entry:0.2.1/entry-0007":1,"release:0.2.1":5},"release_version":"0.2.1","schema_version":2}
50
+ {"data":{"kind":"changed","status":"accepted"},"entry_id":"entry-0008","event":"entry.added","event_id":"event-0050","record_revisions":{"entry:0.2.1/entry-0008":1,"release:0.2.1":6},"release_version":"0.2.1","schema_version":2}
51
+ {"data":{"status":"planned"},"event":"release.created","event_id":"event-0051","record_revisions":{"release:0.2.6":1},"release_version":"0.2.6","schema_version":2}
52
+ {"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-0052","record_revisions":{"release:0.2.6":2},"release_version":"0.2.6","schema_version":2}
53
+ {"data":{"row_count":6},"event":"audit.created","event_id":"event-0053","record_revisions":{"commit_audit_sheet":1},"release_version":"0.2.6","schema_version":2}
54
+ {"data":{"updated_rows":6},"event":"audit.updated","event_id":"event-0054","record_revisions":{"commit_audit_sheet":2},"release_version":"0.2.6","schema_version":2}
55
+ {"data":{"entry_ids":["entry-0001","entry-0002","entry-0003","entry-0004","entry-0005","entry-0006"],"synced_audit_rows":6},"event":"entry.batch_added","event_id":"event-0055","record_revisions":{"commit_audit_sheet":3,"entry:0.2.6/entry-0001":1,"entry:0.2.6/entry-0002":1,"entry:0.2.6/entry-0003":1,"entry:0.2.6/entry-0004":1,"entry:0.2.6/entry-0005":1,"entry:0.2.6/entry-0006":1,"release:0.2.6":3},"release_version":"0.2.6","schema_version":2}
56
+ {"data":{"released_at":"2026-10-22"},"event":"release.finalized","event_id":"event-0056","record_revisions":{"release:0.2.6":4},"release_version":"0.2.6","schema_version":2}
@@ -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-0007
8
+ release_version: 0.2.1
9
+ kind: added
10
+ summary: Added read-only RenderPlan variant discovery for book and document bundles
11
+ status: accepted
12
+ audience: null
13
+ scopes: []
14
+ source_refs:
15
+ - tl:task-0028
16
+ paths:
17
+ - voicerender/variants.py
18
+ - voicerender/cli.py
19
+ - tests/test_variants.py
20
+ - tests/test_cli.py
21
+ issues: []
22
+ prs: []
23
+ sources: []
24
+ contributors: []
25
+ breaking: false
26
+ internal: false
27
+ order: 7
28
+ ---
@@ -0,0 +1,29 @@
1
+ ---
2
+ schema_version: 2
3
+ object_type: release_entry
4
+ versioning:
5
+ schema_version: 1
6
+ revision: 1
7
+ entry_id: entry-0008
8
+ release_version: 0.2.1
9
+ kind: changed
10
+ summary:
11
+ Normalized profile create destinations to the canonical .renderprofile.toml
12
+ suffix
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs: []
17
+ paths:
18
+ - voicerender/cli.py
19
+ - tests/test_cli.py
20
+ - docs/renderprofile.md
21
+ issues: []
22
+ prs: []
23
+ sources:
24
+ - tl:task-0028
25
+ contributors: []
26
+ breaking: false
27
+ internal: false
28
+ order: 8
29
+ ---
@@ -3,7 +3,7 @@ schema_version: 2
3
3
  object_type: release
4
4
  versioning:
5
5
  schema_version: 1
6
- revision: 4
6
+ revision: 6
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: 6
19
+ entry_count: 8
20
20
  artifact_count: 0
21
21
  git_base_ref: v0.2.0
22
22
  git_base_sha: a627d2d625bc3e6daae8e3bee58abb77231918ec
@@ -0,0 +1,76 @@
1
+ schema_version: 1
2
+ object_type: commit_audit_sheet
3
+ versioning:
4
+ schema_version: 1
5
+ revision: 3
6
+ release_version: 0.2.5
7
+ git_base_ref: v0.2.4
8
+ git_base_sha: fdaaa999eb67c26010092ee4d1770b0136a760d6
9
+ git_head_ref: HEAD
10
+ git_head_sha: 0ab40750b3ede2e90e62b643c33aedc8687bf1b0
11
+ git_range: fdaaa999eb67c26010092ee4d1770b0136a760d6..0ab40750b3ede2e90e62b643c33aedc8687bf1b0
12
+ commit_count: 1
13
+ rows:
14
+ - sha: 0ab40750b3ede2e90e62b643c33aedc8687bf1b0
15
+ source_ref: git:0ab40750b3ede2e90e62b643c33aedc8687bf1b0
16
+ short_sha: 0ab4075
17
+ changed_paths:
18
+ - README.md
19
+ - docs/index.md
20
+ - docs/renderprofile.md
21
+ - tests/test_bundle_contract.py
22
+ - tests/test_bundle_render.py
23
+ - tests/test_cli.py
24
+ - tests/test_control_surface_exports.py
25
+ - tests/test_document_contract.py
26
+ - tests/test_render_book.py
27
+ - tests/test_renderplan_render.py
28
+ - tests/wheel_smoke.py
29
+ - voicerender/__init__.py
30
+ - voicerender/book.py
31
+ - voicerender/book_contract.py
32
+ - voicerender/book_layout.py
33
+ - voicerender/bundle.py
34
+ - voicerender/bundle_contract.py
35
+ - voicerender/cli.py
36
+ - voicerender/document.py
37
+ - voicerender/document_contract.py
38
+ - voicerender/errors.py
39
+ stats:
40
+ files_changed: 21
41
+ insertions: 986
42
+ deletions: 494
43
+ inspected: true
44
+ inspected_paths:
45
+ - README.md
46
+ - docs/index.md
47
+ - docs/renderprofile.md
48
+ - tests/test_bundle_contract.py
49
+ - tests/test_bundle_render.py
50
+ - tests/test_cli.py
51
+ - tests/test_control_surface_exports.py
52
+ - tests/test_document_contract.py
53
+ - tests/test_render_book.py
54
+ - tests/test_renderplan_render.py
55
+ - tests/wheel_smoke.py
56
+ - voicerender/__init__.py
57
+ - voicerender/book.py
58
+ - voicerender/book_contract.py
59
+ - voicerender/book_layout.py
60
+ - voicerender/bundle.py
61
+ - voicerender/bundle_contract.py
62
+ - voicerender/cli.py
63
+ - voicerender/document.py
64
+ - voicerender/document_contract.py
65
+ - voicerender/errors.py
66
+ observed_behavior:
67
+ Introduced a manifest-driven SSMD bundle contract and unified
68
+ bundle rendering facade for book and document workflows; replaced legacy render
69
+ command paths, added canonical .ssmd-bundle validation, and updated reports, CLI
70
+ output, public exports, and integration coverage.
71
+ public_impact: public
72
+ decision: accepted
73
+ stale: false
74
+ evidence_subject: "feat: remove ssmdbook and ssmdoc and introduce ssmd bundle support"
75
+ target_entry_id: entry-0001
76
+ notes: ""
@@ -0,0 +1,49 @@
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.5
9
+ kind: changed
10
+ summary:
11
+ Changed separate book/document rendering to manifest-driven SSMD bundle rendering
12
+ with a unified bundle API
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:0ab40750b3ede2e90e62b643c33aedc8687bf1b0
18
+ paths:
19
+ - README.md
20
+ - docs/index.md
21
+ - docs/renderprofile.md
22
+ - tests/test_bundle_contract.py
23
+ - tests/test_bundle_render.py
24
+ - tests/test_cli.py
25
+ - tests/test_control_surface_exports.py
26
+ - tests/test_document_contract.py
27
+ - tests/test_render_book.py
28
+ - tests/test_renderplan_render.py
29
+ - tests/wheel_smoke.py
30
+ - voicerender/__init__.py
31
+ - voicerender/book.py
32
+ - voicerender/book_contract.py
33
+ - voicerender/book_layout.py
34
+ - voicerender/bundle.py
35
+ - voicerender/bundle_contract.py
36
+ - voicerender/cli.py
37
+ - voicerender/document.py
38
+ - voicerender/document_contract.py
39
+ - voicerender/errors.py
40
+ issues: []
41
+ prs: []
42
+ sources:
43
+ - git:0ab40750b3ede2e90e62b643c33aedc8687bf1b0
44
+ contributors:
45
+ - "@holgern"
46
+ breaking: true
47
+ internal: false
48
+ order: 1
49
+ ---
@@ -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.5
8
+ status: released
9
+ history_state: curated
10
+ title: null
11
+ released_at: "2026-10-21"
12
+ previous_version: 0.2.4
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: 1
20
+ artifact_count: 0
21
+ git_base_ref: v0.2.4
22
+ git_base_sha: fdaaa999eb67c26010092ee4d1770b0136a760d6
23
+ git_head_ref: HEAD
24
+ git_head_sha: 0ab40750b3ede2e90e62b643c33aedc8687bf1b0
25
+ git_range: fdaaa999eb67c26010092ee4d1770b0136a760d6..0ab40750b3ede2e90e62b643c33aedc8687bf1b0
26
+ git_commit_count: 1
27
+ ---
@@ -0,0 +1,220 @@
1
+ schema_version: 1
2
+ object_type: commit_audit_sheet
3
+ versioning:
4
+ schema_version: 1
5
+ revision: 3
6
+ release_version: 0.2.6
7
+ git_base_ref: v0.2.5
8
+ git_base_sha: 23b84f88fdf7bd101fbd8f2b0986004483a8d63b
9
+ git_head_ref: HEAD
10
+ git_head_sha: ade44bcbbcc223db372f6e7821d133b1777b1048
11
+ git_range: 23b84f88fdf7bd101fbd8f2b0986004483a8d63b..ade44bcbbcc223db372f6e7821d133b1777b1048
12
+ commit_count: 6
13
+ rows:
14
+ - sha: fdfe8ca0754a9cb3b3bfc9f792d6c2cf6e44af7d
15
+ source_ref: git:fdfe8ca0754a9cb3b3bfc9f792d6c2cf6e44af7d
16
+ short_sha: fdfe8ca
17
+ changed_paths:
18
+ - README.md
19
+ - docs/index.md
20
+ - pyproject.toml
21
+ - tests/test_runtime.py
22
+ - tests/test_runtime_cli.py
23
+ - voicerender/__init__.py
24
+ - voicerender/cli.py
25
+ - voicerender/errors.py
26
+ - voicerender/runtime.py
27
+ stats:
28
+ files_changed: 9
29
+ insertions: 809
30
+ deletions: 0
31
+ inspected: true
32
+ inspected_paths:
33
+ - README.md
34
+ - docs/index.md
35
+ - pyproject.toml
36
+ - tests/test_runtime.py
37
+ - tests/test_runtime_cli.py
38
+ - voicerender/__init__.py
39
+ - voicerender/cli.py
40
+ - voicerender/errors.py
41
+ - voicerender/runtime.py
42
+ observed_behavior:
43
+ Added public ONNX Runtime status inspection and saved provider-policy
44
+ controls for future compatible sessions, with package and CLI support.
45
+ public_impact: public
46
+ decision: accepted
47
+ stale: false
48
+ evidence_subject: "feat: onnx runtime policy"
49
+ target_entry_id: entry-0001
50
+ notes: Reviewed implementation, CLI behavior, documentation, and tests.
51
+ - sha: 9a323b21cc87657ece1aa324ccf84ca1cdb1ef34
52
+ source_ref: git:9a323b21cc87657ece1aa324ccf84ca1cdb1ef34
53
+ short_sha: 9a323b2
54
+ changed_paths:
55
+ - .ledger/releaseledger/data/ledgers/main/events/events.jsonl
56
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0007.md
57
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0008.md
58
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md
59
+ - README.md
60
+ - docs/changelog.md
61
+ - docs/renderprofile.md
62
+ - tests/test_cli.py
63
+ - tests/test_variants.py
64
+ - voicerender/__init__.py
65
+ - voicerender/cli.py
66
+ - voicerender/variants.py
67
+ stats:
68
+ files_changed: 12
69
+ insertions: 1563
70
+ deletions: 7
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-0007.md
75
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0008.md
76
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md
77
+ - README.md
78
+ - docs/changelog.md
79
+ - docs/renderprofile.md
80
+ - tests/test_cli.py
81
+ - tests/test_variants.py
82
+ - voicerender/__init__.py
83
+ - voicerender/cli.py
84
+ - voicerender/variants.py
85
+ observed_behavior:
86
+ Added read-only bundle variant discovery with plan validation
87
+ and render-state reporting, and normalized profile-create output names to the
88
+ canonical suffix.
89
+ public_impact: public
90
+ decision: accepted
91
+ stale: false
92
+ evidence_subject: "feat: variant detection and output ending completion"
93
+ target_entry_id: entry-0002
94
+ notes:
95
+ Reviewed implementation, documentation, and tests; releaseledger metadata
96
+ changes are incidental to the public feature.
97
+ - sha: 5d929c9e092cd142238cc05a91b237dd00a65cd8
98
+ source_ref: git:5d929c9e092cd142238cc05a91b237dd00a65cd8
99
+ short_sha: 5d929c9
100
+ changed_paths:
101
+ - tests/test_cli.py
102
+ - tests/test_kokoro_reference.py
103
+ - tests/test_qwen3synth_engine.py
104
+ - voicerender/engines/kokoro.py
105
+ - voicerender/engines/qwen3synth.py
106
+ stats:
107
+ files_changed: 5
108
+ insertions: 141
109
+ deletions: 15
110
+ inspected: true
111
+ inspected_paths:
112
+ - tests/test_cli.py
113
+ - tests/test_kokoro_reference.py
114
+ - tests/test_qwen3synth_engine.py
115
+ - voicerender/engines/kokoro.py
116
+ - voicerender/engines/qwen3synth.py
117
+ observed_behavior:
118
+ Fixed voice-level option normalization so omitted gain settings
119
+ remain absent, and preserved Qwen3 seed options only when explicitly set.
120
+ public_impact: public
121
+ decision: accepted
122
+ stale: false
123
+ evidence_subject: "fix: kokoro gain setting"
124
+ target_entry_id: entry-0003
125
+ notes: Reviewed engine changes and regression tests.
126
+ - sha: 4ab4750c673eadbd57ca91a42099fa87f13797cb
127
+ source_ref: git:4ab4750c673eadbd57ca91a42099fa87f13797cb
128
+ short_sha: 4ab4750
129
+ changed_paths:
130
+ - README.md
131
+ - tests/test_bundle_contract.py
132
+ - tests/test_cli.py
133
+ - tests/test_document_contract.py
134
+ - tests/test_render_book.py
135
+ - voicerender/book_layout.py
136
+ - voicerender/bundle_contract.py
137
+ - voicerender/cli.py
138
+ - voicerender/document_contract.py
139
+ stats:
140
+ files_changed: 9
141
+ insertions: 194
142
+ deletions: 16
143
+ inspected: true
144
+ inspected_paths:
145
+ - README.md
146
+ - tests/test_bundle_contract.py
147
+ - tests/test_cli.py
148
+ - tests/test_document_contract.py
149
+ - tests/test_render_book.py
150
+ - voicerender/book_layout.py
151
+ - voicerender/bundle_contract.py
152
+ - voicerender/cli.py
153
+ - voicerender/document_contract.py
154
+ observed_behavior:
155
+ Fixed bundle-root validation for paths and aliases that resolve
156
+ to canonical .ssmd-bundle directories while retaining rejection of inner paths
157
+ and unsafe roots.
158
+ public_impact: public
159
+ decision: accepted
160
+ stale: false
161
+ evidence_subject: "fix: bundle dir detection"
162
+ target_entry_id: entry-0004
163
+ notes: Reviewed path-validation changes, CLI help, and regression tests.
164
+ - sha: bc7551a9d81cc66dd8d740fbf7f1541a4f50d02f
165
+ source_ref: git:bc7551a9d81cc66dd8d740fbf7f1541a4f50d02f
166
+ short_sha: bc7551a
167
+ changed_paths:
168
+ - voicerender/cli.py
169
+ stats:
170
+ files_changed: 1
171
+ insertions: 9
172
+ deletions: 6
173
+ inspected: true
174
+ inspected_paths:
175
+ - voicerender/cli.py
176
+ observed_behavior:
177
+ Made runtime status and distribution paths use stable POSIX separators
178
+ in human and JSON CLI output.
179
+ public_impact: public
180
+ decision: accepted
181
+ stale: false
182
+ evidence_subject: "fix: cli"
183
+ target_entry_id: entry-0005
184
+ notes: Reviewed the CLI serialization change.
185
+ - sha: ade44bcbbcc223db372f6e7821d133b1777b1048
186
+ source_ref: git:ade44bcbbcc223db372f6e7821d133b1777b1048
187
+ short_sha: ade44bc
188
+ changed_paths:
189
+ - README.md
190
+ - docs/index.md
191
+ - tests/test_bundle_batch_render.py
192
+ - tests/test_bundle_render.py
193
+ - voicerender/__init__.py
194
+ - voicerender/bundle_batch.py
195
+ - voicerender/cli.py
196
+ stats:
197
+ files_changed: 7
198
+ insertions: 1298
199
+ deletions: 28
200
+ inspected: true
201
+ inspected_paths:
202
+ - README.md
203
+ - docs/index.md
204
+ - tests/test_bundle_batch_render.py
205
+ - tests/test_bundle_render.py
206
+ - voicerender/__init__.py
207
+ - voicerender/bundle_batch.py
208
+ - voicerender/cli.py
209
+ observed_behavior:
210
+ Added state-aware batch rendering for SSMD bundle variants, selecting
211
+ incomplete valid variants, skipping completed ones by default, reporting invalid
212
+ variants, and supporting forced reruns.
213
+ public_impact: public
214
+ decision: accepted
215
+ stale: false
216
+ evidence_subject: "feat: render all variants at once cmd added"
217
+ target_entry_id: entry-0006
218
+ notes:
219
+ Reviewed batch orchestration, CLI behavior, documentation, and comprehensive
220
+ tests.
@@ -0,0 +1,37 @@
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.6
9
+ kind: added
10
+ summary:
11
+ Added ONNX Runtime status inspection and saved provider-policy controls for
12
+ future compatible sessions
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:fdfe8ca0754a9cb3b3bfc9f792d6c2cf6e44af7d
18
+ paths:
19
+ - README.md
20
+ - docs/index.md
21
+ - pyproject.toml
22
+ - tests/test_runtime.py
23
+ - tests/test_runtime_cli.py
24
+ - voicerender/__init__.py
25
+ - voicerender/cli.py
26
+ - voicerender/errors.py
27
+ - voicerender/runtime.py
28
+ issues: []
29
+ prs: []
30
+ sources:
31
+ - git:fdfe8ca0754a9cb3b3bfc9f792d6c2cf6e44af7d
32
+ contributors:
33
+ - "@holgern"
34
+ breaking: false
35
+ internal: false
36
+ order: 1
37
+ ---
@@ -0,0 +1,40 @@
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.6
9
+ kind: added
10
+ summary:
11
+ Added read-only bundle variant discovery with render-state reporting and
12
+ canonical profile-create output normalization
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:9a323b21cc87657ece1aa324ccf84ca1cdb1ef34
18
+ paths:
19
+ - .ledger/releaseledger/data/ledgers/main/events/events.jsonl
20
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0007.md
21
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/entries/entry-0008.md
22
+ - .ledger/releaseledger/data/ledgers/main/releases/0.2.1/release.md
23
+ - README.md
24
+ - docs/changelog.md
25
+ - docs/renderprofile.md
26
+ - tests/test_cli.py
27
+ - tests/test_variants.py
28
+ - voicerender/__init__.py
29
+ - voicerender/cli.py
30
+ - voicerender/variants.py
31
+ issues: []
32
+ prs: []
33
+ sources:
34
+ - git:9a323b21cc87657ece1aa324ccf84ca1cdb1ef34
35
+ contributors:
36
+ - "@holgern"
37
+ breaking: false
38
+ internal: false
39
+ order: 2
40
+ ---
@@ -0,0 +1,33 @@
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.6
9
+ kind: fixed
10
+ summary:
11
+ Fixed voice-level option normalization and preserved Qwen3 seed options only
12
+ when explicitly set
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:5d929c9e092cd142238cc05a91b237dd00a65cd8
18
+ paths:
19
+ - tests/test_cli.py
20
+ - tests/test_kokoro_reference.py
21
+ - tests/test_qwen3synth_engine.py
22
+ - voicerender/engines/kokoro.py
23
+ - voicerender/engines/qwen3synth.py
24
+ issues: []
25
+ prs: []
26
+ sources:
27
+ - git:5d929c9e092cd142238cc05a91b237dd00a65cd8
28
+ contributors:
29
+ - "@holgern"
30
+ breaking: false
31
+ internal: false
32
+ order: 3
33
+ ---
@@ -0,0 +1,37 @@
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.6
9
+ kind: fixed
10
+ summary:
11
+ Fixed bundle-root validation for paths that resolve to canonical .ssmd-bundle
12
+ directories
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:4ab4750c673eadbd57ca91a42099fa87f13797cb
18
+ paths:
19
+ - README.md
20
+ - tests/test_bundle_contract.py
21
+ - tests/test_cli.py
22
+ - tests/test_document_contract.py
23
+ - tests/test_render_book.py
24
+ - voicerender/book_layout.py
25
+ - voicerender/bundle_contract.py
26
+ - voicerender/cli.py
27
+ - voicerender/document_contract.py
28
+ issues: []
29
+ prs: []
30
+ sources:
31
+ - git:4ab4750c673eadbd57ca91a42099fa87f13797cb
32
+ contributors:
33
+ - "@holgern"
34
+ breaking: false
35
+ internal: false
36
+ order: 4
37
+ ---
@@ -0,0 +1,29 @@
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.6
9
+ kind: fixed
10
+ summary:
11
+ Fixed runtime status and distribution paths for stable cross-platform CLI
12
+ output
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:bc7551a9d81cc66dd8d740fbf7f1541a4f50d02f
18
+ paths:
19
+ - voicerender/cli.py
20
+ issues: []
21
+ prs: []
22
+ sources:
23
+ - git:bc7551a9d81cc66dd8d740fbf7f1541a4f50d02f
24
+ contributors:
25
+ - "@holgern"
26
+ breaking: false
27
+ internal: false
28
+ order: 5
29
+ ---