Repository navigation
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_ephemeralmode: 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 + stressdecomposition.
Replay correctness
- #240 — aggregate manifest-skip warnings into one INFO summary (no per-file WARNING spam).
- #248 — count
trajectory_attemptsinrun_summary.jsonsofailedis 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_stoward 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_percentilesand 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_bindfrom aenv (AENV firecracker ignores the e2bFC_BINDenv var).
vm_monitor
- #242 — compute
vm_coresas 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 + selectivetools:/--rotation-toolsmembership. - #249 — normalize YAML boolean
enabled/captureso vm_monitor is not silently disabled (str(True)="True"≠ lowercase check).
cubesandbox
- #250 — bound cube SDK control-plane calls (session-pin adapter +
_call_boundeddaemon-thread wrapper + SDK 0.7.0 guard) + shared-deadline Phase-6wait_all+ concurrent cleanup — a wedged runner can no longer hang the bench. - #253 — skip torn-down sandboxes in
cleanup_allso ephemeral runs stop re-killing dead handles ("Killed 175 of 990" misread).
Config, deps, docs
- #261 — default
task_batch.interval5 → 1 acrossreplay-*.yaml(tighter per-batch dispatch). - #255 — pin
e2bto 2.46.0 (2.47+ breaks AENV). - #238 — pin
vuejs/corebase_commit in all ts Dockerfiles. - #246 — CLAUDE.md catch-up.
Full changelog: v0.7.1...v0.7.2