{
  "item_id": "I.4",
  "implementation_commit": "a0b756e",
  "status": "passed",
  "test_names": [
    "concurrent_enrollment_gets_missing_epoch_on_next_store_sync",
    "snapshot_authority_repairs_concurrent_enrollment_on_next_store_sync",
    "initial_epoch_recovery_ratification_converges_without_key_repairs",
    "repair_key_candidates_require_complete_final_authority_and_preserve_state_on_rejection",
    "incremental_candidates_are_bounded_and_never_advance_state_without_complete_proof",
    "pending_recovery_cannot_publish_missing_member_key_repairs",
    "concurrent_metadata_epoch_history_is_repaired_before_or_after_current_delivery_without_rotation",
    "genesis_recovery_admission_and_ratification_do_not_create_epoch_repairs"
  ],
  "expected_failure_logs": [
    "baseline-assertion.log"
  ],
  "final_logs": [
    "core-final.log",
    "authority-history-final.log",
    "sync-final.log",
    "clippy-final.log",
    "fmt-final.log",
    "diff-check-final.log",
    "commands.txt",
    "changed-file-hashes.json",
    "coordinator-device-membership.log",
    "coordinator-device-membership.json",
    "coordinator-fmt.log",
    "coordinator-fmt.json",
    "coordinator-diff.log",
    "coordinator-diff.json"
  ],
  "test_counts": {
    "baseline-assertion.log": [
      {
        "passed_count": 0,
        "failed_count": 1,
        "ignored_count": 0,
        "filtered_count": 0
      }
    ],
    "core-final.log": [
      {
        "passed_count": 49,
        "failed_count": 0,
        "ignored_count": 0,
        "filtered_count": 117
      }
    ],
    "authority-history-final.log": [
      {
        "passed_count": 5,
        "failed_count": 0,
        "ignored_count": 0,
        "filtered_count": 161
      }
    ],
    "sync-final.log": [
      {
        "passed_count": 9,
        "failed_count": 0,
        "ignored_count": 0,
        "filtered_count": 0
      },
      {
        "passed_count": 3,
        "failed_count": 0,
        "ignored_count": 0,
        "filtered_count": 0
      },
      {
        "passed_count": 10,
        "failed_count": 0,
        "ignored_count": 0,
        "filtered_count": 0
      },
      {
        "passed_count": 6,
        "failed_count": 0,
        "ignored_count": 0,
        "filtered_count": 0
      }
    ],
    "clippy-final.log": [],
    "fmt-final.log": [],
    "diff-check-final.log": [],
    "coordinator-device-membership.log": [
      {
        "passed_count": 3,
        "failed_count": 0,
        "ignored_count": 0,
        "filtered_count": 0
      }
    ],
    "coordinator-fmt.log": [],
    "coordinator-diff.log": []
  },
  "file_sha256": {
    "baseline-assertion.log": "255cdc35af12838531b2356d8dfa6ba1d54287de0f88ec2d677f45929eb8d484",
    "core-final.log": "e0f272284550bc852858a3c1d46532a737e926b01e5806885c74b6621340f506",
    "authority-history-final.log": "e527856380683857f299cd57fded887bd4d520b98a2151d6800539755906b311",
    "sync-final.log": "078341d05c501beac372643439cf9dac8ea026ea741b68c385cddca94e2fec6d",
    "clippy-final.log": "41cac640b0103af46a56795b2a91a7938cf75b8eaf6fe63f8bb0d510abaa7338",
    "fmt-final.log": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "diff-check-final.log": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "commands.txt": "bf7552c3e005580c35475376c5ebee77d895d19d645845b120b4c7aedba93860",
    "changed-file-hashes.json": "c257305bcc5949d1415b1942443298e922589c654985e453066f6b355c167cd5",
    "coordinator-device-membership.log": "9fb4184aee5f08376239954f3ff88ee3c30d12f4acd6e20673c77531a863813b",
    "coordinator-device-membership.json": "973de74dac446800ec72fd1f7fe25560aeccfb02f6ffe28a4460f465caf7ba54",
    "coordinator-fmt.log": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "coordinator-fmt.json": "4dd50864fb89370aa705b676a043a1b48a041567587fbe7cb664d9f7a08f0b96",
    "coordinator-diff.log": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
    "coordinator-diff.json": "9f99543a10e8d157db7a68c4e18d5d38ca7b1d426b53c8d7f74ac8cfdc94bb98"
  },
  "commands": [
    "cargo test --locked -p cipherfs-core --lib vault:: -- --nocapture",
    "cargo test --locked -p cipherfs-sync --test device_membership --test content_sync_test --test retirement_gc --test store_sync_test -- --nocapture",
    "cargo clippy --locked -p cipherfs-core -p cipherfs-sync --all-targets -- -D warnings",
    "cargo fmt --all -- --check",
    "git diff --check"
  ],
  "implementation_choice": "Emit individually sealed current and all-known historical keys in same-epoch EpochKeys supplements, using a proven known recipient epoch for log encryption. Stage candidates across unknown-key gaps, validate complete original chains/batches/versions and final authority closure before persisting, and resume normal file replay. Enforce32MiB new candidate proof/buffer budgets and reject signed forks early.",
  "expected_failure_context": {
    "baseline-assertion.log": "Added regression with unchanged production: legal Z next store sync failed with missing-current-epoch Locked error. Compile succeeded; actual assertion failed.",
    "baseline_commit": "958830d"
  },
  "verification_limits": [
    "Core49 and Sync28 are independent final target execution counts; focused authority5 and coordinator device3 reruns overlap those cases.",
    "Remote/public new candidate proofs and incremental pending ciphertext are bounded32MiB; exceeding inputs defer or reject. Existing accepted local authority history may grow and multipart/long scale acceptance remains IV.",
    "No new wire/proto format; individual key envelopes remain existing EpochKeys records. File replay and frontier advancement use normal import."
  ]
}
