-
Notifications
You must be signed in to change notification settings - Fork 9
Open
Labels
Description
Objective
Implement a system to create and manage dependencies/relationships between tasks. This includes defining dependency types (blocks, blocked by, relates to), ensuring dependency integrity, and providing APIs to query task relationships.
Scope
In scope:
- Create task_relationships entity with relationship types (blocks, blocked_by, relates_to, duplicates, parent_of, child_of)
- API endpoints to add/remove task relationships
- GET /api/tasks/:id/dependencies to retrieve all relationships
- Validation to prevent circular dependencies
- Cascade handling when tasks are deleted
- Support for querying blocked/blocking tasks
Out of scope:
- Gantt chart or timeline visualization
- Automatic dependency resolution
- Critical path calculation
- Dependency notifications (separate issue)
Acceptance criteria
- task_relationships entity created with all relationship types
- POST /api/tasks/:id/relationships endpoint to create relationship
- DELETE /api/tasks/:id/relationships/:relationshipId endpoint
- GET /api/tasks/:id/dependencies returning all related tasks
- Circular dependency validation implemented
- Cascading delete handling when tasks are removed
- Can query tasks blocked by a specific task
- Can query tasks blocking a specific task
- Unit tests covering all relationship types
- API documentation updated
Deadline (optional)
No response
Reactions are currently unavailable