Skip to content

v0.7.2

Latest

Choose a tag to compare

@JackWeiw JackWeiw released this 30 Oct 01:24
· 20 commits to main since this release
952b718

v0.7.2

Patch release over v0.7.1. Replay ephemeral lifecycle + oversub metric depth + aenv CCL pinning + cubesandbox hang bounds + vm_monitor correctness. No CLI breaking changes.

Replay mode & ephemeral lifecycle

  • #239 — exec_ephemeral mode: bare-exec ephemeral sandbox (no pause/resume, no admission) — the real "spin up once → run → kill; to reuse, spin up again" workload. Oversub sweep default.
  • #241 — exec_ephemeral CCL bind + per-sandbox multiplier (M trajectories per slot on a fresh sandbox) + stop_when_done.
  • #243 — gate the ephemeral M-loop on persistent create-failure, not is_alive (kill_one flips is_alive per trajectory, so the multiplier ran 1 not M).
  • #244 — per-pass run identity in fixed mode (repeated passes stay separate run rows) + per-run elapsed = create + kill + stress decomposition.

Replay correctness

  • #240 — aggregate manifest-skip warnings into one INFO summary (no per-file WARNING spam).
  • #248 — count trajectory_attempts in run_summary.json so failed is never negative (slot-count vs trajectory-completion dimensional cross).
  • #256 — keep failed steps out of per-action latency stats (was dragging obs Per-step-timings avg_s toward 0).

Oversub driver & observability

  • #237 — multi-template linearity (cap, clamp, fleet, rank) so the oversub ratio holds across templates.
  • #236 — surface the executed command sequence in replay outputs.
  • #258 — per-command exec time columns in ratio-summary.csv.
  • #260 — per-stat degradation + same-trajectory cross-ratio compare + auto-compare in oversub-compare.
  • #257 — p90 percentile in calc_percentiles and replay report surfaces.

aenv CCL pinning

  • #245 — sysfs-detected CCD/CL domains + one-shot all-thread firecracker pinning (no polling); zen5 + Kunpeng verified.
  • #254 — drop dead numa_bind from aenv (AENV firecracker ignores the e2b FC_BIND env var).

vm_monitor

  • #242 — compute vm_cores as a single aggregate jiffies delta (bounded by construction; the per-VM normalized-rate sum overshot physical cores on NaN-sparse pivots).
  • #247 — AMDuProfPcm (uprof) as a 4th log-capture rotation slot + selective tools: / --rotation-tools membership.
  • #249 — normalize YAML boolean enabled/capture so vm_monitor is not silently disabled (str(True)="True" ≠ lowercase check).

cubesandbox

  • #250 — bound cube SDK control-plane calls (session-pin adapter + _call_bounded daemon-thread wrapper + SDK 0.7.0 guard) + shared-deadline Phase-6 wait_all + concurrent cleanup — a wedged runner can no longer hang the bench.
  • #253 — skip torn-down sandboxes in cleanup_all so ephemeral runs stop re-killing dead handles ("Killed 175 of 990" misread).

Config, deps, docs

  • #261 — default task_batch.interval 5 → 1 across replay-*.yaml (tighter per-batch dispatch).
  • #255 — pin e2b to 2.46.0 (2.47+ breaks AENV).
  • #238 — pin vuejs/core base_commit in all ts Dockerfiles.
  • #246 — CLAUDE.md catch-up.

Full changelog: v0.7.1...v0.7.2