Repository navigation
Expand Changes/Archive trees to individual tasks: reveal + delete - #38
Merged
VeryComplexAndLongName merged 1 commit intoAug 17, 2026
Merged
Conversation
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
deleted the
feat/tasks-tree-expand-delete-reveal
branch
August 18, 2026 14:38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tasks.mdchecklist items as children, alongside the existing artifacts.tasks.mdwith the cursor moved to that exact line, in both trees.tasks.md, with confirmation. Archived tasks never offer a delete action.deleteTaskLine()re-readstasks.mdfresh 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 clearTaskListChangedErrorif the file changed underneath, instead of risking deletion of the wrong line.ArtifactTreeItem-mapping logic (previously duplicated identically inchanges-tree.tsandarchive-tree.ts) is now a single sharedgetChangeChildren()helper both providers call.Test plan
npm run verifygreen across all five workspaces (388 tests total), re-run aftergit addper this repo's English-policy-check gotcha.openspec change validate --strict tasks-tree-expandpasses.readTaskChecklistrun against this very change's own livetasks.md(14 real tasks, correct line numbers/done state);deleteTaskLinerun against a real temp file (correct deletion, and correct rejection of a stale re-delete attempt); a real@vscode/test-electronrun (6/6 passing, confirming the extension activates cleanly with the new commands registered). Full detail inopenspec/changes/tasks-tree-expand/smoke-test-notes.md.commands.test.ts/tree-provider tests instead, including avscode-mock.tsextended specifically forTextEditorRevealType/Selection/reallineAt().textsupport.🤖 Generated with Claude Code