Task #220 — Wire FOCAS into DriverFactoryRegistry bootstrap pipeline #199
Reference in New Issue
Block a user
Delete Branch "task-220-focas-factory-registration"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes the non-hardware gap in #220. FOCAS had full Tier-C architecture (Driver.FOCAS + Driver.FOCAS.Host + Driver.FOCAS.Shared, supervisor, post-mortem MMF, NSSM scripts, 239 tests) but no factory registration, so config-DB DriverInstance rows of type FOCAS would fail at bootstrap with unknown driver type. Hardware-gated FwlibHostedBackend stays deferred under #222 lab-rig.
Ships FocasDriverFactoryExtensions.Register mirroring the Galaxy pattern. JSON schema selects backend via Backend field: ipc (default, Tier-C pipe to Host), fwlib (direct in-process P/Invoke), unimplemented (fail-fast stub). Devices / Tags / Probe / Timeout / Series feed into FocasDriverOptions with eager Series + DataType validation.
Tests: 13 new FocasDriverFactoryExtensionsTests. Regression: 202 FOCAS + 13 FOCAS.Host + 24 FOCAS.Shared + 239 Server all pass.