Skip to content

infra: launch frozen V145 magnitude separator #10

infra: launch frozen V145 magnitude separator

infra: launch frozen V145 magnitude separator #10

name: Trace Ace V145 Magnitude Separator
on:
push:
branches: [main]
paths:
- '.github/workflows/trace-ace-transcript-cache-seed.yml'
workflow_dispatch:
permissions:
contents: write
actions: read
jobs:
v145:
runs-on: ubuntu-24.04
timeout-minutes: 150
steps:
- uses: actions/checkout@v4
with:
ref: agent/v145-v135-plus-evidence-family
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: pip
- name: Record V145 run start
run: |
python - <<'PY'
import json,os,pathlib
pathlib.Path('/tmp/V145_RUN_START.json').write_text(json.dumps({'run_id':int(os.environ['GITHUB_RUN_ID']),'status':'STARTED','frozen_commit':'f19e3c2287a17ecccfd660f12ff047253ecbba3a'},indent=2))
PY
git fetch origin main
git worktree add /tmp/v145-start origin/main
cd /tmp/v145-start
mkdir -p competitions/trace_the_ace/results
cp /tmp/V145_RUN_START.json competitions/trace_the_ace/results/V145_RUN_START.json
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
git add competitions/trace_the_ace/results/V145_RUN_START.json
git commit -m "results: record V145 run start $GITHUB_RUN_ID" || true
git push origin HEAD:main || true
- name: Install dependencies
run: python -m pip install --disable-pip-version-check numpy pandas scipy scikit-learn gdown
- name: Restore frozen transcript archive from GitHub cache only
id: transcript-cache
uses: actions/cache@v4
with:
path: transcripts.zip
key: trace-ace-transcripts-v1-603547640
- name: Require exact transcript cache
run: |
set -euo pipefail
test '${{ steps.transcript-cache.outputs.cache-hit }}' = 'true'
test "$(stat -c%s transcripts.zip)" = '603547640'
echo 'e685b85b04694e130c25b17d09cdd1892fbda5e9fa685e98b2300114b915aa2d transcripts.zip' | sha256sum -c -
- name: Download frozen small metadata archive only
run: |
set -euo pipefail
gdown 1EpqoamY0vFI2qE57R6wdqU5HwuoVk3Zz -O metadata.zip
mkdir -p data/transcripts data/meta
unzip -q transcripts.zip -d data/transcripts
unzip -q metadata.zip -d data/meta
- name: Resolve and audit schemas
run: |
set -euo pipefail
FEATURES=$(find data/meta -type f -name 'train_features*.csv' -print -quit)
LABELS=$(find data/meta -type f -name 'train_labels*.csv' -print -quit)
FIRST=$(find data/transcripts -type f -name '*.csv' -print -quit)
TRANSCRIPTS=$(dirname "$FIRST")
test -n "$FEATURES" && test -n "$LABELS" && test -n "$TRANSCRIPTS"
python - <<'PY' "$FEATURES" "$LABELS"
import pandas as pd,sys
f=pd.read_csv(sys.argv[1]); y=pd.read_csv(sys.argv[2])
print('FEATURE_COLUMNS',list(f.columns)); print('LABEL_COLUMNS',list(y.columns)); print('SHAPES',f.shape,y.shape)
assert len(f)==35072 and len(y)==35072
PY
echo "FEATURES=$FEATURES" >> "$GITHUB_ENV"
echo "LABELS=$LABELS" >> "$GITHUB_ENV"
echo "TRANSCRIPTS=$TRANSCRIPTS" >> "$GITHUB_ENV"
- name: Run frozen V145 full-data separator
run: |
cd competitions/trace_the_ace
python v145_v135_plus_evidence_family.py \
--features "../../$FEATURES" --labels "../../$LABELS" --transcripts "../../$TRANSCRIPTS" \
--out ../../v145_v135_plus_evidence_family.json
- name: Show V145 decision
if: always()
run: cat v145_v135_plus_evidence_family.json || true
- uses: actions/upload-artifact@v4
if: always()
with:
name: trace-ace-v145-v135-plus-evidence-family
path: v145_v135_plus_evidence_family.json
retention-days: 14
- name: Record V145 completion
if: always()
run: |
python - <<'PY'
import json,os,pathlib
p=pathlib.Path('v145_v135_plus_evidence_family.json')
out={'run_id':int(os.environ['GITHUB_RUN_ID']),'status':'FINAL','result_exists':p.exists()}
if p.exists():
try:
r=json.loads(p.read_text()); out['verdict']=r.get('decision',{}).get('verdict'); out['session_gain']=r.get('session_grouped',{}).get('gain_vs_v135'); out['objective_gain']=r.get('objective_grouped',{}).get('gain_vs_v135')
except Exception as e: out['parse_error']=str(e)
pathlib.Path('/tmp/V145_RUN_FINAL.json').write_text(json.dumps(out,indent=2)); print(json.dumps(out,indent=2))
PY
git fetch origin main
git worktree add /tmp/v145-final origin/main
cd /tmp/v145-final
mkdir -p competitions/trace_the_ace/results
cp /tmp/V145_RUN_FINAL.json competitions/trace_the_ace/results/V145_RUN_FINAL.json
git config user.name github-actions[bot]
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
git add competitions/trace_the_ace/results/V145_RUN_FINAL.json
git commit -m "results: record V145 final $GITHUB_RUN_ID" || true
git push origin HEAD:main || true