The ageval Core base: what one run is made of ageval Core architecture: external inputs (User, dataset, profiles) flow through the lock, environment, run, evaluate, and record phases into evidence, with plugin extension points under lock, environment, and run, and limits and cleanup spanning every phase. INPUTS LOCK ENVIRONMENT RUN EVALUATE RECORD LIMITS CLEANUP INPUTS plugin binding extension_bindings capabilities checked here environment plugins local · docker · e2b daytona · ssh Agent plugins ACP (default) nooa · dsh · miniswe EXT User lock / run / view EXT dataset ageval.yaml · tasks/ EXT profiles profiles.yaml CLI lock lock.json · digest PROV environment local / docker / e2b… TASK run.py task loop · ACP EVAL evaluator.py PASS / FAIL / ERROR EVID evidence .ageval/runs/<id>/ ageval Core · one run opens one environment; run.py and evaluator.py execute inside it limits · enforced before the run (wall-clock · memory · processes · calls) cleanup · finally, always runs (every exit path · environment and credentials released) LEGEND external · outside the Core one run · Core boundary evidence · focal binds PASS phase advance plugin point