Skip to content

Commit 24f69af

Browse files
sjarmakclaude
andcommitted
fix: make verifiers harness-agnostic (OH compatibility)
6 fix categories across 500 files: 1. Python no_changes_guard: add origin ref check so agents that auto-commit (OpenHands) are not falsely penalized (76 files) 2. Shell no_changes_guard in csb/fix tasks: same origin ref fallback for committed change detection (12 files) 3. flipt GOWORK=off: prevent Go version mismatch when sg_only verifier restores full repo (2 files) 4. Onboarding /app → /workspace: use TASK_WORKDIR fallback chain instead of hardcoded /app path (8 files) 5. answer_json_verifier_lib.sh: fallback /repo_full → TASK_REPO_ROOT → /workspace so diff application works on non-Harbor harnesses (464 files) 6. OH sonnet46 OAuth rerun config for 37 tasks (configs/) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 51e4023 commit 24f69af

File tree

502 files changed

+7700
-3338
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

502 files changed

+7700
-3338
lines changed

benchmarks/csb/crossrepo/ccx-config-trace-010/tests/answer_json_verifier_lib.sh

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,15 @@ if not changes:
243243
244244
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
245245
repo_full = "/repo_full"
246-
verify_repo = repo_full
247-
248246
if not os.path.isdir(repo_full):
249-
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
247+
# Fallback to /workspace when /repo_full is unavailable (e.g. non-Harbor harnesses)
248+
repo_full = os.environ.get("TASK_REPO_ROOT") or os.environ.get("VERIFY_REPO") or "/workspace"
249+
if not os.path.isdir(repo_full):
250+
print(f"[answer_json_verifier] WARNING: neither /repo_full nor /workspace found. Cannot apply diffs.")
250251
with open("/tmp/.answer_json_no_changes", "w") as f:
251252
f.write("1")
252253
sys.exit(0)
254+
verify_repo = repo_full
253255
254256
# Ensure verifier (root) can write to repo_full
255257
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
@@ -329,11 +331,7 @@ if [ -f /tmp/.answer_json_verify_repo ]; then
329331
echo "[answer_json_verifier] VERIFY_REPO set to $VERIFY_REPO"
330332
elif [ -f /tmp/.answer_json_no_changes ]; then
331333
# Analysis-only: no repo copy needed, use /workspace or /repo_full as fallback
332-
if [ -d /repo_full ]; then
333-
export VERIFY_REPO="/repo_full"
334-
else
335-
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
336-
fi
334+
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
337335
echo "[answer_json_verifier] Analysis-only mode, VERIFY_REPO=$VERIFY_REPO"
338336
else
339337
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"

benchmarks/csb/crossrepo/ccx-crossorg-062/tests/answer_json_verifier_lib.sh

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,15 @@ if not changes:
243243
244244
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
245245
repo_full = "/repo_full"
246-
verify_repo = repo_full
247-
248246
if not os.path.isdir(repo_full):
249-
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
247+
# Fallback to /workspace when /repo_full is unavailable (e.g. non-Harbor harnesses)
248+
repo_full = os.environ.get("TASK_REPO_ROOT") or os.environ.get("VERIFY_REPO") or "/workspace"
249+
if not os.path.isdir(repo_full):
250+
print(f"[answer_json_verifier] WARNING: neither /repo_full nor /workspace found. Cannot apply diffs.")
250251
with open("/tmp/.answer_json_no_changes", "w") as f:
251252
f.write("1")
252253
sys.exit(0)
254+
verify_repo = repo_full
253255
254256
# Ensure verifier (root) can write to repo_full
255257
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
@@ -329,11 +331,7 @@ if [ -f /tmp/.answer_json_verify_repo ]; then
329331
echo "[answer_json_verifier] VERIFY_REPO set to $VERIFY_REPO"
330332
elif [ -f /tmp/.answer_json_no_changes ]; then
331333
# Analysis-only: no repo copy needed, use /workspace or /repo_full as fallback
332-
if [ -d /repo_full ]; then
333-
export VERIFY_REPO="/repo_full"
334-
else
335-
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
336-
fi
334+
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
337335
echo "[answer_json_verifier] Analysis-only mode, VERIFY_REPO=$VERIFY_REPO"
338336
else
339337
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"

