feat(worker): session skills SignalR surface + per-level persistence

This commit is contained in:
Mika Kuns
2026-07-23 16:47:14 +02:00
committed by mika kuns
parent 4626481359
commit b4c58087d2
18 changed files with 397 additions and 19 deletions
@@ -72,6 +72,43 @@ public class AppSettingsRepositoryTests : IDisposable
Assert.Null(row.CentralWorktreeRoot);
}
[Fact]
public async Task UpdateAsync_Persists_SessionSkills_Json()
{
using (var ctx = _db.CreateContext())
{
var repo = new AppSettingsRepository(ctx);
await repo.UpdateAsync(new AppSettingsEntity
{
SessionSkills = "[\"ponytail\",\"ponytail-help\"]",
});
}
using var readCtx = _db.CreateContext();
var row = await new AppSettingsRepository(readCtx).GetAsync();
Assert.Equal("[\"ponytail\",\"ponytail-help\"]", row.SessionSkills);
}
[Fact]
public async Task UpdateAsync_Blank_SessionSkills_Stored_As_Null()
{
using (var ctx = _db.CreateContext())
{
var repo = new AppSettingsRepository(ctx);
await repo.UpdateAsync(new AppSettingsEntity { SessionSkills = "[\"a\"]" });
}
using (var ctx = _db.CreateContext())
{
var repo = new AppSettingsRepository(ctx);
await repo.UpdateAsync(new AppSettingsEntity { SessionSkills = null });
}
using var readCtx = _db.CreateContext();
var row = await new AppSettingsRepository(readCtx).GetAsync();
Assert.Null(row.SessionSkills);
}
[Fact]
public async Task DailyPrepMaxTasks_defaults_to_5_and_persists()
{