)]}'
{
  "commit": "828161b106396bf87a4c481895781f1d1d732e0a",
  "tree": "9ced21ca57a202fc44456c7cbd53a8a113435c51",
  "parents": [
    "c7a98d8360cf03f977625a65e8dd637d6b2ab18b"
  ],
  "author": {
    "name": "Josh Bleecher Snyder",
    "email": "josharian@gmail.com",
    "time": "Tue Jul 08 03:44:39 2025 +0000"
  },
  "committer": {
    "name": "Josh Bleecher Snyder",
    "email": "josharian@gmail.com",
    "time": "Mon Jul 07 21:06:38 2025 -0700"
  },
  "message": "sketch/loop: fix flaky TestPortMonitor_IntegrationDemo test\n\nRemove assumptions about system-wide port state that made the test flaky.\n\nRoot Cause:\n- Test assumed it was the only process creating/destroying ports\n- Made brittle assertions about total port counts before/after test servers\n- Failed when other processes (tests, services, containers) modified ports\n\nThe Fix:\n- Focus only on the specific test ports created by the test\n- Use polling with timeout to detect port creation/removal\n- Remove assertions about total port counts\n- Test only verifies its own test ports are detected and removed\n\nChanges:\n- Replace fixed sleeps with polling loops with timeouts\n- Remove port count comparisons that depended on system state\n- Keep track of test ports separately from system port scanning\n- Add proper timeout handling to prevent hanging tests\n\nTest Results:\n- Before: Flaky failures when other processes modified ports\n- After: 5 consecutive runs all passed, focusing only on test-specific behavior\n\nThis preserves the test\u0027s usefulness as an integration test while making it\ndeterministic and isolated from system-wide port changes.\n\nCo-Authored-By: sketch \u003chello@sketch.dev\u003e\nChange-ID: s58312d8275959960k\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "18f76c2a2cfbeb506751929d164c499ba78637e3",
      "old_mode": 33188,
      "old_path": "go.mod",
      "new_id": "1377fc8102694ba67d523bc9b49792567b258ed4",
      "new_mode": 33188,
      "new_path": "go.mod"
    },
    {
      "type": "modify",
      "old_id": "b00a177356f18b9814419f8b21bbe2149adcb749",
      "old_mode": 33188,
      "old_path": "go.sum",
      "new_id": "8792d6c65fa44445e44f049eada326eeaee8e633",
      "new_mode": 33188,
      "new_path": "go.sum"
    },
    {
      "type": "modify",
      "old_id": "4190e5a41f592f2c8166db0290a550fc147e6652",
      "old_mode": 33188,
      "old_path": "loop/port_monitor_demo_test.go",
      "new_id": "4c67790b1f9b16f5e7fa1f995a4b61517310e1c9",
      "new_mode": 33188,
      "new_path": "loop/port_monitor_demo_test.go"
    }
  ]
}
