feat(HAI-065): add file-scope overlap detection with blockedBy tracking
- Add blockedBy field to Task type and core store - Update scheduler to set blockedBy when deferring tasks due to file-scope overlap - Render file-scope overlap badge on TaskCard in dashboard - Add tests for blockedBy store logic, scheduler deferral, and TaskCard badge - Simplify and refactor existing executor, triage, and CLI command code
This commit is contained in:
@@ -252,7 +252,7 @@ export class Scheduler {
|
||||
console.log(
|
||||
`[scheduler] Deferring ${task.id}: file overlap with ${overlappingTaskId}`,
|
||||
);
|
||||
await this.store.updateTask(task.id, { status: "queued" });
|
||||
await this.store.updateTask(task.id, { status: "queued", blockedBy: overlappingTaskId });
|
||||
continue;
|
||||
}
|
||||
}
|
||||
@@ -267,7 +267,7 @@ export class Scheduler {
|
||||
console.log(
|
||||
`[scheduler] Starting ${task.id}: ${task.title || task.id} (deps satisfied)`,
|
||||
);
|
||||
await this.store.updateTask(task.id, { status: null });
|
||||
await this.store.updateTask(task.id, { status: null, blockedBy: null });
|
||||
await this.store.moveTask(task.id, "in-progress");
|
||||
this.options.onSchedule?.(task);
|
||||
started++;
|
||||
|
||||
Reference in New Issue
Block a user