test+docs(mtconnect): CONDITION alarm wire test, reinit barrier, docs (#626)

MTConnectConditionAlarmWireTests drives a scripted Agent's Fault/Normal through the real
driver, NativeAlarmProjector and sink to a client event subscription on the raw device
folder. docs/drivers/MTConnect.md replaces 'CONDITION v1: plain String' with the alarm
mapping, opt-in authoring, multi-condition, ack, replay and comms-loss behaviour, and a
live-check recipe; EVENT vocabularies as enumerations marked won't-fix. AlarmTracking.md
lists the MTConnect source and the two new AlarmEventArgs fields.

Claude-Session: https://claude.ai/code/session_01Ef2ozxS7QPanGT8uoATbTe
This commit is contained in:
Joseph Doherty
2026-10-08 15:13:30 -04:00
parent 653d138637
commit f4d513e111
4 changed files with 244 additions and 11 deletions
@@ -153,6 +153,9 @@ public sealed class MTConnectAlarmSourceTests
await driver.SubscribeAlarmsAsync([ConditionRawPath], Ct);
events.ShouldHaveSingleItem().Kind.ShouldBe(AlarmTransitionKind.Raise, "the subscribe re-establishes an active condition");
// The first pump must own its /sample before the restart, or the count barrier below is off by one.
await agent.WaitForSampleCallsAsync(1).WaitAsync(Watchdog, Ct);
// A comms-loss recovery re-initializes against the same Agent, which replays the same Fault.
await driver.ReinitializeAsync("{}", Ct);