{
  "pass": true,
  "results": [
    {
      "file": "naive.py",
      "command": [
        "/opt/homebrew/opt/python@3.14/bin/python3.14",
        "/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-dispatch/naive.py"
      ],
      "exit_code": 1,
      "expected_exit": 1,
      "elapsed_s": 0.1720607079914771,
      "stdout": "{\n  \"scenario\": \"two real threads read idle before either commits\",\n  \"outcomes\": [\n    true,\n    true\n  ],\n  \"offers\": [\n    [\n      \"A\",\n      1,\n      \"offered\"\n    ],\n    [\n      \"B\",\n      1,\n      \"offered\"\n    ]\n  ],\n  \"driver\": [\n    [\n      1,\n      \"offered\",\n      \"A\"\n    ]\n  ],\n  \"active_offers_for_one_driver\": 2\n}\n",
      "stderr": "Traceback (most recent call last):\n  File \"/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-dispatch/naive.py\", line 39, in <module>\n    reproduce()\n    ~~~~~~~~~^^\n  File \"/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-dispatch/naive.py\", line 35, in reproduce\n    assert len(offers)<=1, 'one driver now has two valid offers'\n           ^^^^^^^^^^^^^^\nAssertionError: one driver now has two valid offers\n"
    },
    {
      "file": "test_dispatch.py",
      "command": [
        "/opt/homebrew/opt/python@3.14/bin/python3.14",
        "/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-dispatch/test_dispatch.py"
      ],
      "exit_code": 0,
      "expected_exit": 0,
      "elapsed_s": 0.18223666699486785,
      "stdout": "{\n  \"pass\": true,\n  \"results\": [\n    {\n      \"scenario\": \"12 simultaneous SQLite connections offer same driver\",\n      \"winners\": 1,\n      \"rows\": [\n        {\n          \"id\": \"offer-11\",\n          \"request_id\": \"req-11\",\n          \"driver_id\": \"driver-1\",\n          \"order_id\": \"order-11\",\n          \"generation\": 1,\n          \"state\": \"offered\",\n          \"created_ms\": 1000,\n          \"expires_ms\": 6000\n        }\n      ]\n    },\n    {\n      \"scenario\": \"deadline equality, old acknowledgment after re-offer, accepted retention\",\n      \"deadline_accept_rows\": 0,\n      \"stale_ack_rows\": 0,\n      \"current_ack_rows\": 1,\n      \"accepted_slot_reoffered\": false,\n      \"rows\": [\n        {\n          \"id\": \"a1\",\n          \"request_id\": \"r1\",\n          \"driver_id\": \"driver-1\",\n          \"order_id\": \"order-1\",\n          \"generation\": 1,\n          \"state\": \"expired\",\n          \"created_ms\": 1000,\n          \"expires_ms\": 6000\n        },\n        {\n          \"id\": \"a2\",\n          \"request_id\": \"r2\",\n          \"driver_id\": \"driver-1\",\n          \"order_id\": \"order-2\",\n          \"generation\": 2,\n          \"state\": \"accepted\",\n          \"created_ms\": 6000,\n          \"expires_ms\": 11000\n        }\n      ]\n    },\n    {\n      \"scenario\": \"two drivers for one order; rollback and stale release\",\n      \"winners\": 1,\n      \"loser_next_generation\": 1,\n      \"stale_release_rows\": 0,\n      \"stale_accept_rows\": 0,\n      \"new_accept_rows\": 1,\n      \"rows\": [\n        {\n          \"id\": \"o-d2\",\n          \"request_id\": \"r-d2\",\n          \"driver_id\": \"d2\",\n          \"order_id\": \"same-order\",\n          \"generation\": 1,\n          \"state\": \"cancelled\",\n          \"created_ms\": 1000,\n          \"expires_ms\": 6000\n        },\n        {\n          \"id\": \"o-free\",\n          \"request_id\": \"r-free\",\n          \"driver_id\": \"d1\",\n          \"order_id\": \"different-order\",\n          \"generation\": 1,\n          \"state\": \"offered\",\n          \"created_ms\": 1000,\n          \"expires_ms\": 6000\n        },\n        {\n          \"id\": \"o-next\",\n          \"request_id\": \"r-next\",\n          \"driver_id\": \"d2\",\n          \"order_id\": \"new-order\",\n          \"generation\": 2,\n          \"state\": \"accepted\",\n          \"created_ms\": 1000,\n          \"expires_ms\": 6000\n        }\n      ]\n    }\n  ]\n}\n",
      "stderr": ""
    },
    {
      "file": "lock_clock.py",
      "command": [
        "/opt/homebrew/opt/python@3.14/bin/python3.14",
        "/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-dispatch/lock_clock.py"
      ],
      "exit_code": 0,
      "expected_exit": 0,
      "elapsed_s": 0.43522070901235566,
      "stdout": "{\n  \"sampled_before_lock_ms\": 1791031672330,\n  \"fault_injection_wait_s\": 0.2546367499890039,\n  \"updated_rows\": 0,\n  \"returned_ms\": 1791031672613,\n  \"deadline_ms\": 1791031672419,\n  \"rows\": [\n    {\n      \"id\": \"a1\",\n      \"request_id\": \"r1\",\n      \"driver_id\": \"driver-1\",\n      \"order_id\": \"order-1\",\n      \"generation\": 1,\n      \"state\": \"offered\",\n      \"created_ms\": 1791031672316,\n      \"expires_ms\": 1791031672419\n    }\n  ],\n  \"scenario\": \"confirm blocks behind SQLite write lock until after deadline\"\n}\n",
      "stderr": ""
    },
    {
      "file": "test_position.py",
      "command": [
        "/opt/homebrew/opt/python@3.14/bin/python3.14",
        "/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-dispatch/test_position.py"
      ],
      "exit_code": 0,
      "expected_exit": 0,
      "elapsed_s": 0.10278833299526013,
      "stdout": "{\n  \"pass\": true,\n  \"out_of_order_rejected\": true,\n  \"conservative_deadline_ms\": 14900,\n  \"late_report_naive_age_ms\": 0,\n  \"late_report_sample_age_upper_ms\": 10099,\n  \"late_report_eligible\": false,\n  \"old_session_rejected\": true,\n  \"new_session_eligible\": true\n}\n",
      "stderr": ""
    },
    {
      "file": "test_position_reservation.py",
      "command": [
        "/opt/homebrew/opt/python@3.14/bin/python3.14",
        "/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-dispatch/test_position_reservation.py"
      ],
      "exit_code": 0,
      "expected_exit": 0,
      "elapsed_s": 0.509179958011373,
      "stdout": "{\n  \"position_valid_until_ms\": 1791031673041,\n  \"fault_injection_wait_s\": 0.25463162499363534,\n  \"reserved\": false,\n  \"finished_ms\": 1791031673228\n}\n",
      "stderr": ""
    },
    {
      "file": "test_recovery.py",
      "command": [
        "/opt/homebrew/opt/python@3.14/bin/python3.14",
        "/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-dispatch/test_recovery.py"
      ],
      "exit_code": 0,
      "expected_exit": 0,
      "elapsed_s": 0.20193679200019687,
      "stdout": "{\n  \"pass\": true,\n  \"results\": [\n    {\n      \"scenario\": \"before commit process crash\",\n      \"command\": [\n        \"/opt/homebrew/opt/python@3.14/bin/python3.14\",\n        \"/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-dispatch/crash_child.py\",\n        \"/var/folders/69/dwg4b48n54l79z0hv04311bw0000gn/T/tmp_kb14tz9/before.sqlite\",\n        \"before\"\n      ],\n      \"child_exit\": 23,\n      \"child_stdout\": \"{\\\"fault\\\": \\\"os._exit before commit\\\", \\\"pid\\\": 98908}\\n\",\n      \"child_stderr\": \"\",\n      \"rows_after_crash\": [],\n      \"pending_events_after_crash\": [],\n      \"retry\": {\n        \"id\": \"new-generated-id\",\n        \"request_id\": \"request-1\",\n        \"driver_id\": \"driver-1\",\n        \"order_id\": \"order-1\",\n        \"generation\": 1,\n        \"state\": \"offered\",\n        \"created_ms\": 1100,\n        \"expires_ms\": 6100\n      },\n      \"first_ack_rows\": 1,\n      \"duplicate_ack_rows\": 0,\n      \"authoritative_retry_state\": \"accepted\",\n      \"local_duplicate_deliveries\": 2,\n      \"local_effects\": 1\n    },\n    {\n      \"scenario\": \"after commit process crash\",\n      \"command\": [\n        \"/opt/homebrew/opt/python@3.14/bin/python3.14\",\n        \"/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-dispatch/crash_child.py\",\n        \"/var/folders/69/dwg4b48n54l79z0hv04311bw0000gn/T/tmp_kb14tz9/after.sqlite\",\n        \"after\"\n      ],\n      \"child_exit\": 24,\n      \"child_stdout\": \"{\\\"fault\\\": \\\"os._exit after commit before HTTP response\\\", \\\"pid\\\": 98918, \\\"offer\\\": {\\\"id\\\": \\\"offer-1\\\", \\\"request_id\\\": \\\"request-1\\\", \\\"driver_id\\\": \\\"driver-1\\\", \\\"order_id\\\": \\\"order-1\\\", \\\"generation\\\": 1, \\\"state\\\": \\\"offered\\\", \\\"created_ms\\\": 1000, \\\"expires_ms\\\": 6000}}\\n\",\n      \"child_stderr\": \"\",\n      \"rows_after_crash\": [\n        {\n          \"id\": \"offer-1\",\n          \"request_id\": \"request-1\",\n          \"driver_id\": \"driver-1\",\n          \"order_id\": \"order-1\",\n          \"generation\": 1,\n          \"state\": \"offered\",\n          \"created_ms\": 1000,\n          \"expires_ms\": 6000\n        }\n      ],\n      \"pending_events_after_crash\": [\n        {\n          \"event_id\": \"offer-1:offered\",\n          \"id\": \"offer-1\",\n          \"request_id\": \"request-1\",\n          \"driver_id\": \"driver-1\",\n          \"order_id\": \"order-1\",\n          \"generation\": 1,\n          \"state\": \"offered\",\n          \"created_ms\": 1000,\n          \"expires_ms\": 6000\n        }\n      ],\n      \"retry\": {\n        \"id\": \"offer-1\",\n        \"request_id\": \"request-1\",\n        \"driver_id\": \"driver-1\",\n        \"order_id\": \"order-1\",\n        \"generation\": 1,\n        \"state\": \"offered\",\n        \"created_ms\": 1000,\n        \"expires_ms\": 6000\n      },\n      \"first_ack_rows\": 1,\n      \"duplicate_ack_rows\": 0,\n      \"authoritative_retry_state\": \"accepted\",\n      \"local_duplicate_deliveries\": 2,\n      \"local_effects\": 1\n    }\n  ],\n  \"boundary\": \"real process exit and SQLite recovery; delivery deduplication is in-memory model, not network proof\"\n}\n",
      "stderr": ""
    },
    {
      "file": "test_retry_expiry.py",
      "command": [
        "/opt/homebrew/opt/python@3.14/bin/python3.14",
        "/Users/magicliang/Desktop/Programming/git/hexo-blog/examples/system-design/labs/35/session-dispatch/test_retry_expiry.py"
      ],
      "exit_code": 0,
      "expected_exit": 0,
      "elapsed_s": 0.1438234169909265,
      "stdout": "{\n  \"scenario\": \"same idempotency key retried exactly at expiry\",\n  \"first\": {\n    \"id\": \"offer-1\",\n    \"request_id\": \"request-1\",\n    \"driver_id\": \"d\",\n    \"order_id\": \"order-1\",\n    \"generation\": 1,\n    \"state\": \"offered\",\n    \"created_ms\": 1000,\n    \"expires_ms\": 6000\n  },\n  \"retried\": {\n    \"id\": \"offer-1\",\n    \"request_id\": \"request-1\",\n    \"driver_id\": \"d\",\n    \"order_id\": \"order-1\",\n    \"generation\": 1,\n    \"state\": \"expired\",\n    \"created_ms\": 1000,\n    \"expires_ms\": 6000\n  }\n}\n",
      "stderr": ""
    }
  ]
}
