taskledger 0.6.2__tar.gz → 0.6.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (587) hide show
  1. {taskledger-0.6.2 → taskledger-0.6.4}/.github/workflows/pre-commit.yml +1 -1
  2. taskledger-0.6.2/.archledger.toml → taskledger-0.6.4/.ledger/archledger/.archledger-migration-20260821T090309Z/config.toml +5 -11
  3. taskledger-0.6.4/.ledger/archledger/.ledger-project.toml +6 -0
  4. taskledger-0.6.4/.ledger/archledger/config.toml +115 -0
  5. taskledger-0.6.4/.ledger/archledger/data/.ledger-project.toml +6 -0
  6. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/document-state.json +2 -2
  7. taskledger-0.6.4/.ledger/archledger/data/migrations/20260821T090309Z-ledgercore-0.4-repository-storage.json +118 -0
  8. taskledger-0.6.4/.ledger/archledger/data/migrations/migration-cbe21be3f9dc3db4b03f6366.json +14 -0
  9. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0001.md +9 -3
  10. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0002.md +5 -5
  11. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0003.md +2 -2
  12. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0004.md +6 -6
  13. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0007.md +2 -2
  14. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0012.md +2 -2
  15. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/building_blocks/block-0029.md +2 -2
  16. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/concepts/concept-0082.md +3 -2
  17. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/concepts/concept-0085.md +5 -3
  18. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/concepts/concept-0086.md +5 -3
  19. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/strategy/strategy-0024.md +14 -4
  20. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/strategy/strategy-0025.md +10 -4
  21. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/strategy/strategy-0026.md +8 -3
  22. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/strategy/strategy-0027.md +8 -3
  23. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/strategy/strategy-0028.md +8 -4
  24. taskledger-0.6.4/.ledger/archledger/data/source-state.json +1186 -0
  25. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/storage.yaml +2 -2
  26. taskledger-0.6.4/.ledger/archledger/migrations/migration-66baa70bad8a0bb5ae852133.json +106 -0
  27. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/ledger.toml +3 -0
  28. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/events/events.jsonl +12 -0
  29. taskledger-0.6.4/.ledger/releaseledger/data/ledgers/main/releases/v0.6.3/audit/commit-audit.yaml +135 -0
  30. taskledger-0.6.4/.ledger/releaseledger/data/ledgers/main/releases/v0.6.3/entries/entry-0001.md +40 -0
  31. taskledger-0.6.4/.ledger/releaseledger/data/ledgers/main/releases/v0.6.3/release.md +26 -0
  32. taskledger-0.6.4/.ledger/releaseledger/data/ledgers/main/releases/v0.6.4/audit/commit-audit.yaml +323 -0
  33. taskledger-0.6.4/.ledger/releaseledger/data/ledgers/main/releases/v0.6.4/entries/entry-0001.md +35 -0
  34. taskledger-0.6.4/.ledger/releaseledger/data/ledgers/main/releases/v0.6.4/entries/entry-0002.md +28 -0
  35. taskledger-0.6.4/.ledger/releaseledger/data/ledgers/main/releases/v0.6.4/entries/entry-0003.md +31 -0
  36. taskledger-0.6.4/.ledger/releaseledger/data/ledgers/main/releases/v0.6.4/release.md +26 -0
  37. {taskledger-0.6.2/taskledger.egg-info → taskledger-0.6.4}/PKG-INFO +2 -2
  38. {taskledger-0.6.2 → taskledger-0.6.4}/README.md +1 -1
  39. taskledger-0.6.2/ARCHITECTURE.md → taskledger-0.6.4/docs/architecture.md +45 -60
  40. {taskledger-0.6.2 → taskledger-0.6.4}/docs/architecture_taskledger_split.md +15 -12
  41. {taskledger-0.6.2 → taskledger-0.6.4}/docs/changelog.md +24 -0
  42. {taskledger-0.6.2 → taskledger-0.6.4}/docs/command_contract.md +26 -4
  43. {taskledger-0.6.2 → taskledger-0.6.4}/docs/full_task_cycle.md +19 -5
  44. {taskledger-0.6.2 → taskledger-0.6.4}/docs/index.md +1 -0
  45. {taskledger-0.6.2 → taskledger-0.6.4}/docs/sync.md +1 -1
  46. {taskledger-0.6.2 → taskledger-0.6.4}/docs/usage.md +17 -5
  47. {taskledger-0.6.2 → taskledger-0.6.4}/scripts/find_code_clones.py +1 -1
  48. {taskledger-0.6.2 → taskledger-0.6.4}/skills/taskledger/SKILL.md +5 -2
  49. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/implementation_checks/implementation-checks.feature +5 -13
  50. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/_version.py +3 -3
  51. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/locks.py +1 -1
  52. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/project.py +5 -4
  53. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/repair.py +1 -1
  54. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/storage.py +14 -9
  55. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli.py +26 -8
  56. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_archive.py +2 -8
  57. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_common.py +29 -2
  58. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_implement.py +4 -0
  59. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_ledger.py +20 -6
  60. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_misc.py +1 -1
  61. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_plan.py +10 -8
  62. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_storage.py +7 -5
  63. taskledger-0.6.4/taskledger/domain/__init__.py +2 -0
  64. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/errors.py +1 -0
  65. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/exchange.py +17 -8
  66. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/agent_logging.py +3 -2
  67. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/agent_transcripts.py +11 -8
  68. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/change_tracking.py +14 -8
  69. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/check_tracking.py +8 -5
  70. taskledger-0.6.4/taskledger/services/command_runner.py +169 -0
  71. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/doctor.py +40 -14
  72. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/doctor_checks/migration_checks.py +2 -0
  73. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/doctor_checks/project_scan.py +9 -7
  74. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/doctor_checks/task_checks.py +2 -2
  75. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/git_sync.py +11 -8
  76. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/handoff.py +5 -3
  77. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/implementation_flow.py +17 -9
  78. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/lock_inventory.py +12 -4
  79. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/navigation.py +4 -2
  80. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/plan_input.py +4 -4
  81. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/plan_materialization.py +1 -1
  82. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/planning_flow.py +1 -3
  83. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/run_store.py +7 -2
  84. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/runtime_info.py +4 -2
  85. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/task_archive.py +5 -3
  86. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/task_collections.py +4 -6
  87. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/task_export.py +1 -3
  88. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/task_lifecycle.py +14 -5
  89. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/task_repair.py +8 -10
  90. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/task_reports.py +2 -2
  91. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/tasks.py +15 -8
  92. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/tree.py +1 -1
  93. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/usage.py +1 -1
  94. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/validation_flow.py +2 -2
  95. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/worker_context.py +4 -2
  96. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/workflow_guidance.py +3 -1
  97. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/workspace_snapshot.py +16 -3
  98. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/agent_logs.py +8 -5
  99. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/index_cache.py +7 -9
  100. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/init.py +22 -1
  101. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/layout_migration.py +9 -3
  102. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/ledgercore_backend.py +35 -18
  103. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/migrations.py +2 -2
  104. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/paths.py +18 -6
  105. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/project_config.py +10 -7
  106. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/project_context.py +49 -12
  107. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/repos.py +1 -1
  108. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/task_ids.py +3 -3
  109. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/task_store.py +68 -35
  110. {taskledger-0.6.2 → taskledger-0.6.4/taskledger.egg-info}/PKG-INFO +2 -2
  111. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger.egg-info/SOURCES.txt +107 -93
  112. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger.egg-info/scm_file_list.json +107 -93
  113. taskledger-0.6.4/taskledger.egg-info/scm_version.json +8 -0
  114. {taskledger-0.6.2 → taskledger-0.6.4}/tests/conftest.py +9 -9
  115. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_active_task.py +6 -1
  116. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_agent_command_logging.py +87 -3
  117. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_agent_session_protocol.py +17 -10
  118. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_canonical_project_boundary.py +36 -0
  119. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_command_example_linter.py +2 -2
  120. taskledger-0.6.4/tests/test_command_runner.py +211 -0
  121. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_compact_mutation_output.py +1 -1
  122. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_delta_remaining_contracts.py +1 -7
  123. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_docs_and_skill.py +2 -2
  124. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_doctor.py +31 -23
  125. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_domain_policies.py +23 -23
  126. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_event_logging_config.py +9 -4
  127. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_help_subprocess.py +1 -0
  128. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_implementation_checks.py +171 -0
  129. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_import_boundaries.py +6 -4
  130. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_indexes_cache_recovery.py +1 -1
  131. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_ledgercore_compat.py +4 -4
  132. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_lock_inventory.py +1 -0
  133. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_locks_audit.py +14 -4
  134. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_next_action_expired_lock.py +1 -3
  135. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_search.py +1 -1
  136. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_service_boundaries.py +6 -4
  137. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_task_report.py +1 -1
  138. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_migration_v3.py +3 -0
  139. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_sibling_storage.py +1 -1
  140. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_storage_commands_v3.py +21 -0
  141. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_v2_cli.py +4 -18
  142. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_v2_exchange.py +4 -3
  143. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_validation_git_snapshot_recovery.py +5 -2
  144. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_workspace_snapshot.py +19 -21
  145. taskledger-0.6.2/.archledger/source-state.json +0 -935
  146. taskledger-0.6.2/taskledger/domain/__init__.py +0 -2
  147. taskledger-0.6.2/taskledger/services/command_runner.py +0 -43
  148. taskledger-0.6.2/taskledger.egg-info/scm_version.json +0 -8
  149. taskledger-0.6.2/tests/test_command_runner.py +0 -42
  150. {taskledger-0.6.2 → taskledger-0.6.4}/.codecrate.toml +0 -0
  151. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/docs/docs-api-md-9eddf4dc.yaml +0 -0
  152. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/docs/docs-architecture-taskledger-split-md-63034c0d.yaml +0 -0
  153. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/docs/docs-command-contract-md-abe6f6d9.yaml +0 -0
  154. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/docs/docs-full-task-cycle-md-721181f0.yaml +0 -0
  155. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/docs/docs-multi-repo-md-929e47a9.yaml +0 -0
  156. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/docs/docs-public-surface-md-c1b8772f.yaml +0 -0
  157. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/docs/docs-service-boundary-whitelist-md-800b76f5.yaml +0 -0
  158. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/docs/docs-sync-md-a29422f3.yaml +0 -0
  159. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/docs/docs-transfer-md-f8532303.yaml +0 -0
  160. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/docs/docs-usage-md-72376d0b.yaml +0 -0
  161. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/scan.yaml +0 -0
  162. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/source-index.json +0 -0
  163. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger/storage.yaml +0 -0
  164. {taskledger-0.6.2 → taskledger-0.6.4}/.documentledger.toml +0 -0
  165. {taskledger-0.6.2 → taskledger-0.6.4}/.github/workflows/codecov.yml +0 -0
  166. {taskledger-0.6.2 → taskledger-0.6.4}/.github/workflows/python-publish.yml +0 -0
  167. {taskledger-0.6.2 → taskledger-0.6.4}/.github/workflows/tests.yml +0 -0
  168. {taskledger-0.6.2 → taskledger-0.6.4}/.gitignore +0 -0
  169. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/archive/records/building_blocks/block-0083.md +0 -0
  170. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/archive/records/concepts/concept-0081.md +0 -0
  171. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/archive/records/runtime/runtime-0076.md +0 -0
  172. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/archive/records/runtime/runtime-0084.md +0 -0
  173. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0005.md +0 -0
  174. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0006.md +0 -0
  175. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0008.md +0 -0
  176. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0009.md +0 -0
  177. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0010.md +0 -0
  178. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/profiles/arc42/sections/content-0011.md +0 -0
  179. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/building_blocks/block-0030.md +0 -0
  180. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/building_blocks/block-0031.md +0 -0
  181. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/building_blocks/block-0032.md +0 -0
  182. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/building_blocks/block-0033.md +0 -0
  183. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/building_blocks/block-0034.md +0 -0
  184. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/concepts/concept-0040.md +0 -0
  185. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/concepts/concept-0041.md +0 -0
  186. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/concepts/concept-0042.md +0 -0
  187. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/concepts/concept-0043.md +0 -0
  188. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/concepts/concept-0044.md +0 -0
  189. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/concepts/concept-0045.md +0 -0
  190. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/constraints/constraint-0016.md +0 -0
  191. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/constraints/constraint-0017.md +0 -0
  192. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/constraints/constraint-0018.md +0 -0
  193. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/constraints/constraint-0019.md +0 -0
  194. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/contexts/context-0020.md +0 -0
  195. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/contexts/context-0021.md +0 -0
  196. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/contexts/context-0022.md +0 -0
  197. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/contexts/context-0023.md +0 -0
  198. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/decisions/adr-0046.md +0 -0
  199. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/decisions/adr-0047.md +0 -0
  200. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/decisions/adr-0048.md +0 -0
  201. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/decisions/adr-0049.md +0 -0
  202. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/decisions/adr-0050.md +0 -0
  203. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/decisions/adr-0051.md +0 -0
  204. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/deployment/deploy-0039.md +0 -0
  205. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0061.md +0 -0
  206. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0062.md +0 -0
  207. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0063.md +0 -0
  208. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0064.md +0 -0
  209. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0065.md +0 -0
  210. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0066.md +0 -0
  211. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0067.md +0 -0
  212. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0068.md +0 -0
  213. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0069.md +0 -0
  214. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0070.md +0 -0
  215. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0071.md +0 -0
  216. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0072.md +0 -0
  217. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/glossary/glossary-0073.md +0 -0
  218. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/quality_requirements/quality-0052.md +0 -0
  219. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/quality_requirements/quality-0053.md +0 -0
  220. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/quality_requirements/quality-0054.md +0 -0
  221. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/quality_requirements/quality-0055.md +0 -0
  222. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/quality_requirements/quality-0056.md +0 -0
  223. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/requirements/content-0013.md +0 -0
  224. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/requirements/content-0014.md +0 -0
  225. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/requirements/content-0015.md +0 -0
  226. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/risks/risk-0057.md +0 -0
  227. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/risks/risk-0058.md +0 -0
  228. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/risks/risk-0059.md +0 -0
  229. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/risks/risk-0060.md +0 -0
  230. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/runtime/runtime-0035.md +0 -0
  231. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/runtime/runtime-0036.md +0 -0
  232. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/runtime/runtime-0037.md +0 -0
  233. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/runtime/runtime-0038.md +0 -0
  234. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/runtime/runtime-0074.md +0 -0
  235. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/runtime/runtime-0075.md +0 -0
  236. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/runtime/runtime-0077.md +0 -0
  237. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/runtime/runtime-0078.md +0 -0
  238. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/runtime/runtime-0087.md +0 -0
  239. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/runtime/runtime-0088.md +0 -0
  240. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/stakeholders/content-0079.md +0 -0
  241. {taskledger-0.6.2/.archledger → taskledger-0.6.4/.ledger/archledger/data}/records/stakeholders/content-0080.md +0 -0
  242. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/.ledger-project.toml +0 -0
  243. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/config.toml +0 -0
  244. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/.ledger-project.toml +0 -0
  245. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0001.md +0 -0
  246. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0002.md +0 -0
  247. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0003.md +0 -0
  248. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0004.md +0 -0
  249. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0005.md +0 -0
  250. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0006.md +0 -0
  251. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0007.md +0 -0
  252. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0008.md +0 -0
  253. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0009.md +0 -0
  254. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0010.md +0 -0
  255. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0011.md +0 -0
  256. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0012.md +0 -0
  257. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0013.md +0 -0
  258. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0014.md +0 -0
  259. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0015.md +0 -0
  260. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0016.md +0 -0
  261. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0017.md +0 -0
  262. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0018.md +0 -0
  263. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0019.md +0 -0
  264. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0020.md +0 -0
  265. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0021.md +0 -0
  266. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0022.md +0 -0
  267. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/entries/entry-0023.md +0 -0
  268. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.0/release.md +0 -0
  269. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0001.md +0 -0
  270. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0002.md +0 -0
  271. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0003.md +0 -0
  272. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0004.md +0 -0
  273. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/entries/entry-0005.md +0 -0
  274. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.1/release.md +0 -0
  275. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.2/entries/entry-0001.md +0 -0
  276. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.2/entries/entry-0002.md +0 -0
  277. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.2/entries/entry-0003.md +0 -0
  278. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.2/entries/entry-0004.md +0 -0
  279. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/data/ledgers/main/releases/v0.6.2/release.md +0 -0
  280. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/releaseledger/write.lock +0 -0
  281. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/task/config.toml +0 -0
  282. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/taskledger/.ledger-project.toml +0 -0
  283. {taskledger-0.6.2 → taskledger-0.6.4}/.ledger/taskledger/config.toml +0 -0
  284. {taskledger-0.6.2 → taskledger-0.6.4}/.planledger.toml +0 -0
  285. {taskledger-0.6.2 → taskledger-0.6.4}/.pre-commit-config.yaml +0 -0
  286. {taskledger-0.6.2 → taskledger-0.6.4}/.readthedocs.yaml +0 -0
  287. {taskledger-0.6.2 → taskledger-0.6.4}/.ruff.toml +0 -0
  288. {taskledger-0.6.2 → taskledger-0.6.4}/AGENTS.md +0 -0
  289. {taskledger-0.6.2 → taskledger-0.6.4}/API.md +0 -0
  290. {taskledger-0.6.2 → taskledger-0.6.4}/LICENSE +0 -0
  291. {taskledger-0.6.2 → taskledger-0.6.4}/Makefile +0 -0
  292. {taskledger-0.6.2 → taskledger-0.6.4}/docs/Makefile +0 -0
  293. {taskledger-0.6.2 → taskledger-0.6.4}/docs/api.md +0 -0
  294. {taskledger-0.6.2 → taskledger-0.6.4}/docs/build.sh +0 -0
  295. {taskledger-0.6.2 → taskledger-0.6.4}/docs/conf.py +0 -0
  296. {taskledger-0.6.2 → taskledger-0.6.4}/docs/documentation_freshness.md +0 -0
  297. {taskledger-0.6.2 → taskledger-0.6.4}/docs/multi_repo.md +0 -0
  298. {taskledger-0.6.2 → taskledger-0.6.4}/docs/public_surface.md +0 -0
  299. {taskledger-0.6.2 → taskledger-0.6.4}/docs/release_checklist.md +0 -0
  300. {taskledger-0.6.2 → taskledger-0.6.4}/docs/requirements.txt +0 -0
  301. {taskledger-0.6.2 → taskledger-0.6.4}/docs/service_boundary_whitelist.md +0 -0
  302. {taskledger-0.6.2 → taskledger-0.6.4}/docs/transfer.md +0 -0
  303. {taskledger-0.6.2 → taskledger-0.6.4}/pyproject.toml +0 -0
  304. {taskledger-0.6.2 → taskledger-0.6.4}/requirements/manifest.json +0 -0
  305. {taskledger-0.6.2 → taskledger-0.6.4}/setup.cfg +0 -0
  306. {taskledger-0.6.2 → taskledger-0.6.4}/specmason.toml +0 -0
  307. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/README.md +0 -0
  308. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/UNMAPPED_TESTS.md +0 -0
  309. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/evidence/.gitkeep +0 -0
  310. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/evidence/taskledger-test-feature-coverage.json +0 -0
  311. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/.gitkeep +0 -0
  312. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/active_task/active-task.feature +0 -0
  313. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/actor_harness_state/actor-harness-state.feature +0 -0
  314. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/actor_resolution/actor-resolution.feature +0 -0
  315. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/agent_command_logging/agent-command-logging.feature +0 -0
  316. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/agent_session_protocol/agent-session-protocol.feature +0 -0
  317. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/atomic_fast_io/atomic-fast-io.feature +0 -0
  318. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/cli_command_contract/cli-command-contract.feature +0 -0
  319. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/cli_import_resilience/cli-import-resilience.feature +0 -0
  320. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/code_reviews/code-reviews.feature +0 -0
  321. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/command_example_linter/command-example-linter.feature +0 -0
  322. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/command_inventory/command-inventory.feature +0 -0
  323. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/command_runner/command-runner.feature +0 -0
  324. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/compact_mutation_output/compact-mutation-output.feature +0 -0
  325. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/config_cli/config-cli.feature +0 -0
  326. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/delta_remaining_contracts/delta-remaining-contracts.feature +0 -0
  327. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/docs_and_skill/docs-and-skill.feature +0 -0
  328. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/doctor/doctor.feature +0 -0
  329. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/domain_policies/domain-policies.feature +0 -0
  330. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/event_logging_config/event-logging-config.feature +0 -0
  331. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/events/events.feature +0 -0
  332. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/file_link_snapshots/file-link-snapshots.feature +0 -0
  333. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/find_code_clones_script/find-code-clones-script.feature +0 -0
  334. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/handoff_lifecycle/handoff-lifecycle.feature +0 -0
  335. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/help_subprocess/help-subprocess.feature +0 -0
  336. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/implementation_change_scan/implementation-change-scan.feature +0 -0
  337. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/json_contracts/json-contracts.feature +0 -0
  338. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/legacy_cleanup_contracts/legacy-cleanup-contracts.feature +0 -0
  339. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/lifecycle_policies/lifecycle-policies.feature +0 -0
  340. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/lock_diagnostics/lock-diagnostics.feature +0 -0
  341. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/locks_audit/locks-audit.feature +0 -0
  342. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/models_v1_schema/models-v1-schema.feature +0 -0
  343. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/monitor/monitor.feature +0 -0
  344. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/next_action_expired_lock/next-action-expired-lock.feature +0 -0
  345. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/no_log_feature/no-log-feature.feature +0 -0
  346. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/plan_approval_contract/plan-approval-contract.feature +0 -0
  347. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/plan_lint/plan-lint.feature +0 -0
  348. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/plan_review/plan-review.feature +0 -0
  349. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/plan_revision_workflow/plan-revision-workflow.feature +0 -0
  350. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/plan_todo_materialization/plan-todo-materialization.feature +0 -0
  351. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/project_root_config/project-root-config.feature +0 -0
  352. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/question_add_many/question-add-many.feature +0 -0
  353. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/question_filter_answers/question-filter-answers.feature +0 -0
  354. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/question_plan_regeneration/question-plan-regeneration.feature +0 -0
  355. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/ready_work/ready-work.feature +0 -0
  356. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/release_changelog/release-changelog.feature +0 -0
  357. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/search/search.feature +0 -0
  358. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/service_boundaries/service-boundaries.feature +0 -0
  359. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/services_dashboard/services-dashboard.feature +0 -0
  360. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/sidecar_collections/sidecar-collections.feature +0 -0
  361. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/storage_bundle_layout/storage-bundle-layout.feature +0 -0
  362. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/storage_common/storage-common.feature +0 -0
  363. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/storage_init/storage-init.feature +0 -0
  364. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/storage_migration/storage-migration.feature +0 -0
  365. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/storage_repos/storage-repos.feature +0 -0
  366. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/storage_sync/storage-sync.feature +0 -0
  367. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/sync_git/sync-git.feature +0 -0
  368. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/task_archive/archive.feature +0 -0
  369. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/task_events/events.feature +0 -0
  370. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/task_markdown_export/markdown-export.feature +0 -0
  371. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/task_report/report.feature +0 -0
  372. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/taskledger_branch_scoped_ledgers/taskledger-branch-scoped-ledgers.feature +0 -0
  373. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/taskledger_cli_api_parity/taskledger-cli-api-parity.feature +0 -0
  374. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/taskledger_v2_cli/taskledger-v2-cli.feature +0 -0
  375. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/taskledger_v2_exchange/taskledger-v2-exchange.feature +0 -0
  376. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/tasks_service_static/tasks-service-static.feature +0 -0
  377. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/todo_implementation_gate/todo-implementation-gate.feature +0 -0
  378. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/trace/trace.feature +0 -0
  379. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/tree_command/tree-command.feature +0 -0
  380. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/usage_cli/usage-cli.feature +0 -0
  381. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/worker_pipeline_cli/worker-pipeline-cli.feature +0 -0
  382. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/worker_pipeline_config/worker-pipeline-config.feature +0 -0
  383. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/worker_pipeline_context/worker-pipeline-context.feature +0 -0
  384. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/worker_pipeline_handoff/worker-pipeline-handoff.feature +0 -0
  385. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/worker_pipeline_plan_template/worker-pipeline-plan-template.feature +0 -0
  386. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/worker_pipeline_todos/worker-pipeline-todos.feature +0 -0
  387. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/features/workflow_guidance/workflow-guidance.feature +0 -0
  388. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/manifest.json +0 -0
  389. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/mappings/.gitkeep +0 -0
  390. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/mappings/intentional-unmapped.json +0 -0
  391. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/reports/specmason/.gitkeep +0 -0
  392. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/reports/specmason/coverage.json +0 -0
  393. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/reports/specmason/coverage.md +0 -0
  394. {taskledger-0.6.2 → taskledger-0.6.4}/specs/behavior/reports/specmason/mappings.json +0 -0
  395. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/__init__.py +0 -0
  396. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/__main__.py +0 -0
  397. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/__init__.py +1 -1
  398. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/config.py +2 -2
  399. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/handoff.py +4 -4
  400. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/introductions.py +1 -1
  401. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/plans.py +15 -15
  402. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/questions.py +2 -2
  403. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/releases.py +0 -0
  404. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/reviews.py +1 -1
  405. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/search.py +2 -2
  406. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/sync.py +0 -0
  407. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/task_runs.py +13 -13
  408. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/api/tasks.py +31 -31
  409. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_actor.py +0 -0
  410. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_config.py +0 -0
  411. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_help.py +0 -0
  412. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_migrate.py +0 -0
  413. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_pipeline.py +0 -0
  414. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_question.py +0 -0
  415. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_ref.py +0 -0
  416. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_release.py +0 -0
  417. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_review.py +0 -0
  418. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_runtime.py +0 -0
  419. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_sync.py +0 -0
  420. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_task.py +0 -0
  421. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_trace.py +0 -0
  422. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/cli_validate.py +0 -0
  423. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/command_inventory.py +0 -0
  424. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/compat/__init__.py +0 -0
  425. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/compat/ledgercore.py +0 -0
  426. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/_model_utils.py +0 -0
  427. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/active_state.py +0 -0
  428. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/actor.py +0 -0
  429. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/change.py +0 -0
  430. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/check.py +0 -0
  431. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/event.py +0 -0
  432. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/handoff.py +0 -0
  433. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/lock.py +0 -0
  434. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/models.py +0 -0
  435. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/plan.py +0 -0
  436. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/policies.py +0 -0
  437. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/question.py +0 -0
  438. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/release.py +0 -0
  439. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/review.py +0 -0
  440. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/run.py +0 -0
  441. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/sidecars.py +0 -0
  442. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/states.py +0 -0
  443. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/domain/task.py +0 -0
  444. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/ids.py +0 -0
  445. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/launcher.py +0 -0
  446. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/migrations/__init__.py +0 -0
  447. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/migrations/hooks.py +0 -0
  448. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/py.typed +0 -0
  449. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/refs.py +0 -0
  450. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/search.py +0 -0
  451. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/__init__.py +0 -0
  452. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/actors.py +0 -0
  453. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/code_review.py +0 -0
  454. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/dashboard.py +0 -0
  455. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/event_logging.py +0 -0
  456. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/file_links.py +0 -0
  457. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/git_utils.py +0 -0
  458. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/handoff_lifecycle.py +0 -0
  459. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/lock_diagnostics.py +0 -0
  460. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/monitor.py +0 -0
  461. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/next_action_logic.py +1 -1
  462. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/next_action_model.py +0 -0
  463. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/next_action_payload.py +0 -0
  464. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/phase5_lock_transfer.py +0 -0
  465. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/plan_editing.py +0 -0
  466. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/plan_hash.py +0 -0
  467. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/plan_lint.py +0 -0
  468. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/plan_review.py +0 -0
  469. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/ready_work.py +0 -0
  470. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/releases.py +0 -0
  471. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/storage_locations.py +0 -0
  472. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/storage_migration.py +0 -0
  473. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/task_events.py +0 -0
  474. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/task_queries.py +0 -0
  475. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/trace.py +0 -0
  476. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/validation.py +0 -0
  477. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/services/worker_pipeline.py +0 -0
  478. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/__init__.py +3 -3
  479. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/atomic.py +0 -0
  480. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/common.py +0 -0
  481. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/events.py +0 -0
  482. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/frontmatter.py +0 -0
  483. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/indexes.py +0 -0
  484. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/ledger_config.py +0 -0
  485. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/ledger_local_config.py +0 -0
  486. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/ledger_manifest.py +0 -0
  487. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/locks.py +0 -0
  488. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/meta.py +0 -0
  489. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/project_binding.py +0 -0
  490. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/project_identity.py +0 -0
  491. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/sidecar_index.py +0 -0
  492. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/task_index.py +0 -0
  493. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/taskledger_migration.py +0 -0
  494. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/toml_edit.py +0 -0
  495. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/worker_pipeline_config.py +5 -5
  496. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/storage/yaml_store.py +0 -0
  497. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger/timeutils.py +0 -0
  498. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger.egg-info/dependency_links.txt +0 -0
  499. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger.egg-info/entry_points.txt +0 -0
  500. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger.egg-info/requires.txt +0 -0
  501. {taskledger-0.6.2 → taskledger-0.6.4}/taskledger.egg-info/top_level.txt +0 -0
  502. {taskledger-0.6.2 → taskledger-0.6.4}/tests/__init__.py +0 -0
  503. {taskledger-0.6.2 → taskledger-0.6.4}/tests/support/__init__.py +0 -0
  504. {taskledger-0.6.2 → taskledger-0.6.4}/tests/support/builders.py +0 -0
  505. {taskledger-0.6.2 → taskledger-0.6.4}/tests/support/fake_command_runner.py +0 -0
  506. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_actor_harness_state.py +0 -0
  507. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_actor_resolution.py +0 -0
  508. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_atomic_fast_io.py +0 -0
  509. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_canonical_config_split.py +0 -0
  510. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_canonical_layout_migration.py +0 -0
  511. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_canonical_mount_paths.py +0 -0
  512. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_canonical_project_context.py +0 -0
  513. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_cli_command_contract.py +0 -0
  514. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_cli_import_resilience.py +0 -0
  515. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_cli_runner_compatibility.py +0 -0
  516. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_code_reviews.py +0 -0
  517. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_command_inventory.py +0 -0
  518. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_config_cli.py +0 -0
  519. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_error_contracts.py +0 -0
  520. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_events.py +0 -0
  521. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_file_link_snapshots.py +0 -0
  522. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_find_code_clones_script.py +0 -0
  523. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_handoff_lifecycle.py +0 -0
  524. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_implementation_change_scan.py +0 -0
  525. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_indexes.py +0 -0
  526. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_json_contracts.py +0 -0
  527. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_ledger_manifest_mutation.py +0 -0
  528. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_ledgercore_dependency.py +0 -0
  529. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_legacy_cleanup_contracts.py +0 -0
  530. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_lifecycle_policies.py +0 -0
  531. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_lock_diagnostics.py +0 -0
  532. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_models_v1_schema.py +0 -0
  533. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_monitor.py +0 -0
  534. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_no_log_feature.py +0 -0
  535. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_performance_caching.py +0 -0
  536. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_plan_approval_contract.py +0 -0
  537. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_plan_input.py +0 -0
  538. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_plan_input_cli.py +0 -0
  539. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_plan_lint.py +0 -0
  540. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_plan_review.py +0 -0
  541. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_plan_revision_workflow.py +0 -0
  542. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_plan_todo_materialization.py +0 -0
  543. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_project_root_config.py +0 -0
  544. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_question_add_many.py +0 -0
  545. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_question_filter_answers.py +0 -0
  546. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_question_plan_regeneration.py +0 -0
  547. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_ready_work.py +0 -0
  548. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_release_changelog.py +0 -0
  549. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_resource_refs.py +0 -0
  550. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_runtime_info.py +0 -0
  551. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_services_dashboard.py +0 -0
  552. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_shared_tool_ledger_storage.py +0 -0
  553. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_sidecar_collections.py +0 -0
  554. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_storage_bundle_layout.py +0 -0
  555. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_storage_common.py +0 -0
  556. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_storage_init.py +0 -0
  557. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_storage_migration.py +0 -0
  558. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_storage_migration_coordinator.py +0 -0
  559. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_storage_repos.py +0 -0
  560. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_storage_sync.py +0 -0
  561. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_storage_where_repair.py +0 -0
  562. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_storage_yaml_store.py +0 -0
  563. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_sync_git.py +0 -0
  564. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_task_archive.py +0 -0
  565. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_task_events.py +0 -0
  566. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_task_ids.py +0 -0
  567. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_task_markdown_export.py +0 -0
  568. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_branch_scoped_ledgers.py +0 -0
  569. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_canonical_sync.py +0 -0
  570. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_cli_api_parity.py +0 -0
  571. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_ledgercore_050_adapter.py +0 -0
  572. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_ledgercore_050_context.py +0 -0
  573. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_ledgercore_050_migration_topology.py +0 -0
  574. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_ledgercore_050_sync.py +0 -0
  575. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_taskledger_sibling_migration.py +0 -0
  576. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_tasks_service_static.py +0 -0
  577. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_todo_implementation_gate.py +0 -0
  578. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_trace.py +0 -0
  579. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_tree_command.py +0 -0
  580. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_usage_cli.py +0 -0
  581. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_worker_pipeline_cli.py +0 -0
  582. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_worker_pipeline_config.py +0 -0
  583. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_worker_pipeline_context.py +0 -0
  584. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_worker_pipeline_handoff.py +0 -0
  585. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_worker_pipeline_plan_template.py +0 -0
  586. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_worker_pipeline_todos.py +0 -0
  587. {taskledger-0.6.2 → taskledger-0.6.4}/tests/test_workflow_guidance.py +0 -0
