utterplan 0.3.5__tar.gz → 0.3.7__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 (271) hide show
  1. {utterplan-0.3.5 → utterplan-0.3.7}/.github/workflows/python-publish.yml +1 -1
  2. {utterplan-0.3.5 → utterplan-0.3.7}/.github/workflows/tests.yml +2 -2
  3. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +6 -0
  4. utterplan-0.3.7/.ledger/releaseledger/data/ledgers/main/releases/0.3.6/audit/commit-audit.yaml +96 -0
  5. utterplan-0.3.7/.ledger/releaseledger/data/ledgers/main/releases/0.3.6/entries/entry-0001.md +59 -0
  6. utterplan-0.3.7/.ledger/releaseledger/data/ledgers/main/releases/0.3.6/release.md +27 -0
  7. utterplan-0.3.7/.ledger/releaseledger/work/0.3.6/audit-decisions.yaml +42 -0
  8. utterplan-0.3.7/.ledger/releaseledger/work/0.3.6/audit.yaml +59 -0
  9. utterplan-0.3.7/.ledger/releaseledger/work/0.3.6/entries.yaml +54 -0
  10. utterplan-0.3.7/.ledger/releaseledger/work/0.3.6/evidence/7576dd2.patch +3869 -0
  11. utterplan-0.3.7/.ledger/releaseledger/work/0.3.6/evidence/manifest.json +55 -0
  12. utterplan-0.3.7/.ledger/releaseledger/work/0.3.6/range.json +13 -0
  13. {utterplan-0.3.5 → utterplan-0.3.7}/PKG-INFO +2 -2
  14. {utterplan-0.3.5 → utterplan-0.3.7}/docs/changelog.md +8 -0
  15. {utterplan-0.3.5 → utterplan-0.3.7}/pyproject.toml +1 -1
  16. {utterplan-0.3.5 → utterplan-0.3.7}/tests/golden/multilingual.utterplan.json +38 -81
  17. {utterplan-0.3.5 → utterplan-0.3.7}/tests/golden/ssmd_09_comprehensive.utterplan.json +48 -3
  18. {utterplan-0.3.5 → utterplan-0.3.7}/tests/migration/cases.py +3 -3
  19. {utterplan-0.3.5 → utterplan-0.3.7}/tests/migration/goldens/multilingual_preparation.json +78 -79
  20. {utterplan-0.3.5 → utterplan-0.3.7}/tests/migration/goldens/spokenform_numbers.json +61 -55
  21. {utterplan-0.3.5 → utterplan-0.3.7}/tests/migration/goldens/ssmd_break.json +75 -69
  22. {utterplan-0.3.5 → utterplan-0.3.7}/tests/migration/goldens/ssmd_language_detection.json +61 -55
  23. {utterplan-0.3.5 → utterplan-0.3.7}/tests/migration/goldens/ssmd_marker.json +77 -71
  24. {utterplan-0.3.5 → utterplan-0.3.7}/tests/migration/goldens/ssmd_pronunciation.json +64 -58
  25. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_boundaries.py +1 -1
  26. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_cli.py +66 -0
  27. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_consumer_contract.py +1 -1
  28. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_explain.py +3 -3
  29. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_format.py +2 -2
  30. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_planner.py +1 -1
  31. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_preparation.py +3 -4
  32. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_progress.py +1 -1
  33. utterplan-0.3.7/tests/test_renderability.py +201 -0
  34. utterplan-0.3.7/tests/test_renderability_repair.py +159 -0
  35. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_schema_history.py +12 -4
  36. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_segment_topology.py +14 -15
  37. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_ssmd_09_parser.py +25 -1
  38. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/__init__.py +18 -0
  39. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/_version.py +3 -3
  40. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/cli.py +46 -1
  41. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/config.py +3 -0
  42. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/exceptions.py +36 -0
  43. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/model.py +3 -0
  44. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/parsers.py +191 -1
  45. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/planner.py +256 -19
  46. utterplan-0.3.7/utterplan/renderability.py +243 -0
  47. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan.egg-info/PKG-INFO +2 -2
  48. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan.egg-info/SOURCES.txt +12 -0
  49. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan.egg-info/requires.txt +1 -1
  50. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan.egg-info/scm_file_list.json +12 -0
  51. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan.egg-info/scm_version.json +2 -2
  52. {utterplan-0.3.5 → utterplan-0.3.7}/.codecrate.toml +0 -0
  53. {utterplan-0.3.5 → utterplan-0.3.7}/.github/workflows/codecov.yml +0 -0
  54. {utterplan-0.3.5 → utterplan-0.3.7}/.github/workflows/pre-commit.yml +0 -0
  55. {utterplan-0.3.5 → utterplan-0.3.7}/.gitignore +0 -0
  56. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/ledger.toml +0 -0
  57. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/.ledger-project.toml +0 -0
  58. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/config.toml +0 -0
  59. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/.ledger-project.toml +0 -0
  60. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0001.md +0 -0
  61. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0002.md +0 -0
  62. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0003.md +0 -0
  63. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0004.md +0 -0
  64. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/release.md +0 -0
  65. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/entries/entry-0001.md +0 -0
  66. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/release.md +0 -0
  67. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.3/audit/commit-audit.yaml +0 -0
  68. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.3/entries/entry-0001.md +0 -0
  69. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.3/entries/entry-0002.md +0 -0
  70. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.3/entries/entry-0003.md +0 -0
  71. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.3/entries/entry-0004.md +0 -0
  72. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.3/entries/entry-0005.md +0 -0
  73. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.3/entries/entry-0006.md +0 -0
  74. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.1.3/release.md +0 -0
  75. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/audit/commit-audit.yaml +0 -0
  76. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0001.md +0 -0
  77. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0002.md +0 -0
  78. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0003.md +0 -0
  79. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0004.md +0 -0
  80. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/release.md +0 -0
  81. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.0/audit/commit-audit.yaml +0 -0
  82. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.0/entries/entry-0001.md +0 -0
  83. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.0/entries/entry-0002.md +0 -0
  84. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.0/entries/entry-0003.md +0 -0
  85. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.0/entries/entry-0004.md +0 -0
  86. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.0/entries/entry-0005.md +0 -0
  87. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.0/entries/entry-0006.md +0 -0
  88. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.0/release.md +0 -0
  89. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.1/audit/commit-audit.yaml +0 -0
  90. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.1/entries/entry-0001.md +0 -0
  91. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.1/release.md +0 -0
  92. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.2/audit/commit-audit.yaml +0 -0
  93. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.2/entries/entry-0001.md +0 -0
  94. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.2/entries/entry-0002.md +0 -0
  95. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.2/release.md +0 -0
  96. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.3/audit/commit-audit.yaml +0 -0
  97. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.3/entries/entry-0001.md +0 -0
  98. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.3/entries/entry-0002.md +0 -0
  99. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.3/release.md +0 -0
  100. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.4/audit/commit-audit.yaml +0 -0
  101. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.4/entries/entry-0001.md +0 -0
  102. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.4/entries/entry-0002.md +0 -0
  103. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.4/release.md +0 -0
  104. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.5/audit/commit-audit.yaml +0 -0
  105. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.5/entries/entry-0001.md +0 -0
  106. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/data/ledgers/main/releases/0.3.5/release.md +0 -0
  107. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.1.2/audit-decisions.yaml +0 -0
  108. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.1.2/audit.yaml +0 -0
  109. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.1.2/entries.yaml +0 -0
  110. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.1.2/evidence/2c64e29.patch +0 -0
  111. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.1.2/evidence/4022753.patch +0 -0
  112. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.1.2/evidence/66a88b6.patch +0 -0
  113. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.1.2/evidence/manifest.json +0 -0
  114. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.1.2/range.json +0 -0
  115. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.2.0/audit-decisions.yaml +0 -0
  116. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.2.0/audit.yaml +0 -0
  117. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.2.0/entries.yaml +0 -0
  118. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.2.0/evidence/9637182.patch +0 -0
  119. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.2.0/evidence/c52aa68.patch +0 -0
  120. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.2.0/evidence/e49a6dd.patch +0 -0
  121. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.2.0/evidence/manifest.json +0 -0
  122. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.2.0/range.json +0 -0
  123. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.0/audit-decisions.yaml +0 -0
  124. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.0/audit.yaml +0 -0
  125. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.0/entries.yaml +0 -0
  126. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.0/evidence/49023f0.patch +0 -0
  127. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.0/evidence/manifest.json +0 -0
  128. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.0/range.json +0 -0
  129. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.1/audit-decisions.yaml +0 -0
  130. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.1/audit.yaml +0 -0
  131. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.1/entries.yaml +0 -0
  132. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.1/evidence/70adac0.patch +0 -0
  133. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.1/evidence/manifest.json +0 -0
  134. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.1/range.json +0 -0
  135. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.2/audit-decisions.yaml +0 -0
  136. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.2/audit.yaml +0 -0
  137. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.2/entries.yaml +0 -0
  138. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.2/evidence/6c2a1ac.patch +0 -0
  139. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.2/evidence/a2bc20d.patch +0 -0
  140. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.2/evidence/ba3b5af.patch +0 -0
  141. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.2/evidence/manifest.json +0 -0
  142. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.2/range.json +0 -0
  143. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.3/audit-decisions.yaml +0 -0
  144. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.3/audit.yaml +0 -0
  145. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.3/entries.yaml +0 -0
  146. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.3/evidence/66e2d83.patch +0 -0
  147. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.3/evidence/ac797e4.patch +0 -0
  148. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.3/evidence/manifest.json +0 -0
  149. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.3/range.json +0 -0
  150. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.4/audit-decisions.yaml +0 -0
  151. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.4/audit.yaml +0 -0
  152. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.4/entries.preview.yaml +0 -0
  153. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.4/entries.yaml +0 -0
  154. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.4/evidence/manifest.json +0 -0
  155. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.4/range.json +0 -0
  156. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.5/audit-decisions.yaml +0 -0
  157. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.5/audit.yaml +0 -0
  158. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.5/entries.yaml +0 -0
  159. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.5/evidence/a19ceb4.patch +0 -0
  160. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.5/evidence/manifest.json +0 -0
  161. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/work/0.3.5/range.json +0 -0
  162. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/releaseledger/write.lock +0 -0
  163. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/taskledger/.ledger-project.toml +0 -0
  164. {utterplan-0.3.5 → utterplan-0.3.7}/.ledger/taskledger/config.toml +0 -0
  165. {utterplan-0.3.5 → utterplan-0.3.7}/.pre-commit-config.yaml +0 -0
  166. {utterplan-0.3.5 → utterplan-0.3.7}/AGENTS.md +0 -0
  167. {utterplan-0.3.5 → utterplan-0.3.7}/LICENSE +0 -0
  168. {utterplan-0.3.5 → utterplan-0.3.7}/NOTICE +0 -0
  169. {utterplan-0.3.5 → utterplan-0.3.7}/README.md +0 -0
  170. {utterplan-0.3.5 → utterplan-0.3.7}/docs/Makefile +0 -0
  171. {utterplan-0.3.5 → utterplan-0.3.7}/docs/architecture.md +0 -0
  172. {utterplan-0.3.5 → utterplan-0.3.7}/docs/cli.md +0 -0
  173. {utterplan-0.3.5 → utterplan-0.3.7}/docs/conf.py +0 -0
  174. {utterplan-0.3.5 → utterplan-0.3.7}/docs/consumer-guide.md +0 -0
  175. {utterplan-0.3.5 → utterplan-0.3.7}/docs/coordinate-spaces.md +0 -0
  176. {utterplan-0.3.5 → utterplan-0.3.7}/docs/debugging.md +0 -0
  177. {utterplan-0.3.5 → utterplan-0.3.7}/docs/format.md +0 -0
  178. {utterplan-0.3.5 → utterplan-0.3.7}/docs/getting-started.md +0 -0
  179. {utterplan-0.3.5 → utterplan-0.3.7}/docs/index.md +0 -0
  180. {utterplan-0.3.5 → utterplan-0.3.7}/docs/make.bat +0 -0
  181. {utterplan-0.3.5 → utterplan-0.3.7}/docs/phase-a-completion.md +0 -0
  182. {utterplan-0.3.5 → utterplan-0.3.7}/docs/pykokoro-integration.md +0 -0
  183. {utterplan-0.3.5 → utterplan-0.3.7}/docs/python-api.md +0 -0
  184. {utterplan-0.3.5 → utterplan-0.3.7}/docs/requirements.txt +0 -0
  185. {utterplan-0.3.5 → utterplan-0.3.7}/examples/basic.py +0 -0
  186. {utterplan-0.3.5 → utterplan-0.3.7}/examples/chapter.ssmd +0 -0
  187. {utterplan-0.3.5 → utterplan-0.3.7}/examples/compile_file.py +0 -0
  188. {utterplan-0.3.5 → utterplan-0.3.7}/examples/inspect_plan.py +0 -0
  189. {utterplan-0.3.5 → utterplan-0.3.7}/examples/multilingual.py +0 -0
  190. {utterplan-0.3.5 → utterplan-0.3.7}/examples/ssmd_example.py +0 -0
  191. {utterplan-0.3.5 → utterplan-0.3.7}/setup.cfg +0 -0
  192. {utterplan-0.3.5 → utterplan-0.3.7}/spec/schemas/v1.schema.json +0 -0
  193. {utterplan-0.3.5 → utterplan-0.3.7}/spec/schemas/v2.schema.json +0 -0
  194. {utterplan-0.3.5 → utterplan-0.3.7}/spec/schemas/v3.schema.json +0 -0
  195. {utterplan-0.3.5 → utterplan-0.3.7}/spec/utterplan.schema.json +0 -0
  196. {utterplan-0.3.5 → utterplan-0.3.7}/tests/__init__.py +0 -0
  197. {utterplan-0.3.5 → utterplan-0.3.7}/tests/fixtures/canonical_consumer_contract.expected.json +0 -0
  198. {utterplan-0.3.5 → utterplan-0.3.7}/tests/fixtures/canonical_consumer_contract.ssmd +0 -0
  199. {utterplan-0.3.5 → utterplan-0.3.7}/tests/fixtures/ssmd_09_comprehensive.ssmd +0 -0
  200. {utterplan-0.3.5 → utterplan-0.3.7}/tests/golden/basic_en.utterplan.json +0 -0
  201. {utterplan-0.3.5 → utterplan-0.3.7}/tests/golden/directives.utterplan.json +0 -0
  202. {utterplan-0.3.5 → utterplan-0.3.7}/tests/golden/markers.utterplan.json +0 -0
  203. {utterplan-0.3.5 → utterplan-0.3.7}/tests/golden/parenthetical.utterplan.json +0 -0
  204. {utterplan-0.3.5 → utterplan-0.3.7}/tests/golden/spokenform_offsets.utterplan.json +0 -0
  205. {utterplan-0.3.5 → utterplan-0.3.7}/tests/golden/ssmd_breaks.utterplan.json +0 -0
  206. {utterplan-0.3.5 → utterplan-0.3.7}/tests/migration/__init__.py +0 -0
  207. {utterplan-0.3.5 → utterplan-0.3.7}/tests/migration/test_semantic_migration_regressions.py +0 -0
  208. {utterplan-0.3.5 → utterplan-0.3.7}/tests/schema_history/README.md +0 -0
  209. {utterplan-0.3.5 → utterplan-0.3.7}/tests/schema_history/v1/basic.json +0 -0
  210. {utterplan-0.3.5 → utterplan-0.3.7}/tests/schema_history/v1/directives.json +0 -0
  211. {utterplan-0.3.5 → utterplan-0.3.7}/tests/schema_history/v1/markers.json +0 -0
  212. {utterplan-0.3.5 → utterplan-0.3.7}/tests/schema_history/v1/multilingual.json +0 -0
  213. {utterplan-0.3.5 → utterplan-0.3.7}/tests/schema_history/v1/parenthetical.json +0 -0
  214. {utterplan-0.3.5 → utterplan-0.3.7}/tests/schema_history/v1/spokenform_offsets.json +0 -0
  215. {utterplan-0.3.5 → utterplan-0.3.7}/tests/schema_history/v1/ssmd_breaks.json +0 -0
  216. {utterplan-0.3.5 → utterplan-0.3.7}/tests/schema_history/v2/directives.json +0 -0
  217. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_compiler.py +0 -0
  218. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_consumer_readiness.py +0 -0
  219. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_coordinates.py +0 -0
  220. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_directives.py +0 -0
  221. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_fake_renderer.py +0 -0
  222. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_golden.py +0 -0
  223. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_identity_units.py +0 -0
  224. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_import_boundaries.py +0 -0
  225. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_language.py +0 -0
  226. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_linguistics.py +0 -0
  227. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_migration_framework.py +0 -0
  228. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_pauses.py +0 -0
  229. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_public_identity.py +0 -0
  230. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_schema_registry.py +0 -0
  231. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_schema_strict.py +0 -0
  232. {utterplan-0.3.5 → utterplan-0.3.7}/tests/test_version.py +0 -0
  233. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/__main__.py +0 -0
  234. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/compiler.py +0 -0
  235. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/diagnostics.py +0 -0
  236. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/directives.py +0 -0
  237. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/explain.py +0 -0
  238. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/format.py +0 -0
  239. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/hashing.py +0 -0
  240. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/language.py +0 -0
  241. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/linguistics.py +0 -0
  242. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/migration.py +0 -0
  243. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/migrations/__init__.py +0 -0
  244. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/migrations/registry.py +0 -0
  245. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/migrations/v1_to_v2.py +0 -0
  246. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/migrations/v2_to_v3.py +0 -0
  247. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/pauses.py +0 -0
  248. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/preparation.py +0 -0
  249. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/progress.py +0 -0
  250. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/py.typed +0 -0
  251. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/schema_registry.py +0 -0
  252. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/schemas/v1.schema.json +0 -0
  253. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/schemas/v2.schema.json +0 -0
  254. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/schemas/v3.schema.json +0 -0
  255. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/serialization.py +0 -0
  256. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/spacy_models.py +0 -0
  257. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/spans.py +0 -0
  258. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/stages/__init__.py +0 -0
  259. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/stages/document/__init__.py +0 -0
  260. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/stages/document/plain.py +0 -0
  261. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/stages/document/ssmd.py +0 -0
  262. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/stages/preparation/__init__.py +0 -0
  263. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/stages/preparation/identity.py +0 -0
  264. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/stages/preparation/spokenform.py +0 -0
  265. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/stages/protocols.py +0 -0
  266. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/units.py +0 -0
  267. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/utterplan.schema.json +0 -0
  268. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan/versioning.py +0 -0
  269. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan.egg-info/dependency_links.txt +0 -0
  270. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan.egg-info/entry_points.txt +0 -0
  271. {utterplan-0.3.5 → utterplan-0.3.7}/utterplan.egg-info/top_level.txt +0 -0