benchmarks/csb/crossrepo/ccx-crossorg-121/tests/answer_json_verifier_lib.sh

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,15 @@ if not changes:
243243
244244
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
245245
repo_full = "/repo_full"
246-
verify_repo = repo_full
247-
248246
if not os.path.isdir(repo_full):
249-
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
247+
# Fallback to /workspace when /repo_full is unavailable (e.g. non-Harbor harnesses)
248+
repo_full = os.environ.get("TASK_REPO_ROOT") or os.environ.get("VERIFY_REPO") or "/workspace"
249+
if not os.path.isdir(repo_full):
250+
print(f"[answer_json_verifier] WARNING: neither /repo_full nor /workspace found. Cannot apply diffs.")
250251
with open("/tmp/.answer_json_no_changes", "w") as f:
251252
f.write("1")
252253
sys.exit(0)
254+
verify_repo = repo_full
253255
254256
# Ensure verifier (root) can write to repo_full
255257
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
@@ -329,11 +331,7 @@ if [ -f /tmp/.answer_json_verify_repo ]; then
329331
echo "[answer_json_verifier] VERIFY_REPO set to $VERIFY_REPO"
330332
elif [ -f /tmp/.answer_json_no_changes ]; then
331333
# Analysis-only: no repo copy needed, use /workspace or /repo_full as fallback
332-
if [ -d /repo_full ]; then
333-
export VERIFY_REPO="/repo_full"
334-
else
335-
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
336-
fi
334+
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
337335
echo "[answer_json_verifier] Analysis-only mode, VERIFY_REPO=$VERIFY_REPO"
338336
else
339337
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"

benchmarks/csb/crossrepo/ccx-crossorg-132/tests/answer_json_verifier_lib.sh

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,15 @@ if not changes:
243243
244244
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
245245
repo_full = "/repo_full"
246-
verify_repo = repo_full
247-
248246
if not os.path.isdir(repo_full):
249-
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
247+
# Fallback to /workspace when /repo_full is unavailable (e.g. non-Harbor harnesses)
248+
repo_full = os.environ.get("TASK_REPO_ROOT") or os.environ.get("VERIFY_REPO") or "/workspace"
249+
if not os.path.isdir(repo_full):
250+
print(f"[answer_json_verifier] WARNING: neither /repo_full nor /workspace found. Cannot apply diffs.")
250251
with open("/tmp/.answer_json_no_changes", "w") as f:
251252
f.write("1")
252253
sys.exit(0)
254+
verify_repo = repo_full
253255
254256
# Ensure verifier (root) can write to repo_full
255257
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
@@ -329,11 +331,7 @@ if [ -f /tmp/.answer_json_verify_repo ]; then
329331
echo "[answer_json_verifier] VERIFY_REPO set to $VERIFY_REPO"
330332
elif [ -f /tmp/.answer_json_no_changes ]; then
331333
# Analysis-only: no repo copy needed, use /workspace or /repo_full as fallback
332-
if [ -d /repo_full ]; then
333-
export VERIFY_REPO="/repo_full"
334-
else
335-
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
336-
fi
334+
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
337335
echo "[answer_json_verifier] Analysis-only mode, VERIFY_REPO=$VERIFY_REPO"
338336
else
339337
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"

benchmarks/csb/crossrepo/ccx-crossorg-217/tests/answer_json_verifier_lib.sh

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,15 @@ if not changes:
243243
244244
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
245245
repo_full = "/repo_full"
246-
verify_repo = repo_full
247-
248246
if not os.path.isdir(repo_full):
249-
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
247+
# Fallback to /workspace when /repo_full is unavailable (e.g. non-Harbor harnesses)
248+
repo_full = os.environ.get("TASK_REPO_ROOT") or os.environ.get("VERIFY_REPO") or "/workspace"
249+
if not os.path.isdir(repo_full):
250+
print(f"[answer_json_verifier] WARNING: neither /repo_full nor /workspace found. Cannot apply diffs.")
250251
with open("/tmp/.answer_json_no_changes", "w") as f:
251252
f.write("1")
252253
sys.exit(0)
254+
verify_repo = repo_full
253255
254256
# Ensure verifier (root) can write to repo_full
255257
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
@@ -329,11 +331,7 @@ if [ -f /tmp/.answer_json_verify_repo ]; then
329331
echo "[answer_json_verifier] VERIFY_REPO set to $VERIFY_REPO"
330332
elif [ -f /tmp/.answer_json_no_changes ]; then
331333
# Analysis-only: no repo copy needed, use /workspace or /repo_full as fallback
332-
if [ -d /repo_full ]; then
333-
export VERIFY_REPO="/repo_full"
334-
else
335-
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
336-
fi
334+
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
337335
echo "[answer_json_verifier] Analysis-only mode, VERIFY_REPO=$VERIFY_REPO"
338336
else
339337
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"