@@ -22,7 +22,7 @@ jobs:
22
22
  - name: Install Python tools
23
23
  run: |
24
24
  python -m pip install --upgrade pip
25
- python -m pip install "ruff==0.15.12"
25
+ python -m pip install "ruff==0.16.3"
26
26
 
27
27
  - name: Install Node tools
28
28
  run: |
@@ -1,15 +1,9 @@
1
- # Project-local archledger configuration.
2
- # This file lives in the source project root.
3
- config_version = 10
4
- archledger_dir = ".archledger"
5
-
6
- # Stable project identity. Commit this with your source tree.
7
- project_uuid = "c864dcee-bb0a-43e1-b7d0-b9289fe1bf3a"
8
- project_name = "taskledger"
1
+ # Stable Archledger configuration.
2
+ # Paths are resolved from the project root and canonical data mount.
3
+ config_version = 12
9
4
 
10
5
  [ledger]
11
6
  code = "al"
12
- name = "archledger"
13
7
 
14
8
  [ids]
15
9
  width = 4
@@ -47,8 +41,7 @@ schema_version = 4
47
41
  [build]
48
42
  default_output = "ARCHITECTURE.md"
49
43
  default_format = "markdown"
50
- # [build].default_output_dir is relative to the directory containing
51
- # archledger.toml or .archledger.toml.
44
+ # [build].default_output_dir is relative to the project root.
52
45
  default_output_dir = "."
