Problem
check-harness-build triggers for src/clawbench/runtime/**, but its dependency selector marks all harnesses for extension-server/ changes, not the current runtime-server/ directory. A change only to runtime-server code or its dependency lockfile builds the base image but selects zero downstream harness builds.
Sources: selection case statement, base image copies runtime-server.
Verified selection reproduction
Executed the workflow's actual for path ... case ... esac block in Bash with:
changed_runtime_files=(src/clawbench/runtime/runtime-server/server.py)
build_all=false
changed_dockerfiles=()
Result: build_all=false selected_harnesses=0. The same path-category mismatch applies to runtime-server/pyproject.toml and runtime-server/uv.lock.
The separate build-base job still runs; this finding is specifically the missing downstream coverage, not a claim that no build occurs. No Docker build was run locally.
Acceptance criteria
Suggested priority P2: close a blind spot in an existing quality gate. This does not request Harbor E2E CI or reopen the deferred #350; it repairs the native harness build workflow already in use.
@Perry2004 please review the dependency-selection matrix and expected native harness coverage.
Problem
check-harness-buildtriggers forsrc/clawbench/runtime/**, but its dependency selector marks all harnesses forextension-server/changes, not the currentruntime-server/directory. A change only to runtime-server code or its dependency lockfile builds the base image but selects zero downstream harness builds.Sources: selection case statement, base image copies runtime-server.
Verified selection reproduction
Executed the workflow's actual
for path ... case ... esacblock in Bash with:Result:
build_all=false selected_harnesses=0. The same path-category mismatch applies toruntime-server/pyproject.tomlandruntime-server/uv.lock.The separate
build-basejob still runs; this finding is specifically the missing downstream coverage, not a claim that no build occurs. No Docker build was run locally.Acceptance criteria
runtime-server/as a shared base dependency and select all affected harnesses.extension-server/selector.Suggested priority P2: close a blind spot in an existing quality gate. This does not request Harbor E2E CI or reopen the deferred #350; it repairs the native harness build workflow already in use.
@Perry2004 please review the dependency-selection matrix and expected native harness coverage.