refactor(mesh-phase4): retire EfAlarmConditionStateStore + drop dead ScriptedAlarmState table (Task 9)
v2-ci / build (push) Successful in 4m3s
v2-ci / unit-tests (push) Failing after 13m59s

Scripted-alarm condition state lives in LocalDb (Phase 4); the ConfigDb-backed
Ef store + ScriptedAlarmState table are now dead. Removes the test-harness Ef
fallback (a DB-backed node with no store now skips the alarm host), deletes the
store + entity + model config, and drops the table via migration.

Claude-Session: https://claude.ai/code/session_01GASWkNEi68FSCtvr6rLoEW
This commit is contained in:
Joseph Doherty
2026-07-23 14:33:11 -04:00
parent 26fad75c8a
commit 3a590a0cb7
12 changed files with 1727 additions and 741 deletions
@@ -177,11 +177,13 @@ public sealed class DriverHostActorDbLessTests : RuntimeActorTestBase
}
/// <summary>
/// Regression — a DB-backed actor (non-null <c>dbFactory</c>, no alarm store passed) still spawns
/// the host on the EF-store fallback path, exactly as before Phase 4.
/// Phase 4 Task 9 — the ConfigDb-backed EF fallback is retired. A DB-backed actor (non-null
/// <c>dbFactory</c>) with no alarm store now SKIPS the ScriptedAlarm host: the wired
/// <c>IAlarmStateStore</c> is the only source of condition-state persistence, and there is no
/// longer an EF store constructed over <c>dbFactory</c>.
/// </summary>
[Fact]
public void DbBackedNode_WithNoStore_StillSpawnsScriptedAlarmHost_OnEfFallback()
public void DbBackedNode_WithNoStore_SkipsScriptedAlarmHost()
{
var publish = CreateTestProbe();
var actor = Sys.ActorOf(DriverHostActor.Props(
@@ -192,7 +194,7 @@ public sealed class DriverHostActorDbLessTests : RuntimeActorTestBase
alarmStateStore: null));
AwaitStarted(actor);
ResolveChild(actor, "scripted-alarm-host").ShouldNotBeNull();
ResolveChild(actor, "scripted-alarm-host").ShouldBeNull();
}
/// <summary>