53
46
  include_draft = false
54
47
  include_superseded = false
@@ -116,6 +109,7 @@ exclude = [
116
109
  ".ruff_cache/**",
117
110
  "dist/**",
118
111
  "build/**",
112
+ ".ledger/**",
119
113
  ]
120
114
  max_file_bytes = 1000000
121
115
  hash_algorithm = "sha256"
@@ -0,0 +1,6 @@
1
+ schema_version = 1
2
+ layout_version = 3
3
+ project_uuid = "081c7c05-2d10-42b7-9b37-3d814c2f400a"
4
+ tool = "archledger"
5
+ mount = "config"
6
+ storage = "project"
@@ -0,0 +1,115 @@
1
+ # Stable Archledger configuration.
2
+ # Paths are resolved from the project root and canonical data mount.
3
+ config_version = 12
4
+
5
+ [ledger]
6
+ code = "al"
7
+
8
+ [ids]
9
+ width = 4
10
+
11
+ [ids.kind_map]
12
+ acceptance_criterion = "ac"
13
+ adr = "adr"
14
+ archive_tombstone = "archive"
15
+ black_box = "block"
16
+ concept = "concept"
17
+ constraint = "constraint"
18
+ context_interface = "context"
19
+ diagram = "diagram"
20
+ glossary_term = "glossary"
21
+ infrastructure = "deploy"
22
+ interface = "block"
23
+ quality_goal = "quality"
24
+ quality_requirement = "quality"
25
+ quality_scenario = "quality"
26
+ requirement = "content"
27
+ risk = "risk"
28
+ runtime_scenario = "runtime"
29
+ section = "content"
30
+ stakeholder = "content"
31
+ strategy_item = "strategy"
32
+ white_box = "block"
33
+
34
+ [source]
35
+ format = "markdown"
36
+ front_matter = "yaml"
37
+ section_extension = ".md"
38
+ record_extension = ".md"
39
+ schema_version = 4
40
+
41
+ [build]
42
+ default_output = "architecture.md"
43
+ default_format = "markdown"
44
+ # [build].default_output_dir is relative to the project root.
45
+ default_output_dir = "docs"
46
+ include_draft = false
47
+ include_superseded = false
48
+ strict = false
49
+ keep_intermediate = false
50
+ converter = "auto"
51
+ pdf_engine = ""
52
+ reference_docx = ""
53
+
54
+ [profiles]
55
+ enabled = [
56
+ "arc42",
57
+ ]
58
+ default = "arc42"
59
+
60
+ [profiles.arc42]
61
+ kind = "documentation"
62
+ template = "arc42"
63
+ sections_dir = "profiles/arc42/sections"
64
+ build_template = "arc42_document"
65
+ include_help = false
66
+
67
+ [diagrams]
68
+ enabled = false
69
+ renderer = "pass-through"
70
+ default_type = "text"
71
+ output_dir = "diagrams"
72
+ image_format = "svg"
73
+ kroki_url = ""
74
+
75
+ [arc42]
76
+ template_version = "9.0-EN"
77
+ language = "en"
78
+ title = "Architecture Documentation"
79
+ include_help = false
80
+
81
+ [skill]
82
+ installed = false
83
+ path = "skills/archledger/SKILL.md"
84
+
85
+ [tracking]
86
+ enabled = true
87
+ # source-state.json stores SHA-256 content hashes only for files.
88
+ # It does not persist mtimes or file sizes. Directory hashes are
89
+ # derived from file hashes after scanning.
90
+ state_file = "source-state.json"
91
+ scanner = "auto"
92
+ include = [
93
+ "**/*.py",
94
+ "**/*.toml",
95
+ "**/*.md",
96
+ "**/*.adoc",
97
+ "**/*.rst",
98
+ "**/*.j2",
99
+ "**/*.yaml",
100
+ "**/*.yml",
101
+ "**/*.json",
102
+ ]
103
+ exclude = [
104
+ ".git/**",
105
+ ".venv/**",
106
+ "**/__pycache__/**",
107
+ ".mypy_cache/**",
108
+ ".pytest_cache/**",
109
+ ".ruff_cache/**",
110
+ "dist/**",
111
+ "build/**",
112
+ ".ledger/**",
113
+ ]
114
+ max_file_bytes = 1000000
115
+ hash_algorithm = "sha256"
@@ -0,0 +1,6 @@
1
+ schema_version = 1
2
+ layout_version = 3
3
+ project_uuid = "081c7c05-2d10-42b7-9b37-3d814c2f400a"
4
+ tool = "archledger"
5
+ mount = "data"
6
+ storage = "project"
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "documents": {
3
3
  "arc42:markdown:draft=false:superseded=false": {
4
- "fingerprint": "sha256:90460011ff7f175475e9656f06c3472dfaf38d193f6b057612d880e739849df2",
4
+ "fingerprint": "sha256:c8cf1037ab0c60db24aa1e20bc8a1bc3cf4d54c758ffe4b876f3b2ed80f5cb01",
5
5
  "input_count": 84,
6
- "version": 1
6
+ "version": 5
7
7
  }
8
8
  },
