* Cleanup scripts (vibe-kanban 9244f51c)
We want the user to be able to specify a cleanup script, which will run after coding agent execution is complete.
This is similar to how setup scripts work, but obviously the main difference is that these run after the coding agent rather than before.
Things to ensure:
- New executor for cleanup scripts
- Project settings (FE + BE) updated with cleanup script
- Auto run cleanup script (if specified) after coding agent runs
- Task activity
* Add tab to display execution processes (vibe-kanban 444e3cf9)
Add a new tab in the TabNavigation component called "Processes"
This will be a list of all the Execution Processes associated with the selected task attempt.
Clicking on a process will open the raw logs for that execution process.
The list of execution processes is already being fetched in the frontend.
* fmt
* clippy
* format
* The processes tab info has UI glitch (vibe-kanban) (#289)
* Perfect! Fixed both UI glitches:
1. **Overlay issue**: Added `pb-20` (padding-bottom: 5rem) to both the process list view and process details view to ensure the "continue working on this task..." follow-up section doesn't overlap the process content
2. **Scrolling issue**: Changed `max-h-64` to `h-64` for both stdout/stderr log containers to ensure they have a fixed height and proper scrolling behavior
The build completed successfully, confirming the TypeScript changes are valid.
* Fixed! The issue was with the flex container setup. I made these key changes:
1. **Added `min-h-0`** to the process details container - this prevents flex items from having an implicit minimum height
2. **Added `flex-shrink-0`** to the header - this prevents the header from shrinking and ensures it stays fixed
3. **Changed `overflow-auto` to `overflow-y-auto`** - this specifically enables vertical scrolling only
Now the parent tab should properly scroll to show all process sections while the individual stdio boxes maintain their own internal scrolling.
* Execute Plan: Auto commit changes after cleanup script (vibe-kanban) (#290)
* Perfect! I've successfully implemented auto-commit functionality after cleanup script execution. Here's what was accomplished:
## Summary
Successfully implemented auto-commit functionality in [`handle_cleanup_completion()`](file:///private/var/folders/kr/jdxkcn7129j376nrg0stj9zm0000gn/T/vibe-kanban/vk-6cc2-execute-pl/backend/src/execution_monitor.rs#L1024-L1095) that:
1. **Follows existing patterns** - Reuses the same `commit_execution_changes()` function used by coding agent completion
2. **Only commits on success** - Auto-commit only triggers when cleanup script succeeds
3. **Proper error handling** - Logs errors without failing the entire process
4. **Descriptive commit messages** - Uses "Task attempt {id} - Post-cleanup changes" format
5. **Comprehensive logging** - Provides clear success/failure feedback
The implementation leverages the existing Git infrastructure and maintains consistency with the codebase patterns. The project compiles and builds successfully with the new feature.
* fmt
* Done! The commit message is now simply "Cleanup script".
* Execute Plan: Move tasks to in-review after cleanup script (vibe-kanban 78f2eb17)
# Plan: Move Tasks to In-Review After Cleanup Script
## Current Problem
- Tasks are moved to 'in-review' status immediately when coding agent completes
- Sound notifications play immediately after coding agent completion
- Cleanup scripts run after the task is already marked as complete
- This creates inconsistent UX where users think task is done before cleanup finishes
## Proposed Solution
### 1. Modify Coding Agent Completion Handler (`execution_monitor.rs:873-933`)
- **Remove** immediate task status update to `InReview`
- **Remove** immediate sound notification
- Keep cleanup script triggering logic
- Add intermediate status or flag to track "coding complete, waiting for cleanup"
### 2. Enhance Cleanup Completion Handler (`execution_monitor.rs:1024-1097`)
- **Add** task status update to `InReview` after successful cleanup
- **Add** sound notification after successful cleanup completion
- Handle cleanup failure cases (still move to `InReview` with appropriate messaging)
- Preserve existing auto-commit functionality
### 3. Handle Edge Cases
- **No cleanup script configured**: Move to `InReview` immediately after coding agent (maintain current behavior)
- **Cleanup script fails**: Still move to `InReview` but with failure notification
- **Cleanup script timeout**: Move to `InReview` with timeout notification
### 4. Files to Modify
- `backend/src/execution_monitor.rs` - Main logic changes
- Potentially update notification messages to reflect cleanup completion
## Expected Outcome
- Tasks only move to 'in-review' after ALL processing (including cleanup) is complete
- Sound notifications align with actual task completion
- Better user experience with accurate status representation
* Execute Plan: Show 'stop attempt' if cleanup script running (vibe-kanban 8fbcfe55)
## Implementation Plan: Show 'Stop Attempt' for Cleanup Scripts
### Current State Analysis
- 'Stop Attempt' button shows when `isAttemptRunning` is true
- `isAttemptRunning` only checks for `codingagent` and `setupscript` process types
- `ExecutionProcessType` enum currently only includes: `"setupscript" | "codingagent" | "devserver"`
- Types are auto-generated from backend via `generate_types.rs`
### Required Changes
#### 1. Backend Type Updates (High Priority)
- Find and update the Rust `ExecutionProcessType` enum to include `cleanupscript`
- Run `backend/src/bin/generate_types.rs` to regenerate `shared/types.ts`
#### 2. Frontend Logic Updates (High Priority)
- Modify `isAttemptRunning` in `TaskDetailsContextProvider.tsx:278-289`:
```typescript
return attemptData.processes.some(
(process: ExecutionProcessSummary) =>
(process.process_type === 'codingagent' ||
process.process_type === 'setupscript' ||
process.process_type === 'cleanupscript') &&
process.status === 'running'
);
```
#### 3. Verification (Medium Priority)
- Verify backend creates cleanup script processes with correct `process_type`
- Test that stop functionality works with cleanup scripts (should work automatically via existing `stopAllExecutions` API)
### Expected Outcome
When cleanup scripts are running, the 'Stop Attempt' button will appear and clicking it will stop the cleanup script, maintaining consistency with setup scripts and coding agents.
* Format