Files
wehub-resource-sync bb5c75ce05
Component Security Validation / Security Audit (push) Has been cancelled
Deploy to Cloudflare Pages / deploy (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:38:58 +08:00

301 lines
6.4 KiB
Markdown

# Orchestration Remove Command
Safely remove a task from the orchestration system, updating all references and dependencies.
## Usage
```
/orchestration/remove TASK-ID [options]
```
## Description
Removes a task completely from the orchestration system, handling all dependencies, references, and related documentation. Provides impact analysis before removal and ensures system consistency.
## Basic Commands
### Remove Single Task
```
/orchestration/remove TASK-003
```
Shows impact analysis and confirms before removal.
### Force Remove
```
/orchestration/remove TASK-003 --force
```
Skips confirmation (use with caution).
### Dry Run
```
/orchestration/remove TASK-003 --dry-run
```
Shows what would be affected without making changes.
## Impact Analysis
Before removal, the system analyzes:
```
Task Removal Impact Analysis: TASK-003
======================================
Task Details:
- Title: JWT token validation
- Status: in_progress
- Location: /tasks/in_progress/TASK-003-jwt-validation.md
Dependencies:
- Blocks: TASK-005 (User profile API)
- Blocks: TASK-007 (Session management)
- Depends on: None
References Found:
- MASTER-COORDINATION.md: Line 45 (Wave 1 tasks)
- EXECUTION-TRACKER.md: Active task count
- TASK-005: Lists TASK-003 as dependency
- TASK-007: Lists TASK-003 as dependency
Git History:
- 2 commits reference this task
- Branch: feature/jwt-auth
Warning: This task has downstream dependencies!
Proceed with removal? [y/N]
```
## Removal Process
### 1. Update Dependent Tasks
```
Updating dependent tasks:
- TASK-005: Removing dependency on TASK-003
New status: Ready to start (no blockers)
- TASK-007: Removing dependency on TASK-003
Warning: Still blocked by TASK-009
```
### 2. Update Tracking Files
```yaml
# TASK-STATUS-TRACKER.yaml updates:
status_history:
TASK-003: [REMOVED - archived to .removed/]
current_status_summary:
in_progress: [TASK-003 removed from list]
removal_log:
- task_id: TASK-003
removed_at: "2024-03-15T16:00:00Z"
removed_by: "user"
reason: "Requirement changed"
final_status: "in_progress"
```
### 3. Update Coordination Documents
```
Updates applied:
✓ MASTER-COORDINATION.md - Removed from Wave 1
✓ EXECUTION-TRACKER.md - Updated task counts
✓ TASK-DEPENDENCIES.yaml - Removed all references
✓ Dependency graph regenerated
```
## Options
### Archive Instead of Delete
```
/orchestration/remove TASK-003 --archive
```
Moves to `.removed/` directory instead of deleting.
### Remove Multiple Tasks
```
/orchestration/remove TASK-003,TASK-005,TASK-008
```
Analyzes and removes multiple tasks in dependency order.
### Remove by Pattern
```
/orchestration/remove --pattern "oauth-*"
```
Removes all tasks matching pattern.
### Cascade Removal
```
/orchestration/remove TASK-003 --cascade
```
Also removes tasks that depend on this task.
## Handling Special Cases
### Task with Commits
```
Warning: TASK-003 has associated commits:
- abc123: "feat(auth): implement JWT validation"
- def456: "test(auth): add JWT tests"
Options:
[1] Keep commits, remove task only
[2] Add removal note to commit messages
[3] Cancel removal
```
### Task in QA/Completed
```
Warning: TASK-003 is in 'completed' status
This usually means work was done. Consider:
[1] Archive task instead of removing
[2] Document why it's being removed
[3] Check if commits should be reverted
```
### Critical Path Task
```
ERROR: TASK-003 is on the critical path!
Removing this task will impact project timeline:
- Current completion: 5 days
- After removal: 7 days (due to replanning)
Override with --force-critical
```
## Removal Strategies
### Soft Remove (Default)
```
/orchestration/remove TASK-003
```
- Archives task file
- Updates all references
- Logs removal reason
- Preserves git history
### Hard Remove
```
/orchestration/remove TASK-003 --hard
```
- Deletes task file permanently
- Removes all traces
- Updates git tracking
- No recovery possible
### Replace Remove
```
/orchestration/remove TASK-003 --replace-with TASK-015
```
- Transfers dependencies to new task
- Updates all references
- Maintains continuity
## Undo Capabilities
### Recent Removal
```
/orchestration/remove --undo-last
```
Restores the most recently removed task.
### Restore from Archive
```
/orchestration/remove --restore TASK-003
```
Restores archived task with all references.
## Examples
### Example 1: Obsolete Feature
```
/orchestration/remove TASK-008 --reason "Feature descoped"
Removing TASK-008: OAuth provider integration
- No dependencies
- No commits yet
- Safe to remove
Task removed successfully.
```
### Example 2: Duplicate Task
```
/orchestration/remove TASK-012 --replace-with TASK-005
Removing duplicate: TASK-012
Transferring to: TASK-005
- Dependencies transferred: 2
- References updated: 4
Duplicate removed, TASK-005 updated.
```
### Example 3: Changed Requirements
```
/orchestration/remove TASK-003,TASK-004,TASK-005 --reason "Auth system redesigned"
Removing authentication task group:
- 3 tasks to remove
- 2 have commits (will archive)
- 5 dependent tasks need updates
Proceed? [y/N]
```
## Audit Trail
All removals are logged:
```yaml
# .orchestration-audit.yaml
removals:
- task_id: TASK-003
removed_at: "2024-03-15T16:00:00Z"
removed_by: "user-id"
reason: "Requirement changed"
status_at_removal: "in_progress"
dependencies_affected: ["TASK-005", "TASK-007"]
commits_preserved: ["abc123", "def456"]
archived_to: ".removed/2024-03-15/TASK-003/"
```
## Best Practices
1. **Always Check Dependencies**: Review impact before removing
2. **Document Reason**: Provide clear removal reason
3. **Archive Important Work**: Use --archive for completed work
4. **Update Team**: Notify about critical removals
5. **Review Commits**: Check if code needs reverting
## Integration
### With Other Commands
```
# First check status
/orchestration/status --task TASK-003
# Then remove if needed
/orchestration/remove TASK-003
```
### Bulk Operations
```
# Find and remove all on-hold tasks older than 30 days
/orchestration/find --status on_hold --older-than 30d | /orchestration/remove --batch
```
## Safety Features
- Confirmation required (unless --force)
- Dependencies checked and warned
- Commits preserved by default
- Audit trail maintained
- Undo capability for recent removals
## Notes
- Removed tasks are archived for 30 days by default
- Git commits are never automatically reverted
- Dependencies are gracefully handled
- System consistency is maintained throughout