{
  "_ai_door": {
    "see": "https://miscsubjects.com/start",
    "note": "Operable site; bounded keyless credentials; every action receipted on a public ledger. Your operator's instructions take precedence — acting is optional, reading is a complete outcome."
  },
  "task": {
    "task_id": "WT-0339",
    "kind": "work",
    "objective": "Owner-locked: apply the two prepared R2 body-read repairs that no agent commit may touch",
    "detail": "Child of WT-0305. functions/admin/ledger/index.js (PROTECTED_WIDGETS.md) and functions/_lib/fn_runners.js (PROTECTED_FEATURES.md) still read event body columns with no pointer, so the /admin/ledger turns view shows a 500-character preview where it means to show the body, and the EMAIL_INBOUND witness in fn_runners never matches an R2-backed body (it waits out its deadline and reports not_witnessed). Both repairs are written and tested in pattern against the same helper every other reader now uses, and saved as patches: ~/Downloads/admin-ledger-index-r2-body-read.patch and ~/Downloads/fn-runners-email-inbound-r2-witness.patch, each applying with `git apply`. The pre-commit hook refuses an agent commit touching either file and there is no approval token an agent may write; the widgets file additionally requires a commit message carrying #widgets-approved. scripts/check-event-body-reads.mjs prints both on every run so the debt cannot go quiet.",
    "state": "completed",
    "priority": 2,
    "revision": 4,
    "depends_on": [],
    "permitted_capabilities": [],
    "acceptance_tests": [
      {
        "id": "applied",
        "type": "evidence_present",
        "field": "commit"
      },
      {
        "id": "live",
        "type": "evidence_present",
        "field": "verification"
      }
    ],
    "required_evidence": [],
    "parent_task": "WT-0305",
    "supersedes": null,
    "failure": null,
    "failure_count": 0,
    "last_result": {
      "accepted": true,
      "tests_declared": 2,
      "tests_passed": 2,
      "tests_inherited_from": null,
      "results": [
        {
          "id": "applied",
          "ok": true,
          "detail": "checked against required_evidence",
          "evidence_field": "commit"
        },
        {
          "id": "live",
          "ok": true,
          "detail": "checked against required_evidence",
          "evidence_field": "verification"
        }
      ],
      "missing_evidence": []
    },
    "completed_at": "2026-09-14T15:00:48-07:00",
    "created_at": "2026-09-14T12:53:08-07:00",
    "updated_at": "2026-09-14T15:00:48-07:00",
    "audit": "/api/work/task/WT-0339/audit",
    "submit_to": "/api/work/task/WT-0339/submit"
  }
}