Skip to content

Commit e6f20a7

Browse files
sjarmakclaude
andcommitted
fix: refactor verifier Check 6 false-pass and safe.directory crash
- Replace git log-based change detection with rev-list counting that skips the initial clone commit (was counting all cloned files as agent changes, giving 1/6 false pass on unmodified workspace) - Add git safe.directory config after WORKSPACE is defined to prevent exit 128 crash when verifier runs as root on claude-owned repo - All 13 new refactor verifiers now return 0/6 on unmodified workspace Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent e2304ed commit e6f20a7

File tree

13 files changed

+156
-39
lines changed
  • benchmarks/ccb_refactor
    • cilium-endpoint-manager-refac-001/tests
    • curl-multi-process-refac-001/tests
    • django-request-factory-refac-001/tests
    • envoy-listener-manager-refac-001/tests
    • etcd-raft-storage-refac-001/tests
    • istio-discovery-server-refac-001/tests
    • kubernetes-scheduler-profile-refac-001/tests
    • numpy-array-dispatch-refac-001/tests
    • pandas-index-engine-refac-001/tests
    • prometheus-query-engine-refac-001/tests
    • pytorch-optimizer-foreach-refac-001/tests
    • scikit-learn-estimator-tags-refac-001/tests
    • terraform-eval-context-refac-001/tests

13 files changed

+156
-39
lines changed

benchmarks/ccb_refactor/cilium-endpoint-manager-refac-001/tests/test.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
set -euo pipefail
33

44
[ -f /tmp/.sg_only_mode ] && [ -f /tests/sgonly_verifier_wrapper.sh ] && source /tests/sgonly_verifier_wrapper.sh
5-
65
SCORE=0
76
TOTAL=6
87
WORKSPACE="${VERIFY_REPO:-/workspace}"
8+
git config --global --add safe.directory "$WORKSPACE" 2>/dev/null || true
99

1010
# Check 1: Old symbol removed from primary definition
1111
OLD_DEF_COUNT=$( (grep -r 'class endpointManager\|type endpointManager struct\|def endpointManager\|function endpointManager' "$WORKSPACE/pkg/endpoint/" 2>/dev/null | grep -v 'alias\|compat\|deprecated\|backward\|#.*endpointManager\|//.*endpointManager' || true) | wc -l)
@@ -55,8 +55,17 @@ fi
5555
# Check 6: Code changes were actually made (git diff check)
5656
cd "$WORKSPACE"
5757
CHANGED_FILES=$(git diff --name-only 2>/dev/null | wc -l)
58-
COMMITTED_FILES=$(git log --oneline --name-only -1 2>/dev/null | tail -n +2 | wc -l)
59-
TOTAL_CHANGES=$((CHANGED_FILES + COMMITTED_FILES))
58+
STAGED_FILES=$(git diff --cached --name-only 2>/dev/null | wc -l)
59+
# Only count committed files beyond the initial clone commit
60+
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo 0)
61+
COMMITTED_FILES=0
62+
if [ "$TOTAL_COMMITS" -gt 1 ]; then
63+
FIRST_COMMIT=$(git rev-list --max-parents=0 HEAD 2>/dev/null | head -1)
64+
if [ -n "$FIRST_COMMIT" ]; then
65+
COMMITTED_FILES=$(git diff --name-only "$FIRST_COMMIT..HEAD" 2>/dev/null | wc -l)
66+
fi
67+
fi
68+
TOTAL_CHANGES=$((CHANGED_FILES + STAGED_FILES + COMMITTED_FILES))
6069
if [ "$TOTAL_CHANGES" -ge 2 ]; then
6170
SCORE=$((SCORE + 1))
6271
echo "PASS: Multiple files changed ($TOTAL_CHANGES)"

benchmarks/ccb_refactor/curl-multi-process-refac-001/tests/test.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
set -euo pipefail
33

44
[ -f /tmp/.sg_only_mode ] && [ -f /tests/sgonly_verifier_wrapper.sh ] && source /tests/sgonly_verifier_wrapper.sh
5-
65
SCORE=0
76
TOTAL=6
87
WORKSPACE="${VERIFY_REPO:-/workspace}"
8+
git config --global --add safe.directory "$WORKSPACE" 2>/dev/null || true
99

