utterplan 0.1.2__tar.gz → 0.2.0__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.2 → utterplan-0.2.0}/.github/workflows/codecov.yml +1 -1
- {utterplan-0.1.2 → utterplan-0.2.0}/.github/workflows/tests.yml +2 -2
- {utterplan-0.1.2 → utterplan-0.2.0}/.gitignore +3 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +18 -0
- {utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.2 → utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.1.3}/audit/commit-audit.yaml +98 -5
- {utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.2 → utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.1.3}/entries/entry-0001.md +2 -2
- {utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.2 → utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.1.3}/entries/entry-0002.md +2 -2
- {utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.2 → utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.1.3}/entries/entry-0003.md +2 -2
- utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.1.3/entries/entry-0004.md +25 -0
- utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.1.3/entries/entry-0005.md +25 -0
- utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.1.3/entries/entry-0006.md +27 -0
- {utterplan-0.1.2/.ledger/releaseledger/data/ledgers/main/releases/0.1.2 → utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.1.3}/release.md +8 -8
- utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/audit/commit-audit.yaml +241 -0
- utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0001.md +74 -0
- utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0002.md +31 -0
- utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0003.md +38 -0
- utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/entries/entry-0004.md +53 -0
- utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/release.md +27 -0
- utterplan-0.2.0/.ledger/releaseledger/work/0.2.0/audit-decisions.yaml +131 -0
- utterplan-0.2.0/.ledger/releaseledger/work/0.2.0/audit.yaml +135 -0
- utterplan-0.2.0/.ledger/releaseledger/work/0.2.0/entries.yaml +165 -0
- utterplan-0.2.0/.ledger/releaseledger/work/0.2.0/evidence/9637182.patch +991 -0
- utterplan-0.2.0/.ledger/releaseledger/work/0.2.0/evidence/c52aa68.patch +3109 -0
- utterplan-0.2.0/.ledger/releaseledger/work/0.2.0/evidence/e49a6dd.patch +178 -0
- utterplan-0.2.0/.ledger/releaseledger/work/0.2.0/evidence/manifest.json +123 -0
- utterplan-0.2.0/.ledger/releaseledger/work/0.2.0/range.json +13 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/AGENTS.md +2 -2
- {utterplan-0.1.2 → utterplan-0.2.0}/PKG-INFO +8 -6
- {utterplan-0.1.2 → utterplan-0.2.0}/README.md +5 -5
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/architecture.md +3 -1
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/changelog.md +31 -1
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/cli.md +2 -3
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/conf.py +0 -1
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/consumer-guide.md +6 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/coordinate-spaces.md +1 -1
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/debugging.md +2 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/format.md +10 -10
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/getting-started.md +3 -2
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/index.md +1 -1
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/phase-a-completion.md +8 -13
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/pykokoro-integration.md +18 -9
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/python-api.md +3 -0
- utterplan-0.2.0/examples/basic.py +17 -0
- utterplan-0.2.0/examples/chapter.ssmd +1 -0
- utterplan-0.2.0/examples/compile_file.py +29 -0
- utterplan-0.2.0/examples/inspect_plan.py +29 -0
- utterplan-0.2.0/examples/multilingual.py +12 -0
- utterplan-0.2.0/examples/ssmd_example.py +12 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/pyproject.toml +1 -0
- utterplan-0.2.0/spec/schemas/v2.schema.json +311 -0
- {utterplan-0.1.2/utterplan → utterplan-0.2.0/spec}/utterplan.schema.json +38 -5
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/golden/basic_en.utterplan.json +18 -5
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/golden/directives.utterplan.json +18 -5
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/golden/markers.utterplan.json +21 -6
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/golden/multilingual.utterplan.json +38 -5
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/golden/parenthetical.utterplan.json +32 -7
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/golden/spokenform_offsets.utterplan.json +25 -5
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/golden/ssmd_breaks.utterplan.json +22 -7
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_cli.py +20 -5
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_explain.py +6 -1
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_format.py +10 -1
- utterplan-0.2.0/tests/test_linguistics.py +225 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_migration_framework.py +6 -5
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_public_identity.py +1 -1
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_schema_history.py +15 -5
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_schema_registry.py +13 -7
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/__init__.py +2 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/_version.py +3 -3
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/cli.py +11 -2
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/explain.py +31 -7
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/hashing.py +17 -1
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/linguistics.py +72 -37
- utterplan-0.2.0/utterplan/migrations/__init__.py +6 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/migrations/registry.py +5 -1
- utterplan-0.2.0/utterplan/migrations/v1_to_v2.py +213 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/model.py +170 -16
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/planner.py +34 -6
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/schema_registry.py +4 -1
- utterplan-0.2.0/utterplan/schemas/v2.schema.json +311 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/units.py +9 -3
- {utterplan-0.1.2/spec → utterplan-0.2.0/utterplan}/utterplan.schema.json +38 -5
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/versioning.py +2 -3
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan.egg-info/PKG-INFO +8 -6
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan.egg-info/SOURCES.txt +28 -12
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan.egg-info/requires.txt +3 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan.egg-info/scm_file_list.json +28 -12
- utterplan-0.2.0/utterplan.egg-info/scm_version.json +8 -0
- utterplan-0.1.2/docs/pykokoro-reference.md +0 -57
- utterplan-0.1.2/examples/basic.py +0 -7
- utterplan-0.1.2/examples/compile_file.py +0 -7
- utterplan-0.1.2/examples/inspect_plan.py +0 -5
- utterplan-0.1.2/examples/multilingual.py +0 -4
- utterplan-0.1.2/examples/ssmd.py +0 -6
- utterplan-0.1.2/tests/reference/cases.py +0 -15
- utterplan-0.1.2/tests/reference/dump_pykokoro_frontend.py +0 -266
- utterplan-0.1.2/tests/reference/test_pykokoro_parity.py +0 -232
- utterplan-0.1.2/tests/test_linguistics.py +0 -77
- utterplan-0.1.2/utterplan/migrations/__init__.py +0 -5
- utterplan-0.1.2/utterplan/stages/segmentation/__init__.py +0 -0
- utterplan-0.1.2/utterplan.egg-info/scm_version.json +0 -8
- {utterplan-0.1.2 → utterplan-0.2.0}/.codecrate.toml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.github/workflows/pre-commit.yml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.github/workflows/python-publish.yml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/ledger.toml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/.ledger-project.toml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/config.toml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/data/.ledger-project.toml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0001.md +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0002.md +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0003.md +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/entries/entry-0004.md +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/data/ledgers/main/releases/0.1.0/release.md +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/entries/entry-0001.md +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/data/ledgers/main/releases/0.1.1/release.md +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/work/0.1.2/audit-decisions.yaml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/work/0.1.2/audit.yaml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/work/0.1.2/entries.yaml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/work/0.1.2/evidence/2c64e29.patch +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/work/0.1.2/evidence/4022753.patch +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/work/0.1.2/evidence/66a88b6.patch +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/work/0.1.2/evidence/manifest.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/work/0.1.2/range.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/write.lock +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/taskledger/.ledger-project.toml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.ledger/taskledger/config.toml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/.pre-commit-config.yaml +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/LICENSE +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/NOTICE +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/Makefile +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/make.bat +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/docs/requirements.txt +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/setup.cfg +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/spec/schemas/v1.schema.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/__init__.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/migration/__init__.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/migration/cases.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/migration/goldens/multilingual_preparation.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/migration/goldens/spokenform_numbers.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/migration/goldens/ssmd_break.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/migration/goldens/ssmd_language_detection.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/migration/goldens/ssmd_marker.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/migration/goldens/ssmd_pronunciation.json +0 -0
- /utterplan-0.1.2/tests/migration/test_pykokoro_frontend_parity.py → /utterplan-0.2.0/tests/migration/test_semantic_migration_regressions.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/schema_history/README.md +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/schema_history/v1/basic.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/schema_history/v1/directives.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/schema_history/v1/markers.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/schema_history/v1/multilingual.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/schema_history/v1/parenthetical.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/schema_history/v1/spokenform_offsets.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/schema_history/v1/ssmd_breaks.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_boundaries.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_consumer_contract.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_consumer_readiness.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_coordinates.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_directives.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_fake_renderer.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_golden.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_identity_units.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_import_boundaries.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_language.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_pauses.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_planner.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_preparation.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_schema_strict.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/tests/test_version.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/__main__.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/config.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/diagnostics.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/directives.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/exceptions.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/format.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/language.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/migration.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/parsers.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/pauses.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/preparation.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/py.typed +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/schemas/v1.schema.json +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/serialization.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/spacy_models.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/spans.py +0 -0
- {utterplan-0.1.2/tests/reference → utterplan-0.2.0/utterplan/stages}/__init__.py +0 -0
- {utterplan-0.1.2/utterplan/stages → utterplan-0.2.0/utterplan/stages/document}/__init__.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/stages/document/plain.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/stages/document/ssmd.py +0 -0
- {utterplan-0.1.2/utterplan/stages/document → utterplan-0.2.0/utterplan/stages/preparation}/__init__.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/stages/preparation/identity.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/stages/preparation/spokenform.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/stages/protocols.py +0 -0
- {utterplan-0.1.2/utterplan/stages/preparation → utterplan-0.2.0/utterplan/stages/segmentation}/__init__.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan/stages/segmentation/phrasplit.py +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan.egg-info/dependency_links.txt +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan.egg-info/entry_points.txt +0 -0
- {utterplan-0.1.2 → utterplan-0.2.0}/utterplan.egg-info/top_level.txt +0 -0
|
@@ -17,7 +17,7 @@ jobs:
|
|
|
17
17
|
python -m pip install --upgrade pip
|
|
18
18
|
python -m pip install coverage pytest pytest-cov
|
|
19
19
|
python -m pip install -e ".[dev]"
|
|
20
|
-
python -m pytest
|
|
20
|
+
python -m pytest --cov=utterplan --cov-report=xml --junitxml=junit.xml
|
|
21
21
|
- name: Upload coverage to Codecov
|
|
22
22
|
uses: codecov/codecov-action@v5
|
|
23
23
|
with:
|
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
30
30
|
if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13'
|
|
31
31
|
run: python -m ruff check .
|
|
32
32
|
- name: Run tests
|
|
33
|
-
run: python -m pytest -q
|
|
33
|
+
run: python -m pytest -q
|
|
34
34
|
|
|
35
35
|
lower-bounds:
|
|
36
36
|
runs-on: ubuntu-latest
|
|
@@ -51,7 +51,7 @@ jobs:
|
|
|
51
51
|
"typing_extensions>=4.0"
|
|
52
52
|
python -m pip install --no-deps -e .
|
|
53
53
|
- name: Run lower-bound tests
|
|
54
|
-
run: python -m pytest -q
|
|
54
|
+
run: python -m pytest -q
|
|
55
55
|
|
|
56
56
|
package-smoke:
|
|
57
57
|
runs-on: ubuntu-latest
|
{utterplan-0.1.2 → utterplan-0.2.0}/.ledger/releaseledger/data/ledgers/main/events/events.jsonl
RENAMED
|
@@ -18,3 +18,21 @@
|
|
|
18
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
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
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}
|
|
21
|
+
{"data":{"audit_rewritten":true,"old_release_version":"0.1.2","reason":null,"replace_canceled_target":false,"rewrote_successors":false},"event":"release.renamed","event_id":"event-0021","record_revisions":{"audit:0.1.3":4,"entry:0.1.3/entry-0001":2,"entry:0.1.3/entry-0002":2,"entry:0.1.3/entry-0003":2,"release:0.1.3":6},"release_version":"0.1.3","schema_version":2}
|
|
22
|
+
{"data":{"fields":["git_commit_count","git_head_sha","git_range"]},"event":"release.updated","event_id":"event-0022","record_revisions":{"release:0.1.3":7},"release_version":"0.1.3","schema_version":2}
|
|
23
|
+
{"data":{"new_rows":3,"preserved_reviewed_rows":3,"removed_rows":0},"event":"audit.updated","event_id":"event-0023","record_revisions":{"commit_audit_sheet":5},"release_version":"0.1.3","schema_version":2}
|
|
24
|
+
{"data":{"kind":"docs","status":"accepted"},"entry_id":"entry-0004","event":"entry.added","event_id":"event-0024","record_revisions":{"entry:0.1.3/entry-0004":1,"release:0.1.3":8},"release_version":"0.1.3","schema_version":2}
|
|
25
|
+
{"data":{"kind":"internal","status":"accepted"},"entry_id":"entry-0005","event":"entry.added","event_id":"event-0025","record_revisions":{"entry:0.1.3/entry-0005":1,"release:0.1.3":9},"release_version":"0.1.3","schema_version":2}
|
|
26
|
+
{"data":{"kind":"changed","status":"accepted"},"entry_id":"entry-0006","event":"entry.added","event_id":"event-0026","record_revisions":{"entry:0.1.3/entry-0006":1,"release:0.1.3":10},"release_version":"0.1.3","schema_version":2}
|
|
27
|
+
{"data":{"added_source_refs":[],"fields":["summary"],"removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0004","event":"entry.updated","event_id":"event-0027","record_revisions":{"entry:0.1.3/entry-0004":2},"release_version":"0.1.3","schema_version":2}
|
|
28
|
+
{"data":{"added_source_refs":[],"fields":["kind"],"removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0006","event":"entry.updated","event_id":"event-0028","record_revisions":{"entry:0.1.3/entry-0006":2},"release_version":"0.1.3","schema_version":2}
|
|
29
|
+
{"data":{"added_source_refs":[],"fields":["internal","kind"],"removed_source_refs":[],"source_refs_mode":"unchanged"},"entry_id":"entry-0005","event":"entry.updated","event_id":"event-0029","record_revisions":{"entry:0.1.3/entry-0005":2},"release_version":"0.1.3","schema_version":2}
|
|
30
|
+
{"data":{"updated_rows":3},"event":"audit.updated","event_id":"event-0030","record_revisions":{"commit_audit_sheet":6},"release_version":"0.1.3","schema_version":2}
|
|
31
|
+
{"data":{"released_at":"2026-09-19"},"event":"release.finalized","event_id":"event-0031","record_revisions":{"release:0.1.3":11},"release_version":"0.1.3","schema_version":2}
|
|
32
|
+
{"data":{"status":"planned"},"event":"release.created","event_id":"event-0032","record_revisions":{"release:0.2.0":1},"release_version":"0.2.0","schema_version":2}
|
|
33
|
+
{"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-0033","record_revisions":{"release:0.2.0":2},"release_version":"0.2.0","schema_version":2}
|
|
34
|
+
{"data":{"row_count":3},"event":"audit.created","event_id":"event-0034","record_revisions":{"commit_audit_sheet":1},"release_version":"0.2.0","schema_version":2}
|
|
35
|
+
{"data":{"updated_rows":3},"event":"audit.updated","event_id":"event-0035","record_revisions":{"commit_audit_sheet":2},"release_version":"0.2.0","schema_version":2}
|
|
36
|
+
{"data":{"updated_rows":3},"event":"audit.updated","event_id":"event-0036","record_revisions":{"commit_audit_sheet":3},"release_version":"0.2.0","schema_version":2}
|
|
37
|
+
{"data":{"entry_ids":["entry-0001","entry-0002","entry-0003","entry-0004"],"synced_audit_rows":3},"event":"entry.batch_added","event_id":"event-0037","record_revisions":{"commit_audit_sheet":4,"entry:0.2.0/entry-0001":1,"entry:0.2.0/entry-0002":1,"entry:0.2.0/entry-0003":1,"entry:0.2.0/entry-0004":1,"release:0.2.0":3},"release_version":"0.2.0","schema_version":2}
|
|
38
|
+
{"data":{"released_at":"2026-09-22"},"event":"release.finalized","event_id":"event-0038","record_revisions":{"release:0.2.0":4},"release_version":"0.2.0","schema_version":2}
|
|
@@ -2,14 +2,14 @@ schema_version: 1
|
|
|
2
2
|
object_type: commit_audit_sheet
|
|
3
3
|
versioning:
|
|
4
4
|
schema_version: 1
|
|
5
|
-
revision:
|
|
6
|
-
release_version: 0.1.
|
|
5
|
+
revision: 6
|
|
6
|
+
release_version: 0.1.3
|
|
7
7
|
git_base_ref: v0.1.1
|
|
8
8
|
git_base_sha: a56a3513d403d3d3e0eddccc10990f32d1a1b367
|
|
9
9
|
git_head_ref: HEAD
|
|
10
|
-
git_head_sha:
|
|
11
|
-
git_range: a56a3513d403d3d3e0eddccc10990f32d1a1b367..
|
|
12
|
-
commit_count:
|
|
10
|
+
git_head_sha: 7cd977966475fd9c03056e5f25aaffd3501a846d
|
|
11
|
+
git_range: a56a3513d403d3d3e0eddccc10990f32d1a1b367..7cd977966475fd9c03056e5f25aaffd3501a846d
|
|
12
|
+
commit_count: 6
|
|
13
13
|
rows:
|
|
14
14
|
- sha: 402275374979b9372c1491072c4e29b642da523f
|
|
15
15
|
source_ref: git:402275374979b9372c1491072c4e29b642da523f
|
|
@@ -162,3 +162,96 @@ rows:
|
|
|
162
162
|
target_entry_key: entry-0003
|
|
163
163
|
target_entry_id: entry-0003
|
|
164
164
|
notes: ""
|
|
165
|
+
- sha: c31f53fb4ded2a0e805ad5f75b20cf98e47fb169
|
|
166
|
+
source_ref: git:c31f53fb4ded2a0e805ad5f75b20cf98e47fb169
|
|
167
|
+
short_sha: c31f53f
|
|
168
|
+
changed_paths:
|
|
169
|
+
- .ledger/releaseledger/data/ledgers/main/events/events.jsonl
|
|
170
|
+
- .ledger/releaseledger/data/ledgers/main/releases/0.1.0/release.md
|
|
171
|
+
- .ledger/releaseledger/data/ledgers/main/releases/0.1.1/entries/entry-0001.md
|
|
172
|
+
- .ledger/releaseledger/data/ledgers/main/releases/0.1.1/release.md
|
|
173
|
+
- .ledger/releaseledger/data/ledgers/main/releases/0.1.2/audit/commit-audit.yaml
|
|
174
|
+
- .ledger/releaseledger/data/ledgers/main/releases/0.1.2/entries/entry-0001.md
|
|
175
|
+
- .ledger/releaseledger/data/ledgers/main/releases/0.1.2/entries/entry-0002.md
|
|
176
|
+
- .ledger/releaseledger/data/ledgers/main/releases/0.1.2/entries/entry-0003.md
|
|
177
|
+
- .ledger/releaseledger/data/ledgers/main/releases/0.1.2/release.md
|
|
178
|
+
- .ledger/releaseledger/work/0.1.2/audit-decisions.yaml
|
|
179
|
+
- .ledger/releaseledger/work/0.1.2/audit.yaml
|
|
180
|
+
- .ledger/releaseledger/work/0.1.2/entries.yaml
|
|
181
|
+
- .ledger/releaseledger/work/0.1.2/evidence/2c64e29.patch
|
|
182
|
+
- .ledger/releaseledger/work/0.1.2/evidence/4022753.patch
|
|
183
|
+
- .ledger/releaseledger/work/0.1.2/evidence/66a88b6.patch
|
|
184
|
+
- .ledger/releaseledger/work/0.1.2/evidence/manifest.json
|
|
185
|
+
- .ledger/releaseledger/work/0.1.2/range.json
|
|
186
|
+
- .ledger/releaseledger/write.lock
|
|
187
|
+
- docs/changelog.md
|
|
188
|
+
- tests/test_cli.py
|
|
189
|
+
- tests/test_migration_framework.py
|
|
190
|
+
- utterplan/cli.py
|
|
191
|
+
- utterplan/exceptions.py
|
|
192
|
+
- utterplan/migration.py
|
|
193
|
+
stats:
|
|
194
|
+
files_changed: 24
|
|
195
|
+
insertions: 5851
|
|
196
|
+
deletions: 18
|
|
197
|
+
inspected: true
|
|
198
|
+
inspected_paths:
|
|
199
|
+
- docs/changelog.md
|
|
200
|
+
observed_behavior:
|
|
201
|
+
Updated changelog with release entries for v0.1.0, v0.1.1, and
|
|
202
|
+
v0.1.2
|
|
203
|
+
public_impact: docs
|
|
204
|
+
decision: accepted
|
|
205
|
+
stale: false
|
|
206
|
+
evidence_subject: "doc: changelog"
|
|
207
|
+
target_entry_id: entry-0004
|
|
208
|
+
- sha: 972d21bdfefcdc7ee04fc0d9ce00d1143dda4e78
|
|
209
|
+
source_ref: git:972d21bdfefcdc7ee04fc0d9ce00d1143dda4e78
|
|
210
|
+
short_sha: 972d21b
|
|
211
|
+
changed_paths:
|
|
212
|
+
- tests/reference/dump_pykokoro_frontend.py
|
|
213
|
+
stats:
|
|
214
|
+
files_changed: 1
|
|
215
|
+
insertions: 11
|
|
216
|
+
deletions: 1
|
|
217
|
+
inspected: true
|
|
218
|
+
inspected_paths:
|
|
219
|
+
- tests/reference/dump_pykokoro_frontend.py
|
|
220
|
+
observed_behavior: Fixed obsolete migration test for PyKokoro frontend dump
|
|
221
|
+
public_impact: none
|
|
222
|
+
decision: accepted
|
|
223
|
+
stale: false
|
|
224
|
+
evidence_subject: "test: fix obsolete migration test"
|
|
225
|
+
target_entry_id: entry-0005
|
|
226
|
+
- sha: 7cd977966475fd9c03056e5f25aaffd3501a846d
|
|
227
|
+
source_ref: git:7cd977966475fd9c03056e5f25aaffd3501a846d
|
|
228
|
+
short_sha: 7cd9779
|
|
229
|
+
changed_paths:
|
|
230
|
+
- .github/workflows/codecov.yml
|
|
231
|
+
- .github/workflows/tests.yml
|
|
232
|
+
- AGENTS.md
|
|
233
|
+
- README.md
|
|
234
|
+
- docs/conf.py
|
|
235
|
+
- docs/phase-a-completion.md
|
|
236
|
+
- docs/pykokoro-integration.md
|
|
237
|
+
- docs/pykokoro-reference.md
|
|
238
|
+
- tests/migration/test_semantic_migration_regressions.py
|
|
239
|
+
- tests/reference/__init__.py
|
|
240
|
+
- tests/reference/cases.py
|
|
241
|
+
- tests/reference/dump_pykokoro_frontend.py
|
|
242
|
+
- tests/reference/test_pykokoro_parity.py
|
|
243
|
+
stats:
|
|
244
|
+
files_changed: 13
|
|
245
|
+
insertions: 22
|
|
246
|
+
deletions: 611
|
|
247
|
+
inspected: true
|
|
248
|
+
inspected_paths:
|
|
249
|
+
- docs/pykokoro-reference.md
|
|
250
|
+
- tests/reference/dump_pykokoro_frontend.py
|
|
251
|
+
- tests/reference/test_pykokoro_parity.py
|
|
252
|
+
observed_behavior: Removed PyKokoro references and related test infrastructure
|
|
253
|
+
public_impact: public
|
|
254
|
+
decision: accepted
|
|
255
|
+
stale: false
|
|
256
|
+
evidence_subject: "feat: remove ref to pykokoro"
|
|
257
|
+
target_entry_id: entry-0006
|
|
@@ -3,9 +3,9 @@ schema_version: 2
|
|
|
3
3
|
object_type: release_entry
|
|
4
4
|
versioning:
|
|
5
5
|
schema_version: 1
|
|
6
|
-
revision:
|
|
6
|
+
revision: 2
|
|
7
7
|
entry_id: entry-0001
|
|
8
|
-
release_version: 0.1.
|
|
8
|
+
release_version: 0.1.3
|
|
9
9
|
kind: added
|
|
10
10
|
summary:
|
|
11
11
|
Added explain CLI command that renders compiled plans as human-readable speech
|
|
@@ -3,9 +3,9 @@ schema_version: 2
|
|
|
3
3
|
object_type: release_entry
|
|
4
4
|
versioning:
|
|
5
5
|
schema_version: 1
|
|
6
|
-
revision:
|
|
6
|
+
revision: 2
|
|
7
7
|
entry_id: entry-0002
|
|
8
|
-
release_version: 0.1.
|
|
8
|
+
release_version: 0.1.3
|
|
9
9
|
kind: changed
|
|
10
10
|
summary:
|
|
11
11
|
Improved consumer contract with stable renderer input view and directive
|
|
@@ -3,9 +3,9 @@ schema_version: 2
|
|
|
3
3
|
object_type: release_entry
|
|
4
4
|
versioning:
|
|
5
5
|
schema_version: 1
|
|
6
|
-
revision:
|
|
6
|
+
revision: 2
|
|
7
7
|
entry_id: entry-0003
|
|
8
|
-
release_version: 0.1.
|
|
8
|
+
release_version: 0.1.3
|
|
9
9
|
kind: added
|
|
10
10
|
summary: Added schema versioning with frozen v1 schema and migration framework
|
|
11
11
|
status: accepted
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release_entry
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 2
|
|
7
|
+
entry_id: entry-0004
|
|
8
|
+
release_version: 0.1.3
|
|
9
|
+
kind: docs
|
|
10
|
+
summary: Documented changelog with release entries for v0.1.0, v0.1.1, and v0.1.2
|
|
11
|
+
status: accepted
|
|
12
|
+
audience: null
|
|
13
|
+
scopes: []
|
|
14
|
+
source_refs:
|
|
15
|
+
- git:c31f53fb4ded2a0e805ad5f75b20cf98e47fb169
|
|
16
|
+
paths:
|
|
17
|
+
- docs/changelog.md
|
|
18
|
+
issues: []
|
|
19
|
+
prs: []
|
|
20
|
+
sources: []
|
|
21
|
+
contributors: []
|
|
22
|
+
breaking: false
|
|
23
|
+
internal: false
|
|
24
|
+
order: 4
|
|
25
|
+
---
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release_entry
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 2
|
|
7
|
+
entry_id: entry-0005
|
|
8
|
+
release_version: 0.1.3
|
|
9
|
+
kind: quality
|
|
10
|
+
summary: Fixed obsolete migration test for PyKokoro frontend dump
|
|
11
|
+
status: accepted
|
|
12
|
+
audience: null
|
|
13
|
+
scopes: []
|
|
14
|
+
source_refs:
|
|
15
|
+
- git:972d21bdfefcdc7ee04fc0d9ce00d1143dda4e78
|
|
16
|
+
paths:
|
|
17
|
+
- tests/reference/dump_pykokoro_frontend.py
|
|
18
|
+
issues: []
|
|
19
|
+
prs: []
|
|
20
|
+
sources: []
|
|
21
|
+
contributors: []
|
|
22
|
+
breaking: false
|
|
23
|
+
internal: false
|
|
24
|
+
order: 5
|
|
25
|
+
---
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release_entry
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 2
|
|
7
|
+
entry_id: entry-0006
|
|
8
|
+
release_version: 0.1.3
|
|
9
|
+
kind: removed
|
|
10
|
+
summary: Removed PyKokoro references and related test infrastructure
|
|
11
|
+
status: accepted
|
|
12
|
+
audience: null
|
|
13
|
+
scopes: []
|
|
14
|
+
source_refs:
|
|
15
|
+
- git:7cd977966475fd9c03056e5f25aaffd3501a846d
|
|
16
|
+
paths:
|
|
17
|
+
- docs/pykokoro-reference.md
|
|
18
|
+
- tests/reference/dump_pykokoro_frontend.py
|
|
19
|
+
- tests/reference/test_pykokoro_parity.py
|
|
20
|
+
issues: []
|
|
21
|
+
prs: []
|
|
22
|
+
sources: []
|
|
23
|
+
contributors: []
|
|
24
|
+
breaking: false
|
|
25
|
+
internal: false
|
|
26
|
+
order: 6
|
|
27
|
+
---
|
|
@@ -3,12 +3,12 @@ schema_version: 2
|
|
|
3
3
|
object_type: release
|
|
4
4
|
versioning:
|
|
5
5
|
schema_version: 1
|
|
6
|
-
revision:
|
|
7
|
-
version: 0.1.
|
|
8
|
-
status:
|
|
6
|
+
revision: 11
|
|
7
|
+
version: 0.1.3
|
|
8
|
+
status: released
|
|
9
9
|
history_state: curated
|
|
10
10
|
title: null
|
|
11
|
-
released_at:
|
|
11
|
+
released_at: "2026-09-19"
|
|
12
12
|
previous_version: 0.1.1
|
|
13
13
|
cancel_reason: null
|
|
14
14
|
superseded_by: null
|
|
@@ -16,12 +16,12 @@ changelog_file: null
|
|
|
16
16
|
boundary_ref: null
|
|
17
17
|
source_refs: []
|
|
18
18
|
source_count: null
|
|
19
|
-
entry_count:
|
|
19
|
+
entry_count: 6
|
|
20
20
|
artifact_count: 0
|
|
21
21
|
git_base_ref: v0.1.1
|
|
22
22
|
git_base_sha: a56a3513d403d3d3e0eddccc10990f32d1a1b367
|
|
23
23
|
git_head_ref: HEAD
|
|
24
|
-
git_head_sha:
|
|
25
|
-
git_range: a56a3513d403d3d3e0eddccc10990f32d1a1b367..
|
|
26
|
-
git_commit_count:
|
|
24
|
+
git_head_sha: 7cd977966475fd9c03056e5f25aaffd3501a846d
|
|
25
|
+
git_range: a56a3513d403d3d3e0eddccc10990f32d1a1b367..7cd977966475fd9c03056e5f25aaffd3501a846d
|
|
26
|
+
git_commit_count: 6
|
|
27
27
|
---
|
utterplan-0.2.0/.ledger/releaseledger/data/ledgers/main/releases/0.2.0/audit/commit-audit.yaml
ADDED
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
schema_version: 1
|
|
2
|
+
object_type: commit_audit_sheet
|
|
3
|
+
versioning:
|
|
4
|
+
schema_version: 1
|
|
5
|
+
revision: 4
|
|
6
|
+
release_version: 0.2.0
|
|
7
|
+
git_base_ref: v0.1.3
|
|
8
|
+
git_base_sha: 35a631ed89a676484546d62bccf08203f93b01e9
|
|
9
|
+
git_head_ref: HEAD
|
|
10
|
+
git_head_sha: 9637182acbf51763706e1047283b6df27def4bb8
|
|
11
|
+
git_range: 35a631ed89a676484546d62bccf08203f93b01e9..9637182acbf51763706e1047283b6df27def4bb8
|
|
12
|
+
commit_count: 3
|
|
13
|
+
rows:
|
|
14
|
+
- sha: e49a6ddc97c789574098a635fc823da885b48439
|
|
15
|
+
source_ref: git:e49a6ddc97c789574098a635fc823da885b48439
|
|
16
|
+
short_sha: e49a6dd
|
|
17
|
+
changed_paths:
|
|
18
|
+
- .gitignore
|
|
19
|
+
- examples/basic.py
|
|
20
|
+
- examples/chapter.ssmd
|
|
21
|
+
- examples/compile_file.py
|
|
22
|
+
- examples/inspect_plan.py
|
|
23
|
+
- examples/multilingual.py
|
|
24
|
+
- examples/ssmd.py
|
|
25
|
+
- examples/ssmd_example.py
|
|
26
|
+
stats:
|
|
27
|
+
files_changed: 8
|
|
28
|
+
insertions: 93
|
|
29
|
+
deletions: 19
|
|
30
|
+
inspected: true
|
|
31
|
+
inspected_paths:
|
|
32
|
+
- .gitignore
|
|
33
|
+
- examples/basic.py
|
|
34
|
+
- examples/chapter.ssmd
|
|
35
|
+
- examples/compile_file.py
|
|
36
|
+
- examples/inspect_plan.py
|
|
37
|
+
- examples/multilingual.py
|
|
38
|
+
- examples/ssmd.py
|
|
39
|
+
- examples/ssmd_example.py
|
|
40
|
+
observed_behavior:
|
|
41
|
+
Example scripts now run through main() entry points. basic.py,
|
|
42
|
+
compile_file.py, and inspect_plan.py gained argparse interfaces with defaults
|
|
43
|
+
resolved next to the script and outputs written beside it. multilingual.py demonstrates
|
|
44
|
+
inline SSMD language switching. examples/ssmd.py was replaced by examples/ssmd_example.py,
|
|
45
|
+
examples/chapter.ssmd was added as sample SSMD input, and generated examples/*.utterplan.json
|
|
46
|
+
outputs are excluded from git.
|
|
47
|
+
public_impact: docs
|
|
48
|
+
decision: accepted
|
|
49
|
+
stale: false
|
|
50
|
+
evidence_subject: "fix: examples"
|
|
51
|
+
target_entry_id: entry-0003
|
|
52
|
+
notes:
|
|
53
|
+
Examples-only change with documentation impact; covered by the fixed entry
|
|
54
|
+
for the examples rework.
|
|
55
|
+
- sha: c52aa684cc872d348d90972001a8c5194ae7c7f8
|
|
56
|
+
source_ref: git:c52aa684cc872d348d90972001a8c5194ae7c7f8
|
|
57
|
+
short_sha: c52aa68
|
|
58
|
+
changed_paths:
|
|
59
|
+
- README.md
|
|
60
|
+
- docs/architecture.md
|
|
61
|
+
- docs/cli.md
|
|
62
|
+
- docs/consumer-guide.md
|
|
63
|
+
- docs/coordinate-spaces.md
|
|
64
|
+
- docs/debugging.md
|
|
65
|
+
- docs/format.md
|
|
66
|
+
- docs/getting-started.md
|
|
67
|
+
- docs/index.md
|
|
68
|
+
- docs/pykokoro-integration.md
|
|
69
|
+
- docs/python-api.md
|
|
70
|
+
- pyproject.toml
|
|
71
|
+
- spec/schemas/v2.schema.json
|
|
72
|
+
- spec/utterplan.schema.json
|
|
73
|
+
- tests/golden/basic_en.utterplan.json
|
|
74
|
+
- tests/golden/directives.utterplan.json
|
|
75
|
+
- tests/golden/markers.utterplan.json
|
|
76
|
+
- tests/golden/multilingual.utterplan.json
|
|
77
|
+
- tests/golden/parenthetical.utterplan.json
|
|
78
|
+
- tests/golden/spokenform_offsets.utterplan.json
|
|
79
|
+
- tests/golden/ssmd_breaks.utterplan.json
|
|
80
|
+
- tests/test_cli.py
|
|
81
|
+
- tests/test_explain.py
|
|
82
|
+
- tests/test_format.py
|
|
83
|
+
- tests/test_linguistics.py
|
|
84
|
+
- tests/test_migration_framework.py
|
|
85
|
+
- tests/test_public_identity.py
|
|
86
|
+
- tests/test_schema_history.py
|
|
87
|
+
- tests/test_schema_registry.py
|
|
88
|
+
- utterplan/__init__.py
|
|
89
|
+
- utterplan/cli.py
|
|
90
|
+
- utterplan/explain.py
|
|
91
|
+
- utterplan/hashing.py
|
|
92
|
+
- utterplan/linguistics.py
|
|
93
|
+
- utterplan/migrations/__init__.py
|
|
94
|
+
- utterplan/migrations/registry.py
|
|
95
|
+
- utterplan/migrations/v1_to_v2.py
|
|
96
|
+
- utterplan/model.py
|
|
97
|
+
- utterplan/planner.py
|
|
98
|
+
- utterplan/schema_registry.py
|
|
99
|
+
- utterplan/schemas/v2.schema.json
|
|
100
|
+
- utterplan/units.py
|
|
101
|
+
- utterplan/utterplan.schema.json
|
|
102
|
+
- utterplan/versioning.py
|
|
103
|
+
stats:
|
|
104
|
+
files_changed: 44
|
|
105
|
+
insertions: 1714
|
|
106
|
+
deletions: 215
|
|
107
|
+
inspected: true
|
|
108
|
+
inspected_paths:
|
|
109
|
+
- README.md
|
|
110
|
+
- docs/architecture.md
|
|
111
|
+
- docs/cli.md
|
|
112
|
+
- docs/consumer-guide.md
|
|
113
|
+
- docs/coordinate-spaces.md
|
|
114
|
+
- docs/debugging.md
|
|
115
|
+
- docs/format.md
|
|
116
|
+
- docs/getting-started.md
|
|
117
|
+
- docs/index.md
|
|
118
|
+
- docs/pykokoro-integration.md
|
|
119
|
+
- docs/python-api.md
|
|
120
|
+
- pyproject.toml
|
|
121
|
+
- spec/schemas/v2.schema.json
|
|
122
|
+
- spec/utterplan.schema.json
|
|
123
|
+
- tests/golden/basic_en.utterplan.json
|
|
124
|
+
- tests/golden/directives.utterplan.json
|
|
125
|
+
- tests/golden/markers.utterplan.json
|
|
126
|
+
- tests/golden/multilingual.utterplan.json
|
|
127
|
+
- tests/golden/parenthetical.utterplan.json
|
|
128
|
+
- tests/golden/spokenform_offsets.utterplan.json
|
|
129
|
+
- tests/golden/ssmd_breaks.utterplan.json
|
|
130
|
+
- tests/test_cli.py
|
|
131
|
+
- tests/test_explain.py
|
|
132
|
+
- tests/test_format.py
|
|
133
|
+
- tests/test_linguistics.py
|
|
134
|
+
- tests/test_migration_framework.py
|
|
135
|
+
- tests/test_public_identity.py
|
|
136
|
+
- tests/test_schema_history.py
|
|
137
|
+
- tests/test_schema_registry.py
|
|
138
|
+
- utterplan/__init__.py
|
|
139
|
+
- utterplan/cli.py
|
|
140
|
+
- utterplan/explain.py
|
|
141
|
+
- utterplan/hashing.py
|
|
142
|
+
- utterplan/linguistics.py
|
|
143
|
+
- utterplan/migrations/__init__.py
|
|
144
|
+
- utterplan/migrations/registry.py
|
|
145
|
+
- utterplan/migrations/v1_to_v2.py
|
|
146
|
+
- utterplan/model.py
|
|
147
|
+
- utterplan/planner.py
|
|
148
|
+
- utterplan/schema_registry.py
|
|
149
|
+
- utterplan/schemas/v2.schema.json
|
|
150
|
+
- utterplan/units.py
|
|
151
|
+
- utterplan/utterplan.schema.json
|
|
152
|
+
- utterplan/versioning.py
|
|
153
|
+
observed_behavior:
|
|
154
|
+
Serialized plans gain a v2 schema that embeds token annotations
|
|
155
|
+
with lemma, pos, tag, and morph fields plus linguistic run records carrying provider,
|
|
156
|
+
model, provider_version, and model_version provenance. Unit content hashes move
|
|
157
|
+
to the utterplan-unit-v2 payload that includes tokens. A registered v1-to-v2 migration
|
|
158
|
+
upgrades older files and the schema registry keeps v1 frozen. pyproject gains
|
|
159
|
+
a spacy optional extra. The inspect token view and detailed explain output report
|
|
160
|
+
provider and model provenance and per-segment tokens.
|
|
161
|
+
public_impact: public
|
|
162
|
+
decision: accepted
|
|
163
|
+
stale: false
|
|
164
|
+
evidence_subject: "feat: add v2 with spacy tokens embedded"
|
|
165
|
+
target_entry_id: entry-0001
|
|
166
|
+
notes:
|
|
167
|
+
"Two entries describe this commit: the schema v2 feature owns the git source
|
|
168
|
+
ref and the inspect/explain output detail references it as supporting source."
|
|
169
|
+
- sha: 9637182acbf51763706e1047283b6df27def4bb8
|
|
170
|
+
source_ref: git:9637182acbf51763706e1047283b6df27def4bb8
|
|
171
|
+
short_sha: "9637182"
|
|
172
|
+
changed_paths:
|
|
173
|
+
- docs/cli.md
|
|
174
|
+
- docs/consumer-guide.md
|
|
175
|
+
- docs/getting-started.md
|
|
176
|
+
- docs/pykokoro-integration.md
|
|
177
|
+
- docs/python-api.md
|
|
178
|
+
- spec/schemas/v2.schema.json
|
|
179
|
+
- spec/utterplan.schema.json
|
|
180
|
+
- tests/golden/basic_en.utterplan.json
|
|
181
|
+
- tests/golden/directives.utterplan.json
|
|
182
|
+
- tests/golden/markers.utterplan.json
|
|
183
|
+
- tests/golden/multilingual.utterplan.json
|
|
184
|
+
- tests/golden/parenthetical.utterplan.json
|
|
185
|
+
- tests/golden/spokenform_offsets.utterplan.json
|
|
186
|
+
- tests/golden/ssmd_breaks.utterplan.json
|
|
187
|
+
- tests/test_cli.py
|
|
188
|
+
- tests/test_format.py
|
|
189
|
+
- tests/test_linguistics.py
|
|
190
|
+
- tests/test_schema_history.py
|
|
191
|
+
- utterplan/explain.py
|
|
192
|
+
- utterplan/hashing.py
|
|
193
|
+
- utterplan/migrations/v1_to_v2.py
|
|
194
|
+
- utterplan/model.py
|
|
195
|
+
- utterplan/planner.py
|
|
196
|
+
- utterplan/schemas/v2.schema.json
|
|
197
|
+
- utterplan/utterplan.schema.json
|
|
198
|
+
stats:
|
|
199
|
+
files_changed: 25
|
|
200
|
+
insertions: 159
|
|
201
|
+
deletions: 193
|
|
202
|
+
inspected: true
|
|
203
|
+
inspected_paths:
|
|
204
|
+
- docs/cli.md
|
|
205
|
+
- docs/consumer-guide.md
|
|
206
|
+
- docs/getting-started.md
|
|
207
|
+
- docs/pykokoro-integration.md
|
|
208
|
+
- docs/python-api.md
|
|
209
|
+
- spec/schemas/v2.schema.json
|
|
210
|
+
- spec/utterplan.schema.json
|
|
211
|
+
- tests/golden/basic_en.utterplan.json
|
|
212
|
+
- tests/golden/directives.utterplan.json
|
|
213
|
+
- tests/golden/markers.utterplan.json
|
|
214
|
+
- tests/golden/multilingual.utterplan.json
|
|
215
|
+
- tests/golden/parenthetical.utterplan.json
|
|
216
|
+
- tests/golden/spokenform_offsets.utterplan.json
|
|
217
|
+
- tests/golden/ssmd_breaks.utterplan.json
|
|
218
|
+
- tests/test_cli.py
|
|
219
|
+
- tests/test_format.py
|
|
220
|
+
- tests/test_linguistics.py
|
|
221
|
+
- tests/test_schema_history.py
|
|
222
|
+
- utterplan/explain.py
|
|
223
|
+
- utterplan/hashing.py
|
|
224
|
+
- utterplan/migrations/v1_to_v2.py
|
|
225
|
+
- utterplan/model.py
|
|
226
|
+
- utterplan/planner.py
|
|
227
|
+
- utterplan/schemas/v2.schema.json
|
|
228
|
+
- utterplan/utterplan.schema.json
|
|
229
|
+
observed_behavior:
|
|
230
|
+
"Formatter-only normalization: golden fixtures compacted to single-line
|
|
231
|
+
JSON arrays, schema required arrays expanded and rewrapped, and Python modules,
|
|
232
|
+
tests, and migrations rewrapped to formatter style. Hashing, validation, migration,
|
|
233
|
+
and planning behavior are unchanged."
|
|
234
|
+
public_impact: none
|
|
235
|
+
decision: internal
|
|
236
|
+
stale: false
|
|
237
|
+
evidence_subject: "chore: pre-commit"
|
|
238
|
+
target_entry_id: entry-0004
|
|
239
|
+
notes:
|
|
240
|
+
Formatting-only change with no user-visible behavior; represented by an internal
|
|
241
|
+
entry and excluded from the public changelog.
|
|
@@ -0,0 +1,74 @@
|
|
|
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.0
|
|
9
|
+
kind: added
|
|
10
|
+
summary:
|
|
11
|
+
Added schema version 2 with embedded token annotations, linguistic run provenance,
|
|
12
|
+
and a v1-to-v2 migration
|
|
13
|
+
status: accepted
|
|
14
|
+
audience: null
|
|
15
|
+
scopes: []
|
|
16
|
+
source_refs:
|
|
17
|
+
- git:c52aa684cc872d348d90972001a8c5194ae7c7f8
|
|
18
|
+
paths:
|
|
19
|
+
- README.md
|
|
20
|
+
- docs/architecture.md
|
|
21
|
+
- docs/cli.md
|
|
22
|
+
- docs/consumer-guide.md
|
|
23
|
+
- docs/coordinate-spaces.md
|
|
24
|
+
- docs/debugging.md
|
|
25
|
+
- docs/format.md
|
|
26
|
+
- docs/getting-started.md
|
|
27
|
+
- docs/index.md
|
|
28
|
+
- docs/pykokoro-integration.md
|
|
29
|
+
- docs/python-api.md
|
|
30
|
+
- pyproject.toml
|
|
31
|
+
- spec/schemas/v2.schema.json
|
|
32
|
+
- spec/utterplan.schema.json
|
|
33
|
+
- tests/golden/basic_en.utterplan.json
|
|
34
|
+
- tests/golden/directives.utterplan.json
|
|
35
|
+
- tests/golden/markers.utterplan.json
|
|
36
|
+
- tests/golden/multilingual.utterplan.json
|
|
37
|
+
- tests/golden/parenthetical.utterplan.json
|
|
38
|
+
- tests/golden/spokenform_offsets.utterplan.json
|
|
39
|
+
- tests/golden/ssmd_breaks.utterplan.json
|
|
40
|
+
- tests/test_cli.py
|
|
41
|
+
- tests/test_explain.py
|
|
42
|
+
- tests/test_format.py
|
|
43
|
+
- tests/test_linguistics.py
|
|
44
|
+
- tests/test_migration_framework.py
|
|
45
|
+
- tests/test_public_identity.py
|
|
46
|
+
- tests/test_schema_history.py
|
|
47
|
+
- tests/test_schema_registry.py
|
|
48
|
+
- utterplan/__init__.py
|
|
49
|
+
- utterplan/cli.py
|
|
50
|
+
- utterplan/explain.py
|
|
51
|
+
- utterplan/hashing.py
|
|
52
|
+
- utterplan/linguistics.py
|
|
53
|
+
- utterplan/migrations/__init__.py
|
|
54
|
+
- utterplan/migrations/registry.py
|
|
55
|
+
- utterplan/migrations/v1_to_v2.py
|
|
56
|
+
- utterplan/model.py
|
|
57
|
+
- utterplan/planner.py
|
|
58
|
+
- utterplan/schema_registry.py
|
|
59
|
+
- utterplan/schemas/v2.schema.json
|
|
60
|
+
- utterplan/units.py
|
|
61
|
+
- utterplan/utterplan.schema.json
|
|
62
|
+
- utterplan/versioning.py
|
|
63
|
+
issues: []
|
|
64
|
+
prs: []
|
|
65
|
+
sources:
|
|
66
|
+
- git:c52aa684cc872d348d90972001a8c5194ae7c7f8
|
|
67
|
+
contributors:
|
|
68
|
+
- "@holgern"
|
|
69
|
+
breaking: false
|
|
70
|
+
internal: false
|
|
71
|
+
order: 1
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
Serialized plans can now be written as schema version 2, which embeds token annotations with lemma, pos, tag, and morph fields and records linguistic run provenance (provider, model, provider version, model version). Unit content hashes move to the utterplan-unit-v2 payload that includes tokens. Older v1 files upgrade through the registered v1-to-v2 migration while v1 stays frozen, and spaCy support is available through the spacy optional extra.
|