-
Notifications
You must be signed in to change notification settings - Fork 79
feat: spec-driven batch task execution with dependency sorting #872
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
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
Co-Authored-By: Claude Opus 4.6 <[email protected]>
Document how to add references and documentation to tasks (from prompt, markdown, and how the agent uses them). Add section on viewing the backlog outside the IDE using backlog board and backlog browser CLI commands. Co-Authored-By: Claude Opus 4.6 <[email protected]>
New Docusaurus page documenting the SDD Agent Loop feature: running multiple tasks sequentially with dependency ordering, progress tracking, and automatic task advancement. Adds cross-reference from the main SDD page and sidebar entry. Co-Authored-By: Claude Opus 4.6 <[email protected]>
Recommend creating a CLAUDE.md or AGENTS.md file and enabling the prompt setting before running the agent loop. Co-Authored-By: Claude Opus 4.6 <[email protected]>
Replace JEditorPane (HTML) with word-wrapping JTextArea for help texts, use addFullWidthRow/addHelpText helpers matching AgentSettingsComponent pattern, and nest content in BorderLayout.NORTH to prevent overflow. Co-Authored-By: Claude Opus 4.6 <[email protected]>
…activeTaskSpec code Kotlin 2.3.10 generated Duration bytecode incompatible with IntelliJ 2024.3's bundled kotlin-stdlib, causing NoSuchMethodError in inline completion provider. Also removed unused activeTaskSpec field from ChatMessageContext and its consumer in MessageCreationService — SDD task context is already assembled by SpecContextBuilder before prompt submission. Co-Authored-By: Claude Opus 4.6 <[email protected]>
Implements Kahn's algorithm (BFS) to sort tasks by dependencies before batch execution. Handles internal dependencies between selected tasks, external dependencies checked against allSpecs status, ordinal-based ordering within layers, and circular dependency detection. Co-Authored-By: Claude Opus 4.6 <[email protected]>
Introduces SpecTaskRunnerService that executes spec tasks sequentially in dependency order, monitoring completion via SpecService change listener and a grace timer fallback. UI changes: - SpecBrowserPanel: checkbox selection of To Do tasks, run/cancel toolbar actions, progress panel, runner listener notifications - SpecTreeCellRenderer: checkbox icons for To Do tasks - NotificationUtil: add warning and error notification methods - SpecSettingsComponent: task runner timeout setting Supporting changes: - BacklogConfigService.ensureInitialized() for auto-init on first run - SpecService.removeChangeListener() for proper cleanup - SpecContextBuilder: improved agent instructions emphasizing backlog_task_edit over backlog_task_complete for traceability Co-Authored-By: Claude Opus 4.6 <[email protected]>
Fixes two bugs in batch task execution: 1. Premature grace timer: when onSpecsChanged() detected a task as Done mid-execution, it advanced immediately, causing the grace timer to start for the wrong task and skip it. Now it sets a flag and defers advancement until notifyPromptExecutionCompleted(). 2. Memory cleared mid-execution: submitNextTask() called startFreshConversation() which cleared ChatMemoryService while the previous agent loop was still running. Now memory is only cleared after the prompt execution truly finishes. Supporting fixes: - PromptExecutionController: execution ID to detect stale callbacks from previous runs that complete after a new execution starts - PromptExecutionService: proceed with new execution after cancelling old ones instead of aborting (enables runner task transitions) - NonStreamingPromptExecutionService: skip blanket timeout for agent/MCP prompts (individual requests have SDK-level timeouts) - PromptTaskTracker: clean up stale task entries after cancellation - ActionButtonsPanel: queue pending spec prompts and notify runner on prompt completion Co-Authored-By: Claude Opus 4.6 <[email protected]>
stephanj
added a commit
that referenced
this pull request
Feb 11, 2026
Add Agent Loop batch execution (#872), Kotlin downgrade, prompts settings overflow fix, and documentation updates to both CHANGELOG.md and plugin.xml change-notes. Co-Authored-By: Claude Opus 4.6 <[email protected]>
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
backlog_task_editfor status updates and requiring notes/summary before marking DoneTest plan
TaskDependencySorterTest— 10 tests covering empty lists, single tasks, chain/diamond/circular dependencies, ordinal sorting, external deps🤖 Generated with Claude Code