taskledger 0.6.0__tar.gz → 0.6.1__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.
- taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +13 -0
- taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0001.md +25 -0
- taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0002.md +25 -0
- taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0003.md +27 -0
- taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0004.md +25 -0
- taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0005.md +25 -0
- taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/release.md +26 -0
- {taskledger-0.6.0/taskledger.egg-info → taskledger-0.6.1}/PKG-INFO +21 -14
- {taskledger-0.6.0 → taskledger-0.6.1}/README.md +19 -13
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/changelog.md +21 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/command_contract.md +4 -3
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/full_task_cycle.md +2 -2
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/index.md +1 -0
- taskledger-0.6.1/docs/release_checklist.md +20 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/service_boundary_whitelist.md +8 -1
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/sync.md +3 -2
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/usage.md +16 -15
- {taskledger-0.6.0 → taskledger-0.6.1}/pyproject.toml +24 -1
- {taskledger-0.6.0 → taskledger-0.6.1}/skills/taskledger/SKILL.md +5 -4
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/_version.py +3 -3
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli.py +6 -1
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_common.py +166 -60
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_plan.py +5 -0
- taskledger-0.6.1/taskledger/cli_runtime.py +43 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/compat/ledgercore.py +127 -37
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/states.py +9 -4
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/errors.py +4 -2
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/doctor.py +4 -1
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/git_sync.py +34 -4
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/git_utils.py +10 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/planning_flow.py +15 -5
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/runtime_info.py +30 -12
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/task_collections.py +30 -6
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/tasks.py +12 -1
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/workspace_snapshot.py +201 -29
- taskledger-0.6.1/taskledger/storage/indexes.py +137 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/task_store.py +21 -9
- {taskledger-0.6.0 → taskledger-0.6.1/taskledger.egg-info}/PKG-INFO +21 -14
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger.egg-info/SOURCES.txt +8 -2
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger.egg-info/requires.txt +1 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger.egg-info/scm_file_list.json +501 -495
- taskledger-0.6.1/taskledger.egg-info/scm_version.json +8 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/conftest.py +24 -2
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/support/builders.py +54 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_atomic_fast_io.py +2 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_command_example_linter.py +67 -2
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_docs_and_skill.py +10 -1
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_error_contracts.py +17 -3
- taskledger-0.6.1/tests/test_indexes.py +78 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_json_contracts.py +1 -1
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_ledgercore_compat.py +116 -11
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_ledgercore_dependency.py +16 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_plan_lint.py +76 -128
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_runtime_info.py +32 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_service_boundaries.py +99 -54
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_storage_migration.py +1 -1
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_sync_git.py +66 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_v2_cli.py +1 -1
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_validation_git_snapshot_recovery.py +124 -5
- taskledger-0.6.1/tests/test_workspace_snapshot.py +307 -0
- taskledger-0.6.0/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +0 -3
- taskledger-0.6.0/.releaseledger.toml +0 -42
- taskledger-0.6.0/setup.py +0 -6
- taskledger-0.6.0/taskledger/cli_runtime.py +0 -26
- taskledger-0.6.0/taskledger/storage/indexes.py +0 -50
- taskledger-0.6.0/taskledger.egg-info/scm_version.json +0 -8
- taskledger-0.6.0/tests/test_workspace_snapshot.py +0 -74
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/archive/records/building_blocks/block-0083.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/archive/records/concepts/concept-0081.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/archive/records/runtime/runtime-0076.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/archive/records/runtime/runtime-0084.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/document-state.json +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0001.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0002.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0003.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0004.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0005.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0006.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0007.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0008.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0009.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0010.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0011.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/profiles/arc42/sections/content-0012.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/building_blocks/block-0029.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/building_blocks/block-0030.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/building_blocks/block-0031.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/building_blocks/block-0032.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/building_blocks/block-0033.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/building_blocks/block-0034.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/concepts/concept-0040.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/concepts/concept-0041.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/concepts/concept-0042.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/concepts/concept-0043.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/concepts/concept-0044.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/concepts/concept-0045.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/concepts/concept-0082.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/concepts/concept-0085.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/concepts/concept-0086.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/constraints/constraint-0016.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/constraints/constraint-0017.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/constraints/constraint-0018.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/constraints/constraint-0019.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/contexts/context-0020.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/contexts/context-0021.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/contexts/context-0022.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/contexts/context-0023.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/decisions/adr-0046.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/decisions/adr-0047.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/decisions/adr-0048.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/decisions/adr-0049.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/decisions/adr-0050.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/decisions/adr-0051.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/deployment/deploy-0039.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0061.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0062.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0063.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0064.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0065.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0066.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0067.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0068.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0069.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0070.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0071.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0072.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/glossary/glossary-0073.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/quality_requirements/quality-0052.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/quality_requirements/quality-0053.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/quality_requirements/quality-0054.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/quality_requirements/quality-0055.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/quality_requirements/quality-0056.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/requirements/content-0013.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/requirements/content-0014.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/requirements/content-0015.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/risks/risk-0057.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/risks/risk-0058.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/risks/risk-0059.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/risks/risk-0060.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/runtime/runtime-0035.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/runtime/runtime-0036.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/runtime/runtime-0037.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/runtime/runtime-0038.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/runtime/runtime-0074.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/runtime/runtime-0075.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/runtime/runtime-0077.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/runtime/runtime-0078.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/runtime/runtime-0087.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/runtime/runtime-0088.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/stakeholders/content-0079.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/stakeholders/content-0080.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/strategy/strategy-0024.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/strategy/strategy-0025.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/strategy/strategy-0026.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/strategy/strategy-0027.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/records/strategy/strategy-0028.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/source-state.json +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger/storage.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.archledger.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.codecrate.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/docs/docs-api-md-9eddf4dc.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/docs/docs-architecture-taskledger-split-md-63034c0d.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/docs/docs-command-contract-md-abe6f6d9.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/docs/docs-full-task-cycle-md-721181f0.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/docs/docs-multi-repo-md-929e47a9.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/docs/docs-public-surface-md-c1b8772f.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/docs/docs-service-boundary-whitelist-md-800b76f5.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/docs/docs-sync-md-a29422f3.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/docs/docs-transfer-md-f8532303.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/docs/docs-usage-md-72376d0b.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/scan.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/source-index.json +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger/storage.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.documentledger.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.github/workflows/codecov.yml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.github/workflows/pre-commit.yml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.github/workflows/python-publish.yml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.github/workflows/tests.yml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.gitignore +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/ledger.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/.ledger-project.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/config.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/.ledger-project.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0001.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0002.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0003.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0004.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0005.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0006.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0007.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0008.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0009.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0010.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0011.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0012.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0013.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0014.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0015.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0016.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0017.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0018.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0019.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0020.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0021.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0022.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0023.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/release.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/releaseledger/write.lock +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/task/config.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/taskledger/.ledger-project.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ledger/taskledger/config.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.planledger.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.pre-commit-config.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.readthedocs.yaml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/.ruff.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/AGENTS.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/API.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/ARCHITECTURE.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/LICENSE +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/Makefile +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/Makefile +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/api.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/architecture_taskledger_split.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/build.sh +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/conf.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/documentation_freshness.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/multi_repo.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/public_surface.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/requirements.txt +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/docs/transfer.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/requirements/manifest.json +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/scripts/find_code_clones.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/setup.cfg +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specmason.toml +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/README.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/UNMAPPED_TESTS.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/evidence/.gitkeep +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/evidence/taskledger-test-feature-coverage.json +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/.gitkeep +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/active_task/active-task.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/actor_harness_state/actor-harness-state.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/actor_resolution/actor-resolution.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/agent_command_logging/agent-command-logging.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/agent_session_protocol/agent-session-protocol.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/atomic_fast_io/atomic-fast-io.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/cli_command_contract/cli-command-contract.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/cli_import_resilience/cli-import-resilience.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/code_reviews/code-reviews.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/command_example_linter/command-example-linter.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/command_inventory/command-inventory.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/command_runner/command-runner.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/compact_mutation_output/compact-mutation-output.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/config_cli/config-cli.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/delta_remaining_contracts/delta-remaining-contracts.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/docs_and_skill/docs-and-skill.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/doctor/doctor.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/domain_policies/domain-policies.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/event_logging_config/event-logging-config.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/events/events.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/file_link_snapshots/file-link-snapshots.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/find_code_clones_script/find-code-clones-script.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/handoff_lifecycle/handoff-lifecycle.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/help_subprocess/help-subprocess.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/implementation_change_scan/implementation-change-scan.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/implementation_checks/implementation-checks.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/json_contracts/json-contracts.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/legacy_cleanup_contracts/legacy-cleanup-contracts.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/lifecycle_policies/lifecycle-policies.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/lock_diagnostics/lock-diagnostics.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/locks_audit/locks-audit.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/models_v1_schema/models-v1-schema.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/monitor/monitor.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/next_action_expired_lock/next-action-expired-lock.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/no_log_feature/no-log-feature.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/plan_approval_contract/plan-approval-contract.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/plan_lint/plan-lint.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/plan_review/plan-review.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/plan_revision_workflow/plan-revision-workflow.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/plan_todo_materialization/plan-todo-materialization.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/project_root_config/project-root-config.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/question_add_many/question-add-many.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/question_filter_answers/question-filter-answers.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/question_plan_regeneration/question-plan-regeneration.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/ready_work/ready-work.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/release_changelog/release-changelog.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/search/search.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/service_boundaries/service-boundaries.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/services_dashboard/services-dashboard.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/sidecar_collections/sidecar-collections.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/storage_bundle_layout/storage-bundle-layout.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/storage_common/storage-common.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/storage_init/storage-init.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/storage_migration/storage-migration.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/storage_repos/storage-repos.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/storage_sync/storage-sync.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/sync_git/sync-git.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/task_archive/archive.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/task_events/events.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/task_markdown_export/markdown-export.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/task_report/report.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/taskledger_branch_scoped_ledgers/taskledger-branch-scoped-ledgers.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/taskledger_cli_api_parity/taskledger-cli-api-parity.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/taskledger_v2_cli/taskledger-v2-cli.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/taskledger_v2_exchange/taskledger-v2-exchange.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/tasks_service_static/tasks-service-static.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/todo_implementation_gate/todo-implementation-gate.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/trace/trace.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/tree_command/tree-command.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/usage_cli/usage-cli.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/worker_pipeline_cli/worker-pipeline-cli.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/worker_pipeline_config/worker-pipeline-config.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/worker_pipeline_context/worker-pipeline-context.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/worker_pipeline_handoff/worker-pipeline-handoff.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/worker_pipeline_plan_template/worker-pipeline-plan-template.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/worker_pipeline_todos/worker-pipeline-todos.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/features/workflow_guidance/workflow-guidance.feature +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/manifest.json +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/mappings/.gitkeep +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/mappings/intentional-unmapped.json +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/reports/specmason/.gitkeep +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/reports/specmason/coverage.json +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/reports/specmason/coverage.md +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/specs/behavior/reports/specmason/mappings.json +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/__init__.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/__main__.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/__init__.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/config.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/handoff.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/introductions.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/locks.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/plans.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/project.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/questions.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/releases.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/repair.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/reviews.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/search.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/storage.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/sync.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/task_runs.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/api/tasks.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_actor.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_archive.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_config.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_help.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_implement.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_ledger.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_migrate.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_misc.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_pipeline.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_question.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_ref.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_release.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_review.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_storage.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_sync.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_task.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_trace.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/cli_validate.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/command_inventory.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/compat/__init__.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/__init__.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/_model_utils.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/active_state.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/actor.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/change.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/check.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/event.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/handoff.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/lock.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/models.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/plan.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/policies.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/question.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/release.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/review.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/run.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/sidecars.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/domain/task.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/exchange.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/ids.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/launcher.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/migrations/__init__.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/migrations/hooks.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/py.typed +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/refs.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/search.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/__init__.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/actors.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/agent_logging.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/agent_transcripts.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/change_tracking.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/check_tracking.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/code_review.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/command_runner.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/dashboard.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/doctor_checks/migration_checks.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/doctor_checks/project_scan.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/doctor_checks/task_checks.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/event_logging.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/file_links.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/handoff.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/handoff_lifecycle.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/implementation_flow.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/lock_diagnostics.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/lock_inventory.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/monitor.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/navigation.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/next_action_logic.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/next_action_model.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/next_action_payload.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/phase5_lock_transfer.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/plan_editing.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/plan_hash.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/plan_input.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/plan_lint.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/plan_materialization.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/plan_review.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/ready_work.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/releases.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/run_store.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/storage_locations.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/storage_migration.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/task_archive.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/task_events.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/task_export.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/task_lifecycle.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/task_queries.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/task_repair.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/task_reports.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/trace.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/tree.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/usage.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/validation.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/validation_flow.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/worker_context.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/worker_pipeline.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/services/workflow_guidance.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/__init__.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/agent_logs.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/atomic.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/common.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/events.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/frontmatter.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/init.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/layout_migration.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/ledger_config.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/ledger_local_config.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/ledger_manifest.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/ledgercore_backend.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/locks.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/meta.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/migrations.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/paths.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/project_binding.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/project_config.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/project_context.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/project_identity.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/repos.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/sidecar_index.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/task_ids.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/task_index.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/taskledger_migration.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/toml_edit.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/worker_pipeline_config.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/storage/yaml_store.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger/timeutils.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger.egg-info/dependency_links.txt +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger.egg-info/entry_points.txt +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/taskledger.egg-info/top_level.txt +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/__init__.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/support/__init__.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/support/fake_command_runner.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_active_task.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_actor_harness_state.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_actor_resolution.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_agent_command_logging.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_agent_session_protocol.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_canonical_config_split.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_canonical_layout_migration.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_canonical_mount_paths.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_canonical_project_boundary.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_canonical_project_context.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_cli_command_contract.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_cli_import_resilience.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_cli_runner_compatibility.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_code_reviews.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_command_inventory.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_command_runner.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_compact_mutation_output.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_config_cli.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_delta_remaining_contracts.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_doctor.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_domain_policies.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_event_logging_config.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_events.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_file_link_snapshots.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_find_code_clones_script.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_handoff_lifecycle.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_help_subprocess.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_implementation_change_scan.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_implementation_checks.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_import_boundaries.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_ledger_manifest_mutation.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_legacy_cleanup_contracts.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_lifecycle_policies.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_lock_diagnostics.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_lock_inventory.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_locks_audit.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_models_v1_schema.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_monitor.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_next_action_expired_lock.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_no_log_feature.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_performance_caching.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_plan_approval_contract.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_plan_input.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_plan_input_cli.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_plan_review.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_plan_revision_workflow.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_plan_todo_materialization.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_project_root_config.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_question_add_many.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_question_filter_answers.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_question_plan_regeneration.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_ready_work.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_release_changelog.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_resource_refs.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_search.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_services_dashboard.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_shared_tool_ledger_storage.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_sidecar_collections.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_storage_bundle_layout.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_storage_common.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_storage_init.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_storage_migration_coordinator.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_storage_repos.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_storage_sync.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_storage_where_repair.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_storage_yaml_store.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_task_archive.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_task_events.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_task_ids.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_task_markdown_export.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_task_report.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_branch_scoped_ledgers.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_canonical_sync.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_cli_api_parity.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_ledgercore_050_adapter.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_ledgercore_050_context.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_ledgercore_050_migration_topology.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_ledgercore_050_sync.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_migration_v3.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_sibling_migration.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_sibling_storage.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_storage_commands_v3.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_taskledger_v2_exchange.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_tasks_service_static.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_todo_implementation_gate.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_trace.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_tree_command.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_usage_cli.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_worker_pipeline_cli.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_worker_pipeline_config.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_worker_pipeline_context.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_worker_pipeline_handoff.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_worker_pipeline_plan_template.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_worker_pipeline_todos.py +0 -0
- {taskledger-0.6.0 → taskledger-0.6.1}/tests/test_workflow_guidance.py +0 -0
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{"data":{"status":"planned"},"event":"release.created","event_id":"event-0001","record_revisions":{"release:v0.6.0":1},"release_version":"v0.6.0","schema_version":2}
|
|
2
|
+
{"data":{"entry_ids":["entry-0001","entry-0002","entry-0003","entry-0004","entry-0005","entry-0006","entry-0007","entry-0008","entry-0009","entry-0010","entry-0011","entry-0012","entry-0013","entry-0014","entry-0015","entry-0016","entry-0017","entry-0018","entry-0019","entry-0020","entry-0021","entry-0022","entry-0023"]},"event":"entry.batch_added","event_id":"event-0002","record_revisions":{"entry:v0.6.0/entry-0001":1,"entry:v0.6.0/entry-0002":1,"entry:v0.6.0/entry-0003":1,"entry:v0.6.0/entry-0004":1,"entry:v0.6.0/entry-0005":1,"entry:v0.6.0/entry-0006":1,"entry:v0.6.0/entry-0007":1,"entry:v0.6.0/entry-0008":1,"entry:v0.6.0/entry-0009":1,"entry:v0.6.0/entry-0010":1,"entry:v0.6.0/entry-0011":1,"entry:v0.6.0/entry-0012":1,"entry:v0.6.0/entry-0013":1,"entry:v0.6.0/entry-0014":1,"entry:v0.6.0/entry-0015":1,"entry:v0.6.0/entry-0016":1,"entry:v0.6.0/entry-0017":1,"entry:v0.6.0/entry-0018":1,"entry:v0.6.0/entry-0019":1,"entry:v0.6.0/entry-0020":1,"entry:v0.6.0/entry-0021":1,"entry:v0.6.0/entry-0022":1,"entry:v0.6.0/entry-0023":1,"release:v0.6.0":2},"release_version":"v0.6.0","schema_version":2}
|
|
3
|
+
{"data":{"released_at":"2026-07-28"},"event":"release.finalized","event_id":"event-0003","record_revisions":{"release:v0.6.0":3},"release_version":"v0.6.0","schema_version":2}
|
|
4
|
+
{"data":{"status":"planned"},"event":"release.created","event_id":"event-0004","record_revisions":{"release:v0.6.1":1},"release_version":"v0.6.1","schema_version":2}
|
|
5
|
+
{"data":{"kind":"changed","status":"accepted"},"entry_id":"entry-0001","event":"entry.added","event_id":"event-0005","record_revisions":{"entry:v0.6.1/entry-0001":1,"release:v0.6.1":2},"release_version":"v0.6.1","schema_version":2}
|
|
6
|
+
{"data":{"kind":"quality","status":"accepted"},"entry_id":"entry-0002","event":"entry.added","event_id":"event-0006","record_revisions":{"entry:v0.6.1/entry-0002":1,"release:v0.6.1":3},"release_version":"v0.6.1","schema_version":2}
|
|
7
|
+
{"data":{"kind":"fixed","status":"accepted"},"entry_id":"entry-0003","event":"entry.added","event_id":"event-0007","record_revisions":{"entry:v0.6.1/entry-0003":1,"release:v0.6.1":4},"release_version":"v0.6.1","schema_version":2}
|
|
8
|
+
{"data":{"kind":"added","status":"accepted"},"entry_id":"entry-0004","event":"entry.added","event_id":"event-0008","record_revisions":{"entry:v0.6.1/entry-0004":1,"release:v0.6.1":5},"release_version":"v0.6.1","schema_version":2}
|
|
9
|
+
{"data":{"kind":"added","status":"accepted"},"entry_id":"entry-0005","event":"entry.added","event_id":"event-0009","record_revisions":{"entry:v0.6.1/entry-0005":1,"release:v0.6.1":6},"release_version":"v0.6.1","schema_version":2}
|
|
10
|
+
{"data":{"added_source_refs":["git:c1d0982"],"fields":["source_refs"],"removed_source_refs":[],"source_refs_mode":"merge"},"entry_id":"entry-0003","event":"entry.updated","event_id":"event-0010","record_revisions":{"entry:v0.6.1/entry-0003":2},"release_version":"v0.6.1","schema_version":2}
|
|
11
|
+
{"data":{"added_source_refs":["git:c1d0982"],"fields":["source_refs"],"removed_source_refs":[],"source_refs_mode":"merge"},"entry_id":"entry-0005","event":"entry.updated","event_id":"event-0011","record_revisions":{"entry:v0.6.1/entry-0005":2},"release_version":"v0.6.1","schema_version":2}
|
|
12
|
+
{"data":{"added_source_refs":["git:94965d3"],"fields":["source_refs"],"removed_source_refs":[],"source_refs_mode":"merge"},"entry_id":"entry-0004","event":"entry.updated","event_id":"event-0012","record_revisions":{"entry:v0.6.1/entry-0004":2},"release_version":"v0.6.1","schema_version":2}
|
|
13
|
+
{"data":{"released_at":"2026-08-14"},"event":"release.finalized","event_id":"event-0013","record_revisions":{"release:v0.6.1":7},"release_version":"v0.6.1","schema_version":2}
|
taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0001.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
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: v0.6.1
|
|
9
|
+
kind: changed
|
|
10
|
+
summary: Ledgercore minimum version requirement updated to >=0.6.1
|
|
11
|
+
status: accepted
|
|
12
|
+
audience: null
|
|
13
|
+
scopes: []
|
|
14
|
+
source_refs:
|
|
15
|
+
- git:c1d0982
|
|
16
|
+
paths:
|
|
17
|
+
- taskledger/compat/ledgercore.py
|
|
18
|
+
issues: []
|
|
19
|
+
prs: []
|
|
20
|
+
sources: []
|
|
21
|
+
contributors: []
|
|
22
|
+
breaking: false
|
|
23
|
+
internal: false
|
|
24
|
+
order: 1
|
|
25
|
+
---
|
taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0002.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
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: v0.6.1
|
|
9
|
+
kind: quality
|
|
10
|
+
summary: Test suite performance improvements with atomic fast I/O and focused fixtures
|
|
11
|
+
status: accepted
|
|
12
|
+
audience: null
|
|
13
|
+
scopes: []
|
|
14
|
+
source_refs:
|
|
15
|
+
- git:94965d3
|
|
16
|
+
paths:
|
|
17
|
+
- tests/conftest.py
|
|
18
|
+
issues: []
|
|
19
|
+
prs: []
|
|
20
|
+
sources: []
|
|
21
|
+
contributors: []
|
|
22
|
+
breaking: false
|
|
23
|
+
internal: false
|
|
24
|
+
order: 2
|
|
25
|
+
---
|
taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0003.md
ADDED
|
@@ -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-0003
|
|
8
|
+
release_version: v0.6.1
|
|
9
|
+
kind: fixed
|
|
10
|
+
summary:
|
|
11
|
+
Workspace snapshot hash exclusions now resolve Taskledger state roots relative
|
|
12
|
+
to the Git root
|
|
13
|
+
status: accepted
|
|
14
|
+
audience: null
|
|
15
|
+
scopes: []
|
|
16
|
+
source_refs:
|
|
17
|
+
- git:c1d0982
|
|
18
|
+
paths:
|
|
19
|
+
- taskledger/services/workspace_snapshot.py
|
|
20
|
+
issues: []
|
|
21
|
+
prs: []
|
|
22
|
+
sources: []
|
|
23
|
+
contributors: []
|
|
24
|
+
breaking: false
|
|
25
|
+
internal: false
|
|
26
|
+
order: 3
|
|
27
|
+
---
|
taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0004.md
ADDED
|
@@ -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: v0.6.1
|
|
9
|
+
kind: added
|
|
10
|
+
summary: Atomic index update functions for dependency and introduction indexes
|
|
11
|
+
status: accepted
|
|
12
|
+
audience: null
|
|
13
|
+
scopes: []
|
|
14
|
+
source_refs:
|
|
15
|
+
- git:94965d3
|
|
16
|
+
paths:
|
|
17
|
+
- taskledger/storage/indexes.py
|
|
18
|
+
issues: []
|
|
19
|
+
prs: []
|
|
20
|
+
sources: []
|
|
21
|
+
contributors: []
|
|
22
|
+
breaking: false
|
|
23
|
+
internal: false
|
|
24
|
+
order: 4
|
|
25
|
+
---
|
taskledger-0.6.1/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0005.md
ADDED
|
@@ -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: v0.6.1
|
|
9
|
+
kind: added
|
|
10
|
+
summary: Ledgercore version inspection with module and distribution provenance tracking
|
|
11
|
+
status: accepted
|
|
12
|
+
audience: null
|
|
13
|
+
scopes: []
|
|
14
|
+
source_refs:
|
|
15
|
+
- git:c1d0982
|
|
16
|
+
paths:
|
|
17
|
+
- taskledger/compat/ledgercore.py
|
|
18
|
+
issues: []
|
|
19
|
+
prs: []
|
|
20
|
+
sources: []
|
|
21
|
+
contributors: []
|
|
22
|
+
breaking: false
|
|
23
|
+
internal: false
|
|
24
|
+
order: 5
|
|
25
|
+
---
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
---
|
|
2
|
+
schema_version: 2
|
|
3
|
+
object_type: release
|
|
4
|
+
versioning:
|
|
5
|
+
schema_version: 1
|
|
6
|
+
revision: 7
|
|
7
|
+
version: v0.6.1
|
|
8
|
+
status: released
|
|
9
|
+
title: Release v0.6.1
|
|
10
|
+
released_at: "2026-08-14"
|
|
11
|
+
previous_version: v0.6.0
|
|
12
|
+
cancel_reason: null
|
|
13
|
+
superseded_by: null
|
|
14
|
+
changelog_file: null
|
|
15
|
+
boundary_ref: null
|
|
16
|
+
source_refs: []
|
|
17
|
+
source_count: null
|
|
18
|
+
entry_count: 5
|
|
19
|
+
artifact_count: 0
|
|
20
|
+
git_base_ref: null
|
|
21
|
+
git_base_sha: null
|
|
22
|
+
git_head_ref: null
|
|
23
|
+
git_head_sha: null
|
|
24
|
+
git_range: null
|
|
25
|
+
git_commit_count: null
|
|
26
|
+
---
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: taskledger
|
|
3
|
-
Version: 0.6.
|
|
3
|
+
Version: 0.6.1
|
|
4
4
|
Summary: Durable project-state storage and CLI for coding workflows
|
|
5
5
|
Author: Taskledger Contributors
|
|
6
6
|
Maintainer: Holger Nahrstaedt
|
|
@@ -29,6 +29,7 @@ License-File: LICENSE
|
|
|
29
29
|
Requires-Dist: typer
|
|
30
30
|
Requires-Dist: click
|
|
31
31
|
Requires-Dist: PyYAML
|
|
32
|
+
Requires-Dist: packaging<26,>=23
|
|
32
33
|
Requires-Dist: ledgercore<0.7.0,>=0.6.1
|
|
33
34
|
Requires-Dist: tomlkit<1,>=0.13
|
|
34
35
|
Requires-Dist: filelock<4,>=3.16
|
|
@@ -152,8 +153,9 @@ taskledger validate check --criterion ac-0001 --status pass --evidence "pytest t
|
|
|
152
153
|
## Planning guidance profiles
|
|
153
154
|
|
|
154
155
|
Taskledger supports project-local advisory planning guidance under
|
|
155
|
-
`[prompt_profiles.planning]` in the active project config file
|
|
156
|
-
|
|
156
|
+
`[prompt_profiles.planning]` in the active project config file
|
|
157
|
+
(`.ledger/taskledger/config.toml`). Legacy `taskledger.toml` and
|
|
158
|
+
`.taskledger.toml` projects remain readable only for explicit migration.
|
|
157
159
|
|
|
158
160
|
```toml
|
|
159
161
|
[prompt_profiles.planning]
|
|
@@ -193,7 +195,8 @@ taskledger config set prompt_profiles.planning.question_policy always_before_pla
|
|
|
193
195
|
|
|
194
196
|
## Optional worker pipelines
|
|
195
197
|
|
|
196
|
-
Projects may optionally configure worker pipelines in
|
|
198
|
+
Projects may optionally configure worker pipelines in
|
|
199
|
+
`.ledger/taskledger/config.toml` to guide
|
|
197
200
|
fresh-context handoffs. Worker pipelines are advisory overlays on the existing
|
|
198
201
|
planning, implementation, and validation lifecycle. They can be three steps,
|
|
199
202
|
four steps, five steps, or custom. When no worker pipeline is configured, the
|
|
@@ -309,7 +312,7 @@ taskledger --root /path/to/repo init
|
|
|
309
312
|
|
|
310
313
|
`init` writes a schema-3 `.ledger/ledger.toml` manifest and
|
|
311
314
|
`.ledger/taskledger/config.toml`. Default data is external at `../ledger`; indexes
|
|
312
|
-
are cache storage. Use `storage set data user-data --local` for a local override.
|
|
315
|
+
are cache storage. Use `storage set data user-data --scope local` for a local override.
|
|
313
316
|
|
|
314
317
|
Canonical discovery is fail-closed. Once `.ledger/ledger.toml` is found,
|
|
315
318
|
Taskledger never falls back to a root `taskledger.toml`, `.taskledger.toml`, or
|
|
@@ -535,8 +538,11 @@ fresh-context transfer.
|
|
|
535
538
|
|
|
536
539
|
## Legacy storage layout
|
|
537
540
|
|
|
538
|
-
|
|
539
|
-
|
|
541
|
+
### Legacy branch-scoped layout (migration only)
|
|
542
|
+
|
|
543
|
+
The following layout applies only to legacy projects without a canonical
|
|
544
|
+
`.ledger/ledger.toml` manifest. New projects use the canonical Ledgercore
|
|
545
|
+
layout described below. In legacy projects, checked-in `taskledger.toml`
|
|
540
546
|
stores project identity plus the current branch-scoped ledger pointer and next
|
|
541
547
|
task number. Operational task state remains ignored under
|
|
542
548
|
`.taskledger/ledgers/<ledger_ref>/`:
|
|
@@ -650,7 +656,7 @@ Syncthing/rclone caveats.
|
|
|
650
656
|
Use `--json` for machine-readable payloads:
|
|
651
657
|
|
|
652
658
|
```bash
|
|
653
|
-
taskledger --json
|
|
659
|
+
taskledger --json info
|
|
654
660
|
taskledger --json task active
|
|
655
661
|
taskledger --json task show
|
|
656
662
|
taskledger --json task show task-0001
|
|
@@ -662,13 +668,13 @@ Example status payload:
|
|
|
662
668
|
```json
|
|
663
669
|
{
|
|
664
670
|
"ok": true,
|
|
665
|
-
"command": "
|
|
671
|
+
"command": "info",
|
|
666
672
|
"result": {
|
|
667
673
|
"kind": "taskledger_status",
|
|
668
674
|
"workspace_root": "/home/me/src/project-a",
|
|
669
|
-
"config_path": "/home/me/src/project-a/taskledger.toml",
|
|
670
|
-
"taskledger_dir": "/home/me/src/project-a/.taskledger",
|
|
671
|
-
"project_dir": "/home/me/src/project-a/.taskledger",
|
|
675
|
+
"config_path": "/home/me/src/project-a/.ledger/taskledger/config.toml",
|
|
676
|
+
"taskledger_dir": "/home/me/src/project-a/.ledger/taskledger",
|
|
677
|
+
"project_dir": "/home/me/src/project-a/.ledger/taskledger",
|
|
672
678
|
"counts": {
|
|
673
679
|
"tasks": 1,
|
|
674
680
|
"introductions": 0,
|
|
@@ -692,7 +698,7 @@ Action/event logging is **enabled by default**. Taskledger writes immutable
|
|
|
692
698
|
todo completion, validation checks, etc.) so `taskledger monitor` shows recent
|
|
693
699
|
activity without extra configuration.
|
|
694
700
|
|
|
695
|
-
To disable new action events, set in
|
|
701
|
+
To disable new action events, set in `.ledger/taskledger/config.toml`:
|
|
696
702
|
|
|
697
703
|
```toml
|
|
698
704
|
[event_logging]
|
|
@@ -798,7 +804,8 @@ taskledger-export-{project_slug}-{ledger_ref}-{timestamp}.tar.gz
|
|
|
798
804
|
taskledger-task-{project_slug}-{ledger_ref}-{task_id}-{timestamp}.tar.gz
|
|
799
805
|
```
|
|
800
806
|
|
|
801
|
-
`project_slug` is derived from `project_name` in
|
|
807
|
+
`project_slug` is derived from `project_name` in
|
|
808
|
+
`.ledger/taskledger/config.toml`. If
|
|
802
809
|
`project_name` is missing, taskledger falls back to the workspace directory name.
|
|
803
810
|
Import safety still relies on `project_uuid`, not the name/slug.
|
|
804
811
|
|
|
@@ -100,8 +100,9 @@ taskledger validate check --criterion ac-0001 --status pass --evidence "pytest t
|
|
|
100
100
|
## Planning guidance profiles
|
|
101
101
|
|
|
102
102
|
Taskledger supports project-local advisory planning guidance under
|
|
103
|
-
`[prompt_profiles.planning]` in the active project config file
|
|
104
|
-
|
|
103
|
+
`[prompt_profiles.planning]` in the active project config file
|
|
104
|
+
(`.ledger/taskledger/config.toml`). Legacy `taskledger.toml` and
|
|
105
|
+
`.taskledger.toml` projects remain readable only for explicit migration.
|
|
105
106
|
|
|
106
107
|
```toml
|
|
107
108
|
[prompt_profiles.planning]
|
|
@@ -141,7 +142,8 @@ taskledger config set prompt_profiles.planning.question_policy always_before_pla
|
|
|
141
142
|
|
|
142
143
|
## Optional worker pipelines
|
|
143
144
|
|
|
144
|
-
Projects may optionally configure worker pipelines in
|
|
145
|
+
Projects may optionally configure worker pipelines in
|
|
146
|
+
`.ledger/taskledger/config.toml` to guide
|
|
145
147
|
fresh-context handoffs. Worker pipelines are advisory overlays on the existing
|
|
146
148
|
planning, implementation, and validation lifecycle. They can be three steps,
|
|
147
149
|
four steps, five steps, or custom. When no worker pipeline is configured, the
|
|
@@ -257,7 +259,7 @@ taskledger --root /path/to/repo init
|
|
|
257
259
|
|
|
258
260
|
`init` writes a schema-3 `.ledger/ledger.toml` manifest and
|
|
259
261
|
`.ledger/taskledger/config.toml`. Default data is external at `../ledger`; indexes
|
|
260
|
-
are cache storage. Use `storage set data user-data --local` for a local override.
|
|
262
|
+
are cache storage. Use `storage set data user-data --scope local` for a local override.
|
|
261
263
|
|
|
262
264
|
Canonical discovery is fail-closed. Once `.ledger/ledger.toml` is found,
|
|
263
265
|
Taskledger never falls back to a root `taskledger.toml`, `.taskledger.toml`, or
|
|
@@ -483,8 +485,11 @@ fresh-context transfer.
|
|
|
483
485
|
|
|
484
486
|
## Legacy storage layout
|
|
485
487
|
|
|
486
|
-
|
|
487
|
-
|
|
488
|
+
### Legacy branch-scoped layout (migration only)
|
|
489
|
+
|
|
490
|
+
The following layout applies only to legacy projects without a canonical
|
|
491
|
+
`.ledger/ledger.toml` manifest. New projects use the canonical Ledgercore
|
|
492
|
+
layout described below. In legacy projects, checked-in `taskledger.toml`
|
|
488
493
|
stores project identity plus the current branch-scoped ledger pointer and next
|
|
489
494
|
task number. Operational task state remains ignored under
|
|
490
495
|
`.taskledger/ledgers/<ledger_ref>/`:
|
|
@@ -598,7 +603,7 @@ Syncthing/rclone caveats.
|
|
|
598
603
|
Use `--json` for machine-readable payloads:
|
|
599
604
|
|
|
600
605
|
```bash
|
|
601
|
-
taskledger --json
|
|
606
|
+
taskledger --json info
|
|
602
607
|
taskledger --json task active
|
|
603
608
|
taskledger --json task show
|
|
604
609
|
taskledger --json task show task-0001
|
|
@@ -610,13 +615,13 @@ Example status payload:
|
|
|
610
615
|
```json
|
|
611
616
|
{
|
|
612
617
|
"ok": true,
|
|
613
|
-
"command": "
|
|
618
|
+
"command": "info",
|
|
614
619
|
"result": {
|
|
615
620
|
"kind": "taskledger_status",
|
|
616
621
|
"workspace_root": "/home/me/src/project-a",
|
|
617
|
-
"config_path": "/home/me/src/project-a/taskledger.toml",
|
|
618
|
-
"taskledger_dir": "/home/me/src/project-a/.taskledger",
|
|
619
|
-
"project_dir": "/home/me/src/project-a/.taskledger",
|
|
622
|
+
"config_path": "/home/me/src/project-a/.ledger/taskledger/config.toml",
|
|
623
|
+
"taskledger_dir": "/home/me/src/project-a/.ledger/taskledger",
|
|
624
|
+
"project_dir": "/home/me/src/project-a/.ledger/taskledger",
|
|
620
625
|
"counts": {
|
|
621
626
|
"tasks": 1,
|
|
622
627
|
"introductions": 0,
|
|
@@ -640,7 +645,7 @@ Action/event logging is **enabled by default**. Taskledger writes immutable
|
|
|
640
645
|
todo completion, validation checks, etc.) so `taskledger monitor` shows recent
|
|
641
646
|
activity without extra configuration.
|
|
642
647
|
|
|
643
|
-
To disable new action events, set in
|
|
648
|
+
To disable new action events, set in `.ledger/taskledger/config.toml`:
|
|
644
649
|
|
|
645
650
|
```toml
|
|
646
651
|
[event_logging]
|
|
@@ -746,7 +751,8 @@ taskledger-export-{project_slug}-{ledger_ref}-{timestamp}.tar.gz
|
|
|
746
751
|
taskledger-task-{project_slug}-{ledger_ref}-{task_id}-{timestamp}.tar.gz
|
|
747
752
|
```
|
|
748
753
|
|
|
749
|
-
`project_slug` is derived from `project_name` in
|
|
754
|
+
`project_slug` is derived from `project_name` in
|
|
755
|
+
`.ledger/taskledger/config.toml`. If
|
|
750
756
|
`project_name` is missing, taskledger falls back to the workspace directory name.
|
|
751
757
|
Import safety still relies on `project_uuid`, not the name/slug.
|
|
752
758
|
|
|
@@ -2,6 +2,27 @@
|
|
|
2
2
|
|
|
3
3
|
> **Generated by releaseledger.** Manual edits may be overwritten. Update releaseledger entries and rebuild this file instead.
|
|
4
4
|
|
|
5
|
+
## [v0.6.1] - 2026-08-14
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- Atomic index update functions for dependency and introduction indexes
|
|
10
|
+
- Ledgercore version inspection with module and distribution provenance tracking
|
|
11
|
+
|
|
12
|
+
### Changed
|
|
13
|
+
|
|
14
|
+
- Ledgercore minimum version requirement updated to >=0.6.1
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- Workspace snapshot hash exclusions now resolve Taskledger state roots relative to the Git root
|
|
19
|
+
|
|
20
|
+
### Quality
|
|
21
|
+
|
|
22
|
+
- Test suite performance improvements with atomic fast I/O and focused fixtures
|
|
23
|
+
|
|
24
|
+
<!-- generated by releaseledger -->
|
|
25
|
+
|
|
5
26
|
## [v0.6.0] - 2026-07-28
|
|
6
27
|
|
|
7
28
|
### Added
|
|
@@ -257,9 +257,10 @@ Taskledger does not provide changelog entry, changelog context, or
|
|
|
257
257
|
[docs/changelog.md](changelog.md) build commands; those belong to the separate `releaseledger`
|
|
258
258
|
tool. Load both skills when cross-ledger release notes need task context.
|
|
259
259
|
|
|
260
|
-
##
|
|
260
|
+
## Legacy branch-scoped ledger commands (migration only)
|
|
261
261
|
|
|
262
|
-
|
|
262
|
+
In legacy projects without a canonical manifest, branch-scoped ledgers isolate
|
|
263
|
+
ignored local task state by the checked-in
|
|
263
264
|
`ledger_ref` stored in `taskledger.toml`:
|
|
264
265
|
|
|
265
266
|
```bash
|
|
@@ -305,7 +306,7 @@ Rules:
|
|
|
305
306
|
- `storage where` is read-only and reports the resolved workspace root,
|
|
306
307
|
config path, `taskledger_dir`, project identity, ledger ref, Git detection,
|
|
307
308
|
and active lock count.
|
|
308
|
-
- `storage move` updates `taskledger.toml` atomically after the target has
|
|
309
|
+
- In legacy projects, `storage move` updates `taskledger.toml` atomically after the target has
|
|
309
310
|
been copied or explicitly adopted.
|
|
310
311
|
- `sync preflight` performs only local checks. It must not perform network
|
|
311
312
|
push/pull operations.
|
|
@@ -18,7 +18,7 @@ Run this once per workspace:
|
|
|
18
18
|
```bash
|
|
19
19
|
taskledger init
|
|
20
20
|
taskledger doctor
|
|
21
|
-
taskledger
|
|
21
|
+
taskledger info
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
`init` writes a schema-3 `.ledger/ledger.toml` registration and
|
|
@@ -287,7 +287,7 @@ taskledger task close --note "Fixed parser delimiter handling and validated pars
|
|
|
287
287
|
taskledger release tag 0.4.2 --at-task parser-fix --note "0.4.2 released."
|
|
288
288
|
taskledger task show
|
|
289
289
|
taskledger task show parser-fix
|
|
290
|
-
taskledger
|
|
290
|
+
taskledger info
|
|
291
291
|
taskledger doctor
|
|
292
292
|
```
|
|
293
293
|
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# Release checklist
|
|
2
|
+
|
|
3
|
+
Build Taskledger from the intended release tag or commit in a clean
|
|
4
|
+
environment. The artifact version must agree across package metadata, the
|
|
5
|
+
imported module, and the CLI before publishing.
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
python -m build
|
|
9
|
+
python -m twine check dist/*
|
|
10
|
+
python -m pip install --force-reinstall dist/taskledger-0.6.1-*.whl
|
|
11
|
+
taskledger --version
|
|
12
|
+
python -c 'import taskledger; print(taskledger.__version__)'
|
|
13
|
+
python -c 'from importlib.metadata import version; print(version("taskledger"))'
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
The clean environment must contain Ledgercore 0.6.1, and all three version
|
|
17
|
+
checks must report `0.6.1`. Confirm that the wheel contains `taskledger/py.typed`
|
|
18
|
+
and required runtime package files. Run the full test, lint, type, Sphinx,
|
|
19
|
+
Documentledger, and SpecMason gates before changing release metadata or
|
|
20
|
+
publishing artifacts.
|
|
@@ -114,7 +114,12 @@ Current sanctioned imports:
|
|
|
114
114
|
## Catch-all exception whitelist (`except Exception`)
|
|
115
115
|
|
|
116
116
|
Current allowed sites are listed with reasons in
|
|
117
|
-
`tests/test_service_boundaries.py` under `EXCEPT_EXCEPTION_WHITELIST`.
|
|
117
|
+
`tests/test_service_boundaries.py` under `EXCEPT_EXCEPTION_WHITELIST`. Each
|
|
118
|
+
catch-all key uses the stable form
|
|
119
|
+
`path::qualified_function:except-N`, where `N` is the ordinal of the
|
|
120
|
+
catch-all handler within that function. It intentionally does not use source
|
|
121
|
+
line numbers, so unrelated edits above an approved handler do not create
|
|
122
|
+
policy churn.
|
|
118
123
|
|
|
119
124
|
The reviewed resilience sites include storage validation, migration command
|
|
120
125
|
and hook handling, and project-config parsing boundaries listed in the test
|
|
@@ -125,3 +130,5 @@ Policy intent:
|
|
|
125
130
|
- Allow catch-all handling only in doctor/repair and resilience wrappers.
|
|
126
131
|
- Block new catch-all sites unless explicitly reviewed and justified.
|
|
127
132
|
- Require whitelist edits to be intentional and reasoned.
|
|
133
|
+
- Fail when a new handler is added, an approved handler disappears, or a
|
|
134
|
+
function gains another catch-all handler.
|
|
@@ -22,7 +22,8 @@ taskledger init
|
|
|
22
22
|
taskledger storage where
|
|
23
23
|
taskledger storage path data
|
|
24
24
|
taskledger storage path indexes
|
|
25
|
-
taskledger storage set data user-data --local
|
|
25
|
+
taskledger storage set data user-data --scope local
|
|
26
|
+
# Use `taskledger migrate` for data relocation; `storage set` changes topology only.
|
|
26
27
|
```
|
|
27
28
|
|
|
28
29
|
The project UUID and Ledgercore binding keep shared projects isolated.
|
|
@@ -49,7 +50,7 @@ git clone <source-repo-url> project-a
|
|
|
49
50
|
git clone <private-state-repo-url> taskledger-state
|
|
50
51
|
|
|
51
52
|
cd project-a
|
|
52
|
-
taskledger
|
|
53
|
+
taskledger info
|
|
53
54
|
taskledger doctor
|
|
54
55
|
taskledger task list
|
|
55
56
|
```
|
|
@@ -68,7 +68,7 @@ registrations and the legacy source remain in place by default. Metadata-only ta
|
|
|
68
68
|
are backed up and replaced atomically; authoritative split-brain targets are blocked.
|
|
69
69
|
Do not create bindings or copy task directories manually.
|
|
70
70
|
|
|
71
|
-
##
|
|
71
|
+
## Legacy branch-local task work (migration only)
|
|
72
72
|
|
|
73
73
|
When creating a long-lived Git branch, fork the Taskledger ledger pointer so
|
|
74
74
|
active task state, plans, todos, events, indexes, and releases stay isolated
|
|
@@ -120,10 +120,9 @@ taskledger validate check --criterion ac-0001 --status pass --evidence "pytest t
|
|
|
120
120
|
|
|
121
121
|
Taskledger always provides built-in planning guidance via `taskledger plan guidance`.
|
|
122
122
|
Project-local advisory guidance can extend this with project-specific advice. Configure
|
|
123
|
-
it in
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
first.
|
|
123
|
+
it in `.ledger/taskledger/config.toml` for canonical projects. Legacy
|
|
124
|
+
`taskledger.toml` and `.taskledger.toml` files remain readable only during
|
|
125
|
+
explicit migration.
|
|
127
126
|
|
|
128
127
|
Configure `[prompt_profiles.planning]` in that active config:
|
|
129
128
|
|
|
@@ -200,7 +199,8 @@ harness instructions.
|
|
|
200
199
|
|
|
201
200
|
## Optional worker pipelines
|
|
202
201
|
|
|
203
|
-
Projects may optionally configure worker pipelines in
|
|
202
|
+
Projects may optionally configure worker pipelines in
|
|
203
|
+
`.ledger/taskledger/config.toml` to
|
|
204
204
|
guide fresh-context handoffs without changing the underlying task lifecycle.
|
|
205
205
|
Worker pipelines are advisory overlays on the existing planning,
|
|
206
206
|
implementation, and validation lifecycle. They can be three steps, four steps,
|
|
@@ -515,7 +515,7 @@ documentation updates, or follow-up implementation work.
|
|
|
515
515
|
|
|
516
516
|
```bash
|
|
517
517
|
taskledger task export task-0030 -o task-0030.llm.md
|
|
518
|
-
taskledger task export task-0030
|
|
518
|
+
taskledger task export task-0030 -o task-0030.records.md
|
|
519
519
|
taskledger task export task-0030 --source-file README.md -o task-0030.llm.md
|
|
520
520
|
taskledger --json task export task-0030 -o task-0030.llm.md
|
|
521
521
|
```
|
|
@@ -592,7 +592,7 @@ taskledger implement command -- ruff check --config=.ruff.toml .
|
|
|
592
592
|
taskledger implement command --allow-failure -- python -c "raise SystemExit(7)"
|
|
593
593
|
```
|
|
594
594
|
|
|
595
|
-
When `[agent_logging].enabled = true` in
|
|
595
|
+
When `[agent_logging].enabled = true` in `.ledger/taskledger/config.toml`, `taskledger`
|
|
596
596
|
records CLI invocations and managed command outputs. Keep logging opt-in because
|
|
597
597
|
stdout/stderr may contain sensitive data. Route task-relevant commands through
|
|
598
598
|
`plan command` and `implement command` so their output is included in task
|
|
@@ -643,7 +643,7 @@ taskledger implement restart --summary "Fix failed validation findings."
|
|
|
643
643
|
## Machine-readable output
|
|
644
644
|
|
|
645
645
|
```bash
|
|
646
|
-
taskledger --json
|
|
646
|
+
taskledger --json info
|
|
647
647
|
taskledger --json task active
|
|
648
648
|
taskledger --json task show
|
|
649
649
|
taskledger --json task show task-0001
|
|
@@ -656,11 +656,11 @@ taskledger --json review list --task task-0001
|
|
|
656
656
|
"ok": true,
|
|
657
657
|
"command": "status",
|
|
658
658
|
"result": {
|
|
659
|
-
"kind": "
|
|
659
|
+
"kind": "taskledger_info",
|
|
660
660
|
"workspace_root": "/workspace",
|
|
661
|
-
"config_path": "/workspace/taskledger.toml",
|
|
662
|
-
"taskledger_dir": "/workspace/.taskledger",
|
|
663
|
-
"project_dir": "/workspace/.taskledger",
|
|
661
|
+
"config_path": "/workspace/.ledger/taskledger/config.toml",
|
|
662
|
+
"taskledger_dir": "/workspace/.ledger/taskledger",
|
|
663
|
+
"project_dir": "/workspace/.ledger/taskledger",
|
|
664
664
|
"counts": {
|
|
665
665
|
"tasks": 1,
|
|
666
666
|
"introductions": 0,
|
|
@@ -686,7 +686,8 @@ taskledger init
|
|
|
686
686
|
taskledger storage where
|
|
687
687
|
taskledger storage path data
|
|
688
688
|
taskledger storage path indexes
|
|
689
|
-
taskledger storage set data user-data --local
|
|
689
|
+
taskledger storage set data user-data --scope local
|
|
690
|
+
# Use `taskledger migrate` for data relocation; `storage set` changes topology only.
|
|
690
691
|
```
|
|
691
692
|
|
|
692
693
|
Default data is external at `../ledger`; indexes are checkout-specific cache data.
|
|
@@ -738,7 +739,7 @@ taskledger-export-{project_slug}-{ledger_ref}-{timestamp}.tar.gz
|
|
|
738
739
|
taskledger-task-{project_slug}-{ledger_ref}-{task_id}-{timestamp}.tar.gz
|
|
739
740
|
```
|
|
740
741
|
|
|
741
|
-
`project_slug` is derived from `project_name` in
|
|
742
|
+
`project_slug` is derived from `project_name` in `.ledger/taskledger/config.toml`.
|
|
742
743
|
If unset, taskledger falls back to the workspace directory name.
|
|
743
744
|
UUID safety checks still use `project_uuid` only.
|
|
744
745
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["setuptools>=
|
|
2
|
+
requires = ["setuptools>=69", "wheel", "setuptools_scm[toml]>=8.0"]
|
|
3
3
|
build-backend = "setuptools.build_meta"
|
|
4
4
|
|
|
5
5
|
[tool.setuptools.packages.find]
|
|
@@ -22,6 +22,7 @@ markers = [
|
|
|
22
22
|
"slow: intentionally slower than normal unit tests",
|
|
23
23
|
"subprocess: starts a child process or managed shell command",
|
|
24
24
|
"git: shells out to git or requires a git repository",
|
|
25
|
+
"durable_io: verifies real flush/fsync/replace durability behavior",
|
|
25
26
|
]
|
|
26
27
|
|
|
27
28
|
[project]
|
|
@@ -37,6 +38,7 @@ dependencies = [
|
|
|
37
38
|
"typer",
|
|
38
39
|
"click",
|
|
39
40
|
"PyYAML",
|
|
41
|
+
"packaging>=23,<26",
|
|
40
42
|
"ledgercore>=0.6.1,<0.7.0",
|
|
41
43
|
"tomlkit>=0.13,<1",
|
|
42
44
|
"filelock>=3.16,<4",
|
|
@@ -114,6 +116,27 @@ deps =
|
|
|
114
116
|
pytest-xdist
|
|
115
117
|
commands =
|
|
116
118
|
pytest -q -n auto --dist=worksteal {posargs}
|
|
119
|
+
|
|
120
|
+
[testenv:test-fast]
|
|
121
|
+
deps =
|
|
122
|
+
pytest
|
|
123
|
+
pytest-xdist
|
|
124
|
+
commands =
|
|
125
|
+
pytest -q -m 'unit and not slow' -n auto --dist=worksteal {posargs}
|
|
126
|
+
|
|
127
|
+
[testenv:test-standard]
|
|
128
|
+
deps =
|
|
129
|
+
pytest
|
|
130
|
+
pytest-xdist
|
|
131
|
+
commands =
|
|
132
|
+
pytest -q -m 'not git and not subprocess and not slow' \
|
|
133
|
+
-n auto --dist=worksteal {posargs}
|
|
134
|
+
|
|
135
|
+
[testenv:test-durable]
|
|
136
|
+
deps =
|
|
137
|
+
pytest
|
|
138
|
+
commands =
|
|
139
|
+
pytest -q -m 'durable_io' {posargs}
|
|
117
140
|
"""
|
|
118
141
|
|
|
119
142
|
[tool.mypy]
|