@@ -80,7 +80,7 @@ jobs:
80
80
  Requirement(value) for value in metadata.get_all("Requires-Dist", [])
81
81
  ]
82
82
  assert has_range(requirements, "phrasplit", "0.3.9", "0.4")
83
- assert has_range(requirements, "ssmd", "0.9.0", "0.10")
83
+ assert has_range(requirements, "ssmd", "0.9.3", "0.10")
84
84
  assert has_range(requirements, "spokenform", "0.4.3", "0.5")
85
85
  names = set(archive.namelist())
86
86
  expected = {
@@ -46,7 +46,7 @@ jobs:
46
46
  python -m pip install pytest jsonschema
47
47
  python -m pip install \
48
48
  "phrasplit==0.3.9" \
49
- "ssmd==0.9.0" \
49
+ "ssmd==0.9.3" \
50
50
  "spokenform==0.4.3" \
51
51
  "typing_extensions>=4.0"
52
52
  python -m pip install --no-deps -e .
@@ -90,7 +90,7 @@ jobs:
90
90
  }
91
91
  expected_ranges = {
92
92
  "phrasplit": ("0.3.9", "0.4"),
93
- "ssmd": ("0.9.0", "0.10"),
93
+ "ssmd": ("0.9.3", "0.10"),
94
94
  "spokenform": ("0.4.3", "0.5"),
95
95
  }