1010
# Check 1: Old symbol removed from primary definition
1111
OLD_DEF_COUNT=$( (grep -r 'process_pending_handles' "$WORKSPACE/lib/" 2>/dev/null | grep -v 'multi_activate_pending\|alias\|compat\|deprecated\|backward\|/\*.*process_pending_handles\|//.*process_pending_handles' || true) | wc -l)
@@ -54,8 +54,17 @@ fi
5454
# Check 6: Code changes were actually made (git diff check)
5555
cd "$WORKSPACE"
5656
CHANGED_FILES=$(git diff --name-only 2>/dev/null | wc -l)
57-
COMMITTED_FILES=$(git log --oneline --name-only -1 2>/dev/null | tail -n +2 | wc -l)
58-
TOTAL_CHANGES=$((CHANGED_FILES + COMMITTED_FILES))
57+
STAGED_FILES=$(git diff --cached --name-only 2>/dev/null | wc -l)
58+
# Only count committed files beyond the initial clone commit
59+
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo 0)
60+
COMMITTED_FILES=0
61+
if [ "$TOTAL_COMMITS" -gt 1 ]; then
62+
FIRST_COMMIT=$(git rev-list --max-parents=0 HEAD 2>/dev/null | head -1)
63+
if [ -n "$FIRST_COMMIT" ]; then
64+
COMMITTED_FILES=$(git diff --name-only "$FIRST_COMMIT..HEAD" 2>/dev/null | wc -l)
65+
fi
66+
fi
67+
TOTAL_CHANGES=$((CHANGED_FILES + STAGED_FILES + COMMITTED_FILES))
5968
if [ "$TOTAL_CHANGES" -ge 1 ]; then
6069
SCORE=$((SCORE + 1))
6170
echo "PASS: Files changed ($TOTAL_CHANGES)"

benchmarks/ccb_refactor/django-request-factory-refac-001/tests/test.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
set -euo pipefail
33

44
[ -f /tmp/.sg_only_mode ] && [ -f /tests/sgonly_verifier_wrapper.sh ] && source /tests/sgonly_verifier_wrapper.sh
5-
65
SCORE=0
76
TOTAL=6
87
WORKSPACE="${VERIFY_REPO:-/workspace}"
8+
git config --global --add safe.directory "$WORKSPACE" 2>/dev/null || true
99

1010
# Check 1: Old symbol removed from primary definition
1111
OLD_DEF_COUNT=$( (grep -r 'class RequestFactory\|type RequestFactory struct\|def RequestFactory\|function RequestFactory' "$WORKSPACE/django/test/" "$WORKSPACE/tests/" 2>/dev/null | grep -v 'alias\|compat\|deprecated\|backward\|#.*RequestFactory\|//.*RequestFactory' || true) | wc -l)
@@ -55,8 +55,17 @@ fi
5555
# Check 6: Code changes were actually made (git diff check)
5656
cd "$WORKSPACE"
5757
CHANGED_FILES=$(git diff --name-only 2>/dev/null | wc -l)
58-
COMMITTED_FILES=$(git log --oneline --name-only -1 2>/dev/null | tail -n +2 | wc -l)
59-
TOTAL_CHANGES=$((CHANGED_FILES + COMMITTED_FILES))
58+
STAGED_FILES=$(git diff --cached --name-only 2>/dev/null | wc -l)
59+
# Only count committed files beyond the initial clone commit
60+
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo 0)
61+
COMMITTED_FILES=0
62+
if [ "$TOTAL_COMMITS" -gt 1 ]; then
63+
FIRST_COMMIT=$(git rev-list --max-parents=0 HEAD 2>/dev/null | head -1)
64+
if [ -n "$FIRST_COMMIT" ]; then
65+
COMMITTED_FILES=$(git diff --name-only "$FIRST_COMMIT..HEAD" 2>/dev/null | wc -l)
66+
fi
67+
fi
68+
TOTAL_CHANGES=$((CHANGED_FILES + STAGED_FILES + COMMITTED_FILES))
6069
if [ "$TOTAL_CHANGES" -ge 2 ]; then
6170
SCORE=$((SCORE + 1))
6271
echo "PASS: Multiple files changed ($TOTAL_CHANGES)"

benchmarks/ccb_refactor/envoy-listener-manager-refac-001/tests/test.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
set -euo pipefail
33

