| Script path | exists, readable | reject: Script path invalid: <path> |
| File size | > 1 KB | reject: Script empty or corrupted |
isaacsim import | uses isaacsim.*, not omni.isaac.core | reject: Use isaacsim.* namespace; omni.isaac.core is deprecated |
SimulationApp config | explicit width and height | reject: SimulationApp without window args causes swapchain-capture size mismatch |
| Lights present | DomeLight (intensity >= 100) and DistantLight (>= 500) | reject: No lighting; render will be black |
| Render mode | RayTracedLighting for iteration; PathTracing only for hero shots | reject: PathTracing too slow for iteration; use RayTracedLighting |
| ACES tonemap | /rtx/post/tonemap/op=4, filmIso 200 default / 600 deep-aisle / 400 aerial | suggest: Enable ACES (op=4) for contrast |
| Final render | >= 150 KB and mean_RGB > 30 | reject: Render is black or low-energy; check lighting |
| User paths | no /home/<user>/, C:\Users\<name>\, or per-agent home paths | reject: Hardcoded user path; use $ISAAC_SIM_DIR, $ISAAC_LAB_DIR, $WORKSPACE_DIR, or argparse |
| Network endpoints | no bare IPs (192.168.x.x, 10.x.x.x) or non-localhost hosts | reject: Hardcoded endpoint; parameterize via env var or config |
| Output dir | configurable (env var, CLI, or function param) | reject: Output dir hardcoded; accept as parameter or read $OUTPUT_DIR |
| VRAM headroom | nvidia-smi headroom > 20% after settle | warn at >90% utilization; likely leak or scale issue |
pkill -f "kit/kit" used | flag for kill+relaunch bug | warn: Verify zero kit processes before next launch |
| Sim duration | >= 3 s of physics | reject: Sim ran < 3 s; physics has not settled |