Files
SkillCompiler/data/skills-bench/.agents/skills/task-review/scripts/package_traj.sh
T
2026-09-04 14:58:42 +08:00

54 lines
1.5 KiBLFS
Bash

#!/usr/bin/env bash
# Bundle a PR review's report + per-config jobs into pr<N>.zip for posting.
#
# Usage: package_traj.sh <pr_number> <jobs_root> <report_txt> [extra_files...]
#
# Layout inside the zip (mirrors the format users see in PR comments,
# e.g. https://github.com/benchflow-ai/skillsbench/pull/560#issuecomment-3789639243):
#
# pr<N>/
# report.txt
# summary.json (from parse_results.py if present alongside report)
# policy.json (from policy check, if present)
# jobs/oracle/...
# jobs/claude-skills/...
# jobs/claude-noskills/...
# jobs/codex-skills/...
# jobs/codex-noskills/...
# audit-*.json (per-job trajectory audits, if present)
set -euo pipefail
PR="${1:?pr number required}"
JOBS="${2:?jobs root required}"
REPORT="${3:?report path required}"
shift 3 || true
OUT_DIR="$(dirname "$REPORT")"
STAGE="$OUT_DIR/pr$PR"
ZIP="$OUT_DIR/pr$PR.zip"
rm -rf "$STAGE" "$ZIP"
mkdir -p "$STAGE/jobs"
cp "$REPORT" "$STAGE/report.txt"
for sib in summary.json policy.json; do
[[ -f "$OUT_DIR/$sib" ]] && cp "$OUT_DIR/$sib" "$STAGE/$sib"
done
for f in "$OUT_DIR"/audit-*.json; do
[[ -f "$f" ]] && cp "$f" "$STAGE/"
done
for cfg in oracle claude-skills claude-noskills codex-skills codex-noskills; do
[[ -d "$JOBS/$cfg" ]] && cp -R "$JOBS/$cfg" "$STAGE/jobs/$cfg"
done
for extra in "$@"; do
[[ -e "$extra" ]] && cp -R "$extra" "$STAGE/"
done
(cd "$OUT_DIR" && zip -qr "pr$PR.zip" "pr$PR")
echo "$ZIP"