benchmarks/csb/crossrepo/ccx-crossorg-218/tests/answer_json_verifier_lib.sh

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,15 @@ if not changes:
243243
244244
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
245245
repo_full = "/repo_full"
246-
verify_repo = repo_full
247-
248246
if not os.path.isdir(repo_full):
249-
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
247+
# Fallback to /workspace when /repo_full is unavailable (e.g. non-Harbor harnesses)
248+
repo_full = os.environ.get("TASK_REPO_ROOT") or os.environ.get("VERIFY_REPO") or "/workspace"
249+
if not os.path.isdir(repo_full):
250+
print(f"[answer_json_verifier] WARNING: neither /repo_full nor /workspace found. Cannot apply diffs.")
250251
with open("/tmp/.answer_json_no_changes", "w") as f:
251252
f.write("1")
252253
sys.exit(0)
254+
verify_repo = repo_full
253255
254256
# Ensure verifier (root) can write to repo_full
255257
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
@@ -329,11 +331,7 @@ if [ -f /tmp/.answer_json_verify_repo ]; then
329331
echo "[answer_json_verifier] VERIFY_REPO set to $VERIFY_REPO"
330332
elif [ -f /tmp/.answer_json_no_changes ]; then
331333
# Analysis-only: no repo copy needed, use /workspace or /repo_full as fallback
332-
if [ -d /repo_full ]; then
333-
export VERIFY_REPO="/repo_full"
334-
else
335-
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
336-
fi
334+
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
337335
echo "[answer_json_verifier] Analysis-only mode, VERIFY_REPO=$VERIFY_REPO"
338336
else
339337
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"

benchmarks/csb/crossrepo/ccx-crossorg-219/tests/answer_json_verifier_lib.sh

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,15 @@ if not changes:
243243
244244
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
245245
repo_full = "/repo_full"
246-
verify_repo = repo_full
247-
248246
if not os.path.isdir(repo_full):
249-
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
247+
# Fallback to /workspace when /repo_full is unavailable (e.g. non-Harbor harnesses)
248+
repo_full = os.environ.get("TASK_REPO_ROOT") or os.environ.get("VERIFY_REPO") or "/workspace"
249+
if not os.path.isdir(repo_full):
250+
print(f"[answer_json_verifier] WARNING: neither /repo_full nor /workspace found. Cannot apply diffs.")
250251
with open("/tmp/.answer_json_no_changes", "w") as f:
251252
f.write("1")
252253
sys.exit(0)
254+
verify_repo = repo_full
253255
254256
# Ensure verifier (root) can write to repo_full
255257
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
@@ -329,11 +331,7 @@ if [ -f /tmp/.answer_json_verify_repo ]; then
329331
echo "[answer_json_verifier] VERIFY_REPO set to $VERIFY_REPO"
330332
elif [ -f /tmp/.answer_json_no_changes ]; then
331333
# Analysis-only: no repo copy needed, use /workspace or /repo_full as fallback
332-
if [ -d /repo_full ]; then
333-
export VERIFY_REPO="/repo_full"
334-
else
335-
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
336-
fi
334+
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
337335
echo "[answer_json_verifier] Analysis-only mode, VERIFY_REPO=$VERIFY_REPO"
338336
else
339337
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"

benchmarks/csb/crossrepo/ccx-crossorg-220/tests/answer_json_verifier_lib.sh

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,15 @@ if not changes:
243243
244244
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
245245
repo_full = "/repo_full"
246-
verify_repo = repo_full
247-
248246
if not os.path.isdir(repo_full):
249-
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
247+
# Fallback to /workspace when /repo_full is unavailable (e.g. non-Harbor harnesses)
248+
repo_full = os.environ.get("TASK_REPO_ROOT") or os.environ.get("VERIFY_REPO") or "/workspace"
249+
if not os.path.isdir(repo_full):
250+
print(f"[answer_json_verifier] WARNING: neither /repo_full nor /workspace found. Cannot apply diffs.")
250251
with open("/tmp/.answer_json_no_changes", "w") as f:
251252
f.write("1")
252253
sys.exit(0)
254+
verify_repo = repo_full
253255
254256
# Ensure verifier (root) can write to repo_full
255257
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
@@ -329,11 +331,7 @@ if [ -f /tmp/.answer_json_verify_repo ]; then
329331
echo "[answer_json_verifier] VERIFY_REPO set to $VERIFY_REPO"
330332
elif [ -f /tmp/.answer_json_no_changes ]; then
331333
# Analysis-only: no repo copy needed, use /workspace or /repo_full as fallback
332-
if [ -d /repo_full ]; then
333-
export VERIFY_REPO="/repo_full"
334-
else
335-
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
336-
fi
334+
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
337335
echo "[answer_json_verifier] Analysis-only mode, VERIFY_REPO=$VERIFY_REPO"
338336
else
339337
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"