44
[ -f /tmp/.sg_only_mode ] && [ -f /tests/sgonly_verifier_wrapper.sh ] && source /tests/sgonly_verifier_wrapper.sh
5-
65
SCORE=0
76
TOTAL=6
87
WORKSPACE="${VERIFY_REPO:-/workspace}"
8+
git config --global --add safe.directory "$WORKSPACE" 2>/dev/null || true
99

1010
# Check 1: Old symbol removed from primary definition
1111
OLD_DEF_COUNT=$( (grep -r 'class ListenerManagerImpl\|type ListenerManagerImpl struct\|def ListenerManagerImpl\|function ListenerManagerImpl' "$WORKSPACE/source/common/listener_manager/" "$WORKSPACE/source/server/" "$WORKSPACE/test/" 2>/dev/null | grep -v 'alias\|compat\|deprecated\|backward\|#.*ListenerManagerImpl\|//.*ListenerManagerImpl' || true) | wc -l)
@@ -55,8 +55,17 @@ fi
5555
# Check 6: Code changes were actually made (git diff check)
5656
cd "$WORKSPACE"
5757
CHANGED_FILES=$(git diff --name-only 2>/dev/null | wc -l)
58-
COMMITTED_FILES=$(git log --oneline --name-only -1 2>/dev/null | tail -n +2 | wc -l)
59-
TOTAL_CHANGES=$((CHANGED_FILES + COMMITTED_FILES))
58+
STAGED_FILES=$(git diff --cached --name-only 2>/dev/null | wc -l)
59+
# Only count committed files beyond the initial clone commit
60+
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo 0)
61+
COMMITTED_FILES=0
62+
if [ "$TOTAL_COMMITS" -gt 1 ]; then
63+
FIRST_COMMIT=$(git rev-list --max-parents=0 HEAD 2>/dev/null | head -1)
64+
if [ -n "$FIRST_COMMIT" ]; then
65+
COMMITTED_FILES=$(git diff --name-only "$FIRST_COMMIT..HEAD" 2>/dev/null | wc -l)
66+
fi
67+
fi
68+
TOTAL_CHANGES=$((CHANGED_FILES + STAGED_FILES + COMMITTED_FILES))
6069
if [ "$TOTAL_CHANGES" -ge 2 ]; then
6170
SCORE=$((SCORE + 1))
6271
echo "PASS: Multiple files changed ($TOTAL_CHANGES)"

benchmarks/ccb_refactor/etcd-raft-storage-refac-001/tests/test.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
set -euo pipefail
33

44
[ -f /tmp/.sg_only_mode ] && [ -f /tests/sgonly_verifier_wrapper.sh ] && source /tests/sgonly_verifier_wrapper.sh
5-
65
SCORE=0
76
TOTAL=6
87
WORKSPACE="${VERIFY_REPO:-/workspace}"
8+
git config --global --add safe.directory "$WORKSPACE" 2>/dev/null || true
99

1010
# Check 1: Old symbol removed from primary definition
1111
OLD_DEF_COUNT=$( (grep -r 'class MemoryStorage\|type MemoryStorage struct\|def MemoryStorage\|function MemoryStorage' "$WORKSPACE/raft/" "$WORKSPACE/server/" 2>/dev/null | grep -v 'alias\|compat\|deprecated\|backward\|#.*MemoryStorage\|//.*MemoryStorage' || true) | wc -l)
@@ -55,8 +55,17 @@ fi
5555
# Check 6: Code changes were actually made (git diff check)
5656
cd "$WORKSPACE"
5757
CHANGED_FILES=$(git diff --name-only 2>/dev/null | wc -l)
58-
COMMITTED_FILES=$(git log --oneline --name-only -1 2>/dev/null | tail -n +2 | wc -l)
59-
TOTAL_CHANGES=$((CHANGED_FILES + COMMITTED_FILES))
58+
STAGED_FILES=$(git diff --cached --name-only 2>/dev/null | wc -l)
59+
# Only count committed files beyond the initial clone commit
60+
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo 0)
61+
COMMITTED_FILES=0
62+
if [ "$TOTAL_COMMITS" -gt 1 ]; then
63+
FIRST_COMMIT=$(git rev-list --max-parents=0 HEAD 2>/dev/null | head -1)
64+
if [ -n "$FIRST_COMMIT" ]; then
65+
COMMITTED_FILES=$(git diff --name-only "$FIRST_COMMIT..HEAD" 2>/dev/null | wc -l)
66+
fi
67+
fi
68+
TOTAL_CHANGES=$((CHANGED_FILES + STAGED_FILES + COMMITTED_FILES))
6069
if [ "$TOTAL_CHANGES" -ge 2 ]; then
6170
SCORE=$((SCORE + 1))
6271
echo "PASS: Multiple files changed ($TOTAL_CHANGES)"

