Releases: ledgerwerk/taskledger
v0.5.1
Full Changelog: v0.5.0...v0.5.1
[v0.5.1] - 2026-06-26
Added
- Added plan check command and plan input service for validating editable plan input without creating or revising plans
- Added implement snapshot refresh command to accept current workspace as implementation snapshot when validation is blocked by IMPLEMENTATION_SNAPSHOT_MISMATCH
Documentation
- Converted Sphinx RST documentation to Markdown with myst-parser
v0.5.0
Full Changelog: v0.4.2...v0.5.0
[v0.5.0] - 2026-06-14
Added
Added stale-lock diagnostics: lock_diagnostics service with 8 classifications, structured lock show, and next-action routing.
Added optional taskledger tui command: read-only Textual TUI with task list, 9 detail tabs, filters, search, and auto-refresh.
Added TUI compact layout for small screens: --layout auto|wide|compact option, compact list/detail toggle, and responsive resize at 88-column threshold.
Added SpecWeave pytest-first behavior-spec overlay with derived export warnings and task-local exchange metadata
Added taskledger trace command for deterministic combi.trace.v1 bundles exposing task, AC, evidence, source, and architecture provenance
Added mandatory user-requested review protocol in SKILL.md: review record is required when the user asks for review, audit, or verification, with explicit skip conditions.
Changed
Added stdin=subprocess.DEVNULL to command_runner.run_command() to prevent stdin inheritance.
Updated docs, skill, command inventory, and API surface for all new commands and workflow changes.
Fixed
Fixed TUI markup crashes caused by bracket-bearing dynamic content passed to Textual Static widgets with markup parsing enabled.
Fixed Windows CI crash caused by CREATE_NEW_PROCESS_GROUP flag in command_runner.
Fixed example-linter references from tui task-0040 to tui --task task-0040 in README and usage docs.
Removed
Removed BDD/Cucumber workflow (cli_bdd, bdd domain models, bdd services, bdd storage sidecars, bdd API) in favor of SpecWeave pytest-first integration
Documentation
Added lock recovery decision tree and --repair-expired-lock scope note to usage, command contract, and skill.
Added TUI section with key bindings and install instructions in usage and README.
Updated ARCHITECTURE.md and archledger records for SpecWeave workflow ownership
Added behavior-spec docs regression test ensuring docs do not promote external BDD runners.
Quality
Added regression tests for lock diagnostics, TUI, compact layout, markup crash, BDD pipeline, trace command, and command runner.
Full suite: ruff and mypy clean (6 pre-existing typer-stub errors in cli.py unrelated).
v0.4.2
Full Changelog: v0.4.1...v0.4.2
v0.4.2 - 2026-05-30
Added
- Added optional code review records:
review record,review list,review showcommands with git metadata capture, worker pipeline review-step completion integration, task report and export/import support, and post-completion (donestage) recording. - Added
task exportcommand for compiled LLM-ready Markdown output with curated report, raw records, and source snapshots with deduplication and budget accounting. - Added
config list,config get, andconfig setcommands for inspecting and editing project configuration with validation-backed TOML writes and stable JSON/human output. - Added Markdown-to-HTML rendering in
taskledger servetask reports using markdown-it-py with XSS-safe escaping. - Added release changelog workflow improvements: project-aware context,
--from-taskinclusive ranges,--include-status/--fail-on-omittedcontrols,--target-changelog/--release-datemetadata, and formalized skill release changelog protocol.
Changed
- Runtime event logging is now gated behind
[event_logging] enabled = trueproject config and disabled by default. Storage reads, import/export, and JSON envelopes remain unchanged. - Promoted
sync git pull/pushto first-class commands with repo-wide push commit mode and improved UX. - Refined agent golden path documentation: consolidated context, handoff, read/report/export, and plan command tier guidance across README, skill, and public surface docs.
- Narrowed markdown-it exception handling to
ValueError; reframed dependency documentation around the actual optional rule set.
Fixed
- Fixed architecture documentation drift: updated service boundary whitelist to exact match, added all 41 command groups, corrected event logging descriptions to opt-in/ledger-level, and regenerated ARCHITECTURE.md from source records.
- Fixed task export source budget accounting so skipped files are not charged against the total budget; fixed stale plan-file references via source-candidate provenance gating.
- Fixed pytest runs leaving generated
.pytest_cache,__pycache__, and default export archives in the repository checkout.
Documentation
- Updated ARCHITECTURE.md and all underlying archledger records: softened layering wording, added 5 runtime scenarios, accepted 6 ADRs, and added a maintenance path section.
- Documented optional code review, task export, config commands, promoted sync commands, and golden-path agent command path across README, docs, skill, API, command contract, and public surface docs.
Internal
- Added duplicate code refactoring: extracted shared
task_events,git_utils,toml_edit, andnext_action_payloadhelper modules, centralized CLI archive extraction, actor/harness resolution, and model waiver serialization. - Added
scripts/find_code_clones.pyfor AST-based exact-duplicate and normalized-window clone detection. - Expanded pytest suite with markers (
unit,cli,integration,slow,subprocess,git), session-scoped workspace fixtures, service builders, fake command runner helpers, and toxfast/integration/fullprofiles (966 tests passing, 1 pre-existing failure).
Added
- Added optional configurable worker pipeline overlay: opt-in
[worker_pipeline]project config, read-onlypipeline show,pipeline list, andpipeline nextcommands, worker-awarecontext --workerandhandoff create --workersupport, and worker-tagged plan todos with materialization and template hints. - Added guided worker-pipeline next-action metadata and command hints in
next-actionoutput forguidedmode projects. - Added worker-pipeline config extraction into
taskledger/storage/worker_pipeline_config.pyand worker-only context rendering intotaskledger/services/worker_context.py. - Added doctor warning diagnostics for stale worker-step todo and handoff references.
- Added shell completion support: root Typer app now enables completion options, with
--install-completionand--show-completionavailable.
Changed
- Worker handoff defaults now derive from configured pipeline steps when
--workeris specified. - Worker step metadata is rendered in task reports when present.
- Review-stage worker routing advances from closed worker handoffs.
- Plan template and todo parsing preserve
worker_stepmetadata across export, regeneration, and materialization. - Updated service boundary whitelists for worker-pipeline and doctor scan import sites.
Documentation
- Documented worker pipeline configuration, commands, guided workflow, and config fields in README,
docs/usage.rst,docs/full_task_cycle.rst, anddocs/command_contract.rst. - Updated
skills/taskledger/SKILL.mdwith optional worker pipeline protocol guidance and guided next-action hints. - Updated
API.mdfor public handoff API signatures withworker_step_id. - Added shell completion install and show command documentation in README and
docs/usage.rst.
Quality
- Added regression test modules for worker pipeline config, CLI commands, worker context, worker handoffs, worker todo materialization, guided next-action, and doctor warnings.
- Expanded command inventory, JSON contract, docs/skill, and service boundary tests for the new surface.
- Full suite: ruff and mypy clean.
v0.4.1
Full Changelog: v0.4.0...v0.4.1
v0.4.1 - 2026-05-22
Added
Added optional configurable worker pipeline overlay: opt-in [worker_pipeline] project config, read-only pipeline show, pipeline list, and pipeline next commands, worker-aware context --worker and handoff create --worker support, and worker-tagged plan todos with materialization and template hints.Added guided worker-pipeline next-action metadata and command hints in next-action output for guided mode projects.Added worker-pipeline config extraction into taskledger/storage/worker_pipeline_config.py and worker-only context rendering into taskledger/services/worker_context.py.Added doctor warning diagnostics for stale worker-step todo and handoff references.Added shell completion support: root Typer app now enables completion options, with --install-completion and --show-completion available.
Changed
Worker handoff defaults now derive from configured pipeline steps when --worker is specified.Worker step metadata is rendered in task reports when present.Review-stage worker routing advances from closed worker handoffs.Plan template and todo parsing preserve worker_step metadata across export, regeneration, and materialization.Updated service boundary whitelists for worker-pipeline and doctor scan import sites.
Documentation
Documented worker pipeline configuration, commands, guided workflow, and config fields in README, docs/usage.rst, docs/full_task_cycle.rst, and docs/command_contract.rst.Updated skills/taskledger/SKILL.md with optional worker pipeline protocol guidance and guided next-action hints.Updated API.md for public handoff API signatures with worker_step_id.Added shell completion install and show command documentation in README and docs/usage.rst.
Quality
Added regression test modules for worker pipeline config, CLI commands, worker context, worker handoffs, worker todo materialization, guided next-action, and doctor warnings.Expanded command inventory, JSON contract, docs/skill, and service boundary tests for the new surface.Full suite: ruff and mypy clean.
v0.4.0
Full Changelog: v0.3.1...v0.4.0
v0.4.0 - 2026-05-19
Added
- Added storage sync documentation (
docs/sync.rst) explaining how to keep taskledger state outside the source repo, sync across PCs with a private Git repo, bootstrap a second machine, follow a daily sync protocol, and avoid active multi-writer conflicts. - Added
taskledger storage wherecommand reporting resolved project and storage location details in human and JSON output, including whether storage lives inside the workspace, is a Git repo, or has active locks. - Added
taskledger storage movefor safely migrating storage to a newtaskledger_dirwith atomic config updates, unsafe-target refusal, and follow-up command hints. - Added
taskledger sync preflightread-only check combining doctor health, active-lock warnings, tracked in-repo state warnings, and local Git status. - Added
taskledger sync statusandtaskledger sync commitlocal Git helper commands for committing taskledger state without network operations. - Added
taskledger sync exportandtaskledger sync importas aliases for the existing archive transfer commands. - Added
taskledger sync gitcommand group for live external-state synchronization:init,status,commit,cd,import-local,export-local,pull,push,sync, andhookssubcommands with conservative lock/dirty checks. - Added project-scoped
sync git statusthat separates current-project changes from outside-project changes in JSON payloads, safe with dirty sibling directories. - Added
sync git cdhelper returning the configured sync repo path for shell use. - Added
sync git commitfor committing only the configured project path while ignoring dirty sibling paths. - Added
[sync.git]project config section with strict validation and documented defaults. - Added
taskledger/services/storage_locations.pyfor storage reporting, migration, and sync helper services. - Added
taskledger/services/git_sync.pyfor git sync orchestration. - Added
taskledger/cli_sync.pyas a dedicated sync CLI group. - Added
taskledger/api/sync.pywith public sync API wrappers.
Changed
- Demoted whole-repo
sync git pull,push,sync, and unsafe hook installation from recommended workflow to advanced/deprecated status in help, docs, and skill guidance. - Reframed docs, README, and skill around the project-scoped local helper workflow:
sync git status,sync git commit, then manual Git viasync git cd. - Fixed stale config filename references so docs no longer claim init writes
.taskledger.tomlwhentaskledger.tomlis canonical. - Updated external storage examples to use the current
ledgers/<ledger_ref>/...layout.
Documentation
- Added
docs/sync.rstwith cross-PC sync workflow, daily protocol, and multi-writer conflict avoidance guidance. - Updated README,
docs/usage.rst,docs/transfer.rst,docs/command_contract.rst,docs/public_surface.rst,API.md, andskills/taskledger/SKILL.mdfor the new storage and sync command surface.
Quality
- Added
tests/test_storage_sync.pyandtests/test_sync_git.pycovering storage migration, sync commands, git sync workflows, shared dirty state, project-scoped commits, and JSON result kinds. - Expanded command inventory, CLI contract, and docs/skill tests for the new command surface.
- Full suite: 897 tests passing, ruff and mypy clean.
v0.3.1
Full Changelog: v0.3.0...v0.3.1
v0.3.1 - 2026-05-12
Added
- Added task-scoped export/import with
--taskpositional ref on export, safe ID remapping (--id-policy preserve|renumber), counter repair, and artifact path remapping on import. Full-ledger export remains the default; single-task archives filter task-scoped records and clearactive_task. - Added
taskledger plan reviewcommand to show the current or specified plan version with structured JSON output and content rendering. - Added
next-actionrouting to recommendplan review --version Nwhen a plan is awaiting approval.
Documentation
- Updated README, command contract, and SKILL.md for task-scoped transfer workflow and
plan reviewcommand.
Quality
- Added regression coverage for task-scoped export/import ID mapping, conflict policy, counter repair, artifact remap, and plan review end-to-end.
- Full suite: 878 tests passing, ruff and mypy clean.
v0.3.0
Full Changelog: v0.2.0...v0.3.0
v0.3.0 - 2026-05-05
Added
- Added agent command transcript logging: opt-in config, append-only NDJSON storage, CLI stdout/stderr tee capture, managed-shell capture,
task transcriptcommand, andtask report --include command-logsection. Export/import preserves transcript archives. - Added planning guidance profiles:
plan guidancecommand,--include-guidanceplan template injection, andprompt_profiles.planningconfig with advisory required-fields rendering. - Added transcript review mode as the default
task transcriptoutput, with--rawflag for the original table view, duplicate log ID warnings, and logical-row grouping for wrapper/managed-shell pairs. - Added enriched command metadata: tier, deprecated, replaced_by, ledger_effect, workspace_effect, external_effect, and agent_safe fields on CommandSpec. Added
--tierand--include-deprecatedCLI filters. Deprecatedlock breakin favor ofrepair lock. - Added first-class expired-lock resume path:
implement resume --repair-expired-lockreleases expired implementation locks with audit trail, andnext-actionemitsexpired-lock-resumewhen applicable. - Added task-resource positional refs for read-only commands (
task show,task view, etc.) with explicit--taskrequired for destructive commands (task cancel,task uncancel,task edit). - Added JSON usage-error envelopes for workflow positional-ref rejection and CLI parse errors.
- Added soft task archive:
task archive/task unarchivecommands, archived-task visibility filtering across list/tree/status, and slug reuse semantics. - Added export/import project metadata guard, dry-run safety, and include-flag controls.
- Added plan revision workflow:
plan export,plan amend, and--auto-revisewith safe plan input path guard and plan.amended audit events. - Added plan approval provenance: approval_source and approved_plan_hash stored on acceptance, with hash-mismatch warnings in reports.
- Added implement finish warning for missing git change scans.
Changed
- Split run/lock helpers into
services/run_store.pyfrom the tasks.py monolith;tasks.pyre-exports for backward compatibility. - Wrapper commands now mirror inner exit status by default instead of always succeeding.
- Planning guidance recommendation is now integrated into
plan startandnext-actionwith a one-time viewed marker. - Plan lint human output now renders summary and issue details instead of bare pass/fail.
- Question
answer-manynow validates repeat inputs, aliases, and provenance. - Doctor mismatch guidance and verbose output improved with actionable repair hints.
Fixed
- Fixed task report Plans section so non-accepted plans show reviewable details instead of being omitted.
- Fixed pre-commit
--all-filesregressions across test files.
Documentation
- Documented planning guidance profiles in README, usage, command contract, API, and skill.
- Documented transcript logging, managed command capture, and review mode in usage and skill.
- Documented expired-lock-resume path and
--repair-expired-lockin SKILL.md. - Documented command-surface safety guidance, task-resource positional refs, and destructive-target rules in SKILL.md and command contract.
- Documented plan revision workflow commands and safety semantics in SKILL.md and command examples.
- Updated failure-review remediation hints for known mistakes in docs and skill.
Quality
- Added regression test modules for agent command logging, expired-lock resume, task archive, and plan revision workflow.
- Expanded command inventory, CLI contract, JSON contract, and docs/skill tests for metadata enrichment, deprecation, targeting, and envelope behavior.
- Full suite: 770+ tests passing, ruff and mypy clean.
v0.2.0
Full Changelog: v0.1.2...v0.2.0
v0.2.0 - 2026-05-03
Added
- Added
taskledger task recordfor creating done tasks that represent manually completed work, with change records, evidence, and implementation summaries. Does not acquire locks or activate the task. Recorded tasks are included in release changelogs. - Added branch-scoped ledger state with
taskledger ledgercommand group (status,list,fork,switch,adopt,doctor). Each git branch can maintain its own isolated task ledger, withadoptfor copying branch-local task history into the current ledger. - Added
taskledger treecommand to render ledger and task structure with follow-up nesting, subtree filtering, release boundaries, and per-ledger release counts in both human and JSON output. - Added compressed export/import with a project UUID guard to prevent importing archives into the wrong project, plus archive member-count and manifest/payload size limits for safety.
- Added
taskledger status --checkto run doctor diagnostics alongside status, keeping the defaultstatusfast by avoiding full record parsing. - Added structured diagnostics to
taskledger doctorJSON output with task IDs, change IDs, run IDs, types, relative paths, and actionable repair hints. - Added explicit
repaircommand for existing planning-command change records that were incorrectly persisted as code changes. - Added a top-level
Makefilewith arelease-checkautomation target (compile, test, lint, type-check, build, twine check). - Added AST-based service boundary guardrail tests with explicit whitelists and documented rationale.
Changed
- Split core plan/implement/validate service entrypoints from
tasks.pyinto dedicatedplanning_flow.py,implementation_flow.py, andvalidation_flow.pymodules.tasks.pyremains a compatibility facade. - Decoupled validation service from private task helpers by extracting shared query logic into a new
task_queriesmodule. - Planning commands are now persisted as planning-run evidence (worklog/artifacts/event) instead of creating
CodeChangeRecordentries. - Replaced chmod-dependent storage write failure test with a deterministic synthetic
OSErrormonkeypatch. - Sped up test suite with test-only fast fsync bypass, command-runner seam, and reduced subprocess-heavy setup.
Fixed
- Fixed import replace so it no longer restores stale locks across machines.
Documentation
- Documented branch-scoped ledger workflow,
task recordusage and warnings,treecommand, andmake release-checkacross README, RST docs, API docs, and the taskledger skill. - Added
docs/service_boundary_whitelist.mddocumenting temporary module/function boundary whitelist entries and split targets.
Quality
- Expanded regression coverage for branch-scoped ledgers, task record, tree command, compressed export/import, doctor diagnostics, status performance, service boundaries, and planning command persistence. Repo-wide pytest, ruff, and mypy passed.
v0.1.2
Full Changelog: v0.1.1...v0.1.2
v0.1.2 - 2026-04-30
Fixed
- Fixed orphaned planning run lifecycle recovery so plan regeneration safely finishes the latest orphaned planning run with audit evidence, plan approval rejects tasks with any running run, and
implement startreports structured conflict details including run id, run type, lock match status, and suggested diagnostic command. - Aligned
next-actionandcan implementso they never recommendimplement startwhen a running run or run/lock mismatch blocks implementation. - Expanded
taskledger doctorandtaskledger doctor locksto report run/lock mismatches with specific repair guidance.
Added
- Added
taskledger repair runfor guarded, reasoned, audited repair of orphaned running planning runs.
Documentation
- Updated taskledger skill, command contract, and API docs with running-run conflict protocol and
repair runusage.
Quality
- Expanded regression coverage for plan regeneration recovery, approval guards, next-action alignment, doctor diagnostics, and repair lifecycle. Targeted pytest, ruff, format, and mypy passed.
v0.1.1
Full Changelog: v0.1.0...v0.1.1
v0.1.1 - 2026-04-29
Added
- Added
task follow-upto create linked post-completion child tasks, preserve closure metadata, and show parent and follow-up relationships in task and handoff views. - Added durable release records and a new
taskledger releasecommand group withtag,list,show, andchangelog, including export/import support and public API coverage. - Added planning helpers with
question add-many,plan template, richer regeneration hints innext-action, and recovery commands for orphaned implementation work withimplement resume,task uncancel, andcan implement-resume.
Changed
- Hardened CLI startup so optional command-group import failures no longer block core commands, and launcher failures return structured diagnostics.
Fixed
- Fixed recovery guidance for uncancelled tasks with orphaned implementation runs so
next-actionandcan implementrecommendimplement resumeinstead of a fresh start.
Documentation
- Documented release tagging, changelog generation, planning helpers, follow-up task workflow, and recovery semantics across README, RST docs, API docs, and the taskledger skill.
Quality
- Expanded regression coverage for follow-up tasks, release workflow, CLI import resilience, planning helpers, and implementation recovery. Repo-wide pytest, ruff, and mypy passed.