9
9
  "schema": "archledger.document-state.v1"
@@ -0,0 +1,118 @@
1
+ {
2
+ "backup": "/home/nahrstaedt/src/ledger/taskledger/.ledger/backups/archledger-20260821T090309Z",
3
+ "copied": [
4
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/archive/records/building_blocks/block-0083.md",
5
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/archive/records/concepts/concept-0081.md",
6
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/archive/records/runtime/runtime-0076.md",
7
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/archive/records/runtime/runtime-0084.md",
8
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/document-state.json",
9
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0001.md",
10
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0002.md",
11
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0003.md",
12
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0004.md",
13
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0005.md",
14
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0006.md",
15
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0007.md",
16
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0008.md",
17
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0009.md",
18
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0010.md",
19
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0011.md",
20
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/profiles/arc42/sections/content-0012.md",
21
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/building_blocks/block-0029.md",
22
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/building_blocks/block-0030.md",
23
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/building_blocks/block-0031.md",
24
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/building_blocks/block-0032.md",
25
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/building_blocks/block-0033.md",
26
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/building_blocks/block-0034.md",
27
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/concepts/concept-0040.md",
28
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/concepts/concept-0041.md",
29
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/concepts/concept-0042.md",
30
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/concepts/concept-0043.md",
31
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/concepts/concept-0044.md",
32
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/concepts/concept-0045.md",
33
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/concepts/concept-0082.md",
34
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/concepts/concept-0085.md",
35
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/concepts/concept-0086.md",
36
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/constraints/constraint-0016.md",
37
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/constraints/constraint-0017.md",
38
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/constraints/constraint-0018.md",
39
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/constraints/constraint-0019.md",
40
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/contexts/context-0020.md",
41
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/contexts/context-0021.md",
42
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/contexts/context-0022.md",
43
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/contexts/context-0023.md",
44
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/decisions/adr-0046.md",
45
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/decisions/adr-0047.md",
46
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/decisions/adr-0048.md",
47
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/decisions/adr-0049.md",
48
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/decisions/adr-0050.md",
49
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/decisions/adr-0051.md",
50
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/deployment/deploy-0039.md",
51
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0061.md",
52
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0062.md",
53
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0063.md",
54
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0064.md",
55
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0065.md",
56
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0066.md",
57
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0067.md",
58
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0068.md",
59
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0069.md",
60
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0070.md",
61
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0071.md",
62
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0072.md",
63
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/glossary/glossary-0073.md",
64
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/quality_requirements/quality-0052.md",
65
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/quality_requirements/quality-0053.md",
66
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/quality_requirements/quality-0054.md",
67
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/quality_requirements/quality-0055.md",
68
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/quality_requirements/quality-0056.md",
69
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/requirements/content-0013.md",
70
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/requirements/content-0014.md",
71
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/requirements/content-0015.md",
72
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/risks/risk-0057.md",
73
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/risks/risk-0058.md",
74
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/risks/risk-0059.md",
75
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/risks/risk-0060.md",
76
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/runtime/runtime-0035.md",
77
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/runtime/runtime-0036.md",
78
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/runtime/runtime-0037.md",
79
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/runtime/runtime-0038.md",
80
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/runtime/runtime-0074.md",
81
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/runtime/runtime-0075.md",
82
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/runtime/runtime-0077.md",
83
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/runtime/runtime-0078.md",
84
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/runtime/runtime-0087.md",
85
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/runtime/runtime-0088.md",
86
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/stakeholders/content-0079.md",
87
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/stakeholders/content-0080.md",
88
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/strategy/strategy-0024.md",
89
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/strategy/strategy-0025.md",
90
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/strategy/strategy-0026.md",
91
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/strategy/strategy-0027.md",
92
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/records/strategy/strategy-0028.md",
93
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/source-state.json",
94
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/.archledger-migration-20260821T090309Z/archledger/storage.yaml"
95
+ ],
96
+ "kind": "archledger_project_migration",
97
+ "source": "/home/nahrstaedt/src/ledger/taskledger/.archledger",
98
+ "target": "/home/nahrstaedt/src/ledger/taskledger/.ledger/archledger/data",
99
+ "uuid_evidence": [
100
+ [
101
+ "/home/nahrstaedt/src/ledger/taskledger/.ledger/ledger.toml",
102
+ "081c7c05-2d10-42b7-9b37-3d814c2f400a"
103
+ ],
104
+ [
105
+ "/home/nahrstaedt/src/ledger/taskledger/.archledger.toml",
106
+ "081c7c05-2d10-42b7-9b37-3d814c2f400a"
107
+ ],
108
+ [
109
+ "/home/nahrstaedt/src/ledger/taskledger/.archledger/storage.yaml",
110
+ "081c7c05-2d10-42b7-9b37-3d814c2f400a"
111
+ ],
112
+ [
113
+ "/home/nahrstaedt/src/ledger/taskledger/.archledger/source-state.json",
114
+ "081c7c05-2d10-42b7-9b37-3d814c2f400a"
115
+ ]
116
+ ],
117
+ "version": 1
118
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "migration_id": "migration-cbe21be3f9dc3db4b03f6366",
3
+ "migration": "identity-ledgercore",
4
+ "completed_at": "2026-08-21T09:03:50.559860+00:00",
5
+ "project_uuid_before": "081c7c05-2d10-42b7-9b37-3d814c2f400a",
6
+ "project_uuid_after": "081c7c05-2d10-42b7-9b37-3d814c2f400a",
7
+ "source_fingerprint": "sha256:1ba4d0cdcaf09e4a0f706e6d3325b36bb8f07c99a47f99b9a4350efa9e384508",
8
+ "canonical_fingerprint": "sha256:1ba4d0cdcaf09e4a0f706e6d3325b36bb8f07c99a47f99b9a4350efa9e384508",
9
+ "legacy_source_preserved": true,
10
+ "cleanup_available": true,
11
+ "cleanup_command": "archledger migrate cleanup identity-ledgercore --dry-run",
12
+ "copied_paths": [],
13
+ "rewritten_paths": []
14
+ }
@@ -8,14 +8,20 @@ order: 10
8
8
  status: accepted
