Problem
Device preference is hardcoded to "cpu" throughout the request pipeline, ignoring the device: "cuda" setting in models.yaml.
Current Flow
- Server defaults to
"cpu" (api.py L124)
- Server does NOT include
device in tool_args (tasks.py L388-391)
- Plugin falls back to
"cpu" when device not in args (plugin.py run_tool)
models.yaml device: "cuda" is read by load_model_config() but never used in request path
Expected Behavior
- Load device config from
models.yaml
- Pass device to plugin via
tool_args
- Plugin uses configured device instead of defaulting to cpu
Related Issue
- #164 (Phase 12: plugin argument contract)
Files Affected
server/app/api.py - Device parameter handling
server/app/tasks.py - tool_args construction
plugins/forgesyte-yolo-tracker/configs/models.yaml - Device config
plugins/forgesyte-yolo-tracker/src/forgesyte_yolo_tracker/plugin.py - Device usage
Problem
Device preference is hardcoded to
"cpu"throughout the request pipeline, ignoring thedevice: "cuda"setting inmodels.yaml.Current Flow
"cpu"(api.py L124)deviceintool_args(tasks.py L388-391)"cpu"whendevicenot in args (plugin.py run_tool)models.yamldevice: "cuda"is read byload_model_config()but never used in request pathExpected Behavior
models.yamltool_argsRelated Issue
Files Affected
server/app/api.py- Device parameter handlingserver/app/tasks.py- tool_args constructionplugins/forgesyte-yolo-tracker/configs/models.yaml- Device configplugins/forgesyte-yolo-tracker/src/forgesyte_yolo_tracker/plugin.py- Device usage