benchmarks/ccb_refactor/istio-discovery-server-refac-001/tests/test.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
set -euo pipefail
33

44
[ -f /tmp/.sg_only_mode ] && [ -f /tests/sgonly_verifier_wrapper.sh ] && source /tests/sgonly_verifier_wrapper.sh
5-
65
SCORE=0
76
TOTAL=6
87
WORKSPACE="${VERIFY_REPO:-/workspace}"
8+
git config --global --add safe.directory "$WORKSPACE" 2>/dev/null || true
99

1010
# Check 1: Old symbol removed from primary definition
1111
OLD_DEF_COUNT=$( (grep -r 'class DiscoveryServer\|type DiscoveryServer struct\|def DiscoveryServer\|function DiscoveryServer' "$WORKSPACE/pilot/pkg/xds/" "$WORKSPACE/pilot/pkg/bootstrap/" 2>/dev/null | grep -v 'alias\|compat\|deprecated\|backward\|#.*DiscoveryServer\|//.*DiscoveryServer' || true) | wc -l)
@@ -55,8 +55,17 @@ fi
5555
# Check 6: Code changes were actually made (git diff check)
5656
cd "$WORKSPACE"
5757
CHANGED_FILES=$(git diff --name-only 2>/dev/null | wc -l)
58-
COMMITTED_FILES=$(git log --oneline --name-only -1 2>/dev/null | tail -n +2 | wc -l)
59-
TOTAL_CHANGES=$((CHANGED_FILES + COMMITTED_FILES))
58+
STAGED_FILES=$(git diff --cached --name-only 2>/dev/null | wc -l)
59+
# Only count committed files beyond the initial clone commit
60+
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo 0)
61+
COMMITTED_FILES=0
62+
if [ "$TOTAL_COMMITS" -gt 1 ]; then
63+
FIRST_COMMIT=$(git rev-list --max-parents=0 HEAD 2>/dev/null | head -1)
64+
if [ -n "$FIRST_COMMIT" ]; then
65+
COMMITTED_FILES=$(git diff --name-only "$FIRST_COMMIT..HEAD" 2>/dev/null | wc -l)
66+
fi
67+
fi
68+
TOTAL_CHANGES=$((CHANGED_FILES + STAGED_FILES + COMMITTED_FILES))
6069
if [ "$TOTAL_CHANGES" -ge 2 ]; then
6170
SCORE=$((SCORE + 1))
6271
echo "PASS: Multiple files changed ($TOTAL_CHANGES)"

benchmarks/ccb_refactor/kubernetes-scheduler-profile-refac-001/tests/test.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
set -euo pipefail
33

44
[ -f /tmp/.sg_only_mode ] && [ -f /tests/sgonly_verifier_wrapper.sh ] && source /tests/sgonly_verifier_wrapper.sh
5-
65
SCORE=0
76
TOTAL=6
87
WORKSPACE="${VERIFY_REPO:-/workspace}"
8+
git config --global --add safe.directory "$WORKSPACE" 2>/dev/null || true
99