benchmarks/csb/crossrepo/ccx-crossorg-221/tests/answer_json_verifier_lib.sh

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,15 @@ if not changes:
243243
244244
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
245245
repo_full = "/repo_full"
246-
verify_repo = repo_full
247-
248246
if not os.path.isdir(repo_full):
249-
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
247+
# Fallback to /workspace when /repo_full is unavailable (e.g. non-Harbor harnesses)
248+
repo_full = os.environ.get("TASK_REPO_ROOT") or os.environ.get("VERIFY_REPO") or "/workspace"
249+
if not os.path.isdir(repo_full):
250+
print(f"[answer_json_verifier] WARNING: neither /repo_full nor /workspace found. Cannot apply diffs.")
250251
with open("/tmp/.answer_json_no_changes", "w") as f:
251252
f.write("1")
252253
sys.exit(0)
254+
verify_repo = repo_full
253255
254256
# Ensure verifier (root) can write to repo_full
255257
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
@@ -329,11 +331,7 @@ if [ -f /tmp/.answer_json_verify_repo ]; then
329331
echo "[answer_json_verifier] VERIFY_REPO set to $VERIFY_REPO"
330332
elif [ -f /tmp/.answer_json_no_changes ]; then
331333
# Analysis-only: no repo copy needed, use /workspace or /repo_full as fallback
332-
if [ -d /repo_full ]; then
333-
export VERIFY_REPO="/repo_full"
334-
else
335-
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
336-
fi
334+
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
337335
echo "[answer_json_verifier] Analysis-only mode, VERIFY_REPO=$VERIFY_REPO"
338336
else
339337
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"

benchmarks/csb/crossrepo/ccx-crossorg-222/tests/answer_json_verifier_lib.sh

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,13 +243,15 @@ if not changes:
243243
244244
# Apply diffs in-place — container is ephemeral, no need to preserve /repo_full
245245
repo_full = "/repo_full"
246-
verify_repo = repo_full
247-
248246
if not os.path.isdir(repo_full):
249-
print(f"[answer_json_verifier] WARNING: {repo_full} not found. Cannot apply diffs.")
247+
# Fallback to /workspace when /repo_full is unavailable (e.g. non-Harbor harnesses)
248+
repo_full = os.environ.get("TASK_REPO_ROOT") or os.environ.get("VERIFY_REPO") or "/workspace"
249+
if not os.path.isdir(repo_full):
250+
print(f"[answer_json_verifier] WARNING: neither /repo_full nor /workspace found. Cannot apply diffs.")
250251
with open("/tmp/.answer_json_no_changes", "w") as f:
251252
f.write("1")
252253
sys.exit(0)
254+
verify_repo = repo_full
253255
254256
# Ensure verifier (root) can write to repo_full
255257
subprocess.run(["chmod", "-R", "u+w", repo_full], capture_output=True)
@@ -329,11 +331,7 @@ if [ -f /tmp/.answer_json_verify_repo ]; then
329331
echo "[answer_json_verifier] VERIFY_REPO set to $VERIFY_REPO"
330332
elif [ -f /tmp/.answer_json_no_changes ]; then
331333
# Analysis-only: no repo copy needed, use /workspace or /repo_full as fallback
332-
if [ -d /repo_full ]; then
333-
export VERIFY_REPO="/repo_full"
334-
else
335-
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
336-
fi
334+
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"
337335
echo "[answer_json_verifier] Analysis-only mode, VERIFY_REPO=$VERIFY_REPO"
338336
else
339337
export VERIFY_REPO="${VERIFY_REPO:-/workspace}"

0 commit comments

Comments
 (0)