Resolve all 46 low-severity architecture review findings

This commit is contained in:
Joseph Doherty
2026-09-09 22:56:36 -04:00
parent fef3e7675f
commit 9ee402bbcd
139 changed files with 2621 additions and 1082 deletions
@@ -127,18 +127,20 @@ public class AlarmCascadeParentExecutionTests : TestKit, IDisposable
// Hop 3 — Alarm Actor → AlarmExecutionActor
// -------------------------------------------------------------------------
[Fact]
public void ScriptWrittenValue_FiringAlarm_ParentsOnTriggerRunToTheWritingExecution()
[Theory]
[InlineData(false)]
[InlineData(true)]
public void ScriptWrittenValue_FiringAlarm_ParentsOnlyObservedWrites(bool inferred)
{
var writerExecutionId = Guid.NewGuid();
var alarm = BuildAlarm(ValueMatchAlarm(), out var instanceProbe);
alarm.Tell(new AttributeValueChanged(
"Pump1", "Status", "Status", "Critical", "Good", DateTimeOffset.UtcNow,
SourceExecutionId: writerExecutionId));
SourceExecutionId: writerExecutionId, SourceExecutionInferred: inferred));
instanceProbe.ExpectMsg<AlarmStateChanged>(TimeSpan.FromSeconds(5));
Assert.Equal(writerExecutionId, alarm.UnderlyingActor.LastOnTriggerParentExecutionId);
Assert.Equal(inferred ? (Guid?)null : writerExecutionId, alarm.UnderlyingActor.LastOnTriggerParentExecutionId);
}
[Fact]
@@ -119,6 +119,7 @@ public class InstanceActorTraceArmTests : TestKit, IDisposable
Assert.Equal(writer, published.SourceExecutionId);
Assert.True(published.Trace);
Assert.True(published.SourceExecutionInferred);
}
[Fact]
@@ -147,14 +147,16 @@ public class ScriptActorTraceTests : TestKit, IDisposable
Assert.Empty(_writer.Events);
}
[Fact]
public void ValueChangeTrigger_TracedChange_RunParentsToSourceExecutionId()
[Theory]
[InlineData(false, "value-change")]
[InlineData(true, "inferred-device-update")]
public void ValueChangeTrigger_TracedChange_RunParentsToSourceExecutionId(bool inferred, string triggerSource)
{
var actor = CreateActor("OnStatus", "1", "{\"attribute\":\"Status\"}");
var writer = Guid.NewGuid();
var now = DateTimeOffset.UtcNow;
actor.Tell(new AttributeValueChanged("Pump1", "Status", "Status", "Running", "Good", now, SourceExecutionId: writer, Trace: true));
actor.Tell(new AttributeValueChanged("Pump1", "Status", "Status", "Running", "Good", now, SourceExecutionId: writer, Trace: true, SourceExecutionInferred: inferred));
var evt = _writer.WaitForKind("ScriptTrace.ScriptRun", TimeSpan.FromSeconds(10));
Assert.NotNull(evt);
@@ -165,7 +167,7 @@ public class ScriptActorTraceTests : TestKit, IDisposable
Assert.Equal("valuechange", extra.TriggerKind);
Assert.Equal("Status", extra.TriggerAttribute);
Assert.Equal("Running", extra.TriggerValue);
Assert.Equal("value-change", extra.TriggerSource);
Assert.Equal(triggerSource, extra.TriggerSource);
}
[Fact]