1010
# Check 1: Old symbol removed from primary definition
1111
OLD_DEF_COUNT=$( (grep -r 'class SchedulerProfile\|type SchedulerProfile struct\|def SchedulerProfile\|function SchedulerProfile' "$WORKSPACE/pkg/scheduler/" "$WORKSPACE/staging/src/k8s.io/kube-scheduler/" 2>/dev/null | grep -v 'alias\|compat\|deprecated\|backward\|#.*SchedulerProfile\|//.*SchedulerProfile' || true) | wc -l)
@@ -55,8 +55,17 @@ fi
5555
# Check 6: Code changes were actually made (git diff check)
5656
cd "$WORKSPACE"
5757
CHANGED_FILES=$(git diff --name-only 2>/dev/null | wc -l)
58-
COMMITTED_FILES=$(git log --oneline --name-only -1 2>/dev/null | tail -n +2 | wc -l)
59-
TOTAL_CHANGES=$((CHANGED_FILES + COMMITTED_FILES))
58+
STAGED_FILES=$(git diff --cached --name-only 2>/dev/null | wc -l)
59+
# Only count committed files beyond the initial clone commit
60+
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo 0)
61+
COMMITTED_FILES=0
62+
if [ "$TOTAL_COMMITS" -gt 1 ]; then
63+
FIRST_COMMIT=$(git rev-list --max-parents=0 HEAD 2>/dev/null | head -1)
64+
if [ -n "$FIRST_COMMIT" ]; then
65+
COMMITTED_FILES=$(git diff --name-only "$FIRST_COMMIT..HEAD" 2>/dev/null | wc -l)
66+
fi
67+
fi
68+
TOTAL_CHANGES=$((CHANGED_FILES + STAGED_FILES + COMMITTED_FILES))
6069
if [ "$TOTAL_CHANGES" -ge 2 ]; then
6170
SCORE=$((SCORE + 1))
6271
echo "PASS: Multiple files changed ($TOTAL_CHANGES)"

benchmarks/ccb_refactor/numpy-array-dispatch-refac-001/tests/test.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
set -euo pipefail
33

44
[ -f /tmp/.sg_only_mode ] && [ -f /tests/sgonly_verifier_wrapper.sh ] && source /tests/sgonly_verifier_wrapper.sh
5-
65
SCORE=0
76
TOTAL=6
87
WORKSPACE="${VERIFY_REPO:-/workspace}"
8+
git config --global --add safe.directory "$WORKSPACE" 2>/dev/null || true
99

1010
# Check 1: Old symbol removed from primary definition
1111
OLD_DEF_COUNT=$( (grep -r 'def array_function_dispatch' "$WORKSPACE/numpy/" 2>/dev/null | grep -v 'alias\|compat\|deprecated\|backward\|#.*array_function_dispatch' || true) | wc -l)
@@ -55,8 +55,17 @@ fi
5555
# Check 6: Code changes were actually made (git diff check)
5656
cd "$WORKSPACE"
5757
CHANGED_FILES=$(git diff --name-only 2>/dev/null | wc -l)
58-
COMMITTED_FILES=$(git log --oneline --name-only -1 2>/dev/null | tail -n +2 | wc -l)
59-
TOTAL_CHANGES=$((CHANGED_FILES + COMMITTED_FILES))
58+
STAGED_FILES=$(git diff --cached --name-only 2>/dev/null | wc -l)
59+
# Only count committed files beyond the initial clone commit
60+
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo 0)
61+
COMMITTED_FILES=0
62+
if [ "$TOTAL_COMMITS" -gt 1 ]; then
63+
FIRST_COMMIT=$(git rev-list --max-parents=0 HEAD 2>/dev/null | head -1)
64+
if [ -n "$FIRST_COMMIT" ]; then
65+
COMMITTED_FILES=$(git diff --name-only "$FIRST_COMMIT..HEAD" 2>/dev/null | wc -l)
66+
fi
67+
fi
68+
TOTAL_CHANGES=$((CHANGED_FILES + STAGED_FILES + COMMITTED_FILES))
6069
if [ "$TOTAL_CHANGES" -ge 2 ]; then
6170
SCORE=$((SCORE + 1))
6271
echo "PASS: Multiple files changed ($TOTAL_CHANGES)"

benchmarks/ccb_refactor/pandas-index-engine-refac-001/tests/test.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
set -euo pipefail
33

44
[ -f /tmp/.sg_only_mode ] && [ -f /tests/sgonly_verifier_wrapper.sh ] && source /tests/sgonly_verifier_wrapper.sh
5-
65
SCORE=0
76
TOTAL=6
87
WORKSPACE="${VERIFY_REPO:-/workspace}"
8+
git config --global --add safe.directory "$WORKSPACE" 2>/dev/null || true
99

