{
  "archive": {
    "digest": "644d74b05bc8115f9e3aeeba035188da195a7de18f1bc737648931d64bf43bcf",
    "id": "2009ac177177839cefddb98f285e27fa",
    "manifest_sha256": "ca4811444e114a06749620b9a44e05c8bd62bc3223ec80b1b5740c832c4a84c1",
    "receipt_sha256": "e81a84a8584400401f83aace36283dee18660144ede11e854758e725796e7fb3",
    "scope_count": 23
  },
  "candidate_digest": "9b102fdeb73c7dd5927734c208a633c03f14bd65698758408754f3d90faf4338",
  "canonicalization": "SHA-256 over canonical JSON {schema, inputs, archive}; inputs are byte hashes, sizes, and modes sorted by location/path.",
  "inputs": [
    {
      "bytes": 14971,
      "location": "control",
      "mode": 436,
      "path": ".omo/evidence/dualcoach-task-24-approval-pre-send-observer.py",
      "sha256": "be797958b6a896b53845a5e62ba5ad8f4f151694c3732f40f5a2bdd0dcc879e7"
    },
    {
      "bytes": 13695,
      "location": "control",
      "mode": 448,
      "path": ".omo/evidence/dualcoach-task-24-edit-recovery-observer.py",
      "sha256": "91cb90b2cbacf90bf2a98d3ee3e2f59cc76f955ad4b60b8f883b16d2d426ec3a"
    },
    {
      "bytes": 14032,
      "location": "control",
      "mode": 448,
      "path": ".omo/evidence/dualcoach-task-24-enable-synthetic-delivery.sh",
      "sha256": "6c43e514a3c652be2d087d8d8985c9e0adc94f604824dfc50b6fb9be437667e2"
    },
    {
      "bytes": 2678,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/dualcoach-task-24-evidence-index.json",
      "sha256": "4df0f8712887f2125e100ba8d7585914b7b8810a298c37f9a32584b31fabe04d"
    },
    {
      "bytes": 6236,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/dualcoach-task-24-evidence.json",
      "sha256": "9c7fcae5b0f3f5b4fa30c485046df521db0528ff7205be46dc8e7ee51b4fc474"
    },
    {
      "bytes": 1529,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/dualcoach-task-24-live-deployment-pins.json",
      "sha256": "032f9b5f94491e6a16ff5cf73e3dffda2c83e96083f41aa82a4e5604bb48e3a3"
    },
    {
      "bytes": 3519,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/dualcoach-task-24-live-deployment-verification.json",
      "sha256": "077dad96ffb1d8ac1a5cdc5ae4e82b802c15fb8efa4d0a4d54d5653addc5960b"
    },
    {
      "bytes": 4436,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/dualcoach-task-24-live-terminal-evidence.json",
      "sha256": "7431b043f1aa9f67481692ed3555f9072f091984b931e77041ee5aa50d2258b4"
    },
    {
      "bytes": 538,
      "location": "control",
      "mode": 448,
      "path": ".omo/evidence/dualcoach-task-24-operator-preflight.sh",
      "sha256": "6734a7ae93fe1e5d616898eebc0274c2910170acc6ce24dbb712cc4652629d81"
    },
    {
      "bytes": 24096,
      "location": "control",
      "mode": 448,
      "path": ".omo/evidence/dualcoach-task-24-real-one-window.sh",
      "sha256": "b2074632f9275c6ba6952a081a28a359adb07ffaeb742b58713bf11978804e60"
    },
    {
      "bytes": 3775,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/dualcoach-task-24-regenerate-lineage-repair.json",
      "sha256": "b063a2b56a10e176f9cd0c2527bd7e6c96d7fd585659cf2545053e41f05c19a8"
    },
    {
      "bytes": 13812,
      "location": "control",
      "mode": 448,
      "path": ".omo/evidence/dualcoach-task-24-send-observer.py",
      "sha256": "d256bea58117aa75a322893aac7b673cd59e4ed3a3b9815a8a18a872ce115e71"
    },
    {
      "bytes": 2936,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/dualcoach-task-24.md",
      "sha256": "6d6c193e9cde3e33099b2572cb76365413f09a4b06e0a07a43e865fe311de599"
    },
    {
      "bytes": 26278,
      "location": "control",
      "mode": 448,
      "path": ".omo/evidence/dualcoach-task-25-cleanup-controller.py",
      "sha256": "81b036bac5273945ce042befe4a738f729efeea5fd3cca87f393268ab7003527"
    },
    {
      "bytes": 2357,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/dualcoach-task-25-evidence-index.json",
      "sha256": "c3c40ff9406dbb2609ee7ef89be2fdc20fa139064b5d65e494c6efc8b2a80ed2"
    },
    {
      "bytes": 3590,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/dualcoach-task-25-evidence.json",
      "sha256": "3e4a89c954652e7bcc260e7bf7edcd993674cc02a3f49be0584bb2e7ec8f9919"
    },
    {
      "bytes": 3298,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/dualcoach-task-25-live-terminal-evidence.json",
      "sha256": "30275bb8a9d0637fb4b46889672105836f18baa64e02270f1a4728efe2d6378d"
    },
    {
      "bytes": 1167,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/dualcoach-task-25.md",
      "sha256": "bd229e5aa6d3dc1691b93e8bd8872de6041aa28c229dea72154f482d4245b7e5"
    },
    {
      "bytes": 421,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/task24-live-window-approval-pre-send-observation.json",
      "sha256": "cb350c2b490f868bf68eaf4b2e1361a74028fe4ff4f1d3a92d1777d223b8fa85"
    },
    {
      "bytes": 561,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/task24-live-window-approval-pre-send-reconciliation.json",
      "sha256": "edf7d5c4cc894e02cba0f4b8d65eaf21b575dafa1b373c1622ee94c705b0ae87"
    },
    {
      "bytes": 175,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/task24-live-window-checkpoint.json",
      "sha256": "3813a14ba04b92ba900b49088a589e076f536199c716892792cd1ad0918a2622"
    },
    {
      "bytes": 324,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/task24-live-window-edit-recovery-observation.json",
      "sha256": "5b9bd04c8c946bce4129755c48f1fdea8b0f83b0e9032cbb069569e529782782"
    },
    {
      "bytes": 412,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/task24-live-window-regenerate-block.json",
      "sha256": "e4fa50b1ea3921e8c3c41b65793a2287c7f511c52508ad08af43ffc3eb610021"
    },
    {
      "bytes": 532,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/task24-live-window-send-terminal-observation.json",
      "sha256": "f6ff0adefdf8ec4fb021d4152d58d409fb8c599fb36f072875a7a2d871a1a8ec"
    },
    {
      "bytes": 450,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/task24-terminal-noop-matrix.json",
      "sha256": "2bbf0d055f68d0a938ea9f41d969d601db016e645471c4c87970cac4f0202728"
    },
    {
      "bytes": 169,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/task25-live-cleanup-checkpoint.json",
      "sha256": "78cc0c533c5d53ada71c77786b958fb7ea89b78bfc5bdb6c1092e1aec7b5bd1a"
    },
    {
      "bytes": 2659,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/task26/task24-terminal-replay-report.json",
      "sha256": "7e8d38820a94143a73778c8eaedd244a1e00f149ea4689c0483f5e76b37a2d42"
    },
    {
      "bytes": 1202,
      "location": "control",
      "mode": 384,
      "path": ".omo/evidence/task26/task25-offline-revalidation.json",
      "sha256": "20ef2be32388fa2c3e60943487b370f83458374d25ef01f32dc605a311da576d"
    },
    {
      "bytes": 8864,
      "location": "control",
      "mode": 448,
      "path": ".omo/evidence/task26/verify-task24-task25-final-candidate.py",
      "sha256": "e54bcb29e617076832afac0f82aad342ea3ee6d1f7ad2194cbae7040942079af"
    },
    {
      "bytes": 927745,
      "location": "gateway",
      "mode": 436,
      "path": "gateway/platforms/nutrition_coaching.py",
      "sha256": "8ea601b4ceac3abf0b5906ffe1344d1d411366d8bd868378ba4ec3ad4e7c5db7"
    },
    {
      "bytes": 18300,
      "location": "gateway",
      "mode": 436,
      "path": "gateway/platforms/nutrition_coaching_proposal.py",
      "sha256": "055d5798a4d87b2153ea1464f13adfc6ffd8697631eb850976fa0590d11c8fa1"
    },
    {
      "bytes": 145575,
      "location": "gateway",
      "mode": 436,
      "path": "gateway/platforms/rehearsal_reset.py",
      "sha256": "7dcb0b1e49bb9c94d38c26becd7324570681adce8877c1dbd9e587b664e73250"
    },
    {
      "bytes": 668129,
      "location": "gateway",
      "mode": 436,
      "path": "gateway/platforms/telegram.py",
      "sha256": "e51d6676383ca87726d2b363de9aadb127279214c1dfd48b4d171c83a6996ba9"
    },
    {
      "bytes": 22772,
      "location": "gateway",
      "mode": 436,
      "path": "gateway/platforms/telegram_activation_readiness.py",
      "sha256": "a54d1f5e64a606fb4f5ce4d356ceada2fdb899e43ec4c5b0937534caaa77941f"
    },
    {
      "bytes": 38609,
      "location": "gateway",
      "mode": 436,
      "path": "tests/gateway/task24_preflight_harness.py",
      "sha256": "e7c468d883bac4b84fb1adea35c12549e7385249fc1d58a80baa32e5994781e7"
    },
    {
      "bytes": 67487,
      "location": "gateway",
      "mode": 436,
      "path": "tests/gateway/test_rehearsal_reset.py",
      "sha256": "af74e9d1b0a98fe059e2e74ae942d66227efc70d05d0418438d2e3273d4d9a3d"
    },
    {
      "bytes": 16517,
      "location": "gateway",
      "mode": 436,
      "path": "tests/gateway/test_task24_preflight_integration.py",
      "sha256": "6317d6ba5dc2b7a3cac50059ddee028954cb3338daac70e403f984a330c145e6"
    }
  ],
  "schema": "task24-task25-final-candidate-v1",
  "verification": {
    "created_at_utc": "2026-08-14T07:29:06Z",
    "scope": "Task24/Task25 offline QA candidate; not a whole-worktree release manifest.",
    "task24_terminal_replay": ".omo/evidence/task26/task24-terminal-replay-report.json",
    "task25_offline_revalidation": ".omo/evidence/task26/task25-offline-revalidation.json",
    "verifier": ".omo/evidence/task26/verify-task24-task25-final-candidate.py"
  }
}
