utterplan 0.1.1__tar.gz → 0.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {utterplan-0.1.1 → utterplan-0.1.2}/.github/workflows/tests.yml +3 -0
- utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +20 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/release.md +3 -3
- utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/entries/entry-0001.md +24 -0
- utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/release.md +27 -0
- utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.2/audit/commit-audit.yaml +164 -0
- utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.2/entries/entry-0001.md +32 -0
- utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.2/entries/entry-0002.md +33 -0
- utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.2/entries/entry-0003.md +37 -0
- utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.2/release.md +27 -0
- utterplan-0.1.2/.ledger/releaseledger/work/0.1.2/audit-decisions.yaml +52 -0
- utterplan-0.1.2/.ledger/releaseledger/work/0.1.2/audit.yaml +128 -0
- utterplan-0.1.2/.ledger/releaseledger/work/0.1.2/entries.yaml +56 -0
- utterplan-0.1.2/.ledger/releaseledger/work/0.1.2/evidence/2c64e29.patch +1740 -0
- utterplan-0.1.2/.ledger/releaseledger/work/0.1.2/evidence/4022753.patch +677 -0
- utterplan-0.1.2/.ledger/releaseledger/work/0.1.2/evidence/66a88b6.patch +2657 -0
- utterplan-0.1.2/.ledger/releaseledger/work/0.1.2/evidence/manifest.json +116 -0
- utterplan-0.1.2/.ledger/releaseledger/work/0.1.2/range.json +13 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/AGENTS.md +5 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/PKG-INFO +5 -1
- {utterplan-0.1.1 → utterplan-0.1.2}/README.md +4 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/architecture.md +25 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/changelog.md +22 -3
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/cli.md +25 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/consumer-guide.md +16 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/debugging.md +3 -1
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/format.md +15 -1
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/phase-a-completion.md +1 -2
- utterplan-0.1.2/docs/pykokoro-reference.md +57 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/python-api.md +20 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/pyproject.toml +1 -1
- utterplan-0.1.2/spec/schemas/v1.schema.json +278 -0
- {utterplan-0.1.1/utterplan → utterplan-0.1.2/spec}/utterplan.schema.json +20 -2
- utterplan-0.1.2/tests/migration/cases.py +58 -0
- utterplan-0.1.2/tests/migration/goldens/multilingual_preparation.json +29 -0
- utterplan-0.1.2/tests/migration/goldens/spokenform_numbers.json +6 -0
- utterplan-0.1.2/tests/migration/goldens/ssmd_break.json +47 -0
- utterplan-0.1.2/tests/migration/goldens/ssmd_language_detection.json +4 -0
- utterplan-0.1.2/tests/migration/goldens/ssmd_marker.json +15 -0
- utterplan-0.1.2/tests/migration/goldens/ssmd_pronunciation.json +35 -0
- utterplan-0.1.2/tests/migration/test_pykokoro_frontend_parity.py +110 -0
- utterplan-0.1.2/tests/reference/dump_pykokoro_frontend.py +266 -0
- utterplan-0.1.2/tests/reference/test_pykokoro_parity.py +232 -0
- utterplan-0.1.2/tests/schema_history/README.md +10 -0
- utterplan-0.1.2/tests/schema_history/v1/basic.json +128 -0
- utterplan-0.1.2/tests/schema_history/v1/directives.json +165 -0
- utterplan-0.1.2/tests/schema_history/v1/markers.json +201 -0
- utterplan-0.1.2/tests/schema_history/v1/multilingual.json +225 -0
- utterplan-0.1.2/tests/schema_history/v1/parenthetical.json +293 -0
- utterplan-0.1.2/tests/schema_history/v1/spokenform_offsets.json +218 -0
- utterplan-0.1.2/tests/schema_history/v1/ssmd_breaks.json +226 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_cli.py +88 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_consumer_contract.py +40 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_consumer_readiness.py +23 -0
- utterplan-0.1.2/tests/test_directives.py +97 -0
- utterplan-0.1.2/tests/test_explain.py +122 -0
- utterplan-0.1.2/tests/test_migration_framework.py +124 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_pauses.py +59 -0
- utterplan-0.1.2/tests/test_schema_history.py +39 -0
- utterplan-0.1.2/tests/test_schema_registry.py +38 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/__init__.py +19 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/_version.py +3 -3
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/cli.py +90 -11
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/directives.py +33 -20
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/exceptions.py +17 -1
- utterplan-0.1.2/utterplan/explain.py +366 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/format.py +5 -5
- utterplan-0.1.2/utterplan/migration.py +232 -0
- utterplan-0.1.2/utterplan/migrations/__init__.py +5 -0
- utterplan-0.1.2/utterplan/migrations/registry.py +16 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/model.py +17 -6
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/parsers.py +39 -2
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/planner.py +62 -2
- utterplan-0.1.2/utterplan/schema_registry.py +28 -0
- utterplan-0.1.2/utterplan/schemas/v1.schema.json +278 -0
- utterplan-0.1.2/utterplan/stages/preparation/__init__.py +0 -0
- utterplan-0.1.2/utterplan/stages/segmentation/__init__.py +0 -0
- {utterplan-0.1.1/spec → utterplan-0.1.2/utterplan}/utterplan.schema.json +20 -2
- utterplan-0.1.2/utterplan/versioning.py +9 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan.egg-info/PKG-INFO +5 -1
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan.egg-info/SOURCES.txt +45 -1
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan.egg-info/scm_file_list.json +46 -2
- utterplan-0.1.2/utterplan.egg-info/scm_version.json +8 -0
- utterplan-0.1.1/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +0 -8
- utterplan-0.1.1/docs/pykokoro-reference.md +0 -54
- utterplan-0.1.1/repairledger.toml +0 -9
- utterplan-0.1.1/tests/reference/dump_pykokoro_frontend.py +0 -127
- utterplan-0.1.1/tests/reference/test_pykokoro_parity.py +0 -73
- utterplan-0.1.1/tests/test_directives.py +0 -26
- utterplan-0.1.1/utterplan.egg-info/scm_version.json +0 -8
- {utterplan-0.1.1 → utterplan-0.1.2}/.codecrate.toml +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.github/workflows/codecov.yml +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.github/workflows/pre-commit.yml +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.github/workflows/python-publish.yml +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.gitignore +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.ledger/ledger.toml +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.ledger/releaseledger/.ledger-project.toml +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.ledger/releaseledger/config.toml +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.ledger/releaseledger/data/.ledger-project.toml +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0001.md +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0002.md +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0003.md +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0004.md +0 -0
- /utterplan-0.1.1/tests/__init__.py → /utterplan-0.1.2/.ledger/releaseledger/write.lock +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.ledger/taskledger/.ledger-project.toml +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.ledger/taskledger/config.toml +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/.pre-commit-config.yaml +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/LICENSE +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/NOTICE +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/Makefile +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/conf.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/coordinate-spaces.md +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/getting-started.md +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/index.md +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/make.bat +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/pykokoro-integration.md +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/docs/requirements.txt +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/examples/basic.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/examples/compile_file.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/examples/inspect_plan.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/examples/multilingual.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/examples/ssmd.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/setup.cfg +0 -0
- {utterplan-0.1.1/tests/reference → utterplan-0.1.2/tests}/__init__.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/golden/basic_en.utterplan.json +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/golden/directives.utterplan.json +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/golden/markers.utterplan.json +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/golden/multilingual.utterplan.json +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/golden/parenthetical.utterplan.json +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/golden/spokenform_offsets.utterplan.json +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/golden/ssmd_breaks.utterplan.json +0 -0
- {utterplan-0.1.1/utterplan/stages → utterplan-0.1.2/tests/migration}/__init__.py +0 -0
- {utterplan-0.1.1/utterplan/stages/document → utterplan-0.1.2/tests/reference}/__init__.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/reference/cases.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_boundaries.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_coordinates.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_fake_renderer.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_format.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_golden.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_identity_units.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_import_boundaries.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_language.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_linguistics.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_planner.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_preparation.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_public_identity.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_schema_strict.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/tests/test_version.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/__main__.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/config.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/diagnostics.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/hashing.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/language.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/linguistics.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/pauses.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/preparation.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/py.typed +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/serialization.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/spacy_models.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/spans.py +0 -0
- {utterplan-0.1.1/utterplan/stages/preparation → utterplan-0.1.2/utterplan/stages}/__init__.py +0 -0
- {utterplan-0.1.1/utterplan/stages/segmentation → utterplan-0.1.2/utterplan/stages/document}/__init__.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/stages/document/plain.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/stages/document/ssmd.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/stages/preparation/identity.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/stages/preparation/spokenform.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/stages/protocols.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/stages/segmentation/phrasplit.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan/units.py +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan.egg-info/dependency_links.txt +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan.egg-info/entry_points.txt +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan.egg-info/requires.txt +0 -0
- {utterplan-0.1.1 → utterplan-0.1.2}/utterplan.egg-info/top_level.txt +0 -0
|
@@ -76,6 +76,7 @@ jobs:
|
|
|
76
76
|
names = set(ZipFile(wheel).namelist())
|
|
77
77
|
assert "utterplan/py.typed" in names
|
|
78
78
|
assert "utterplan/utterplan.schema.json" in names
|
|
79
|
+
assert "utterplan/schemas/v1.schema.json" in names
|
|
79
80
|
PY
|
|
80
81
|
- name: Install wheel in clean environment
|
|
81
82
|
run: |
|
|
@@ -90,5 +91,7 @@ jobs:
|
|
|
90
91
|
"$RUNNER_TEMP/utterplan-wheel-venv/bin/utterplan" compile \
|
|
91
92
|
"Doctor Smith bought 5 kg." --lang en-us --json > "$RUNNER_TEMP/utterplan.json"
|
|
92
93
|
"$RUNNER_TEMP/utterplan-wheel-venv/bin/utterplan" validate "$RUNNER_TEMP/utterplan.json"
|
|
94
|
+
"$RUNNER_TEMP/utterplan-wheel-venv/bin/utterplan" migrate \
|
|
95
|
+
"$GITHUB_WORKSPACE/tests/schema_history/v1/basic.json" --check
|
|
93
96
|
"$RUNNER_TEMP/utterplan-wheel-venv/bin/utterplan" inspect \
|
|
94
97
|
"$RUNNER_TEMP/utterplan.json" --segment 0
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{"data":{"status":"planned"},"event":"release.created","event_id":"event-0001","record_revisions":{"release:0.1.0":1},"release_version":"0.1.0","schema_version":2}
|
|
2
|
+
{"data":{"kind":"added","status":"accepted"},"entry_id":"entry-0001","event":"entry.added","event_id":"event-0002","record_revisions":{"entry:0.1.0/entry-0001":1,"release:0.1.0":2},"release_version":"0.1.0","schema_version":2}
|
|
3
|
+
{"data":{"kind":"changed","status":"accepted"},"entry_id":"entry-0002","event":"entry.added","event_id":"event-0003","record_revisions":{"entry:0.1.0/entry-0002":1,"release:0.1.0":3},"release_version":"0.1.0","schema_version":2}
|
|
4
|
+
{"data":{"kind":"docs","status":"accepted"},"entry_id":"entry-0003","event":"entry.added","event_id":"event-0004","record_revisions":{"entry:0.1.0/entry-0003":1,"release:0.1.0":4},"release_version":"0.1.0","schema_version":2}
|
|
5
|
+
{"data":{"kind":"quality","status":"accepted"},"entry_id":"entry-0004","event":"entry.added","event_id":"event-0005","record_revisions":{"entry:0.1.0/entry-0004":1,"release:0.1.0":5},"release_version":"0.1.0","schema_version":2}
|
|
6
|
+
{"data":{"fields":["note","title"]},"event":"release.updated","event_id":"event-0006","record_revisions":{"release:0.1.0":6},"release_version":"0.1.0","schema_version":2}
|
|
7
|
+
{"data":{"added_source_refs":[],"fields":["paths"],"reason":"Update release paths after package rename.","removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0001","event":"entry.updated","event_id":"event-0007","record_revisions":{"entry:0.1.0/entry-0001":2},"release_version":"0.1.0","schema_version":2}
|
|
8
|
+
{"data":{"added_source_refs":[],"fields":["paths"],"reason":"Update release paths after package rename.","removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0002","event":"entry.updated","event_id":"event-0008","record_revisions":{"entry:0.1.0/entry-0002":2},"release_version":"0.1.0","schema_version":2}
|
|
9
|
+
{"data":{"status":"planned"},"event":"release.created","event_id":"event-0009","record_revisions":{"release:0.1.2":1},"release_version":"0.1.2","schema_version":2}
|
|
10
|
+
{"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-0010","record_revisions":{"release:0.1.2":2},"release_version":"0.1.2","schema_version":2}
|
|
11
|
+
{"data":{"row_count":3},"event":"audit.created","event_id":"event-0011","record_revisions":{"commit_audit_sheet":1},"release_version":"0.1.2","schema_version":2}
|
|
12
|
+
{"data":{"updated_rows":3},"event":"audit.updated","event_id":"event-0012","record_revisions":{"commit_audit_sheet":2},"release_version":"0.1.2","schema_version":2}
|
|
13
|
+
{"data":{"entry_ids":["entry-0001","entry-0002","entry-0003"],"synced_audit_rows":3},"event":"entry.batch_added","event_id":"event-0013","record_revisions":{"commit_audit_sheet":3,"entry:0.1.2/entry-0001":1,"entry:0.1.2/entry-0002":1,"entry:0.1.2/entry-0003":1,"release:0.1.2":3},"release_version":"0.1.2","schema_version":2}
|
|
14
|
+
{"data":{"status":"released"},"event":"release.created","event_id":"event-0014","record_revisions":{"release:0.1.1":1},"release_version":"0.1.1","schema_version":2}
|
|
15
|
+
{"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-0015","record_revisions":{"release:0.1.1":2},"release_version":"0.1.1","schema_version":2}
|
|
16
|
+
{"data":{"changed_releases":["0.1.1","0.1.0","0.1.2"]},"event":"release.chain_repaired","event_id":"event-0016","record_revisions":{"release:0.1.0":7,"release:0.1.1":3,"release:0.1.2":4},"schema_version":2}
|
|
17
|
+
{"data":{"released_at":"2026-09-16"},"event":"release.finalized","event_id":"event-0017","record_revisions":{"release:0.1.0":8},"release_version":"0.1.0","schema_version":2}
|
|
18
|
+
{"data":{"changed_releases":["0.1.0","0.1.1","0.1.2"]},"event":"release.chain_repaired","event_id":"event-0018","record_revisions":{"release:0.1.0":9,"release:0.1.1":4,"release:0.1.2":5},"schema_version":2}
|
|
19
|
+
{"data":{"kind":"changed","status":"accepted"},"entry_id":"entry-0001","event":"entry.added","event_id":"event-0019","record_revisions":{"entry:0.1.1/entry-0001":1,"release:0.1.1":5},"release_version":"0.1.1","schema_version":2}
|
|
20
|
+
{"data":{"fields":["git_base_ref","git_base_sha","git_commit_count","git_range"]},"event":"release.updated","event_id":"event-0020","record_revisions":{"release:0.1.1":6},"release_version":"0.1.1","schema_version":2}
|
|
@@ -3,12 +3,12 @@ schema_version: 2
|
|
|
3
3
|
object_type: release
|
|
4
4
|
versioning:
|
|
5
5
|
schema_version: 1
|
|
6
|
-
revision:
|
|
6
|
+
revision: 9
|
|
7
7
|
version: 0.1.0
|
|
8
|
-
status:
|
|
8
|
+
status: released
|
|
9
9
|
history_state: curated
|
|
10
10
|
title: UtterPlan v0.1.0
|
|
11
|
-
released_at:
|
|
11
|
+
released_at: "2026-09-16"
|
|
12
12
|
previous_version: null
|
|
13
13
|
cancel_reason: null
|
|
14
14
|
superseded_by: null
|
|
@@ -0,0 +1,24 @@
|
|
|
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.1.1
|
|
9
|
+
kind: changed
|
|
10
|
+
summary: Renamed package from wandler to utterplan
|
|
11
|
+
status: accepted
|
|
12
|
+
audience: null
|
|
13
|
+
scopes: []
|
|
14
|
+
source_refs:
|
|
15
|
+
- git:a56a3513d403d3d3e0eddccc10990f32d1a1b367
|
|
16
|
+
paths: []
|
|
17
|
+
issues: []
|
|
18
|
+
prs: []
|
|
19
|
+
sources: []
|
|
20
|
+
contributors: []
|
|
21
|
+
breaking: false
|
|
22
|
+
internal: false
|
|
23
|
+
order: 1
|
|
24
|
+
---
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 6
|
|
7
|
+
version: 0.1.1
|
|
8
|
+
status: released
|
|
9
|
+
history_state: discovered
|
|
10
|
+
title: null
|
|
11
|
+
released_at: "2026-09-16"
|
|
12
|
+
previous_version: 0.1.0
|
|
13
|
+
cancel_reason: null
|
|
14
|
+
superseded_by: null
|
|
15
|
+
changelog_file: null
|
|
16
|
+
boundary_ref: null
|
|
17
|
+
source_refs: []
|
|
18
|
+
source_count: null
|
|
19
|
+
entry_count: 1
|
|
20
|
+
artifact_count: 0
|
|
21
|
+
git_base_ref: v0.1.0
|
|
22
|
+
git_base_sha: cb464479461d1b8206b14fd1abf2ca3606706d45
|
|
23
|
+
git_head_ref: v0.1.1
|
|
24
|
+
git_head_sha: a56a3513d403d3d3e0eddccc10990f32d1a1b367
|
|
25
|
+
git_range: cb464479461d1b8206b14fd1abf2ca3606706d45..a56a3513d403d3d3e0eddccc10990f32d1a1b367
|
|
26
|
+
git_commit_count: 1
|
|
27
|
+
---
|
utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.2/audit/commit-audit.yaml
ADDED
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
object_type: commit_audit_sheet
|
|
3
|
+
versioning:
|
|
4
|
+
schema_version: 1
|
|
5
|
+
revision: 3
|
|
6
|
+
release_version: 0.1.2
|
|
7
|
+
git_base_ref: v0.1.1
|
|
8
|
+
git_base_sha: a56a3513d403d3d3e0eddccc10990f32d1a1b367
|
|
9
|
+
git_head_ref: HEAD
|
|
10
|
+
git_head_sha: 66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
11
|
+
git_range: a56a3513d403d3d3e0eddccc10990f32d1a1b367..66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
12
|
+
commit_count: 3
|
|
13
|
+
rows:
|
|
14
|
+
- sha: 402275374979b9372c1491072c4e29b642da523f
|
|
15
|
+
source_ref: git:402275374979b9372c1491072c4e29b642da523f
|
|
16
|
+
short_sha: "4022753"
|
|
17
|
+
changed_paths:
|
|
18
|
+
- README.md
|
|
19
|
+
- docs/cli.md
|
|
20
|
+
- docs/debugging.md
|
|
21
|
+
- repairledger.toml
|
|
22
|
+
- tests/test_cli.py
|
|
23
|
+
- tests/test_explain.py
|
|
24
|
+
- utterplan/cli.py
|
|
25
|
+
- utterplan/explain.py
|
|
26
|
+
stats:
|
|
27
|
+
files_changed: 8
|
|
28
|
+
insertions: 560
|
|
29
|
+
deletions: 10
|
|
30
|
+
inspected: true
|
|
31
|
+
inspected_paths:
|
|
32
|
+
- README.md
|
|
33
|
+
- docs/cli.md
|
|
34
|
+
- docs/debugging.md
|
|
35
|
+
- tests/test_cli.py
|
|
36
|
+
- tests/test_explain.py
|
|
37
|
+
- utterplan/cli.py
|
|
38
|
+
- utterplan/explain.py
|
|
39
|
+
observed_behavior:
|
|
40
|
+
Added explain CLI command that renders compiled plans as human-readable
|
|
41
|
+
speech narratives with optional detail mode
|
|
42
|
+
public_impact: public
|
|
43
|
+
decision: accepted
|
|
44
|
+
stale: false
|
|
45
|
+
evidence_subject: "feat: explain command added"
|
|
46
|
+
target_entry_key: entry-0001
|
|
47
|
+
target_entry_id: entry-0001
|
|
48
|
+
notes: ""
|
|
49
|
+
- sha: 2c64e291f0e568310afb7ca5e770ef2b691d9452
|
|
50
|
+
source_ref: git:2c64e291f0e568310afb7ca5e770ef2b691d9452
|
|
51
|
+
short_sha: 2c64e29
|
|
52
|
+
changed_paths:
|
|
53
|
+
- docs/cli.md
|
|
54
|
+
- docs/consumer-guide.md
|
|
55
|
+
- docs/phase-a-completion.md
|
|
56
|
+
- docs/pykokoro-reference.md
|
|
57
|
+
- spec/utterplan.schema.json
|
|
58
|
+
- tests/migration/__init__.py
|
|
59
|
+
- tests/migration/cases.py
|
|
60
|
+
- tests/migration/goldens/multilingual_preparation.json
|
|
61
|
+
- tests/migration/goldens/spokenform_numbers.json
|
|
62
|
+
- tests/migration/goldens/ssmd_break.json
|
|
63
|
+
- tests/migration/goldens/ssmd_language_detection.json
|
|
64
|
+
- tests/migration/goldens/ssmd_marker.json
|
|
65
|
+
- tests/migration/goldens/ssmd_pronunciation.json
|
|
66
|
+
- tests/migration/test_pykokoro_frontend_parity.py
|
|
67
|
+
- tests/reference/dump_pykokoro_frontend.py
|
|
68
|
+
- tests/reference/test_pykokoro_parity.py
|
|
69
|
+
- tests/test_consumer_contract.py
|
|
70
|
+
- tests/test_consumer_readiness.py
|
|
71
|
+
- tests/test_directives.py
|
|
72
|
+
- tests/test_explain.py
|
|
73
|
+
- tests/test_pauses.py
|
|
74
|
+
- utterplan/cli.py
|
|
75
|
+
- utterplan/directives.py
|
|
76
|
+
- utterplan/explain.py
|
|
77
|
+
- utterplan/model.py
|
|
78
|
+
- utterplan/parsers.py
|
|
79
|
+
- utterplan/planner.py
|
|
80
|
+
- utterplan/utterplan.schema.json
|
|
81
|
+
stats:
|
|
82
|
+
files_changed: 28
|
|
83
|
+
insertions: 1119
|
|
84
|
+
deletions: 153
|
|
85
|
+
inspected: true
|
|
86
|
+
inspected_paths:
|
|
87
|
+
- docs/consumer-guide.md
|
|
88
|
+
- docs/phase-a-completion.md
|
|
89
|
+
- docs/pykokoro-reference.md
|
|
90
|
+
- utterplan/directives.py
|
|
91
|
+
- utterplan/model.py
|
|
92
|
+
- utterplan/parsers.py
|
|
93
|
+
- utterplan/planner.py
|
|
94
|
+
observed_behavior:
|
|
95
|
+
Expanded consumer contract with stable renderer input view, improved
|
|
96
|
+
directive handling, pause policy, and PyKokoro migration parity
|
|
97
|
+
public_impact: public
|
|
98
|
+
decision: accepted
|
|
99
|
+
stale: false
|
|
100
|
+
evidence_subject: "feat: prepare for use in pykokoro"
|
|
101
|
+
target_entry_key: entry-0002
|
|
102
|
+
target_entry_id: entry-0002
|
|
103
|
+
notes: ""
|
|
104
|
+
- sha: 66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
105
|
+
source_ref: git:66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
106
|
+
short_sha: 66a88b6
|
|
107
|
+
changed_paths:
|
|
108
|
+
- .github/workflows/tests.yml
|
|
109
|
+
- AGENTS.md
|
|
110
|
+
- README.md
|
|
111
|
+
- docs/architecture.md
|
|
112
|
+
- docs/cli.md
|
|
113
|
+
- docs/format.md
|
|
114
|
+
- docs/python-api.md
|
|
115
|
+
- pyproject.toml
|
|
116
|
+
- spec/schemas/v1.schema.json
|
|
117
|
+
- spec/utterplan.schema.json
|
|
118
|
+
- tests/schema_history/README.md
|
|
119
|
+
- tests/schema_history/v1/basic.json
|
|
120
|
+
- tests/schema_history/v1/directives.json
|
|
121
|
+
- tests/schema_history/v1/markers.json
|
|
122
|
+
- tests/schema_history/v1/multilingual.json
|
|
123
|
+
- tests/schema_history/v1/parenthetical.json
|
|
124
|
+
- tests/schema_history/v1/spokenform_offsets.json
|
|
125
|
+
- tests/schema_history/v1/ssmd_breaks.json
|
|
126
|
+
- tests/test_cli.py
|
|
127
|
+
- tests/test_migration_framework.py
|
|
128
|
+
- tests/test_schema_history.py
|
|
129
|
+
- tests/test_schema_registry.py
|
|
130
|
+
- utterplan/__init__.py
|
|
131
|
+
- utterplan/cli.py
|
|
132
|
+
- utterplan/exceptions.py
|
|
133
|
+
- utterplan/format.py
|
|
134
|
+
- utterplan/migration.py
|
|
135
|
+
- utterplan/migrations/__init__.py
|
|
136
|
+
- utterplan/migrations/registry.py
|
|
137
|
+
- utterplan/model.py
|
|
138
|
+
- utterplan/schema_registry.py
|
|
139
|
+
- utterplan/schemas/v1.schema.json
|
|
140
|
+
- utterplan/utterplan.schema.json
|
|
141
|
+
- utterplan/versioning.py
|
|
142
|
+
stats:
|
|
143
|
+
files_changed: 34
|
|
144
|
+
insertions: 2755
|
|
145
|
+
deletions: 28
|
|
146
|
+
inspected: true
|
|
147
|
+
inspected_paths:
|
|
148
|
+
- utterplan/migration.py
|
|
149
|
+
- utterplan/schema_registry.py
|
|
150
|
+
- utterplan/schemas/v1.schema.json
|
|
151
|
+
- tests/schema_history/
|
|
152
|
+
- tests/test_migration_framework.py
|
|
153
|
+
- tests/test_schema_history.py
|
|
154
|
+
- tests/test_schema_registry.py
|
|
155
|
+
observed_behavior:
|
|
156
|
+
Added schema versioning with frozen v1 schema, migration framework,
|
|
157
|
+
registry, and historical fixture coverage
|
|
158
|
+
public_impact: public
|
|
159
|
+
decision: accepted
|
|
160
|
+
stale: false
|
|
161
|
+
evidence_subject: "feat: versioning schema"
|
|
162
|
+
target_entry_key: entry-0003
|
|
163
|
+
target_entry_id: entry-0003
|
|
164
|
+
notes: ""
|
|
@@ -0,0 +1,32 @@
|
|
|
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.1.2
|
|
9
|
+
kind: added
|
|
10
|
+
summary:
|
|
11
|
+
Added explain CLI command that renders compiled plans as human-readable speech
|
|
12
|
+
narratives
|
|
13
|
+
status: accepted
|
|
14
|
+
audience: null
|
|
15
|
+
scopes: []
|
|
16
|
+
source_refs:
|
|
17
|
+
- git:402275374979b9372c1491072c4e29b642da523f
|
|
18
|
+
paths:
|
|
19
|
+
- utterplan/explain.py
|
|
20
|
+
- utterplan/cli.py
|
|
21
|
+
- docs/cli.md
|
|
22
|
+
- docs/debugging.md
|
|
23
|
+
issues: []
|
|
24
|
+
prs: []
|
|
25
|
+
sources: []
|
|
26
|
+
contributors: []
|
|
27
|
+
breaking: false
|
|
28
|
+
internal: false
|
|
29
|
+
order: 1
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
The explain command presents prepared wording, render units, languages, resolved pauses, directives, markers, and warnings. The --details flag adds IDs, offsets, provenance, hashes, and plan identity information.
|
|
@@ -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-0002
|
|
8
|
+
release_version: 0.1.2
|
|
9
|
+
kind: changed
|
|
10
|
+
summary:
|
|
11
|
+
Improved consumer contract with stable renderer input view and directive
|
|
12
|
+
handling
|
|
13
|
+
status: accepted
|
|
14
|
+
audience: null
|
|
15
|
+
scopes: []
|
|
16
|
+
source_refs:
|
|
17
|
+
- git:2c64e291f0e568310afb7ca5e770ef2b691d9452
|
|
18
|
+
paths:
|
|
19
|
+
- utterplan/directives.py
|
|
20
|
+
- utterplan/model.py
|
|
21
|
+
- utterplan/parsers.py
|
|
22
|
+
- utterplan/planner.py
|
|
23
|
+
- docs/consumer-guide.md
|
|
24
|
+
issues: []
|
|
25
|
+
prs: []
|
|
26
|
+
sources: []
|
|
27
|
+
contributors: []
|
|
28
|
+
breaking: false
|
|
29
|
+
internal: false
|
|
30
|
+
order: 2
|
|
31
|
+
---
|
|
32
|
+
|
|
33
|
+
Consumers may now rely on documented plan-level fields for renderer input. Directive handling was improved with better pause policy and PyKokoro migration parity. The consumer guide documents the immutability contract for completed plans.
|
|
@@ -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-0003
|
|
8
|
+
release_version: 0.1.2
|
|
9
|
+
kind: added
|
|
10
|
+
summary: Added schema versioning with frozen v1 schema and migration framework
|
|
11
|
+
status: accepted
|
|
12
|
+
audience: null
|
|
13
|
+
scopes: []
|
|
14
|
+
source_refs:
|
|
15
|
+
- git:66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
16
|
+
paths:
|
|
17
|
+
- utterplan/migration.py
|
|
18
|
+
- utterplan/schema_registry.py
|
|
19
|
+
- utterplan/schemas/v1.schema.json
|
|
20
|
+
- tests/schema_history/v1/basic.json
|
|
21
|
+
- tests/schema_history/v1/directives.json
|
|
22
|
+
- tests/schema_history/v1/markers.json
|
|
23
|
+
- tests/schema_history/v1/multilingual.json
|
|
24
|
+
- tests/schema_history/v1/parenthetical.json
|
|
25
|
+
- tests/schema_history/v1/spokenform_offsets.json
|
|
26
|
+
- tests/schema_history/v1/ssmd_breaks.json
|
|
27
|
+
- tests/test_migration_framework.py
|
|
28
|
+
issues: []
|
|
29
|
+
prs: []
|
|
30
|
+
sources: []
|
|
31
|
+
contributors: []
|
|
32
|
+
breaking: false
|
|
33
|
+
internal: false
|
|
34
|
+
order: 3
|
|
35
|
+
---
|
|
36
|
+
|
|
37
|
+
Schema v1 is frozen and packaged under a versioned schema-history path. UtterPlan can inspect and migrate supported historical plan JSON before constructing the current UtterancePlan. Migration is representation conversion, not replanning. The migrate command supports --check and refuses output overwrite unless --force is supplied.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 5
|
|
7
|
+
version: 0.1.2
|
|
8
|
+
status: planned
|
|
9
|
+
history_state: curated
|
|
10
|
+
title: null
|
|
11
|
+
released_at: null
|
|
12
|
+
previous_version: 0.1.1
|
|
13
|
+
cancel_reason: null
|
|
14
|
+
superseded_by: null
|
|
15
|
+
changelog_file: null
|
|
16
|
+
boundary_ref: null
|
|
17
|
+
source_refs: []
|
|
18
|
+
source_count: null
|
|
19
|
+
entry_count: 3
|
|
20
|
+
artifact_count: 0
|
|
21
|
+
git_base_ref: v0.1.1
|
|
22
|
+
git_base_sha: a56a3513d403d3d3e0eddccc10990f32d1a1b367
|
|
23
|
+
git_head_ref: HEAD
|
|
24
|
+
git_head_sha: 66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
25
|
+
git_range: a56a3513d403d3d3e0eddccc10990f32d1a1b367..66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
26
|
+
git_commit_count: 3
|
|
27
|
+
---
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
rows:
|
|
2
|
+
- sha: 402275374979b9372c1491072c4e29b642da523f
|
|
3
|
+
inspected: true
|
|
4
|
+
inspected_paths:
|
|
5
|
+
- README.md
|
|
6
|
+
- docs/cli.md
|
|
7
|
+
- docs/debugging.md
|
|
8
|
+
- tests/test_cli.py
|
|
9
|
+
- tests/test_explain.py
|
|
10
|
+
- utterplan/cli.py
|
|
11
|
+
- utterplan/explain.py
|
|
12
|
+
observed_behavior: Added explain CLI command that renders compiled plans as human-readable speech narratives with optional detail mode
|
|
13
|
+
public_impact: public
|
|
14
|
+
decision: accepted
|
|
15
|
+
target_entry_key: entry-0001
|
|
16
|
+
target_entry_id: null
|
|
17
|
+
notes: ""
|
|
18
|
+
stale: false
|
|
19
|
+
- sha: 2c64e291f0e568310afb7ca5e770ef2b691d9452
|
|
20
|
+
inspected: true
|
|
21
|
+
inspected_paths:
|
|
22
|
+
- docs/consumer-guide.md
|
|
23
|
+
- docs/phase-a-completion.md
|
|
24
|
+
- docs/pykokoro-reference.md
|
|
25
|
+
- utterplan/directives.py
|
|
26
|
+
- utterplan/model.py
|
|
27
|
+
- utterplan/parsers.py
|
|
28
|
+
- utterplan/planner.py
|
|
29
|
+
observed_behavior: Expanded consumer contract with stable renderer input view, improved directive handling, pause policy, and PyKokoro migration parity
|
|
30
|
+
public_impact: public
|
|
31
|
+
decision: accepted
|
|
32
|
+
target_entry_key: entry-0002
|
|
33
|
+
target_entry_id: null
|
|
34
|
+
notes: ""
|
|
35
|
+
stale: false
|
|
36
|
+
- sha: 66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
37
|
+
inspected: true
|
|
38
|
+
inspected_paths:
|
|
39
|
+
- utterplan/migration.py
|
|
40
|
+
- utterplan/schema_registry.py
|
|
41
|
+
- utterplan/schemas/v1.schema.json
|
|
42
|
+
- tests/schema_history/
|
|
43
|
+
- tests/test_migration_framework.py
|
|
44
|
+
- tests/test_schema_history.py
|
|
45
|
+
- tests/test_schema_registry.py
|
|
46
|
+
observed_behavior: Added schema versioning with frozen v1 schema, migration framework, registry, and historical fixture coverage
|
|
47
|
+
public_impact: public
|
|
48
|
+
decision: accepted
|
|
49
|
+
target_entry_key: entry-0003
|
|
50
|
+
target_entry_id: null
|
|
51
|
+
notes: ""
|
|
52
|
+
stale: false
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
object_type: commit_audit_sheet
|
|
3
|
+
versioning:
|
|
4
|
+
schema_version: 1
|
|
5
|
+
revision: 1
|
|
6
|
+
release_version: 0.1.2
|
|
7
|
+
git_base_ref: v0.1.1
|
|
8
|
+
git_base_sha: a56a3513d403d3d3e0eddccc10990f32d1a1b367
|
|
9
|
+
git_head_ref: HEAD
|
|
10
|
+
git_head_sha: 66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
11
|
+
git_range: a56a3513d403d3d3e0eddccc10990f32d1a1b367..66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
12
|
+
commit_count: 3
|
|
13
|
+
rows:
|
|
14
|
+
- sha: 402275374979b9372c1491072c4e29b642da523f
|
|
15
|
+
source_ref: git:402275374979b9372c1491072c4e29b642da523f
|
|
16
|
+
short_sha: "4022753"
|
|
17
|
+
changed_paths:
|
|
18
|
+
- README.md
|
|
19
|
+
- docs/cli.md
|
|
20
|
+
- docs/debugging.md
|
|
21
|
+
- repairledger.toml
|
|
22
|
+
- tests/test_cli.py
|
|
23
|
+
- tests/test_explain.py
|
|
24
|
+
- utterplan/cli.py
|
|
25
|
+
- utterplan/explain.py
|
|
26
|
+
stats:
|
|
27
|
+
files_changed: 8
|
|
28
|
+
insertions: 560
|
|
29
|
+
deletions: 10
|
|
30
|
+
inspected: false
|
|
31
|
+
inspected_paths: []
|
|
32
|
+
observed_behavior: ""
|
|
33
|
+
public_impact: unknown
|
|
34
|
+
decision: needs_review
|
|
35
|
+
stale: false
|
|
36
|
+
evidence_subject: "feat: explain command added"
|
|
37
|
+
- sha: 2c64e291f0e568310afb7ca5e770ef2b691d9452
|
|
38
|
+
source_ref: git:2c64e291f0e568310afb7ca5e770ef2b691d9452
|
|
39
|
+
short_sha: 2c64e29
|
|
40
|
+
changed_paths:
|
|
41
|
+
- docs/cli.md
|
|
42
|
+
- docs/consumer-guide.md
|
|
43
|
+
- docs/phase-a-completion.md
|
|
44
|
+
- docs/pykokoro-reference.md
|
|
45
|
+
- spec/utterplan.schema.json
|
|
46
|
+
- tests/migration/__init__.py
|
|
47
|
+
- tests/migration/cases.py
|
|
48
|
+
- tests/migration/goldens/multilingual_preparation.json
|
|
49
|
+
- tests/migration/goldens/spokenform_numbers.json
|
|
50
|
+
- tests/migration/goldens/ssmd_break.json
|
|
51
|
+
- tests/migration/goldens/ssmd_language_detection.json
|
|
52
|
+
- tests/migration/goldens/ssmd_marker.json
|
|
53
|
+
- tests/migration/goldens/ssmd_pronunciation.json
|
|
54
|
+
- tests/migration/test_pykokoro_frontend_parity.py
|
|
55
|
+
- tests/reference/dump_pykokoro_frontend.py
|
|
56
|
+
- tests/reference/test_pykokoro_parity.py
|
|
57
|
+
- tests/test_consumer_contract.py
|
|
58
|
+
- tests/test_consumer_readiness.py
|
|
59
|
+
- tests/test_directives.py
|
|
60
|
+
- tests/test_explain.py
|
|
61
|
+
- tests/test_pauses.py
|
|
62
|
+
- utterplan/cli.py
|
|
63
|
+
- utterplan/directives.py
|
|
64
|
+
- utterplan/explain.py
|
|
65
|
+
- utterplan/model.py
|
|
66
|
+
- utterplan/parsers.py
|
|
67
|
+
- utterplan/planner.py
|
|
68
|
+
- utterplan/utterplan.schema.json
|
|
69
|
+
stats:
|
|
70
|
+
files_changed: 28
|
|
71
|
+
insertions: 1119
|
|
72
|
+
deletions: 153
|
|
73
|
+
inspected: false
|
|
74
|
+
inspected_paths: []
|
|
75
|
+
observed_behavior: ""
|
|
76
|
+
public_impact: unknown
|
|
77
|
+
decision: needs_review
|
|
78
|
+
stale: false
|
|
79
|
+
evidence_subject: "feat: prepare for use in pykokoro"
|
|
80
|
+
- sha: 66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
81
|
+
source_ref: git:66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
82
|
+
short_sha: 66a88b6
|
|
83
|
+
changed_paths:
|
|
84
|
+
- .github/workflows/tests.yml
|
|
85
|
+
- AGENTS.md
|
|
86
|
+
- README.md
|
|
87
|
+
- docs/architecture.md
|
|
88
|
+
- docs/cli.md
|
|
89
|
+
- docs/format.md
|
|
90
|
+
- docs/python-api.md
|
|
91
|
+
- pyproject.toml
|
|
92
|
+
- spec/schemas/v1.schema.json
|
|
93
|
+
- spec/utterplan.schema.json
|
|
94
|
+
- tests/schema_history/README.md
|
|
95
|
+
- tests/schema_history/v1/basic.json
|
|
96
|
+
- tests/schema_history/v1/directives.json
|
|
97
|
+
- tests/schema_history/v1/markers.json
|
|
98
|
+
- tests/schema_history/v1/multilingual.json
|
|
99
|
+
- tests/schema_history/v1/parenthetical.json
|
|
100
|
+
- tests/schema_history/v1/spokenform_offsets.json
|
|
101
|
+
- tests/schema_history/v1/ssmd_breaks.json
|
|
102
|
+
- tests/test_cli.py
|
|
103
|
+
- tests/test_migration_framework.py
|
|
104
|
+
- tests/test_schema_history.py
|
|
105
|
+
- tests/test_schema_registry.py
|
|
106
|
+
- utterplan/__init__.py
|
|
107
|
+
- utterplan/cli.py
|
|
108
|
+
- utterplan/exceptions.py
|
|
109
|
+
- utterplan/format.py
|
|
110
|
+
- utterplan/migration.py
|
|
111
|
+
- utterplan/migrations/__init__.py
|
|
112
|
+
- utterplan/migrations/registry.py
|
|
113
|
+
- utterplan/model.py
|
|
114
|
+
- utterplan/schema_registry.py
|
|
115
|
+
- utterplan/schemas/v1.schema.json
|
|
116
|
+
- utterplan/utterplan.schema.json
|
|
117
|
+
- utterplan/versioning.py
|
|
118
|
+
stats:
|
|
119
|
+
files_changed: 34
|
|
120
|
+
insertions: 2755
|
|
121
|
+
deletions: 28
|
|
122
|
+
inspected: false
|
|
123
|
+
inspected_paths: []
|
|
124
|
+
observed_behavior: ""
|
|
125
|
+
public_impact: unknown
|
|
126
|
+
decision: needs_review
|
|
127
|
+
stale: false
|
|
128
|
+
evidence_subject: "feat: versioning schema"
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
entries:
|
|
2
|
+
- kind: added
|
|
3
|
+
summary: Added explain CLI command that renders compiled plans as human-readable speech narratives
|
|
4
|
+
body: >
|
|
5
|
+
The explain command presents prepared wording, render units, languages,
|
|
6
|
+
resolved pauses, directives, markers, and warnings. The --details flag
|
|
7
|
+
adds IDs, offsets, provenance, hashes, and plan identity information.
|
|
8
|
+
status: accepted
|
|
9
|
+
source_refs:
|
|
10
|
+
- git:402275374979b9372c1491072c4e29b642da523f
|
|
11
|
+
paths:
|
|
12
|
+
- utterplan/explain.py
|
|
13
|
+
- utterplan/cli.py
|
|
14
|
+
- docs/cli.md
|
|
15
|
+
- docs/debugging.md
|
|
16
|
+
|
|
17
|
+
- kind: changed
|
|
18
|
+
summary: Improved consumer contract with stable renderer input view and directive handling
|
|
19
|
+
body: >
|
|
20
|
+
Consumers may now rely on documented plan-level fields for renderer input.
|
|
21
|
+
Directive handling was improved with better pause policy and PyKokoro
|
|
22
|
+
migration parity. The consumer guide documents the immutability contract
|
|
23
|
+
for completed plans.
|
|
24
|
+
status: accepted
|
|
25
|
+
source_refs:
|
|
26
|
+
- git:2c64e291f0e568310afb7ca5e770ef2b691d9452
|
|
27
|
+
paths:
|
|
28
|
+
- utterplan/directives.py
|
|
29
|
+
- utterplan/model.py
|
|
30
|
+
- utterplan/parsers.py
|
|
31
|
+
- utterplan/planner.py
|
|
32
|
+
- docs/consumer-guide.md
|
|
33
|
+
|
|
34
|
+
- kind: added
|
|
35
|
+
summary: Added schema versioning with frozen v1 schema and migration framework
|
|
36
|
+
body: >
|
|
37
|
+
Schema v1 is frozen and packaged under a versioned schema-history path.
|
|
38
|
+
UtterPlan can inspect and migrate supported historical plan JSON before
|
|
39
|
+
constructing the current UtterancePlan. Migration is representation
|
|
40
|
+
conversion, not replanning. The migrate command supports --check and
|
|
41
|
+
refuses output overwrite unless --force is supplied.
|
|
42
|
+
status: accepted
|
|
43
|
+
source_refs:
|
|
44
|
+
- git:66a88b6a7fbe4cf9e0247cfd81675050f5934fea
|
|
45
|
+
paths:
|
|
46
|
+
- utterplan/migration.py
|
|
47
|
+
- utterplan/schema_registry.py
|
|
48
|
+
- utterplan/schemas/v1.schema.json
|
|
49
|
+
- tests/schema_history/v1/basic.json
|
|
50
|
+
- tests/schema_history/v1/directives.json
|
|
51
|
+
- tests/schema_history/v1/markers.json
|
|
52
|
+
- tests/schema_history/v1/multilingual.json
|
|
53
|
+
- tests/schema_history/v1/parenthetical.json
|
|
54
|
+
- tests/schema_history/v1/spokenform_offsets.json
|
|
55
|
+
- tests/schema_history/v1/ssmd_breaks.json
|
|
56
|
+
- tests/test_migration_framework.py
|