9
9
  body_format: markdown
10
10
  kind: content
11
- version: 2
11
+ version: 4
12
12
  ---
13
13
 
14
- taskledger is a task-first durable state layer for staged coding work. It provides a Python CLI and library that manages the full lifecycle of coding tasks: creation, planning, user approval, implementation, validation, and completion.
14
+ ## Current canonical storage boundary
15
+
16
+ The current canonical design uses the schema-3 Ledgercore project at `.ledger/ledger.toml` with Taskledger configuration at `.ledger/task/config.toml`. Taskledger mounts are separated into authoritative durable `data`, checkout-local `runtime`, diagnostic `logs`, and rebuildable cache `indexes`. Canonical initialization never creates `.taskledger/` or root `taskledger.toml`; those names are legacy migration inputs only.
17
+
18
+ Taskledger operational state is resolved outside the application source repository by default. `.ledger/ledger.local.toml` is a machine-local override and `.taskledger/` is ignored as legacy residue. The legacy `.taskledger` layout described in older sections remains compatibility and migration material, not the canonical storage design.
19
+
20
+ Taskledger is a task-first durable state layer for staged coding work. It provides a Python CLI and library that manages the full lifecycle of coding tasks: creation, planning, user approval, implementation, validation, and completion.
15
21
 
16
22
  The system is designed for use by both human developers and automated coding agents. Its primary goals are:
17
23
 
18
- - **Durable task state**: Every task, plan, run, lock, todo, and validation check is persisted as a Markdown record with YAML front matter in the project `.taskledger/` directory. State survives process restarts, context switches, and handoffs between actors.
24
+ - **Durable task state**: Every task, plan, run, lock, todo, and validation check is persisted as a Markdown record with YAML front matter in the project Ledgercore data mount. State survives process restarts, context switches, and handoffs between actors.
19
25
  - **Explicit lifecycle gates**: Transitions between stages (draft -> planning -> plan_review -> approved -> implementing -> implemented -> validating -> done) are enforced by policy decisions. User approval is required before implementation begins. Validation checks gate completion.
20
26
  - **Fresh-context handoffs**: Agents and humans can create, claim, and close handoff records that capture enough context (task state, plan, todos, questions, lock status) for a fresh process to continue work without reading the entire history.
21
27
  - **Machine-readable output**: Every CLI command supports `--json` for structured output with a stable envelope shape (`ok`, `command`, `result_type`, `result`, `events`, `warnings`) and deterministic exit codes.
@@ -8,14 +8,14 @@ order: 20
8
8
  status: accepted
9
9
  body_format: markdown
10
10
  kind: content
11
- version: 2
11
+ version: 5
12
12
  ---
