Nachfassen (#646): TaskFollowUp ueber BuildTaskboard an den Host reichen
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
753d633cf3
commit
7ce5e219cf
@@ -666,7 +666,7 @@ public sealed class AppHost : IAsyncDisposable
|
|||||||
|
|
||||||
engine.LoadPersistedChats();
|
engine.LoadPersistedChats();
|
||||||
|
|
||||||
var (scanner, staging, board) = BuildTaskboard(
|
var (scanner, staging, board, followUp) = BuildTaskboard(
|
||||||
instance, taskRepository, engine, tools, stateStore, audit,
|
instance, taskRepository, engine, tools, stateStore, audit,
|
||||||
stagingRepository, dauerfreigaben, stagingGate, cases, storage, loggerFactory, logger);
|
stagingRepository, dauerfreigaben, stagingGate, cases, storage, loggerFactory, logger);
|
||||||
|
|
||||||
@@ -737,6 +737,7 @@ public sealed class AppHost : IAsyncDisposable
|
|||||||
loggerFactory.CreateLogger("ClawdDotNet.Core.Audit"));
|
loggerFactory.CreateLogger("ClawdDotNet.Core.Audit"));
|
||||||
auditArchive.Start();
|
auditArchive.Start();
|
||||||
host.AuditArchive = auditArchive;
|
host.AuditArchive = auditArchive;
|
||||||
|
host.FollowUp = followUp;
|
||||||
host._shutdown.Add(auditArchive.DisposeAsync);
|
host._shutdown.Add(auditArchive.DisposeAsync);
|
||||||
|
|
||||||
// #698: what holds in a unit, set by its lead.
|
// #698: what holds in a unit, set by its lead.
|
||||||
@@ -877,7 +878,7 @@ public sealed class AppHost : IAsyncDisposable
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static (TaskScanner?, StagingService?, TaskboardService?) BuildTaskboard(
|
private static (TaskScanner?, StagingService?, TaskboardService?, Core.Tasks.TaskFollowUp?) BuildTaskboard(
|
||||||
InstanceConfig instance,
|
InstanceConfig instance,
|
||||||
SqliteTaskRepository taskRepository,
|
SqliteTaskRepository taskRepository,
|
||||||
AgentEngine engine,
|
AgentEngine engine,
|
||||||
@@ -897,7 +898,7 @@ public sealed class AppHost : IAsyncDisposable
|
|||||||
.FirstOrDefault(p => !string.IsNullOrWhiteSpace(p));
|
.FirstOrDefault(p => !string.IsNullOrWhiteSpace(p));
|
||||||
|
|
||||||
if (string.IsNullOrWhiteSpace(sharedWorkspace))
|
if (string.IsNullOrWhiteSpace(sharedWorkspace))
|
||||||
return (null, null, null);
|
return (null, null, null, null);
|
||||||
|
|
||||||
var board = new TaskboardService(taskRepository, Path.Combine(sharedWorkspace, "tasks"));
|
var board = new TaskboardService(taskRepository, Path.Combine(sharedWorkspace, "tasks"));
|
||||||
|
|
||||||
@@ -943,7 +944,6 @@ public sealed class AppHost : IAsyncDisposable
|
|||||||
// #646: the board follows up on stalled, unblocked and waiting work.
|
// #646: the board follows up on stalled, unblocked and waiting work.
|
||||||
var followUp = new Core.Tasks.TaskFollowUp(board, taskRepository, audit, storage, () => instance.FollowUp,
|
var followUp = new Core.Tasks.TaskFollowUp(board, taskRepository, audit, storage, () => instance.FollowUp,
|
||||||
() => engine.OrganisationProvider?.Invoke(), loggerFactory.CreateLogger("ClawdDotNet.Core.Tasks.FollowUp"));
|
() => engine.OrganisationProvider?.Invoke(), loggerFactory.CreateLogger("ClawdDotNet.Core.Tasks.FollowUp"));
|
||||||
host.FollowUp = followUp;
|
|
||||||
|
|
||||||
var scanner = new TaskScanner(taskRepository, dispatcher, loggerFactory,
|
var scanner = new TaskScanner(taskRepository, dispatcher, loggerFactory,
|
||||||
maxParallelRuns: instance.MaxParallelTaskRuns,
|
maxParallelRuns: instance.MaxParallelTaskRuns,
|
||||||
@@ -1023,7 +1023,7 @@ public sealed class AppHost : IAsyncDisposable
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
return (scanner, staging, board);
|
return (scanner, staging, board, followUp);
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task ConnectTelegramAsync(Callbacks callbacks, ILogger logger)
|
private async Task ConnectTelegramAsync(Callbacks callbacks, ILogger logger)
|
||||||
|
|||||||
Reference in New Issue
Block a user