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