1010
# Check 1: Old symbol removed from primary definition
1111
OLD_DEF_COUNT=$( (grep -r 'class _engine\|type _engine struct\|def _engine\|function _engine' "$WORKSPACE/pandas/core/indexes/" 2>/dev/null | grep -v 'alias\|compat\|deprecated\|backward\|#.*_engine\|//.*_engine' || true) | wc -l)
@@ -55,8 +55,17 @@ fi
5555
# Check 6: Code changes were actually made (git diff check)
5656
cd "$WORKSPACE"
5757
CHANGED_FILES=$(git diff --name-only 2>/dev/null | wc -l)
58-
COMMITTED_FILES=$(git log --oneline --name-only -1 2>/dev/null | tail -n +2 | wc -l)
59-
TOTAL_CHANGES=$((CHANGED_FILES + COMMITTED_FILES))
58+
STAGED_FILES=$(git diff --cached --name-only 2>/dev/null | wc -l)
59+
# Only count committed files beyond the initial clone commit
60+
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo 0)
61+
COMMITTED_FILES=0
62+
if [ "$TOTAL_COMMITS" -gt 1 ]; then
63+
FIRST_COMMIT=$(git rev-list --max-parents=0 HEAD 2>/dev/null | head -1)
64+
if [ -n "$FIRST_COMMIT" ]; then
65+
COMMITTED_FILES=$(git diff --name-only "$FIRST_COMMIT..HEAD" 2>/dev/null | wc -l)
66+
fi
67+
fi
68+
TOTAL_CHANGES=$((CHANGED_FILES + STAGED_FILES + COMMITTED_FILES))
6069
if [ "$TOTAL_CHANGES" -ge 2 ]; then
6170
SCORE=$((SCORE + 1))
6271
echo "PASS: Multiple files changed ($TOTAL_CHANGES)"

benchmarks/ccb_refactor/prometheus-query-engine-refac-001/tests/test.sh

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22
set -euo pipefail
33

44
[ -f /tmp/.sg_only_mode ] && [ -f /tests/sgonly_verifier_wrapper.sh ] && source /tests/sgonly_verifier_wrapper.sh
5-
65
SCORE=0
76
TOTAL=6
87
WORKSPACE="${VERIFY_REPO:-/workspace}"
8+
git config --global --add safe.directory "$WORKSPACE" 2>/dev/null || true
99

1010
# Check 1: Old symbol removed from primary definition
1111
OLD_DEF_COUNT=$( (grep -r 'class QueryEngine\|type QueryEngine struct\|type QueryEngine interface\|def QueryEngine\|function QueryEngine' "$WORKSPACE/promql/" "$WORKSPACE/web/" "$WORKSPACE/cmd/" 2>/dev/null | grep -v 'alias\|compat\|deprecated\|backward\|#.*QueryEngine\|//.*QueryEngine' || true) | wc -l)
@@ -55,8 +55,17 @@ fi
5555
# Check 6: Code changes were actually made (git diff check)
5656
cd "$WORKSPACE"
5757
CHANGED_FILES=$(git diff --name-only 2>/dev/null | wc -l)
58-
COMMITTED_FILES=$(git log --oneline --name-only -1 2>/dev/null | tail -n +2 | wc -l)
59-
TOTAL_CHANGES=$((CHANGED_FILES + COMMITTED_FILES))
58+
STAGED_FILES=$(git diff --cached --name-only 2>/dev/null | wc -l)
59+
# Only count committed files beyond the initial clone commit
60+
TOTAL_COMMITS=$(git rev-list --count HEAD 2>/dev/null || echo 0)
61+
COMMITTED_FILES=0
62+
if [ "$TOTAL_COMMITS" -gt 1 ]; then
63+
FIRST_COMMIT=$(git rev-list --max-parents=0 HEAD 2>/dev/null | head -1)
64+
if [ -n "$FIRST_COMMIT" ]; then
65+
COMMITTED_FILES=$(git diff --name-only "$FIRST_COMMIT..HEAD" 2>/dev/null | wc -l)
66+
fi
67+
fi
68+
TOTAL_CHANGES=$((CHANGED_FILES + STAGED_FILES + COMMITTED_FILES))
6069
if [ "$TOTAL_CHANGES" -ge 2 ]; then
6170
SCORE=$((SCORE + 1))
6271
echo "PASS: Multiple files changed ($TOTAL_CHANGES)"

0 commit comments

Comments
 (0)