13
13
 
14
- taskledger operates under several fixed constraints that shape its architecture:
14
+ Taskledger operates under several fixed constraints that shape its architecture:
15
15
 
16
16
  - **Python 3.10+ with minimal dependencies**: The runtime depends only on `typer`, `click`, `PyYAML`, `tomli` (Python <3.11), and `ledgercore` for atomic I/O, JSON I/O, YAML I/O, front matter parsing, and cross-ledger ref parsing. No database, no network server, no external service is required.
17
- - **File-system canonical storage**: All durable state lives in the project `.taskledger/` directory as Markdown files with YAML front matter. This makes state inspectable, diffable, and version-controllable alongside source code.
17
+ - **File-system canonical storage**: All durable state lives in the project Ledgercore mounts configured by `.ledger/ledger.toml`, as Markdown files with YAML front matter. This makes state inspectable, diffable, and version-controllable alongside source code.
18
18
  - **CLI-first with machine-readable JSON output**: The primary interface is the `taskledger` CLI command. Every command supports `--json` for structured output. The JSON envelope shape and exit codes are part of the public contract.
19
19
  - **Skills outside the package**: Agent skill files (for example `skills/taskledger/SKILL.md`) live outside the Python package and are never packaged as Python package data. The package provides the CLI and library; skill distribution is separate.
20
- - **Project-local configuration**: Each project has its own `taskledger.toml` and `.taskledger/` directory. There is no global state or central server.
21
- - **Source-first architecture records**: Arc42 architecture records live under `.archledger/` and are the source of truth for `ARCHITECTURE.md`. `docs/architecture_taskledger_split.md` is a concise human-maintained summary. Skills stay outside both the Python package and the archledger build output.
20
+ - **Project-local configuration**: Each project has its Ledgercore manifest at `.ledger/ledger.toml` and ledger-specific configuration under `.ledger/`. There is no global state or central server.
21
+ - **Source-first architecture records**: Arc42 architecture records are stored in `.ledger/archledger/data` and are the source of truth for `docs/architecture.md`. `docs/architecture_taskledger_split.md` is a concise human-maintained summary. Skills stay outside both the Python package and the archledger build output.
@@ -8,10 +8,10 @@ order: 30
8
8
  status: accepted
9
9
  body_format: markdown
10
10
  kind: content
11
- version: 2
11
+ version: 3
12
12
  ---
13
13
 
14
- taskledger operates as a self-contained tool within a software development project. It interacts with four categories of external actors:
14
+ Taskledger operates as a self-contained tool within a software development project. It interacts with four categories of external actors:
15
15
 
16
16
  1. **Agent harnesses** (pi, codex, chatgpt, and similar) invoke taskledger CLI commands to create tasks, propose plans, log implementation changes, run validation checks, and manage handoffs. They consume `--json` output.
17
17
  2. **Human developers** use the CLI directly in terminals for task creation, plan review, approval, lock management, and inspection (`status`, `context`, `next-action`, `doctor`, `monitor`).
@@ -8,10 +8,10 @@ order: 40
8
8
  status: accepted
9
9
  body_format: markdown
10
10
  kind: content
11
- version: 2
11
+ version: 5
12
12
  ---
13
13
 
14
- taskledger uses a layered architecture with clear dependency direction: upper layers depend on lower layers, never the reverse.
14
+ Taskledger uses a layered architecture with clear dependency direction: upper layers depend on lower layers, never the reverse.
15
15
 
16
16
  1. **CLI Layer** (`taskledger/cli*.py`) — Typer commands that parse arguments, resolve task references, call service functions, and render output (human text or JSON).
17
17
  2. **API Layer** (`taskledger/api/*.py`) — Stable public wrappers that mirror the CLI surface for programmatic use.
@@ -32,9 +32,9 @@ Key architectural choices:
32
32
 
33
33
  ## Maintenance
34
34
 
35
- `ARCHITECTURE.md` in the repository root is generated from archledger source records. Do not edit it directly.
35
+ `docs/architecture.md` is generated from Archledger source records. Do not edit it directly.
36
36
 
37
- - **Edit**: `.archledger/profiles/arc42/sections/*.md` for section content, `.archledger/records/**/*.md` for individual records.
38
- - **Regenerate**: Run `archledger build` to regenerate `ARCHITECTURE.md`.
37
+ - **Edit**: `.ledger/archledger/data/profiles/arc42/sections/*.md` for section content and `.ledger/archledger/data/records/**/*.md` for individual records.
38
+ - **Regenerate**: Run `archledger build` to regenerate `docs/architecture.md`.
39
39
  - **Verify**: Run `archledger check` and `pytest -q tests/test_docs_and_skill.py tests/test_service_boundaries.py` after changes.