96
96
 
@@ -73,3 +73,9 @@
73
73
  {"data":{"updated_rows":1},"event":"audit.updated","event_id":"event-0073","record_revisions":{"commit_audit_sheet":2},"release_version":"0.3.5","schema_version":2}
74
74
  {"data":{"entry_ids":["entry-0001"],"synced_audit_rows":1},"event":"entry.batch_added","event_id":"event-0074","record_revisions":{"commit_audit_sheet":3,"entry:0.3.5/entry-0001":1,"release:0.3.5":3},"release_version":"0.3.5","schema_version":2}
75
75
  {"data":{"released_at":"2026-10-05"},"event":"release.finalized","event_id":"event-0075","record_revisions":{"release:0.3.5":4},"release_version":"0.3.5","schema_version":2}
76
+ {"data":{"status":"planned"},"event":"release.created","event_id":"event-0076","record_revisions":{"release:0.3.6":1},"release_version":"0.3.6","schema_version":2}
77
+ {"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-0077","record_revisions":{"release:0.3.6":2},"release_version":"0.3.6","schema_version":2}
78
+ {"data":{"row_count":1},"event":"audit.created","event_id":"event-0078","record_revisions":{"commit_audit_sheet":1},"release_version":"0.3.6","schema_version":2}
79
+ {"data":{"updated_rows":1},"event":"audit.updated","event_id":"event-0079","record_revisions":{"commit_audit_sheet":2},"release_version":"0.3.6","schema_version":2}
80
+ {"data":{"entry_ids":["entry-0001"],"synced_audit_rows":1},"event":"entry.batch_added","event_id":"event-0080","record_revisions":{"commit_audit_sheet":3,"entry:0.3.6/entry-0001":1,"release:0.3.6":3},"release_version":"0.3.6","schema_version":2}
81
+ {"data":{"released_at":"2026-10-05"},"event":"release.finalized","event_id":"event-0081","record_revisions":{"release:0.3.6":4},"release_version":"0.3.6","schema_version":2}
@@ -0,0 +1,96 @@
1
+ schema_version: 1
2
+ object_type: commit_audit_sheet
3
+ versioning:
4
+ schema_version: 1
5
+ revision: 3
6
+ release_version: 0.3.6
7
+ git_base_ref: v0.3.5
8
+ git_base_sha: b8e5c85fb3216f5f494cbe7c35b4483d6b4d919a
9
+ git_head_ref: HEAD
10
+ git_head_sha: 7576dd2dba4d312679ce0a844dd33686ebb7efe8
11
+ git_range: b8e5c85fb3216f5f494cbe7c35b4483d6b4d919a..7576dd2dba4d312679ce0a844dd33686ebb7efe8
12
+ commit_count: 1
13
+ rows:
14
+ - sha: 7576dd2dba4d312679ce0a844dd33686ebb7efe8
15
+ source_ref: git:7576dd2dba4d312679ce0a844dd33686ebb7efe8
16
+ short_sha: 7576dd2
17
+ changed_paths:
18
+ - pyproject.toml
19
+ - tests/golden/multilingual.utterplan.json
20
+ - tests/golden/ssmd_09_comprehensive.utterplan.json
21
+ - tests/migration/cases.py
22
+ - tests/migration/goldens/multilingual_preparation.json
23
+ - tests/migration/goldens/spokenform_numbers.json
24
+ - tests/migration/goldens/ssmd_break.json
25
+ - tests/migration/goldens/ssmd_language_detection.json
26
+ - tests/migration/goldens/ssmd_marker.json
27
+ - tests/migration/goldens/ssmd_pronunciation.json
28
+ - tests/test_boundaries.py
29
+ - tests/test_cli.py
30
+ - tests/test_consumer_contract.py
31
+ - tests/test_explain.py
32
+ - tests/test_format.py
33
+ - tests/test_planner.py
34
+ - tests/test_preparation.py
35
+ - tests/test_progress.py
36
+ - tests/test_renderability.py
37
+ - tests/test_renderability_repair.py
38
+ - tests/test_schema_history.py
39
+ - tests/test_segment_topology.py
40
+ - tests/test_ssmd_09_parser.py
41
+ - utterplan/__init__.py
42
+ - utterplan/cli.py
43
+ - utterplan/config.py
44
+ - utterplan/exceptions.py
45
+ - utterplan/model.py
46
+ - utterplan/parsers.py
47
+ - utterplan/planner.py
48
+ - utterplan/renderability.py
49
+ stats:
50
+ files_changed: 31
51
+ insertions: 2067
52
+ deletions: 587
53
+ inspected: true
54
+ inspected_paths:
55
+ - pyproject.toml
56
+ - tests/golden/multilingual.utterplan.json
57
+ - tests/golden/ssmd_09_comprehensive.utterplan.json
58
+ - tests/migration/cases.py
59
+ - tests/migration/goldens/multilingual_preparation.json
60
+ - tests/migration/goldens/spokenform_numbers.json
61
+ - tests/migration/goldens/ssmd_break.json
62
+ - tests/migration/goldens/ssmd_language_detection.json
63
+ - tests/migration/goldens/ssmd_marker.json
64
+ - tests/migration/goldens/ssmd_pronunciation.json
65
+ - tests/test_boundaries.py
66
+ - tests/test_cli.py
67
+ - tests/test_consumer_contract.py
68
+ - tests/test_explain.py
69
+ - tests/test_format.py
70
+ - tests/test_planner.py
71
+ - tests/test_preparation.py
72
+ - tests/test_progress.py
73
+ - tests/test_renderability.py
74
+ - tests/test_renderability_repair.py
75
+ - tests/test_schema_history.py
76
+ - tests/test_segment_topology.py
77
+ - tests/test_ssmd_09_parser.py
78
+ - utterplan/__init__.py
79
+ - utterplan/cli.py
80
+ - utterplan/config.py
81
+ - utterplan/exceptions.py
82
+ - utterplan/model.py
83
+ - utterplan/parsers.py
84
+ - utterplan/planner.py
85
+ - utterplan/renderability.py
86
+ observed_behavior:
87
+ "Added strict and repair renderability planning: plans now reject
88
+ renderer segments without semantic speech content, while repair mode safely merges
89
+ or drops isolated neutral punctuation and records source locations and repair
90
+ diagnostics."
91
+ public_impact: public
92
+ decision: accepted
93
+ stale: false
94
+ evidence_subject: "feat: check for rendability"
95
+ target_entry_id: entry-0001
96
+ notes: ""
@@ -0,0 +1,59 @@
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.3.6
9
+ kind: added
10
+ summary:
11
+ Added strict renderability checks and deterministic repair for isolated neutral
12
+ punctuation segments
13
+ status: accepted
14
+ audience: null
15
+ scopes: []
16
+ source_refs:
17
+ - git:7576dd2dba4d312679ce0a844dd33686ebb7efe8
18
+ paths:
19
+ - pyproject.toml
20
+ - tests/golden/multilingual.utterplan.json
21
+ - tests/golden/ssmd_09_comprehensive.utterplan.json
22
+ - tests/migration/cases.py
23
+ - tests/migration/goldens/multilingual_preparation.json
24
+ - tests/migration/goldens/spokenform_numbers.json
25
+ - tests/migration/goldens/ssmd_break.json
26
+ - tests/migration/goldens/ssmd_language_detection.json
27
+ - tests/migration/goldens/ssmd_marker.json
28
+ - tests/migration/goldens/ssmd_pronunciation.json
29
+ - tests/test_boundaries.py
30
+ - tests/test_cli.py
31
+ - tests/test_consumer_contract.py
32
+ - tests/test_explain.py
33
+ - tests/test_format.py
34
+ - tests/test_planner.py
35
+ - tests/test_preparation.py
36
+ - tests/test_progress.py
37
+ - tests/test_renderability.py
38
+ - tests/test_renderability_repair.py
39
+ - tests/test_schema_history.py
40
+ - tests/test_segment_topology.py
41
+ - tests/test_ssmd_09_parser.py
42
+ - utterplan/__init__.py
43
+ - utterplan/cli.py
44
+ - utterplan/config.py
45
+ - utterplan/exceptions.py
46
+ - utterplan/model.py
47
+ - utterplan/parsers.py
48
+ - utterplan/planner.py
49
+ - utterplan/renderability.py
50
+ issues: []
51
+ prs: []
52
+ sources:
53
+ - git:7576dd2dba4d312679ce0a844dd33686ebb7efe8
54
+ contributors:
55
+ - "@holgern"
56
+ breaking: false
57
+ internal: false
58
+ order: 1
59
+ ---
@@ -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.3.6
8
+ status: released
9
+ history_state: curated
10
+ title: null
11
+ released_at: "2026-10-05"
12
+ previous_version: 0.3.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: 1
20
+ artifact_count: 0
21
+ git_base_ref: v0.3.5
22
+ git_base_sha: b8e5c85fb3216f5f494cbe7c35b4483d6b4d919a
23
+ git_head_ref: HEAD
24
+ git_head_sha: 7576dd2dba4d312679ce0a844dd33686ebb7efe8
25
+ git_range: b8e5c85fb3216f5f494cbe7c35b4483d6b4d919a..7576dd2dba4d312679ce0a844dd33686ebb7efe8
26
+ git_commit_count: 1
27
+ ---
@@ -0,0 +1,42 @@
1
+ rows:
2
+ - sha: 7576dd2dba4d312679ce0a844dd33686ebb7efe8
3
+ inspected: true
4
+ inspected_paths:
5
+ - pyproject.toml
6
+ - tests/golden/multilingual.utterplan.json
7
+ - tests/golden/ssmd_09_comprehensive.utterplan.json
8
+ - tests/migration/cases.py
9
+ - tests/migration/goldens/multilingual_preparation.json
10
+ - tests/migration/goldens/spokenform_numbers.json
11
+ - tests/migration/goldens/ssmd_break.json
12
+ - tests/migration/goldens/ssmd_language_detection.json
13
+ - tests/migration/goldens/ssmd_marker.json
14
+ - tests/migration/goldens/ssmd_pronunciation.json
15
+ - tests/test_boundaries.py
16
+ - tests/test_cli.py
17
+ - tests/test_consumer_contract.py
18
+ - tests/test_explain.py
19
+ - tests/test_format.py
20
+ - tests/test_planner.py
21
+ - tests/test_preparation.py
22
+ - tests/test_progress.py
23
+ - tests/test_renderability.py
24
+ - tests/test_renderability_repair.py
25
+ - tests/test_schema_history.py
26
+ - tests/test_segment_topology.py
27
+ - tests/test_ssmd_09_parser.py
28
+ - utterplan/__init__.py
29
+ - utterplan/cli.py
30
+ - utterplan/config.py
31
+ - utterplan/exceptions.py
32
+ - utterplan/model.py
33
+ - utterplan/parsers.py
34
+ - utterplan/planner.py
35
+ - utterplan/renderability.py
36
+ observed_behavior: "Added strict and repair renderability planning: plans now reject renderer segments without semantic speech content, while repair mode safely merges or drops isolated neutral punctuation and records source locations and repair diagnostics."
37
+ public_impact: public
38
+ decision: accepted
39
+ target_entry_key: null
40
+ target_entry_id: null
41
+ notes: ""
42
+ stale: false
@@ -0,0 +1,59 @@
1
+ schema_version: 1
2
+ object_type: commit_audit_sheet
3
+ versioning:
4
+ schema_version: 1
5
+ revision: 1
6
+ release_version: 0.3.6
7
+ git_base_ref: v0.3.5
8
+ git_base_sha: b8e5c85fb3216f5f494cbe7c35b4483d6b4d919a
9
+ git_head_ref: HEAD
10
+ git_head_sha: 7576dd2dba4d312679ce0a844dd33686ebb7efe8
11
+ git_range: b8e5c85fb3216f5f494cbe7c35b4483d6b4d919a..7576dd2dba4d312679ce0a844dd33686ebb7efe8
12
+ commit_count: 1
13
+ rows:
14
+ - sha: 7576dd2dba4d312679ce0a844dd33686ebb7efe8
15
+ source_ref: git:7576dd2dba4d312679ce0a844dd33686ebb7efe8
16
+ short_sha: 7576dd2
17
+ changed_paths:
18
+ - pyproject.toml
19
+ - tests/golden/multilingual.utterplan.json
20
+ - tests/golden/ssmd_09_comprehensive.utterplan.json
21
+ - tests/migration/cases.py
22
+ - tests/migration/goldens/multilingual_preparation.json
23
+ - tests/migration/goldens/spokenform_numbers.json
24
+ - tests/migration/goldens/ssmd_break.json
25
+ - tests/migration/goldens/ssmd_language_detection.json
26
+ - tests/migration/goldens/ssmd_marker.json
27
+ - tests/migration/goldens/ssmd_pronunciation.json
28
+ - tests/test_boundaries.py
29
+ - tests/test_cli.py
30
+ - tests/test_consumer_contract.py
31
+ - tests/test_explain.py
32
+ - tests/test_format.py
33
+ - tests/test_planner.py
34
+ - tests/test_preparation.py
35
+ - tests/test_progress.py
36
+ - tests/test_renderability.py
37
+ - tests/test_renderability_repair.py
38
+ - tests/test_schema_history.py
39
+ - tests/test_segment_topology.py
40
+ - tests/test_ssmd_09_parser.py
41
+ - utterplan/__init__.py
42
+ - utterplan/cli.py
43
+ - utterplan/config.py
44
+ - utterplan/exceptions.py
45
+ - utterplan/model.py
46
+ - utterplan/parsers.py
47
+ - utterplan/planner.py
48
+ - utterplan/renderability.py
49
+ stats:
50
+ files_changed: 31
51
+ insertions: 2067
52
+ deletions: 587
53
+ inspected: false
54
+ inspected_paths: []
55
+ observed_behavior: ""
56
+ public_impact: unknown
57
+ decision: needs_review
58
+ stale: false
59
+ evidence_subject: "feat: check for rendability"
@@ -0,0 +1,54 @@
1
+ schema: releaseledger.entry-batch.v1
2
+ operation: create
3
+ schema_version: 1
4
+ object_type: release_entry_batch
5
+ release_version: 0.3.6
6
+ git_base_ref: b8e5c85fb3216f5f494cbe7c35b4483d6b4d919a
7
+ git_base_sha: b8e5c85fb3216f5f494cbe7c35b4483d6b4d919a
8
+ git_head_ref: 7576dd2dba4d312679ce0a844dd33686ebb7efe8
9
+ git_head_sha: 7576dd2dba4d312679ce0a844dd33686ebb7efe8
10
+ include_merges: nontrivial
11
+ entries:
12
+ - kind: added
13
+ summary: "Added strict renderability checks and deterministic repair for isolated neutral punctuation segments"
14
+ status: accepted
15
+ source_refs:
16
+ - git:7576dd2dba4d312679ce0a844dd33686ebb7efe8
17
+ paths:
18
+ - pyproject.toml
19
+ - tests/golden/multilingual.utterplan.json
20
+ - tests/golden/ssmd_09_comprehensive.utterplan.json
21
+ - tests/migration/cases.py
22
+ - tests/migration/goldens/multilingual_preparation.json
23
+ - tests/migration/goldens/spokenform_numbers.json
24
+ - tests/migration/goldens/ssmd_break.json
25
+ - tests/migration/goldens/ssmd_language_detection.json
26
+ - tests/migration/goldens/ssmd_marker.json
27
+ - tests/migration/goldens/ssmd_pronunciation.json
28
+ - tests/test_boundaries.py
29
+ - tests/test_cli.py
30
+ - tests/test_consumer_contract.py
31
+ - tests/test_explain.py
32
+ - tests/test_format.py
33
+ - tests/test_planner.py
34
+ - tests/test_preparation.py
35
+ - tests/test_progress.py
36
+ - tests/test_renderability.py
37
+ - tests/test_renderability_repair.py
38
+ - tests/test_schema_history.py
39
+ - tests/test_segment_topology.py
40
+ - tests/test_ssmd_09_parser.py
41
+ - utterplan/__init__.py
42
+ - utterplan/cli.py
43
+ - utterplan/config.py
44
+ - utterplan/exceptions.py
45
+ - utterplan/model.py
46
+ - utterplan/parsers.py
47
+ - utterplan/planner.py
48
+ - utterplan/renderability.py
49
+ sources:
50
+ - git:7576dd2dba4d312679ce0a844dd33686ebb7efe8
51
+ prs: []
52
+ issues: []
53
+ contributors:
54
+ - "@holgern"