{
  "schema_version": 1,
  "task": "24. Run operator review and exactly-once delivery",
  "recorded_at_utc": "2026-08-14T05:20:11Z",
  "verdict": "PASS",
  "verdict_scope": "Disposable byte-identical dualcoachtest preflight only. This is not live Telegram/provider delivery evidence and does not change the overall release verdict.",
  "overall_release_verdict": "NO-GO",
  "customer_scope": {
    "classification": "dedicated synthetic rehearsal customer in a disposable profile copy",
    "real_customer_activation_changes": 0,
    "live_customer_delivery_changes": 0,
    "live_profile_mutations": 0
  },
  "candidate": {
    "execution_repository": "/home/cube/projects/richard/hermes-agent",
    "source_sha256": {
      "gateway/platforms/telegram.py": "7740711ba483e6cd7bada83893faa625ea7c43e7436a1168fc1acfb356ecd2c7",
      "tests/gateway/task24_preflight_harness.py": "f6a898fc45753a7b63f617c17ef3c522638cc3fdc99019a01b1b27612a2681b6",
      "tests/gateway/test_task24_preflight_integration.py": "2f1030576138740fd01d8bcefe3b0ca9b7f03a051d8b47b207e2ede1c63793d8"
    },
    "worktree_note": "The execution worktree contains unrelated dirty and untracked work. No reset, stash, clean, commit, push, profile mutation, or live delivery was performed."
  },
  "confirmed_fix": {
    "defect": "Owner-DM draft edit text derived a missing message_thread_id and failed strict topic delivery before its durable child review card was published.",
    "smallest_change": "Use the canonical operator IncomingAddress topic (DM topic 0) when present and publish the accepted immutable child revision through the durable generation-card projection.",
    "regression_surface": "Real TelegramAdapter callback/text handlers in the isolated full-path harness; no direct ledger mutation or service replay."
  },
  "isolation": {
    "profile_copy": "A symlink-preserving copy was byte-identical before execution and bind-mounted over the dualcoachtest profile path only inside bubblewrap.",
    "network": "bubblewrap --unshare-net",
    "telegram": "python-telegram-bot BaseRequest contract mock at the HTTP boundary",
    "provider": "OpenAI SDK httpx.MockTransport at the HTTP boundary",
    "delivery_gate": "in-memory disposable adapter configuration override; copied config bytes remained unchanged",
    "temporary_root": "/home/cube/.cache/senpi-task23-tmp"
  },
  "matrix": {
    "regenerate": "one mocked provider request; one immutable regenerated draft and one durable review card",
    "edit": "one immutable edited child revision and one durable child review card",
    "approve": "one approval transition; zero delivery entries before explicit send",
    "wrong_role": "zero delivery mutation",
    "restart_before_send": "zero customer sends and zero delivery entries",
    "explicit_send": "one mocked customer send, one provider receipt, terminal sent_audited",
    "stale_card": "zero delivery mutation and zero customer sends",
    "duplicate_send": "zero additional delivery mutation and zero additional customer sends",
    "restart_after_send": "zero additional delivery mutation and zero additional customer sends"
  },
  "acceptance": {
    "provider_request_count": 1,
    "immutable_child_draft_count": 2,
    "review_card_count": 2,
    "terminal_child_card_count": 1,
    "customer_send_count": 1,
    "customer_delivery_receipt_count": 1,
    "terminal_generation_state": "sent_audited",
    "delivery_statuses": ["sent_audited"],
    "callback_ack_count": 12,
    "card_edit_count": 11,
    "draft_created_event_delta": 2,
    "draft_edited_event_delta": 1,
    "draft_approved_event_delta": 1,
    "draft_sent_event_delta": 1
  },
  "sealed_run": {
    "temporary_report_sha256": "567f2f08c83fbb73de35514f31c05b78b161d2a65de5f751ca411199944cfcf9",
    "temporary_report_content": "redacted: only counts, hashes, file sizes, transport method names, and status values; no customer prose, raw model output, tokens, Telegram identifiers, or credentials",
    "live_profile_tree_before_sha256": "9f8ac5fac4b867b4a67b647eabfcd064f364f6838af693f1b70c75f8257aa129",
    "live_profile_tree_after_sha256": "9f8ac5fac4b867b4a67b647eabfcd064f364f6838af693f1b70c75f8257aa129",
    "live_profile_entry_count": 2711,
    "live_profile_unchanged": true
  },
  "durable_copy_hashes": {
    "before": {
      "registry": "f8949a9e158f5c72d49e379d2e9a341c5dc0d126375b1a7522cb69ee74f116f4",
      "requests": "f8d544a6e6d32d4ebb16fc84cf55a56eec2ad8052d6e1bbed3ee6ccbb6a58b73",
      "generations": "5663387e86233e898801a342f11401d265dd4b0ef61fe769945d08b3467fe391",
      "drafts": "48f2dfa8b5469ba951902645bf0bf8e2187a2599582ce724cfa2ba3e8e48e6bb",
      "cards": "bac48ebed09789d42fd15c0f592f4b100ad220fb127beee6714fe0bfb090d33b",
      "deliveries": null
    },
    "after": {
      "registry": "f8949a9e158f5c72d49e379d2e9a341c5dc0d126375b1a7522cb69ee74f116f4",
      "requests": "fc0288613d0071204754c3f5800fdd1e6f2a341a6d961a41c145972e51a991d3",
      "generations": "a8274c7bfcf12a6227d794d0cf223738d26538cd36af28425e4a8545559c855e",
      "drafts": "b4ec44bf867a0958d6337a846494f4a6527e034a577125659a1ac8481776ceb9",
      "cards": "706accb70ff48cec4c3e52ad5fa05c650564bb519756ac369849cabe1147edb4",
      "deliveries": "24a292cc679a1545c41ec63d5134822f822a06cb9fb85f094df5ecbc2f092d8f"
    }
  },
  "verification": {
    "task24_full_path": "1 passed",
    "focused_owner_dm_edit_regression": "1 passed, 55 deselected",
    "ruff_changed_files": "passed",
    "ty_task24_new_files": "passed",
    "git_diff_check_scoped": "passed",
    "reproducible_wheel": "1 passed",
    "source_wide_ty": {
      "status": "BLOCKED_PREEXISTING",
      "exit_code": 1,
      "diagnostic_count": 246,
      "changed_region_diagnostics": 0,
      "reason": "Existing unresolved profile-local imports and unrelated type diagnostics in gateway/platforms/telegram.py. They were not suppressed or modified in this focused change."
    }
  },
  "prohibitions_honored": {
    "live_telegram_network_calls": 0,
    "live_provider_network_calls": 0,
    "live_profile_callback_send_or_service_mutations": 0,
    "direct_ledger_mutations": 0,
    "direct_service_replays": 0,
    "commits": 0,
    "pushes": 0,
    "activation_or_release": 0
  }
}
