Driver stability tiers are inert: every driver runs Tier A — pass real tiers or delete the machinery #522
Reference in New Issue
Block a user
Delete Branch "%!s()"
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?
Split out of
deferment.md§3.3 / §8.6. Decision taken 2026-07-27: document the truth now, defer the code decision here — no runtime behaviour was changed, because turning dormant recycle machinery on for two live drivers deserves its own live gate rather than arriving as a side effect of a docs pass.What is true today
DriverFactoryRegistrytakesDriverTier tier = DriverTier.A, and no factory insrc/Drivers/passes a tier. All 12 drivers run Tier A.MemoryRecyclegates onwhen _tier == DriverTier.C.ScheduledRecycleSchedulerrefuses unless Tier C.IDriverSupervisorhas zero implementations — yet the config parser still validatesRecycleIntervalSeconds, so an operator can author a recycle interval that does nothing.DriverTypeRegistryis vestigial: referenced only byDriverTypeRegistryTests. Nothing registers metadata at startup, nothing validatesDriverInstance.DriverTypeagainst it, and itsAllowedNamespaceKindsfield was retired with the v3Namespaceentity.docs/v2/driver-stability.mddescribes for Tier C does not exist. Galaxy reaches MXAccess over gRPC to the external mxaccessgw sidecar (theGalaxy.Proxy/Host/Sharedpattern retired in PR 7.2); FOCAS runs in-process since its managed wire client landed 2026-04-24.The decision
(a) Pass real tiers. Register Galaxy and FOCAS as Tier C so
MemoryRecycleandScheduledRecycleSchedulerengage. This turns on dormant recycle behaviour for two live drivers — a real runtime change that wants its own live gate (a driver being recycled under memory pressure is exactly the kind of thing that is fine in theory and disruptive in practice). Note the tier model also assumes out-of-process isolation that no longer exists, so "Tier C" today would mean the recycle knobs only, not the isolation.(b) Delete the machinery. Remove the tier gates,
IDriverSupervisor,DriverTypeRegistry, and the recycle scheduler. Removes a documented-but-fictional capability, and stops the parser validating a knob with no effect.Worth resolving either way: today the tier system is documented, operator-authorable, and inert — the same shape as the ACL subsystem in #520.
Already done
docs/v2/driver-stability.mdcarries a banner stating the tier table is aspirational and naming the dormant gates;docs/drivers/README.mdalready said Tier A for Galaxy and FOCAS, so the two no longer contradict each other.