Skip to content

Expand Changes/Archive trees to individual tasks: reveal + delete - #38

Merged
VeryComplexAndLongName merged 1 commit into
mainfrom
feat/tasks-tree-expand-delete-reveal
Aug 17, 2026
Merged

VeryComplexAndLongName merged 1 commit into
mainfrom
feat/tasks-tree-expand-delete-reveal

Conversation

@VeryComplexAndLongName

Copy link
Copy Markdown
Owner

Summary

  • Each change node in the Changes and Archive tree views now also lists its tasks.md checklist items as children, alongside the existing artifacts.
  • Selecting a task opens (or reveals, if already open) tasks.md with the cursor moved to that exact line, in both trees.
  • "Delete Task" removes a single checklist line from an active change's tasks.md, with confirmation. Archived tasks never offer a delete action.
  • deleteTaskLine() re-reads tasks.md fresh and re-verifies the target line's exact text before removing it, rather than trusting a potentially-stale line number captured when the tree was last refreshed — fails closed with a clear TaskListChangedError if the file changed underneath, instead of risking deletion of the wrong line.
  • ArtifactTreeItem-mapping logic (previously duplicated identically in changes-tree.ts and archive-tree.ts) is now a single shared getChangeChildren() helper both providers call.

Test plan

  • npm run verify green across all five workspaces (388 tests total), re-run after git add per this repo's English-policy-check gotcha.
  • openspec change validate --strict tasks-tree-expand passes.
  • Real smoke tests, not just unit tests: readTaskChecklist run against this very change's own live tasks.md (14 real tasks, correct line numbers/done state); deleteTaskLine run against a real temp file (correct deletion, and correct rejection of a stale re-delete attempt); a real @vscode/test-electron run (6/6 passing, confirming the extension activates cleanly with the new commands registered). Full detail in openspec/changes/tasks-tree-expand/smoke-test-notes.md.
  • Actual tree-click / editor-jump interaction not driven live — no desktop-app UI automation tool available in this environment (same gap noted for the two prior VS-Code-UI-only changes this session); covered by 39 passing commands.test.ts/tree-provider tests instead, including a vscode-mock.ts extended specifically for TextEditorRevealType/Selection/real lineAt().text support.

🤖 Generated with Claude Code

Each change node in the Changes and Archive tree views now also lists
its tasks.md checklist items as children, alongside the existing
artifacts. Selecting a task opens/reveals tasks.md at that exact line
in both trees; "Delete Task" removes a single checklist line, active
changes only (archived tasks are read-only). deleteTaskLine() re-reads
tasks.md fresh and re-verifies the target line's text before removing
it, rather than trusting a potentially-stale line number from the last
tree refresh -- fails closed with a clear error if the file changed
underneath.

Verified live: readTaskChecklist run against this change's own real
tasks.md (14 tasks, correct), deleteTaskLine run against a real temp
file (correct deletion + correct stale-rejection), and a real
@vscode/test-electron run (6/6 passing, extension activates cleanly
with the new commands registered).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@VeryComplexAndLongName
VeryComplexAndLongName merged commit 5b57c46 into main Aug 17, 2026
6 checks passed
@VeryComplexAndLongName
VeryComplexAndLongName deleted the feat/tasks-tree-expand-delete-reveal branch August 18, 2026 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant