Summary
The manager returns worker tier as the 7th CSV field in responses to labios.manager.workers, but the dispatcher currently parses only through the energy field. As a result, WorkerInfo::tier remains at its default value when the dispatcher schedules labels.
References
src/services/labios-dispatcher.cpp, around line 93: worker parsing pushes WorkerInfo after parsing energy
src/services/labios-manager.cpp, around line 98: manager stores and returns tier in WorkerInfo
Impact
Tier-aware scheduling and SDS worker routing may not behave as intended. Pipeline or agentic workers can be indistinguishable from default Databot workers from the dispatcher's perspective.
Suggested Fix
Parse the 7th CSV field in query_workers() and assign w.tier. Add a unit/integration test for manager response parsing that includes tier values 0, 1, and 2.
Summary
The manager returns worker tier as the 7th CSV field in responses to
labios.manager.workers, but the dispatcher currently parses only through the energy field. As a result,WorkerInfo::tierremains at its default value when the dispatcher schedules labels.References
src/services/labios-dispatcher.cpp, around line 93: worker parsing pushesWorkerInfoafter parsing energysrc/services/labios-manager.cpp, around line 98: manager stores and returns tier inWorkerInfoImpact
Tier-aware scheduling and SDS worker routing may not behave as intended. Pipeline or agentic workers can be indistinguishable from default Databot workers from the dispatcher's perspective.
Suggested Fix
Parse the 7th CSV field in
query_workers()and assignw.tier. Add a unit/integration test for manager response parsing that includes tier values 0, 1, and 2.