All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- TASKPLANE_WORKSPACE_ROOT not set for lane sessions — env var condition was always false in workspace mode. Lane sessions couldn't find config, showing "0 areas".
- Lane sessions couldn't find task-runner extension — lane tmux sessions hardcoded
{repoRoot}/extensions/task-runner.tswhich only exists in the taskplane dev repo. Now searches npm global install paths. This was a critical bug preventing workspace/polyrepo mode from working for any project other than taskplane itself. - Batch completion message missing integration instructions — now shows orch branch name and
/orch-integratecommand options. - Batch state deleted on clean completion — state is now preserved when an orch branch exists so
/orch-integratecan find it.
- Orchestrator-managed branch model (issue #24) —
/orchnow creates an ephemeralorch/{opId}-{batchId}branch and does all work there. User's HEAD is never touched during batch execution. VS Code stays on whatever branch the user is working on. /orch-integratecommand — integrates completed batch work into your working branch. Three modes: fast-forward (default),--merge(real merge),--pr(push and open GitHub PR). Includes branch safety check (warns if current branch differs from batch origin).- Batch-scoped worktree containers — worktree paths changed from
{prefix}-{opId}-{N}to{basePath}/{opId}-{batchId}/lane-{N}. Prevents directory collisions between concurrent batches. Merge worktree is inside the container. - Auto-integration config —
integrationsetting ("manual"default,"auto"opt-in). Manual = user runs/orch-integrate. Auto = fast-forward on completion. - Settings reference doc —
docs/reference/configuration/taskplane-settings.mddocuments every setting with types, defaults, options, and descriptions. - 86 new tests (828 total across 22 test files), including new
orch-integrate.test.ts.
- Wave merges use
git update-refinstead ofgit merge --ff-onlyin the main repo — no longer touches the working tree. - Stash/pop logic removed from merge flow (no longer needed since orch branch is never checked out in main repo).
- Post-merge worktree reset targets orch branch HEAD instead of user's branch.
- Batch completion message shows orch branch name and
/orch-integrateinstructions.
- Settings TUI input fields freeze terminal (issue #57) — replaced inline submenu with single-value cycling pattern that exits TUI, then prompts via
ctx.ui.input(). Works on all platforms. - Renamed
/settingsto/taskplane-settingsto avoid collision with pi's built-in/settingscommand. - Protected branch blindness —
/orchon a protected branch no longer wastes hours before failing at merge time.
- Orchestrator
spawn_modesetting removed from/taskplane-settingsTUI —/orchalways requires tmux, making the setting misleading. The worker-level Spawn Mode (controls/taskbehavior) remains.
/taskplane-settingsTUI command — interactive config editor with section navigation, source indicators (project/user/default), type-specific controls, and validation. Primary config interface — users rarely need to edit files directly.- JSON config schema — unified
taskplane-config.jsonreplaces both YAML files. Unified loader with YAML fallback for backward compatibility. taskplane initv2 — auto-detects repo vs workspace mode (no--workspaceflag needed). Enforces selective gitignore entries. Detects and offers to untrack accidentally committed runtime artifacts. Defaultsspawn_modeto"tmux"when available.- Pointer file resolution — workspace mode uses
taskplane-pointer.jsonto locate config, agents, and state in the designated config repo. All subsystems (task-runner, orchestrator, dashboard, merge agent) follow the pointer. - User preferences —
~/.pi/agent/taskplane/preferences.jsonfor personal settings (operator ID, models, tmux prefix, dashboard port). Merged with project config at load time. - Doctor enhancements — gitignore validation, tracked artifact detection, workspace pointer chain validation, config repo default branch check, legacy YAML migration warning, tmux vs
spawn_modemismatch detection. - Configurable merge agent timeout (
merge.timeout_minutes, default: 10 min, was hardcoded 5 min). Exposed in/taskplane-settingsTUI.
- Per-step git commits replace per-checkbox commits — reduces git overhead by ~70-80% without losing recovery capability. STATUS.md is still updated after each checkbox.
- CHANGELOG.md mandatory in release process (AGENTS.md pre-release checklist added).
- Agent prompt inheritance — base prompts ship in package and auto-update on
pi update. Local.pi/agents/*.mdfiles are thin project-specific overrides composed at runtime.standalone: trueopts out. taskplane initnow scaffolds thin local agent files instead of full copies.
- Node.js minimum raised to 22 (was 20). All CLI commands fail fast with a clear error on older versions. CI updated to Node 22.
taskplane install-tmux— automated tmux installation for Git Bash on Windows. Downloads from MSYS2 mirrors, no admin rights needed.--checkfor status,--forceto reinstall/upgrade.- tmux documented as strongly recommended prerequisite across all public-facing docs.
taskplane doctorsuggestsinstall-tmuxwhen tmux is missing on Windows.
taskplane install-tmuxcommand (same as v0.3.0 — released before the Node.js bump).
- Dashboard STATUS.md eye icon resolves paths correctly in workspace mode (was double-pathing repo prefix).
- State/sidecar files (batch-state.json, lane-state, merge results) now write to workspace root's
.pi/instead of repo root's.pi/in workspace mode. Fixes dashboard not showing batch progress.
- Tolerate flat
verification_passed/verification_commandsfields in merge result JSON (merge agents may write flat fields instead of nestedverificationobject).
- Normalize merge result
statusfield to uppercase before validation. Merge agents may write lowercase ("success"vs"SUCCESS").
- Worktree base branch resolved from current HEAD instead of
default_branchin workspace config. Was causing worktrees to branch fromdevelopinstead of the user's feature branch.
- Thread
TASKPLANE_WORKSPACE_ROOTenv var to lane sessions so task-runner can find.pi/task-runner.yamlin workspace mode.
- Discovery resolves task area paths from workspace root (not repo root) in workspace mode.
- Preflight
git worktree listcheck runs from repo root in workspace mode (workspace root is not a git repo).
- Polyrepo workspace mode — multi-repository orchestration with per-repo lanes, merges, and resume.
- Workspace config (
.pi/taskplane-workspace.yaml) with repo definitions, routing, and strict mode. - Task repo routing via
## Execution Targetin PROMPT.md. - Repo-scoped lane allocation with global lane numbering.
- Repo-scoped merge sequencing with partial-success reporting.
- Operator-scoped naming for sessions, worktrees, branches, and merge artifacts (collision resistance).
- Schema v2 persistence with repo-aware task/lane records and v1→v2 auto-upconversion.
- Resume reconciliation across repos.
- Dashboard repo filter, badges, and per-repo merge sub-rows.
- Strict routing enforcement (
routing.strict: true). - 398 tests across 15 test files.
- Rebalanced hydration philosophy — outcome-level checkboxes (2-5 per step) replace exhaustive implementation scripts (15+ micro-checkboxes).
- Updated task-worker and task-reviewer agent prompts with "Adaptive Planning, Not Exhaustive Scripting" guidance.
- Dashboard eye icon contrast improved — higher opacity, accent color on hover/active states, box-shadow ring for on/off distinction.
- Minor bug fixes and stability improvements.
- Minor bug fixes and stability improvements.
0.1.14 - 2026-03-15
taskplane doctornow parses task-areacontext:paths only from thetask_areasblock, preventing false-positive CONTEXT warnings from unrelated YAML sections.
0.1.13 - 2026-03-15
taskplane init --tasks-root <relative-path>to target an existing task directory (for exampledocs/task-management) instead of creating an alternate task area path.
- When
--tasks-rootis provided, sample task packets are skipped by default; pass--include-examplesto scaffold examples intentionally into that directory.
0.1.12 - 2026-03-15
taskplane uninstallCLI command with project cleanup + optional package uninstall scopes (--package,--package-only,--local,--global,--remove-tasks,--all,--dry-run).- Dynamic example scaffolding in
taskplane init: alltemplates/tasks/EXAMPLE-*packets are now discovered and generated. - Second default example task packet:
EXAMPLE-002-parallel-smoke. - GitHub governance baseline for OSS collaboration:
- CI workflow (
.github/workflows/ci.yml) - Dependabot config
- CODEOWNERS
- Docs improvement issue form + issue template config
- CI workflow (
- Onboarding is now orchestrator-first (
/orch-plan all+/orch all+ dashboard), with/taskdocumented as explicit single-task mode. - Docs now explicitly clarify
/taskruns in current branch/worktree while/orchuses isolated worktrees (recommended default even for single-task isolation). AGENTS.mdnow includes branching/PR workflow and release-playbook guidance for coding agents.- Maintainer documentation expanded with repository governance and release mapping between GitHub releases and npm publish.
- CI baseline now avoids peer-dependency import failures from extension runtime-only modules in this repo context.
- Branch protection/check naming documentation aligned with the required GitHub check context (
ci).
0.1.11 - 2026-03-14
- Taskplane CLI package entrypoint (
taskplane) with init/doctor/version/dashboard commands - Web dashboard packaging under
dashboard/with CLI launch support - Project scaffolding via
taskplane init(configs, agents, task templates) - Dependency-aware parallel orchestration commands (
/orch*) - Batch persistence and resume foundations (
/orch-resume, persisted batch state)
- Package layout aligned for pi package distribution (
extensions/,skills/,templates/,dashboard/) - Documentation strategy shifted to phased, public open-source structure
- Dashboard root resolution based on runtime
--rootinstead of hardcoded repo path