feat(FN-3202): handle manual PR linking and feedback follow-ups
- Add scheduler logic to create dependency-linked follow-up tasks when actionable PR feedback remains after a PR is merged or closed - Update engine runtime/project wiring to support manual PR create flows and branch publish behavior for fusion/<task-id> - Add dashboard route coverage for manual PR creation/linking behavior and corresponding engine/runtime tests - Document manual PR branch conventions and follow-up behavior in task management and dashboard docs Fusion-Task-Id: FN-3202
This commit is contained in:
@@ -424,6 +424,32 @@ export class Scheduler {
|
||||
return this.options.missionAutopilot;
|
||||
}
|
||||
|
||||
configurePrMonitoring(options: {
|
||||
prMonitor?: PrMonitor;
|
||||
onClosedPrFeedback?: SchedulerOptions["onClosedPrFeedback"];
|
||||
}): void {
|
||||
this.options.prMonitor = options.prMonitor;
|
||||
this.options.onClosedPrFeedback = options.onClosedPrFeedback;
|
||||
|
||||
if (!options.prMonitor) {
|
||||
return;
|
||||
}
|
||||
|
||||
void this.store.listTasks({ slim: true, includeArchived: false })
|
||||
.then((tasks) => {
|
||||
const repo = getCurrentRepo(this.store.getRootDir());
|
||||
if (!repo) return;
|
||||
|
||||
for (const task of tasks) {
|
||||
if (task.column !== "in-review" || !task.prInfo) continue;
|
||||
options.prMonitor!.startMonitoring(task.id, repo.owner, repo.repo, task.prInfo);
|
||||
}
|
||||
})
|
||||
.catch((err) => {
|
||||
schedulerLog.error("Failed to hydrate PR monitoring from existing in-review tasks:", err);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolve the base branch for a task being started.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user