40
- - **Authoritative source**: The archledger records under `.archledger/` are the single source of truth for architecture documentation. `docs/architecture_taskledger_split.md` is a concise human-maintained summary.
40
+ - **Authoritative source**: The Archledger records under `.ledger/archledger/data` are the single source of truth for architecture documentation. `docs/architecture_taskledger_split.md` is a concise human-maintained summary.
@@ -8,10 +8,10 @@ order: 70
8
8
  status: accepted
9
9
  body_format: markdown
10
10
  kind: content
11
- version: 2
11
+ version: 3
12
12
  ---
13
13
 
14
- taskledger is a single-node, file-system-based tool. Deployment consists of:
14
+ Taskledger is a single-node, file-system-based tool. Deployment consists of:
15
15
 
16
16
  - **Installation**: `pip install taskledger` (PyPI) or local `pip install -e .`
17
17
  - **Project initialization**: `taskledger init` creates `taskledger.toml` and `.taskledger/` in the project root
@@ -8,7 +8,7 @@ order: 120
8
8
  status: accepted
9
9
  body_format: markdown
10
10
  kind: content
11
- version: 2
11
+ version: 3
12
12
  ---
13
13
 
14
- Domain terms used throughout taskledger. The full glossary lives in the per-term `glossary-NNNN` records under `.archledger/records/glossary/`. Each term is stored as a record with `term`, `definition`, and reference metadata rather than in this section body.
14
+ Domain terms used throughout taskledger. The full glossary lives in the per-term `glossary-NNNN` records under `.ledger/archledger/data/records/glossary/`. Each term is stored as a record with `term`, `definition`, and reference metadata rather than in this section body.
@@ -13,12 +13,12 @@ quality_characteristics: []
13
13
  tags: []
14
14
  body_format: markdown
15
15
  kind: block
16
- version: 2
16
+ version: 3
17
17
  ---
18
18
 
19
19
  ## Motivation
20
20
 
21
- taskledger decomposes into core layers with downward dependency flow. This isolates persistence, business rules, orchestration, and public interfaces. Low-level persistence primitives are delegated to `ledgercore`, but the layer boundary above it stays in `taskledger/storage/`.
21
+ Taskledger decomposes into core layers with downward dependency flow. This isolates persistence, business rules, orchestration, and public interfaces. Low-level persistence primitives are delegated to `ledgercore`, but the layer boundary above it stays in `taskledger/storage/`.
22
22
 
23
23
  ## Contained building blocks
24
24
 
@@ -6,7 +6,8 @@ title: Durable code-review evidence
6
6
  status: proposed
7
7
  section: cross_cutting_concepts
8
8
  order: 80
9
- applies_to: taskledger review record
9
+ applies_to:
10
+ - taskledger review record
10
11
  body_format: markdown
11
12
  source_refs:
12
13
  - path: taskledger/domain/review.py
@@ -16,7 +17,7 @@ source_refs:
16
17
  test_refs:
17
18
  - tests/test_code_reviews.py
18
19
  kind: concept
19
- version: 3
20
+ version: 4
20
21
  ---
21
22
 
22
23
  Code review is durable evidence attached to a task. A record captures result, summary/body, reviewer and harness, implementation run, worker step, handoff, and optional Git working-tree or commit metadata. Review records are append-only and may be recorded after a task reaches `done`. They do not create a lifecycle stage, reopen completed work, replace acceptance criteria, or weaken validation completion rules. Source: `taskledger/domain/review.py`, `taskledger/services/code_review.py`. Test coverage: `tests/test_code_reviews.py`.
@@ -7,10 +7,12 @@ title: Editable plan input preflight
7
7
  status: accepted
8
8
  section: cross_cutting_concepts
9
9
  order: 70
10
- version: 4
10
+ version: 5
11
11
  applies_to:
12
- taskledger plan check; taskledger plan upsert; taskledger plan lint; taskledger
13
- plan review
12
+ - taskledger plan check
13
+ - taskledger plan upsert
14
+ - taskledger plan lint
15
+ - taskledger plan review
14
16
  body_format: markdown
15
17
  ---
16
18
 
@@ -7,10 +7,12 @@ title: Implementation workspace snapshot
7
7
  status: accepted
8
8
  section: cross_cutting_concepts
9
9
  order: 75
10
- version: 5
10
+ version: 6
11
11
  applies_to:
12
- taskledger implement start; taskledger implement finish; taskledger validate
13
- start; taskledger implement snapshot refresh
12
+ - taskledger implement start
13
+ - taskledger implement finish
14
+ - taskledger validate start
15
+ - taskledger implement snapshot refresh
14
16
  body_format: markdown
15
17
  source_refs.1: "path: taskledger/services/implementation_flow.py
16
18
 
@@ -6,11 +6,21 @@ title: "Layered architecture: CLI → Services → Domain → Storage"
6
6
  status: accepted
7
7
  section: solution_strategy
8
8
  order: 10
9
- drivers: decoupled layers; testable services; fast agent integration
9
+ drivers:
10
+ - decoupled layers
11
+ - testable services
12
+ - fast agent integration
10
13
  constraints:
11
- no domain I/O; storage uses ledgercore primitives; bounded CLI filesystem
12
- use
13
- related_adrs: adr-0046 adr-0047 adr-0048 adr-0049 adr-0050 adr-0051
14
+ - no domain I/O
15
+ - storage uses ledgercore primitives
16
+ - bounded CLI filesystem use
17
+ related_adrs:
18
+ - adr-0046
19
+ - adr-0047
20
+ - adr-0048
21
+ - adr-0049
22
+ - adr-0050
23
+ - adr-0051
14
24
  body_format: markdown
15
25
  kind: strategy
16
26
  version: 5
@@ -6,11 +6,17 @@ title: Markdown/YAML front matter as canonical records
6
6
  status: proposed
7
7
  section: solution_strategy
8
8
  order: 20
9
- drivers: human readable state; git diffable records; no database dependency
9
+ drivers:
10
+ - human readable state
11
+ - git diffable records
12
+ - no database dependency
10
13
  constraints:
11
- strict front matter validation; ledgercore front matter parsing; storage
12
- layout v3
13
- related_adrs: adr-0046 adr-0050
14
+ - strict front matter validation
15
+ - ledgercore front matter parsing
16
+ - storage layout v3
17
+ related_adrs:
18
+ - adr-0046
19
+ - adr-0050
14
20
  body_format: markdown
15
21
  kind: strategy
16
22
  version: 4
@@ -6,9 +6,14 @@ title: JSON indexes as rebuildable derived caches
6
6
  status: proposed
7
7
  section: solution_strategy
8
8
  order: 30
9
- drivers: fast list and query operations; canonical records remain source of truth
10
- constraints: summary index rebuildable on miss; reindex after out of band changes
11
- related_adrs: adr-0047
9
+ drivers:
10
+ - fast list and query operations
11
+ - canonical records remain source of truth
12
+ constraints:
13
+ - summary index rebuildable on miss
14
+ - reindex after out of band changes
15
+ related_adrs:
16
+ - adr-0047
12
17
  body_format: markdown
13
18
  kind: strategy
14
19
  version: 5
@@ -6,9 +6,14 @@ title: Policy-based lifecycle gate decisions
6
6
  status: proposed
7
7
  section: solution_strategy
8
8
  order: 40
9
- drivers: testable gate logic; user only actions enforced
10
- constraints: PolicyContext is gathered explicitly; no I/O in policy functions
11
- related_adrs: adr-0048
9
+ drivers:
10
+ - testable gate logic
11
+ - user only actions enforced
12
+ constraints:
13
+ - PolicyContext is gathered explicitly
14
+ - no I/O in policy functions
15
+ related_adrs:
16
+ - adr-0048
12
17
  body_format: markdown
13
18
  kind: strategy
14
19
  version: 4