{
  "implementation_commit": "f48c4f05133ffdc1d4769c4d1d93ad58f72fe3f3",
  "classification": "python_concurrency_fixture_aligned_with_atomic_staged_publication",
  "test_name": "test_metadata_threads_do_not_deadlock_stream_callbacks",
  "fixture_path": "cipherfs/crates/cipherfs-python/python/tests/test_runtime.py",
  "fixture_sha256": "ca1051259eebd3cab1d3e0284c4ac33712d4ce6f95a70bb044537c7e2961aaa2",
  "production_code_changed_count": 0,
  "initial_container_python_passed_count": 9,
  "initial_container_python_failed_count": 1,
  "final_focused_passed_count": 1,
  "final_python_suite_passed_count": 10,
  "coordinator_focused_passed_count": 1,
  "original_reader_start_timeout_ms": 2000,
  "original_future_timeout_ms": 5000,
  "original_subprocess_timeout_ms": 20000,
  "new_ignored_test_count": 0,
  "full_container_rerun_completed": false,
  "file_sha256": {
    "RESULT.md": "b1388c0f8eb1c65b9cf4fcfdfef4a339b47fc09280011c025f1daa2bce4a659d",
    "after-focused-source-after.json": "8b3ab730d3e4739b0d409c4147b96a1bbbd2ca60299a4358604ab05a40c5be2d",
    "after-focused-source-before.json": "8b3ab730d3e4739b0d409c4147b96a1bbbd2ca60299a4358604ab05a40c5be2d",
    "after-focused.json": "01d1de054bc9febee74e8d40efb9c235150a4b105df2f2b0e7662fd79a2b6e9e",
    "after-focused.log": "9175247f61544f0b0dee8f1e4885b445dff21571b306d3900981ad6dc26903e5",
    "after-python-suite-source-after.json": "8b3ab730d3e4739b0d409c4147b96a1bbbd2ca60299a4358604ab05a40c5be2d",
    "after-python-suite-source-before.json": "8b3ab730d3e4739b0d409c4147b96a1bbbd2ca60299a4358604ab05a40c5be2d",
    "after-python-suite.json": "a846b4d48d35069cdba3f13055f4b276282e01086abfb1f580712d4af7dd82de",
    "after-python-suite.log": "412814c8d1e4927820619862b6c2f0ef803a77a4f4af5e8044b68951b4fbdb3d",
    "before-runtime-source-after.json": "8b3ab730d3e4739b0d409c4147b96a1bbbd2ca60299a4358604ab05a40c5be2d",
    "before-runtime-source-before.json": "8b3ab730d3e4739b0d409c4147b96a1bbbd2ca60299a4358604ab05a40c5be2d",
    "before-runtime.json": "e3577719e7be87e1d0605607e770763fb02d4fa8a0c6f9172b79fb566d246279",
    "before-runtime.log": "5121b40ee744d4e95f1825c6275a23618e7f7193fb79d8867677ca6623e03374",
    "checks.json": "d25ce7bb33abaa5a39056e991a89b0d96ff62dc379e49d944069f829f186fd55",
    "container-runtime.py": "77cc8d85a417f80e2de8e7a7ab90453e37ecc7e404845a503c5b6cb3671246b1",
    "coordinator-focused.json": "5df69d4df494678baff10d2bec6e3d874a9ff65abe9e384761d10b27d355ca57",
    "coordinator-focused.log": "10831bd6b7363688f42f9df83567f6e32aa3c284dc18a365d68759f676fe04a3",
    "final-focused-source-after.json": "8b3ab730d3e4739b0d409c4147b96a1bbbd2ca60299a4358604ab05a40c5be2d",
    "final-focused-source-before.json": "8b3ab730d3e4739b0d409c4147b96a1bbbd2ca60299a4358604ab05a40c5be2d",
    "final-focused.json": "c38017bf9a9920910340d358a80a3cd3af5f392cd155f4c6654b17b092fa6bf6",
    "final-focused.log": "3f440aaeb9e1c4cb86feb8dfdc383277e435ffe5593a2e908003d2bc372e75d6",
    "final-python-suite-source-after.json": "8b3ab730d3e4739b0d409c4147b96a1bbbd2ca60299a4358604ab05a40c5be2d",
    "final-python-suite-source-before.json": "8b3ab730d3e4739b0d409c4147b96a1bbbd2ca60299a4358604ab05a40c5be2d",
    "final-python-suite.json": "c8be30c645f049d6873e6b1991665e88980e3edda5e5f6a380b7d402179a5e20",
    "final-python-suite.log": "6c9e7667bf0b7129faa966479fe1af62e3cef06f74b0f2da5d25bbc9b675d8e7",
    "root-focused-argv.json": "25aed54d38016f93d0f1ab375074dbd56249b7cb064da839cbf52cc4e687e950",
    "run-verification.py": "f718e10205e0f461dabf418b274369b42941bd856344b3736ae96fe2c058f7e1",
    "test-runtime.patch": "3c84565db1bc64bbf34cfb86eb46c5ac7bd61be38f4b572e72e9b4ba42059304",
    "test_runtime-after.py": "ca1051259eebd3cab1d3e0284c4ac33712d4ce6f95a70bb044537c7e2961aaa2",
    "test_runtime-before.py": "a4e85132916e493678d9135c0e5f87d6fa44e3c90eec8b748b5e67c7b7a6e9f9",
    "test_runtime-first-pass.py": "49a9ae0a1f996dbf5f8ee4f3b48e380a89177829dbc6753e08c70b0b8dde63c3"
  },
  "notes": "The old fixture relied on the core lock as an implicit publication barrier. First-read and EOF gates now require concurrent metadata completion and absent exists/list/prefix views before successful EOF, retain every original final metadata assertion and verify the full body afterward. The original2s start/5s future/20s subprocess bounds remain. The first5s-start candidate is preserved separately and is not the accepted fixture. No production change was needed."
}
