{
  "item_id": "II.2",
  "implementation_commit": "0fe7371650259ca2308d4455f94a5885d5a87df0",
  "status": "passed",
  "implementation_choice": "Encrypted staging outside both Web slot and Core mutexes; bounded cancellable forwarding and lifetime tracking; revoke/cancel before waiting for close; commit under slot/session/Core order with session, owner, epoch and destination FileId validation. Transient CAS pins participate in reference rebuild and eviction protection. The durable-publication callback disarms cleanup before fallible upkeep, preserving the actual committed outcome.",
  "test_names": [
    "stalled_raw_upload_does_not_block_logout_or_token_revocation",
    "stalled_multipart_upload_does_not_block_lock_or_token_revocation",
    "stalled_multipart_http_tail_is_cancelled_without_publishing_the_completed_part",
    "upload_eof_cannot_commit_after_its_session_is_replaced",
    "logout_revokes_before_waiting_for_slot_and_survives_a_disconnected_waiter",
    "logout_wins_upload_eof_while_commit_is_waiting_for_the_slot",
    "staged_new_and_reusable_units_survive_mid_read_retirement_rebuild_and_eviction",
    "stale_path_identity_rejects_commit_after_rename_and_path_reuse"
  ],
  "expected_failure_contexts": [
    {
      "log_path": "baseline-stalled.log",
      "phase": "Unchanged d4cc96d production; compiled raw/logout and multipart/lock regressions both assert revocation waited for stalled HTTP EOF."
    },
    {
      "log_path": "baseline-eof.log",
      "phase": "Same unchanged production; compiled replaced-session EOF regression asserts stale upload returned 200 instead of 401."
    }
  ],
  "final_source_manifest_path": "final-manifest.json",
  "commands": [
    {
      "artifact_path": "baseline-stalled.json",
      "command_argv": [
        "cargo",
        "test",
        "--locked",
        "-p",
        "cipherfs-web",
        "--all-features",
        "--test",
        "file_api_test",
        "stalled_",
        "--",
        "--nocapture"
      ],
      "exit_code": 101
    },
    {
      "artifact_path": "baseline-eof.json",
      "command_argv": [
        "cargo",
        "test",
        "--locked",
        "-p",
        "cipherfs-web",
        "--all-features",
        "--test",
        "file_api_test",
        "upload_eof_cannot_commit_after_its_session_is_replaced",
        "--",
        "--nocapture"
      ],
      "exit_code": 101
    },
    {
      "artifact_path": "final-clippy.json",
      "command_argv": [
        "cargo",
        "clippy",
        "--locked",
        "-p",
        "cipherfs-core",
        "-p",
        "cipherfs-web",
        "--all-targets",
        "--all-features",
        "--",
        "-D",
        "warnings"
      ],
      "exit_code": 0
    },
    {
      "artifact_path": "final-core.json",
      "command_argv": [
        "cargo",
        "test",
        "--locked",
        "-p",
        "cipherfs-core",
        "--all-features",
        "--lib",
        "--test",
        "version_streaming",
        "--test",
        "retirement",
        "--test",
        "export"
      ],
      "exit_code": 0
    },
    {
      "artifact_path": "final-diff.json",
      "command_argv": [
        "git",
        "diff",
        "--check"
      ],
      "exit_code": 0
    },
    {
      "artifact_path": "final-fmt.json",
      "command_argv": [
        "cargo",
        "fmt",
        "--check"
      ],
      "exit_code": 0
    },
    {
      "artifact_path": "final-sync-streaming.json",
      "command_argv": [
        "cargo",
        "test",
        "--locked",
        "-p",
        "cipherfs-sync",
        "--all-features",
        "--lib",
        "synced_vault::streaming::tests"
      ],
      "exit_code": 0
    },
    {
      "artifact_path": "final-web.json",
      "command_argv": [
        "cargo",
        "test",
        "--locked",
        "-p",
        "cipherfs-web",
        "--all-features"
      ],
      "exit_code": 0
    },
    {
      "artifact_path": "coordinator-file-api.json",
      "command_argv": [
        "cargo",
        "test",
        "--locked",
        "-p",
        "cipherfs-web",
        "--all-features",
        "--test",
        "file_api_test"
      ],
      "exit_code": 0
    },
    {
      "artifact_path": "coordinator-fmt.json",
      "command_argv": [
        "cargo",
        "fmt",
        "--all",
        "--",
        "--check"
      ],
      "exit_code": 0
    },
    {
      "artifact_path": "coordinator-diff-check.json",
      "command_argv": [
        "git",
        "diff",
        "--check"
      ],
      "exit_code": 0
    }
  ],
  "test_counts": {
    "baseline-stalled.log": [
      {
        "passed_count": 0,
        "failed_count": 2,
        "ignored_count": 0
      }
    ],
    "baseline-eof.log": [
      {
        "passed_count": 0,
        "failed_count": 1,
        "ignored_count": 0
      }
    ],
    "final-clippy.log": [],
    "final-core.log": [
      {
        "passed_count": 186,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 13,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 10,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 6,
        "failed_count": 0,
        "ignored_count": 0
      }
    ],
    "final-diff.log": [],
    "final-fmt.log": [],
    "final-sync-streaming.log": [
      {
        "passed_count": 11,
        "failed_count": 0,
        "ignored_count": 0
      }
    ],
    "final-web.log": [
      {
        "passed_count": 47,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 0,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 12,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 6,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 1,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 2,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 18,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 3,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 1,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 4,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 6,
        "failed_count": 0,
        "ignored_count": 0
      },
      {
        "passed_count": 0,
        "failed_count": 0,
        "ignored_count": 0
      }
    ],
    "coordinator-file-api.log": [
      {
        "passed_count": 18,
        "failed_count": 0,
        "ignored_count": 0
      }
    ],
    "coordinator-fmt.log": [],
    "coordinator-diff-check.log": []
  },
  "file_sha256": {
    "baseline-stalled.json": "0905726676a9583ee65280ac9bedfe60814e1b538380113cbb930b638a3b55a3",
    "baseline-stalled.log": "e4605119b924a6bc34b3abc7bc2aa8af05d0d0b30c492f96938d59f646866169",
    "baseline-eof.json": "cb131d55a3f8d7764867f1ea646cc87b96f95ec00cd6801a4bafb791c3a401a8",
    "baseline-eof.log": "632088cfb05ffd4cd6343106d590b986335c44519e756f3c23b27badcb000c8b",
    "baseline-test-only.patch": "ef747511a3f995fc0e4ac2ef30bcea9e270927985372567b59d9f6ab76662842",
    "coordinator-baseline-check.json": "97ad398577e1dfbe96796b5a328c0a9147e11c5d282f0db6de994baf72d6e020",
    "final-manifest.json": "63a8aba4f3dce6fea0fabe409c05388a950773098332b122f18dbb4b80b08ee3",
    "final-clippy.log": "64a349e55a78e730e6ef5b388621e54f6978fd63894b9ec52a86847fe3d2a88e",
    "final-clippy.json": "917f0089150ef761f9f2b7abf3b88298f297f30ce9597734313e13a637766686",
    "final-core.log": "b2b734180b9a134266d5d5ccfeeaed687058a1842567055f8526f2b7c68b2a76",
    "final-core.json": "cd42e2c18ddbeb623e98777d9f7b03706a6baa292c225d5d1e2d535856e61f29",
    "final-diff.log": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "final-diff.json": "4ced4cd3a9b0a81c352c7970fcbfb820034d3b0d913916f7b48874cf37c8691f",
    "final-fmt.log": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "final-fmt.json": "18863341b56632e8a31e7b1284f42e7b1040fc5f7adfc81a49344b52fdb94c7b",
    "final-sync-streaming.log": "535bb7ad188abb2e24867425e31437d8b5fda6ee2db551817a229512985b70f4",
    "final-sync-streaming.json": "8e0b05aa9f3734dfef5008d3b8878a77721c066c4f24ea1c499cbfceafe0bf1b",
    "final-web.log": "87680fef1dc7ffd7f1e1d529c2155913879395ba5433536ef10e76927aa89cf9",
    "final-web.json": "3c56ea5a7213657805bf0ab6ec1b8eee5726392f987acc7b08b588558699f9cf",
    "coordinator-file-api.json": "2bfa782c9b62cdd9af11003f7c038c21b87aacb41c5ecf02f6b47d2944594996",
    "coordinator-file-api.log": "bba7e509a4534909bf2147ed8eaff7e6773549ac0881745f47c2e739b044c9e3",
    "coordinator-fmt.json": "f6db3a1a37571ab36633d666efd3a4df15af9c0deb482589b7abc1dc1ef426d6",
    "coordinator-fmt.log": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "coordinator-diff-check.json": "0615c5250b24512cc51bbaed0580c60ff59d10337eafd84cde05a7d2ec0cc7db",
    "coordinator-diff-check.log": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"
  },
  "notes": "Final agent checks: Core 215, affected SDK streaming 11, Web 100 (326 executions). Coordinator independently repeats all 18 file API cases. Cancellation drains request and worker permits before close; raw/multipart and complete-part HTTP-tail stalls retain prior content and permit immediate reopen. Changed destination identities reject publication explicitly. Preliminary compilation errors are not baseline evidence."
}
