)]}'
{
  "commit": "a5c9e6615472b16e8ee961fbe883505a31a2634a",
  "tree": "3bcdc291b5e1c0d360aa163849791c9cd88a2796",
  "parents": [
    "1e94d08be07c4565b970517a75a461d8718618dc"
  ],
  "author": {
    "name": "Wyatt Hepler",
    "email": "hepler@google.com",
    "time": "Fri Oct 02 22:03:37 2026 -0700"
  },
  "committer": {
    "name": "CQ Bot Account",
    "email": "pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Fri Oct 02 22:03:37 2026 -0700"
  },
  "message": "pw_status: Introduce StatusBase and rework Status\n\nStatusBase is a zero-cost CRTP status base class used to define\nStatus-like objects with custom status codes. A designated code value\nrepresents success (ok()).\n\nThis enables richer, domain-specific status semantics while preserving\nstandard Pigweed error handling conventions, including PW_TRY,\nPW_CHECK_OK, and PW_ASSERT_OK.\n\nCustom status types can be defined using the PW_STATUS_TYPE macro or by\nsubclassing StatusBase directly with CRTP. Custom status types are\nconstructed from their Code.\n\npw::Status is reworked to be a concrete final class that inherits from\nStatusBase\u003cStatus, PW_STATUS_OK\u003e, retaining all canonical helper methods\nand implicit pw_Status interop. PW_TRY and PW_CHECK_OK continue to\naccept types implicitly convertible to pw::Status.\n\nChange-Id: I33acb7f507f7e7290f0eae45edbc53eff007abb1\nReviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/477645\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "79d5a862d702b877bea41ad0b251ed798b4dbada",
      "old_mode": 33188,
      "old_path": "pw_assert/assert_facade_test.cc",
      "new_id": "14ecb3c2b970318b1d59256f769518abff360297",
      "new_mode": 33188,
      "new_path": "pw_assert/assert_facade_test.cc"
    },
    {
      "type": "modify",
      "old_id": "42b32754b773ae13de1a4397cc43101f6f3f4e59",
      "old_mode": 33188,
      "old_path": "pw_assert/docs.rst",
      "new_id": "a76bb8550cea4e91776efca2d731b4fd83df7024",
      "new_mode": 33188,
      "new_path": "pw_assert/docs.rst"
    },
    {
      "type": "modify",
      "old_id": "68e4edcbc3a0e7edef5d85bdda29faf9d9086a8d",
      "old_mode": 33188,
      "old_path": "pw_assert/public/pw_assert/assert.h",
      "new_id": "71704ee90007d23ba6ddaeb29ff592761ee18b85",
      "new_mode": 33188,
      "new_path": "pw_assert/public/pw_assert/assert.h"
    },
    {
      "type": "modify",
      "old_id": "3596a514d0233988adf5012276b6c0da6c1dd2db",
      "old_mode": 33188,
      "old_path": "pw_assert/public/pw_assert/internal/check_impl.h",
      "new_id": "5aa25bdf2948960e18e7292b021edc3e03ad2790",
      "new_mode": 33188,
      "new_path": "pw_assert/public/pw_assert/internal/check_impl.h"
    },
    {
      "type": "modify",
      "old_id": "e260012236573429232654affe59c757ffed623b",
      "old_mode": 33188,
      "old_path": "pw_status/Android.bp",
      "new_id": "a6646dff101af57e9b9382adb98928f5df31327b",
      "new_mode": 33188,
      "new_path": "pw_status/Android.bp"
    },
    {
      "type": "modify",
      "old_id": "cd04a3966649a18d4850141f755cac24bbff5464",
      "old_mode": 33188,
      "old_path": "pw_status/BUILD.bazel",
      "new_id": "0957f3700d90a8a368e28324e77e097415483cf0",
      "new_mode": 33188,
      "new_path": "pw_status/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "892a17ea06510312c0fe609d5de31161670e03a3",
      "old_mode": 33188,
      "old_path": "pw_status/BUILD.gn",
      "new_id": "86df8973ce661c74ad64636fbab594dad61b65ae",
      "new_mode": 33188,
      "new_path": "pw_status/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "4b2a11803182e0362ff75502bd639cbc291d8ff1",
      "old_mode": 33188,
      "old_path": "pw_status/CMakeLists.txt",
      "new_id": "202210ac72db4ae7f73de7b0e2dc6e56c353dfc6",
      "new_mode": 33188,
      "new_path": "pw_status/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "3ddbb376c2d323d47031ec74858a2f40dcf0bafe",
      "old_mode": 33188,
      "old_path": "pw_status/docs.rst",
      "new_id": "b8cd1c4a55e9a3d450d01ca96ade99f6c053f6e7",
      "new_mode": 33188,
      "new_path": "pw_status/docs.rst"
    },
    {
      "type": "modify",
      "old_id": "258472cef43f1a9e5f456b0afdad90a0a58c410e",
      "old_mode": 33188,
      "old_path": "pw_status/guide.rst",
      "new_id": "c02d28cd5d06c6681f72dda5371550724802c54b",
      "new_mode": 33188,
      "new_path": "pw_status/guide.rst"
    },
    {
      "type": "modify",
      "old_id": "0bd17fbf9752c115cdfe045a66300bc678a9c1c9",
      "old_mode": 33188,
      "old_path": "pw_status/public/pw_status/status.h",
      "new_id": "f7618feb5a0db5ded1c5cbf73a58b064424befb1",
      "new_mode": 33188,
      "new_path": "pw_status/public/pw_status/status.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bad661593d2d46deadcdec61cdecf9ec8a1a63dc",
      "new_mode": 33188,
      "new_path": "pw_status/public/pw_status/status_base.h"
    },
    {
      "type": "modify",
      "old_id": "d328647fa97bdd1134647f6cd8bd793c255d871b",
      "old_mode": 33188,
      "old_path": "pw_status/public/pw_status/try.h",
      "new_id": "33448a66dfcb99ae7cd600e3a6424d52e80cc946",
      "new_mode": 33188,
      "new_path": "pw_status/public/pw_status/try.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "2ca9da7fdf492bf4a16699a5d16d114e1915fe22",
      "new_mode": 33188,
      "new_path": "pw_status/status_base_enum_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "fec61076531faef9a35b60eddfcec68a41bc9285",
      "new_mode": 33188,
      "new_path": "pw_status/status_base_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d19c12eb4ae59cee3db411e0fa3f299482aef705",
      "old_mode": 33188,
      "old_path": "pw_status/status_test.cc",
      "new_id": "81dfcdf307cb3b636776e87db78ac98afd638798",
      "new_mode": 33188,
      "new_path": "pw_status/status_test.cc"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "3ddaf9311add11de40ebf9eb1a7ae6e33c52e232",
      "new_mode": 33188,
      "new_path": "pw_status/test_enums/status_test_enum.h"
    },
    {
      "type": "modify",
      "old_id": "5cd14d670887fa36cdffed8999dfbf184ea1e2e3",
      "old_mode": 33188,
      "old_path": "pw_string/public/pw_string/to_string.h",
      "new_id": "ed2fd8c06db550407e66403c01973b9800cbc5e6",
      "new_mode": 33188,
      "new_path": "pw_string/public/pw_string/to_string.h"
    },
    {
      "type": "modify",
      "old_id": "ea818dee03cc00198ee353c57ddda6eab45e814e",
      "old_mode": 33188,
      "old_path": "pw_string/to_string_test.cc",
      "new_id": "d53692d7bc17029f2cc9380e9fc58b28f86408a6",
      "new_mode": 33188,
      "new_path": "pw_string/to_string_test.cc"
    },
    {
      "type": "modify",
      "old_id": "df68f4f10b1999280327d952801b86fd8afb74d3",
      "old_mode": 33188,
      "old_path": "pw_unit_test/public/pw_unit_test/status_macros.h",
      "new_id": "51e8b048df28e595f6c642c8dfcade68368d0c76",
      "new_mode": 33188,
      "new_path": "pw_unit_test/public/pw_unit_test/status_macros.h"
    }
  ]
}
