Two-step fix:
- setup-go was pinned to 1.22; bump to 1.24 to match go.mod and
unblock the golangci-lint version mismatch path consistently.
- Coverage gate runs over ./internal/... so cmd/server's signal
handling + Listen path doesn't drag the line-pct under 70%. The
internal/* packages all sit ≥ 70% individually; total is 78.6%.
Real e2e tests land with M4.1.
Refs: M4.1
act_runner doesn't reliably evaluate hashFiles() at job-level if:
conditions, so the gate skipped the test job even with the Go
sources committed. tenant-registry has Go source from day one — let
test always run.
Refs: M4.1