{
  "founder": "marcofleon",
  "channel": "#bitcoin-core-pr-reviews",
  "network": "libera",
  "id": "7fe7280725b64c178743540074212d84",
  "name": "#bitcoin-core-pr-reviews",
  "chair": "marcofleon",
  "chairs": [
    "marcofleon"
  ],
  "nicks": {
    "marcofleon": 74,
    "corebot`": 5,
    "sliv3r__": 45,
    "stickies-v": 2,
    "monlovesmango": 32,
    "sipa": 87,
    "abubakarsadiq": 14
  },
  "start_time": "2025-06-11T17:00:15.873217+00:00",
  "end_time": "2025-06-11T18:27:30.496337+00:00",
  "active": false,
  "original_topic": "https://bitcoincore.reviews | meetings on the first Wednesday of each month at 17:00 UTC",
  "current_topic": null,
  "messages": [
    {
      "id": "9b771b9a43364b018ec4627f1428a3d8",
      "sender": "marcofleon",
      "payload": "#startmeeting",
      "action": false,
      "timestamp": "2025-06-11T17:00:15.872673+00:00"
    },
    {
      "id": "20eec21209014dde90268c9e839c02e3",
      "sender": "corebot`",
      "payload": "marcofleon: Meeting started at 2025-06-11T17:00+0000",
      "action": false,
      "timestamp": "2025-06-11T17:00:15.877989+00:00"
    },
    {
      "id": "2cd4b691b048480aac8ef6c2ec07f05c",
      "sender": "corebot`",
      "payload": "marcofleon: Current chairs: marcofleon",
      "action": false,
      "timestamp": "2025-06-11T17:00:16.881888+00:00"
    },
    {
      "id": "d3c49244b50445cfa93cafac2488597f",
      "sender": "corebot`",
      "payload": "marcofleon: Useful commands: #action #info #idea #link #topic #motion #vote #close #endmeeting",
      "action": false,
      "timestamp": "2025-06-11T17:00:17.886159+00:00"
    },
    {
      "id": "b121657296f44b93bdda163e5676ee23",
      "sender": "corebot`",
      "payload": "marcofleon: See also: https://hcoop-meetbot.readthedocs.io/en/stable/",
      "action": false,
      "timestamp": "2025-06-11T17:00:18.890335+00:00"
    },
    {
      "id": "534133a292ac4342901d82709eae5ab7",
      "sender": "corebot`",
      "payload": "marcofleon: Participants should now identify themselves with '#here' or with an alias like '#here FirstLast'",
      "action": false,
      "timestamp": "2025-06-11T17:00:19.894534+00:00"
    },
    {
      "id": "35de932c7f6746a99786a8302348d63b",
      "sender": "sliv3r__",
      "payload": "Hi!",
      "action": false,
      "timestamp": "2025-06-11T17:00:44.500218+00:00"
    },
    {
      "id": "91d1c153abb6464489cac31708d6b74c",
      "sender": "stickies-v",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-11T17:01:04.497301+00:00"
    },
    {
      "id": "8995e1eae6cf4c16b4c7da21a6f0ac6b",
      "sender": "monlovesmango",
      "payload": "heyy",
      "action": false,
      "timestamp": "2025-06-11T17:01:11.609168+00:00"
    },
    {
      "id": "9d844786a91541b7816a8174cd7d1cb4",
      "sender": "sipa",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-11T17:01:27.069045+00:00"
    },
    {
      "id": "04e235cd716f43fdbd22a12f0a2e5b07",
      "sender": "marcofleon",
      "payload": "welcome! we'll be going over https://bitcoincore.reviews/30605",
      "action": false,
      "timestamp": "2025-06-11T17:01:47.436438+00:00"
    },
    {
      "id": "ac7a19715f164f01b4713955f55715f1",
      "sender": "marcofleon",
      "payload": "litte re run of last week, we can actually go over the questions this time",
      "action": false,
      "timestamp": "2025-06-11T17:02:01.134041+00:00"
    },
    {
      "id": "48b2a93b4cd546b98bc507b70c58ed42",
      "sender": "marcofleon",
      "payload": "Did you review the PR/notes? Concept ACK, approach ACK, tested ACK, or NACK?",
      "action": false,
      "timestamp": "2025-06-11T17:02:26.605223+00:00"
    },
    {
      "id": "f6ea4529c89344058f665e7aa0793b99",
      "sender": "stickies-v",
      "payload": "didn't review, just lurking today",
      "action": false,
      "timestamp": "2025-06-11T17:02:55.328927+00:00"
    },
    {
      "id": "ab400092b1a04547b81a910ddfcdd864",
      "sender": "marcofleon",
      "payload": "lurkers are welcome",
      "action": false,
      "timestamp": "2025-06-11T17:03:06.234470+00:00"
    },
    {
      "id": "a0d440ef631a4d89a97af7631872dc04",
      "sender": "sliv3r__",
      "payload": "tried to :) was not an easy one",
      "action": false,
      "timestamp": "2025-06-11T17:03:14.224344+00:00"
    },
    {
      "id": "c82fe76108d24820b0560016daaea618",
      "sender": "monlovesmango",
      "payload": "yes a bit. tested too.",
      "action": false,
      "timestamp": "2025-06-11T17:03:15.196970+00:00"
    },
    {
      "id": "832ae457f19a451f949e3ec60c7142f6",
      "sender": "marcofleon",
      "payload": "agreed, the cluster linearization code can be tough",
      "action": false,
      "timestamp": "2025-06-11T17:03:53.052654+00:00"
    },
    {
      "id": "2c3f7864a0454cfd94e75ede10bbbd49",
      "sender": "sipa",
      "payload": "i hope the testing code for it is easier!",
      "action": false,
      "timestamp": "2025-06-11T17:04:02.857076+00:00"
    },
    {
      "id": "61b04a53801a472ea66596b54cae1585",
      "sender": "marcofleon",
      "payload": "monlovesmango: ran the fuzz tests? nice! I guess we can go over that a bit with question 4",
      "action": false,
      "timestamp": "2025-06-11T17:04:38.665717+00:00"
    },
    {
      "id": "6d1592e155c44236b637d0ddde95bed1",
      "sender": "marcofleon",
      "payload": "okay, let's dive in",
      "action": false,
      "timestamp": "2025-06-11T17:04:48.824231+00:00"
    },
    {
      "id": "fa0f055e6db0438793324bc1906af2b9",
      "sender": "marcofleon",
      "payload": "What are the two new fuzz targets introduced and what are they testing? In terms of what they\u2019re testing, how are they different from the other targets?",
      "action": false,
      "timestamp": "2025-06-11T17:04:58.465674+00:00"
    },
    {
      "id": "193622ca63144281978308586ea8a2db",
      "sender": "sliv3r__",
      "payload": "clusterlin_simple_finder and clusterlin_simple_linearize",
      "action": false,
      "timestamp": "2025-06-11T17:05:34.799866+00:00"
    },
    {
      "id": "784bd807d3ac4a3ba73cb0dff73d2540",
      "sender": "sipa",
      "payload": "\u2714\ufe0f",
      "action": false,
      "timestamp": "2025-06-11T17:06:14.891991+00:00"
    },
    {
      "id": "fc12118c8aff46aab855922cca415919",
      "sender": "sliv3r__",
      "payload": "here I have a question bc I though ones were testing the functionality and the other ones were testing the tests but when I checked the functions I saw that were just simpler re-implementations of the ones found in cluster_linearize.h",
      "action": false,
      "timestamp": "2025-06-11T17:06:24.759377+00:00"
    },
    {
      "id": "9b46249b108d4ad2aad4f7b4b5686ea3",
      "sender": "sliv3r__",
      "payload": "why is that?",
      "action": false,
      "timestamp": "2025-06-11T17:06:35.584710+00:00"
    },
    {
      "id": "e4fea4bde68543bcb2e3aa470858f8aa",
      "sender": "monlovesmango",
      "payload": "clusterlin_simple_finder and clusterlin_simple_linearize. they are different than other targets bc they are fuzz testing functions implemented for fuzz tests",
      "action": false,
      "timestamp": "2025-06-11T17:07:14.277544+00:00"
    },
    {
      "id": "eb87dd0716e54460b314ec215d17f92a",
      "sender": "sipa",
      "payload": "sliv3r__: let me explain",
      "action": false,
      "timestamp": "2025-06-11T17:07:30.332535+00:00"
    },
    {
      "id": "a8501f6f3bff40c596ef291d2fe77fc5",
      "sender": "marcofleon",
      "payload": "sliv3r__: That could be related to the next question actually",
      "action": false,
      "timestamp": "2025-06-11T17:07:40.921563+00:00"
    },
    {
      "id": "b7701de811f744be859e3fcec60c85e4",
      "sender": "marcofleon",
      "payload": "in terms of what are the benefits of doing that",
      "action": false,
      "timestamp": "2025-06-11T17:07:50.302874+00:00"
    },
    {
      "id": "72f3af9bf6e647628aa21d264a2f6768",
      "sender": "sliv3r__",
      "payload": "marcofleon: that could be the reason why I wrote IDK as an answer to the next one in my notes :)",
      "action": false,
      "timestamp": "2025-06-11T17:08:21.189770+00:00"
    },
    {
      "id": "05de89f53c054249b6151130267b6aa9",
      "sender": "sipa",
      "payload": "sliv3r__: the short answer is that SimpleCandidateFinder, ExhaustiveCandidateFinder, SimpleLinearize are part of the test suite, not of production code, even though they mimick the functionality of production code funcstions/classes",
      "action": false,
      "timestamp": "2025-06-11T17:08:36.838837+00:00"
    },
    {
      "id": "d65ae285d48e4165af02479c0aae630e",
      "sender": "sipa",
      "payload": "the point is that the production code is complicated, which means it may be hard for reviewers to get confidence in their correctness",
      "action": false,
      "timestamp": "2025-06-11T17:09:09.142978+00:00"
    },
    {
      "id": "36e9ac81a58343329e92972af96cffe3",
      "sender": "sliv3r__",
      "payload": "and how can we be sure that the behaviour is equal or at least equivalent?",
      "action": false,
      "timestamp": "2025-06-11T17:09:54.925076+00:00"
    },
    {
      "id": "44bad03988db49438eaa8bbf64e066e6",
      "sender": "marcofleon",
      "payload": "and so the simpler implementations provide an oracle to check against",
      "action": false,
      "timestamp": "2025-06-11T17:10:01.140462+00:00"
    },
    {
      "id": "0d883171d44a48c5a5aa65398abba706",
      "sender": "sipa",
      "payload": "one tool that we (or i, as author, in this case) have available to make it easier on reviewers, is by writing a simpler, more obviously correct, but potentially slower/less feature-rich reimplementation that does the same thing, plus tests that they are identical",
      "action": false,
      "timestamp": "2025-06-11T17:10:07.215876+00:00"
    },
    {
      "id": "c2679906487f4425b97403d687aed97c",
      "sender": "sipa",
      "payload": "so then if you as a reviewer have confidence in the reimplementation + the equivalence test, you also gain confidence in the original implementation",
      "action": false,
      "timestamp": "2025-06-11T17:10:37.601344+00:00"
    },
    {
      "id": "f488945653eb422898ac5035d6fd8ead",
      "sender": "sipa",
      "payload": "sliv3r__: well that is what the fuzz tests do: run a scenario (controlled by the fuzzer) of operation to both the production version and the simpler version, and see they produce the same result",
      "action": false,
      "timestamp": "2025-06-11T17:11:15.313221+00:00"
    },
    {
      "id": "2eca850560404c218bacd8af4d5628a8",
      "sender": "sipa",
      "payload": "that's not a proof of course, but it is one tool that can increase confidence if no such differences are found",
      "action": false,
      "timestamp": "2025-06-11T17:11:32.297984+00:00"
    },
    {
      "id": "5abaf7ba1f4840b9ba4d12c73c2d1bf0",
      "sender": "sliv3r__",
      "payload": "make sense",
      "action": false,
      "timestamp": "2025-06-11T17:11:40.161161+00:00"
    },
    {
      "id": "9209a81977454a06a50d08034225d501",
      "sender": "sipa",
      "payload": "if you want to get an idea of how good it is, you can try inserting deliberate bugs and see how long it takes for the fuzzer to find it",
      "action": false,
      "timestamp": "2025-06-11T17:11:52.859194+00:00"
    },
    {
      "id": "343064d2c71f43d79f40687680217e4a",
      "sender": "abubakarsadiq",
      "payload": "hi",
      "action": false,
      "timestamp": "2025-06-11T17:11:54.275610+00:00"
    },
    {
      "id": "7903a62a929d44c3b7dc8500457abd60",
      "sender": "marcofleon",
      "payload": "abubakarsadiq: welcome",
      "action": false,
      "timestamp": "2025-06-11T17:12:18.172843+00:00"
    },
    {
      "id": "2ef9fb2e261648f09af75c3bf70855ff",
      "sender": "sliv3r__",
      "payload": "nice thanks, more clear now",
      "action": false,
      "timestamp": "2025-06-11T17:12:46.972573+00:00"
    },
    {
      "id": "3a75a82357464930afd95f0134c4327a",
      "sender": "sipa",
      "payload": "and in this case, even the \"simpler\" version is fairly nontrivial, so in addition, there is a third, *even* simpler and *even* slower version implemented",
      "action": false,
      "timestamp": "2025-06-11T17:12:59.315685+00:00"
    },
    {
      "id": "7bfc8c97cbbb4c749d30d23529720f24",
      "sender": "marcofleon",
      "payload": "i'll move on to question 4, unless there's more benefits other than increasing confidence of correctness? for question 3 I mean",
      "action": false,
      "timestamp": "2025-06-11T17:13:07.229876+00:00"
    },
    {
      "id": "daf3014706ab436b86bb23b4b995901b",
      "sender": "sipa",
      "payload": "where the current fuzz tests compare all 3 with each other",
      "action": false,
      "timestamp": "2025-06-11T17:13:10.076294+00:00"
    },
    {
      "id": "b80bc7aa6a064f81aa425c2776bf22f7",
      "sender": "marcofleon",
      "payload": "That's the exhaustive one yes?",
      "action": false,
      "timestamp": "2025-06-11T17:13:24.071440+00:00"
    },
    {
      "id": "41840f02db5e4c799efa3540bd2cab2a",
      "sender": "sipa",
      "payload": "marcofleon: yeah",
      "action": false,
      "timestamp": "2025-06-11T17:13:25.404447+00:00"
    },
    {
      "id": "2295248bd8a64fabab3c51d3772dabb2",
      "sender": "monlovesmango",
      "payload": "I think that makes sense for clusterlin_simple_finder bc it doesn't seem to compare with other prod code, but for clusterlin_simple_linearization it is comparing to ChunkLinearization which doesn't necessarily feel simpler",
      "action": false,
      "timestamp": "2025-06-11T17:13:33.204893+00:00"
    },
    {
      "id": "f5629035576047ac9cf2e12ddd928b5e",
      "sender": "sipa",
      "payload": "marcofleon: there are 2 dimensions i think",
      "action": false,
      "timestamp": "2025-06-11T17:13:35.236397+00:00"
    },
    {
      "id": "bf6e37b864004ea1b712af0f47fa5f3a",
      "sender": "sipa",
      "payload": "marcofleon: there is the candidate-finding logic, where we have SearchCandidateFinder (prod), SimpleCandidateFinder (simpler), ExhaustiveCandidateFinder (simplest)",
      "action": false,
      "timestamp": "2025-06-11T17:14:10.645175+00:00"
    },
    {
      "id": "f685a95c0cd14a119f13742c39998cdc",
      "sender": "sipa",
      "payload": "and there is the linearization logic on top, where there are also 3 version: Linearize (prod), SimpleLinearize (simpler), and the std::next_permutation based exhaustive search (simplest, but not a separate function)",
      "action": false,
      "timestamp": "2025-06-11T17:14:48.045769+00:00"
    },
    {
      "id": "da8d7b0b8be74a26985425f4bf2545be",
      "sender": "abubakarsadiq",
      "payload": "sipa: haven't look yet, but after SFL simple candidate finder would be changed to match the new algorithm yeah?",
      "action": false,
      "timestamp": "2025-06-11T17:15:23.331514+00:00"
    },
    {
      "id": "c32c1ad7dfa74bdfa88c5c2ca4206b87",
      "sender": "sipa",
      "payload": "abubakarsadiq: there is no SearchCandidateFinder anymore post-SFL; SFL is a replacement for Linearize directly, which doesn't involve candidate finding anymore",
      "action": false,
      "timestamp": "2025-06-11T17:16:04.391012+00:00"
    },
    {
      "id": "4076b772b404421c99789ba323cd6042",
      "sender": "marcofleon",
      "payload": "So building layers of trust essentially, makes sense",
      "action": false,
      "timestamp": "2025-06-11T17:16:14.961827+00:00"
    },
    {
      "id": "c4dd6cd9b8e44205a6e8ac6fd90b1076",
      "sender": "sipa",
      "payload": "SimpleCandidateFinder and ExhaustiveCandidateFinder stay, but they're just used in/for SimpleLinearize, which the SFL-based Linearize is then compared against",
      "action": false,
      "timestamp": "2025-06-11T17:16:40.945529+00:00"
    },
    {
      "id": "c8d0ed3035024ff28297e17290d473b8",
      "sender": "sipa",
      "payload": "kind of vestigial",
      "action": false,
      "timestamp": "2025-06-11T17:16:55.112336+00:00"
    },
    {
      "id": "fed597f1bed748b8a434f69445fcb0b3",
      "sender": "abubakarsadiq",
      "payload": "So we will use exhaustive search to validate correctness of SFL?",
      "action": false,
      "timestamp": "2025-06-11T17:17:04.898506+00:00"
    },
    {
      "id": "3ccc6b4af95047c189478b59255351ee",
      "sender": "sipa",
      "payload": "that would be a possibility!",
      "action": false,
      "timestamp": "2025-06-11T17:17:12.920153+00:00"
    },
    {
      "id": "2ca269f6646a405ebb6d1afbbb3281f9",
      "sender": "marcofleon",
      "payload": "monlovesmango if you ran the fuzz tests a bit, question 4: Were you able to run the clusterlin_linearize target? How many iterations (the first number libFuzzer shows at each line) did it take to produce a crash after making the s/chunking/simple_chunking/ change?",
      "action": false,
      "timestamp": "2025-06-11T17:17:22.146493+00:00"
    },
    {
      "id": "bcd22e694b6b44d2bf440a8e9b464396",
      "sender": "monlovesmango",
      "payload": "sipa: ok std::next_permutation was what I was missing",
      "action": false,
      "timestamp": "2025-06-11T17:17:30.428629+00:00"
    },
    {
      "id": "94da533da3924d149546a33d87524ec5",
      "sender": "sipa",
      "payload": "abubakarsadiq: but i don't think it gains us very much, as it's pretty non-trivial anyway, so the \"added confidence\" isn't as much as compared with the much simpler reimplementations gives us",
      "action": false,
      "timestamp": "2025-06-11T17:17:54.257014+00:00"
    },
    {
      "id": "357ce97266fa4f50bb2c62e7f234ba70",
      "sender": "abubakarsadiq",
      "payload": "Or the permutation of the graph linearizations I think will be more valid candidate",
      "action": false,
      "timestamp": "2025-06-11T17:17:55.115432+00:00"
    },
    {
      "id": "43a6ac43e79744099ab2ef6feef1f571",
      "sender": "monlovesmango",
      "payload": "marcofleon: I actually had a question about that. I did get the failure, but I was using the python test runner and it doesn't show any output with the counts, just the error",
      "action": false,
      "timestamp": "2025-06-11T17:17:59.324671+00:00"
    },
    {
      "id": "4034be9cedff4ac6936e8907a05407c3",
      "sender": "sliv3r__",
      "payload": "marcofleon: it took for me 566593 iteartions",
      "action": false,
      "timestamp": "2025-06-11T17:18:08.248403+00:00"
    },
    {
      "id": "fe66ed848ecd4bd594ebef284cf60ad7",
      "sender": "monlovesmango",
      "payload": "is there another way I should be running individual tests?",
      "action": false,
      "timestamp": "2025-06-11T17:18:24.907486+00:00"
    },
    {
      "id": "ce765139cdda47d9a41b94b812fd67cb",
      "sender": "sipa",
      "payload": "i always run the tests individually",
      "action": false,
      "timestamp": "2025-06-11T17:18:32.134003+00:00"
    },
    {
      "id": "2e56bb06841242ce8555903811e8cb06",
      "sender": "sliv3r__",
      "payload": "I did it running: FUZZ=clusterlin_linearize build_fuzz_nosan/bin/fuzz",
      "action": false,
      "timestamp": "2025-06-11T17:18:42.081524+00:00"
    },
    {
      "id": "7efb4ba7d44d4643812f0141fb8109d5",
      "sender": "sipa",
      "payload": "that ^",
      "action": false,
      "timestamp": "2025-06-11T17:18:46.738197+00:00"
    },
    {
      "id": "81cd31198ede4331b2ecc93951799361",
      "sender": "marcofleon",
      "payload": "exactly, yeah",
      "action": false,
      "timestamp": "2025-06-11T17:19:01.843528+00:00"
    },
    {
      "id": "45fd43180c9141b4b71c05dedde3de2e",
      "sender": "monlovesmango",
      "payload": "sliv3r__: ok that helps thank you :)",
      "action": false,
      "timestamp": "2025-06-11T17:19:11.814850+00:00"
    },
    {
      "id": "1dd5e3e3e5d344caa7b04cbcce67fe53",
      "sender": "sipa",
      "payload": "i usually add -use_value_profile=1 -workers=30 -jobs=30, to get 30 concurrent processes, with more tendency to explore more paths",
      "action": false,
      "timestamp": "2025-06-11T17:19:12.972567+00:00"
    },
    {
      "id": "9dee664c41f6473dad903e9dcc2f324b",
      "sender": "marcofleon",
      "payload": "and yeah ~500k iterations was where i was at too. It crashes pretty quickly",
      "action": false,
      "timestamp": "2025-06-11T17:19:16.278069+00:00"
    },
    {
      "id": "998f6ee4e4874ff290e7a50afad17a76",
      "sender": "sliv3r__",
      "payload": "monlovesmango: in the fuzzing docs you have an example at the very begining https://github.com/bitcoin/bitcoin/blob/master/doc/fuzzing.md",
      "action": false,
      "timestamp": "2025-06-11T17:19:49.606602+00:00"
    },
    {
      "id": "d4e728209dd34ee59a7203bef1224610",
      "sender": "marcofleon",
      "payload": "And then running it like how sliv3r__ said you can add a directory at the end to save the inputs if you'd like. Keep a corpus for later",
      "action": false,
      "timestamp": "2025-06-11T17:20:06.771039+00:00"
    },
    {
      "id": "71b4a32bb82e41afbeaa386fc23e9136",
      "sender": "sliv3r__",
      "payload": "marcofleon: Then it says something like: Test unit written to ./crash-1cea6b51b877d277ba4d1ba7f522b7d3ac182349",
      "action": false,
      "timestamp": "2025-06-11T17:20:47.306203+00:00"
    },
    {
      "id": "f408c82b8114484790f5fa324fd1ef6b",
      "sender": "sliv3r__",
      "payload": "what's that? bc it's impossible to human-read it :)",
      "action": false,
      "timestamp": "2025-06-11T17:20:53.305897+00:00"
    },
    {
      "id": "f71330699da5462ca4dcbc05a604f453",
      "sender": "sipa",
      "payload": "marcofleon: maybe it makes sense to move the std::next_permutation based logic to an ExhaustiveLinearize function",
      "action": false,
      "timestamp": "2025-06-11T17:20:59.076719+00:00"
    },
    {
      "id": "01bfee2b4815428db47f4f3a942b7b4f",
      "sender": "marcofleon",
      "payload": "sipa: it could make it clearer, agreed",
      "action": false,
      "timestamp": "2025-06-11T17:21:26.855556+00:00"
    },
    {
      "id": "d85772a27f8e486aa1fffb5ad6ce6086",
      "sender": "marcofleon",
      "payload": "sliv3r__: that's the input that caused the crash",
      "action": false,
      "timestamp": "2025-06-11T17:21:42.561657+00:00"
    },
    {
      "id": "d79777778c9d41dba334743bcafee44f",
      "sender": "sipa",
      "payload": "sliv3r__: it is the input to the fuzz harness, which interprets bytes from it (each of the provider.ConsumeIntegral... functions decodes some bytes from it)",
      "action": false,
      "timestamp": "2025-06-11T17:21:46.685556+00:00"
    },
    {
      "id": "3bd61f0ad7bd452d8db26739df527a2d",
      "sender": "marcofleon",
      "payload": "if you run the fuzz command and that input after, it should reproduce, hopefully",
      "action": false,
      "timestamp": "2025-06-11T17:22:03.877724+00:00"
    },
    {
      "id": "4ae3e55a3fca4e97ae71f3e38f93e2c0",
      "sender": "sipa",
      "payload": "you can re-run it, using FUZZ=clusterlin_linearize build_fuzz_nosan/bin/fuzz ./crash-1cea6b51b877d277ba4d1ba7f522b7d3ac182349",
      "action": false,
      "timestamp": "2025-06-11T17:22:04.534332+00:00"
    },
    {
      "id": "bb63a1907e11476692c26b3b791f3ec0",
      "sender": "sipa",
      "payload": "which will not do any fuzzing, just run that one fuzz input through the harness",
      "action": false,
      "timestamp": "2025-06-11T17:22:26.685559+00:00"
    },
    {
      "id": "42b112c6705f4604b930737dea92d9ca",
      "sender": "monlovesmango",
      "payload": "sipa: I think ExhaustiveLinearize would be good and consistent",
      "action": false,
      "timestamp": "2025-06-11T17:22:41.515146+00:00"
    },
    {
      "id": "a0fa8181b708445e83cddb63898306b5",
      "sender": "sliv3r__",
      "payload": "yep runs one iteration and crashes instantly",
      "action": false,
      "timestamp": "2025-06-11T17:22:43.322167+00:00"
    },
    {
      "id": "5052de2877c74b9fbf1c437b275026cf",
      "sender": "sipa",
      "payload": "but now you can also modify the code, attempt to fix the bug, and retry with just that case",
      "action": false,
      "timestamp": "2025-06-11T17:23:06.742247+00:00"
    },
    {
      "id": "16f755fb4195471494ef4c6974f0c4c0",
      "sender": "marcofleon",
      "payload": "that's when the debugging starts",
      "action": false,
      "timestamp": "2025-06-11T17:23:06.991622+00:00"
    },
    {
      "id": "43af7b1a14804f0babaaa647e0710ed8",
      "sender": "marcofleon",
      "payload": "question 5: In commit 2763b75, why was --iterations_left moved?",
      "action": false,
      "timestamp": "2025-06-11T17:23:20.430235+00:00"
    },
    {
      "id": "f264189bbab84231b6c30cc8bc392c11",
      "sender": "monlovesmango",
      "payload": "sliv3r__: thank you I see that example now... I think I didn't really know what that param did bc I didn't realize 'process_message' was a test",
      "action": false,
      "timestamp": "2025-06-11T17:23:33.986785+00:00"
    },
    {
      "id": "f528ef1ece134bbc9d36c116a94b9b1e",
      "sender": "marcofleon",
      "payload": "monlovesmango: sorry if I moved on too quickly! Yeah, the thing after FUZZ= is the fuzz target",
      "action": false,
      "timestamp": "2025-06-11T17:24:14.743376+00:00"
    },
    {
      "id": "16bba3cc5b0041d58d517b1798104275",
      "sender": "monlovesmango",
      "payload": "marcofleon: no you're good!",
      "action": false,
      "timestamp": "2025-06-11T17:24:26.637732+00:00"
    },
    {
      "id": "905d82efcd854d249f50e644e6e049b9",
      "sender": "sliv3r__",
      "payload": "sipa: right setting it back to chunking works :P",
      "action": false,
      "timestamp": "2025-06-11T17:24:31.754751+00:00"
    },
    {
      "id": "73e1382944954e888e1dbd81e182c46c",
      "sender": "sliv3r__",
      "payload": "are we at q 5?",
      "action": false,
      "timestamp": "2025-06-11T17:24:49.826687+00:00"
    },
    {
      "id": "3a24478fb0a440f88ce3da540055f189",
      "sender": "marcofleon",
      "payload": "we have a bunch of them. all looking something like \"FUZZ_TARGET(clusterlin_depgraph_sim)\" for example and then the test itself",
      "action": false,
      "timestamp": "2025-06-11T17:25:16.136277+00:00"
    },
    {
      "id": "d46b7f0c5b114356922270f23116c91c",
      "sender": "marcofleon",
      "payload": "yeah, i'll paste again",
      "action": false,
      "timestamp": "2025-06-11T17:25:44.357415+00:00"
    },
    {
      "id": "16ccb01d11ae4e9baa262999237b84d2",
      "sender": "marcofleon",
      "payload": "In commit 2763b75, why was --iterations_left moved?",
      "action": false,
      "timestamp": "2025-06-11T17:25:45.509482+00:00"
    },
    {
      "id": "b51303cf5d924f54ac7856255630e3ec",
      "sender": "monlovesmango",
      "payload": "it was moved bc otherwise it decrements for splits that don't actually need to be considered (which I imagine might also mess with the result being optimal assumption)",
      "action": false,
      "timestamp": "2025-06-11T17:25:57.705979+00:00"
    },
    {
      "id": "28ea415f772e40e6817f05172ba2151e",
      "sender": "sipa",
      "payload": "i think the answer here is kind of nuanced",
      "action": false,
      "timestamp": "2025-06-11T17:26:58.292689+00:00"
    },
    {
      "id": "5a8286f9c55d46f283ee6b908fed7ff8",
      "sender": "marcofleon",
      "payload": "I'm actually not sure if it was a bug fix per se... I think just an optimization?",
      "action": false,
      "timestamp": "2025-06-11T17:27:05.782189+00:00"
    },
    {
      "id": "3228b9cf36f143389f75887205727640",
      "sender": "sipa",
      "payload": "but it also doesn't matter much",
      "action": false,
      "timestamp": "2025-06-11T17:27:05.907314+00:00"
    },
    {
      "id": "a2a88525f6f248eb8323e2159d4b1457",
      "sender": "sliv3r__",
      "payload": "If I didn't understand wrong we want to only reduce the counter when we add a new \"valid\" subset. So the number of iterations is proportional to the number of different connected subsets that cna be created instead to be realted to the total num of elements in the queue",
      "action": false,
      "timestamp": "2025-06-11T17:27:23.488680+00:00"
    },
    {
      "id": "77f5c97433654e42a5bb5da03a560bac",
      "sender": "sipa",
      "payload": "so the idea is that we want some kind of \"cost metric\" to control how much time is spent inside SimpleCandidateFinder, just so that it does not run forever, but can stop it after \"too much\" work has been performed",
      "action": false,
      "timestamp": "2025-06-11T17:27:56.765530+00:00"
    },
    {
      "id": "b7d115d40f32490287e89cedc02760af",
      "sender": "sipa",
      "payload": "it doesn't really matter what that metric is, as long as it's roughly proportional to runtime",
      "action": false,
      "timestamp": "2025-06-11T17:28:16.878351+00:00"
    },
    {
      "id": "cf7f9b442d324d4aaa3eb0d611c44d25",
      "sender": "sipa",
      "payload": "the metric that was being used so far was \"queue elements processed\"",
      "action": false,
      "timestamp": "2025-06-11T17:28:34.845886+00:00"
    },
    {
      "id": "c4fcedf6dfb2478d8b1f13fd3b5d07f9",
      "sender": "sipa",
      "payload": "moving the --iterations_left is really changing the metric to something else: the number of candidate sets considered",
      "action": false,
      "timestamp": "2025-06-11T17:28:57.862254+00:00"
    },
    {
      "id": "76acb04babcb48ae848c9342b0a4cb82",
      "sender": "monlovesmango",
      "payload": "interesting",
      "action": false,
      "timestamp": "2025-06-11T17:29:08.493005+00:00"
    },
    {
      "id": "a102b95cc53c4e5f98dc9b4d25c7e375",
      "sender": "sipa",
      "payload": "they're very similar, but each candidate set being considered can give rise to two queue elements",
      "action": false,
      "timestamp": "2025-06-11T17:29:26.919313+00:00"
    },
    {
      "id": "93c2fb6f04ba4e48a8d129a6bc2540f8",
      "sender": "sipa",
      "payload": "and there is an initial queue element on the stack that's not a candidate set",
      "action": false,
      "timestamp": "2025-06-11T17:29:37.526835+00:00"
    },
    {
      "id": "97a635fe1fe34627b0c821216b3ab5e9",
      "sender": "sipa",
      "payload": "so the old metric is at most 2*N+1, where N is the new metric",
      "action": false,
      "timestamp": "2025-06-11T17:29:51.424558+00:00"
    },
    {
      "id": "1831dafa55c14427a3278faa1b1510d8",
      "sender": "marcofleon",
      "payload": "In clusterlin_simple_finder, when finding a topologically valid subset to remove from the graph, why is it important to set non_empty to true? What could happen if we allowed empty sets?",
      "action": false,
      "timestamp": "2025-06-11T17:30:30.989141+00:00"
    },
    {
      "id": "d2e0fe32b94f47029032196611431f80",
      "sender": "sliv3r__",
      "payload": "infinite loop",
      "action": false,
      "timestamp": "2025-06-11T17:30:40.686313+00:00"
    },
    {
      "id": "81ec66e9a49c4d479eb24828c38ee30e",
      "sender": "sipa",
      "payload": "so why change is: the new one is easier to reason about, because it's easy to count how many candidate sets a cluster can have (2^(N-1))",
      "action": false,
      "timestamp": "2025-06-11T17:30:50.632769+00:00"
    },
    {
      "id": "98b1f22887c04aa48440751f178954ee",
      "sender": "sipa",
      "payload": "so that's something that can be concretely tested for: if the limit is set to at least 2^(N-1), the optimal must be found",
      "action": false,
      "timestamp": "2025-06-11T17:31:10.744714+00:00"
    },
    {
      "id": "663ede0419df4566b0ed7d79b37ab2e6",
      "sender": "sipa",
      "payload": "makes sense?",
      "action": false,
      "timestamp": "2025-06-11T17:31:53.138330+00:00"
    },
    {
      "id": "f667eb9b64c842d2b5089a314a5b65dd",
      "sender": "monlovesmango",
      "payload": "seems like a better metric. yes.",
      "action": false,
      "timestamp": "2025-06-11T17:32:00.007652+00:00"
    },
    {
      "id": "8624463bc2894132805fdd7a6d9d7690",
      "sender": "sipa",
      "payload": "it's not a big change, just making things slightly easier to reason about",
      "action": false,
      "timestamp": "2025-06-11T17:32:07.913569+00:00"
    },
    {
      "id": "08d20b7c37354ff8a08d896d725a134b",
      "sender": "sliv3r__",
      "payload": "it makes more sense",
      "action": false,
      "timestamp": "2025-06-11T17:32:16.587931+00:00"
    },
    {
      "id": "507f33a17a4944bf8107dec8f5405293",
      "sender": "sipa",
      "payload": "but the most important thing is that there is some metric, and it's being hit",
      "action": false,
      "timestamp": "2025-06-11T17:32:17.417600+00:00"
    },
    {
      "id": "1438155bc5c3485891d809334b0f1298",
      "sender": "marcofleon",
      "payload": "sure, I do thiink it makes sense to have it be only when a valid transaction is found",
      "action": false,
      "timestamp": "2025-06-11T17:33:35.584681+00:00"
    },
    {
      "id": "36497f1ac3ba41478246190c2aa67ff2",
      "sender": "marcofleon",
      "payload": "a better metric, then just next in the queue",
      "action": false,
      "timestamp": "2025-06-11T17:33:53.810996+00:00"
    },
    {
      "id": "b5d87335358242b18352a15981b2b908",
      "sender": "marcofleon",
      "payload": "*than",
      "action": false,
      "timestamp": "2025-06-11T17:34:01.342961+00:00"
    },
    {
      "id": "c123b18cee534fd7a3de7b962ac155be",
      "sender": "sipa",
      "payload": "*candidate set, not transaction",
      "action": false,
      "timestamp": "2025-06-11T17:34:14.580066+00:00"
    },
    {
      "id": "cae0a67544cf45e29cda9c5c3aff4bae",
      "sender": "marcofleon",
      "payload": "valid set, sorry yeah",
      "action": false,
      "timestamp": "2025-06-11T17:34:26.584083+00:00"
    },
    {
      "id": "bcea050c5e3e409cb04e0c64797493bc",
      "sender": "abubakarsadiq",
      "payload": "We have to find something to remove in the prior commit we evict the found transactions when the it's empty",
      "action": false,
      "timestamp": "2025-06-11T17:35:15.176669+00:00"
    },
    {
      "id": "862800e3e43741cea7c4ba6b6be666c6",
      "sender": "abubakarsadiq",
      "payload": "infinite loop if we don't remove anything",
      "action": false,
      "timestamp": "2025-06-11T17:35:47.420560+00:00"
    },
    {
      "id": "62dfb969034248d4ad13c6fea8a41ebe",
      "sender": "marcofleon",
      "payload": "for q6, nice yeah",
      "action": false,
      "timestamp": "2025-06-11T17:35:52.089890+00:00"
    },
    {
      "id": "e07653eea69f4713ac4a594dc2a58003",
      "sender": "sliv3r__",
      "payload": "yeah so basically we have an empty one the next iteration is equal to the current one so loop loop loop :)",
      "action": false,
      "timestamp": "2025-06-11T17:36:22.963364+00:00"
    },
    {
      "id": "ce8cbbcb5fe047e3a8d0a1cc9312db42",
      "sender": "marcofleon",
      "payload": "it would just be the same set if nothing is removed",
      "action": false,
      "timestamp": "2025-06-11T17:36:28.899864+00:00"
    },
    {
      "id": "c16ff09a03fb4cf1a708325301e9e869",
      "sender": "sliv3r__",
      "payload": "if we have*",
      "action": false,
      "timestamp": "2025-06-11T17:36:30.907650+00:00"
    },
    {
      "id": "c92ddb64eaf64beba10ce882a1ab0b5b",
      "sender": "sipa",
      "payload": "abubakarsadiq: (bonus) how likely would it be that we *keep* removing nothing, because just occasionally not removing anything wouldn't be an infinite loop?",
      "action": false,
      "timestamp": "2025-06-11T17:36:32.679320+00:00"
    },
    {
      "id": "7db53c09a60b4c80a82417396df133f5",
      "sender": "abubakarsadiq",
      "payload": "Yeah highly unlikely",
      "action": false,
      "timestamp": "2025-06-11T17:38:05.026293+00:00"
    },
    {
      "id": "ff2b5352441d4f15a67082a34d2854f3",
      "sender": "sipa",
      "payload": "actually no, extremely likely :p",
      "action": false,
      "timestamp": "2025-06-11T17:38:13.376298+00:00"
    },
    {
      "id": "0c348c06a9164e8a95da53c48330f1a2",
      "sender": "sliv3r__",
      "payload": "I'm lost haha",
      "action": false,
      "timestamp": "2025-06-11T17:38:22.009036+00:00"
    },
    {
      "id": "896ef469af5a47a79830923c5594ff36",
      "sender": "sipa",
      "payload": "it would happen anytime you hit the end of the fuzz input",
      "action": false,
      "timestamp": "2025-06-11T17:38:25.177884+00:00"
    },
    {
      "id": "27e68d752e0242999cfa7fa38dc7d875",
      "sender": "sipa",
      "payload": "because once you hit the end, ConsumeIntegral and friends will keep forever returning 0",
      "action": false,
      "timestamp": "2025-06-11T17:38:42.465638+00:00"
    },
    {
      "id": "d6d69857bcb146f880dd6af0a4f82fb1",
      "sender": "sipa",
      "payload": "which would be interpreted as the empty set",
      "action": false,
      "timestamp": "2025-06-11T17:38:47.928802+00:00"
    },
    {
      "id": "d510dc4da07248149f866a7b73f1b670",
      "sender": "sipa",
      "payload": "fuzz input is **not** random",
      "action": false,
      "timestamp": "2025-06-11T17:39:13.882159+00:00"
    },
    {
      "id": "8005afe1e7934ed192bd30e09eb2c072",
      "sender": "marcofleon",
      "payload": "oh yes of course, there'd be no more data from the provider at some point",
      "action": false,
      "timestamp": "2025-06-11T17:39:21.422958+00:00"
    },
    {
      "id": "966e3465f84f48039dbd52ee726d5ed2",
      "sender": "sipa",
      "payload": "it's hopefully better than random, but it can also be a lot worse",
      "action": false,
      "timestamp": "2025-06-11T17:39:28.282516+00:00"
    },
    {
      "id": "5e7be82ac40044ca958bd77b5b088982",
      "sender": "sipa",
      "payload": "abubakarsadiq: sorry, that was a trick question :)",
      "action": false,
      "timestamp": "2025-06-11T17:40:09.947168+00:00"
    },
    {
      "id": "7e74dee6c2ff4ffea52358fa0668992a",
      "sender": "marcofleon",
      "payload": "In clusterlin_simple_linearize, why does the code only verify against all possible permutations when depgraph.TxCount() <= 8? What would happen if we tried to do this for larger transaction counts?",
      "action": false,
      "timestamp": "2025-06-11T17:40:26.461595+00:00"
    },
    {
      "id": "947b487003e043ecb7341d974033c2af",
      "sender": "monlovesmango",
      "payload": "very thought provoking trick question",
      "action": false,
      "timestamp": "2025-06-11T17:40:46.434698+00:00"
    },
    {
      "id": "fa48aeb168044d6bb8c33b0ede263f9f",
      "sender": "monlovesmango",
      "payload": "the exhaustive search would start taking too long",
      "action": false,
      "timestamp": "2025-06-11T17:41:11.905912+00:00"
    },
    {
      "id": "0de2e251f853493cb0852baba3517932",
      "sender": "sliv3r__",
      "payload": "I think I can answer for TxCount <= 7 bc I don't understand the optimization included in cce29ef63ecf114003b529093fdfd2574b830afc",
      "action": false,
      "timestamp": "2025-06-11T17:41:22.039436+00:00"
    },
    {
      "id": "b9ac8557224a42d58ca71ea1ffa05026",
      "sender": "abubakarsadiq",
      "payload": "was wondering the reason you choose to evict randomly. For testing weird and all kind of behaviors yeah. Because the found txs can also be the read transaction",
      "action": false,
      "timestamp": "2025-06-11T17:41:27.396252+00:00"
    },
    {
      "id": "45587da6a69146dca5db56421a699530",
      "sender": "abubakarsadiq",
      "payload": "sipa: it's okay I learn something :P",
      "action": false,
      "timestamp": "2025-06-11T17:41:52.494339+00:00"
    },
    {
      "id": "ce1472db1c4348249f9f604acba03a73",
      "sender": "marcofleon",
      "payload": "We can throw in the next question, it's related. In commit 1e4f345, when a non-topological permutation is found, the code now fast forwards by reversing part of the permutation. Why does this optimization work, and how many permutations can it skip in the best case?",
      "action": false,
      "timestamp": "2025-06-11T17:42:04.476080+00:00"
    },
    {
      "id": "1cca17091fdc4b5c844d43e356380d1f",
      "sender": "sliv3r__",
      "payload": "So basically the cost would be huge as the possible permutations is N!. For 7 would be 5050 and higher numbers increase the number heavily",
      "action": false,
      "timestamp": "2025-06-11T17:42:13.072283+00:00"
    },
    {
      "id": "17a91d45a3b34e43a4e9481013d70588",
      "sender": "marcofleon",
      "payload": "i tried with 9 and the execs/sec were about 4x slower",
      "action": false,
      "timestamp": "2025-06-11T17:42:21.396698+00:00"
    },
    {
      "id": "c2ad6070b3294ebba47248b3edc1e19b",
      "sender": "sliv3r__",
      "payload": "But with 1e4f345 the worst case still being 8! which is huge right? Why is this acceptable if it wasn't before? (bc we had 7)",
      "action": false,
      "timestamp": "2025-06-11T17:43:30.975595+00:00"
    },
    {
      "id": "9bb230a6d5e044498410b469f36b98b2",
      "sender": "sipa",
      "payload": "yeah, that's the answer... the number of iterations can grow factorially",
      "action": false,
      "timestamp": "2025-06-11T17:43:48.255617+00:00"
    },
    {
      "id": "c6df82d8d0254a1dad83f378f9492b0c",
      "sender": "sipa",
      "payload": "sliv3r__: just 8! = 40320, that's not enormous",
      "action": false,
      "timestamp": "2025-06-11T17:44:04.199052+00:00"
    },
    {
      "id": "e43e9c822ddb4d34a88309d0b5f19317",
      "sender": "sipa",
      "payload": "fuzz tests work best when they stay above 100-1000 attempts per second",
      "action": false,
      "timestamp": "2025-06-11T17:44:22.791418+00:00"
    },
    {
      "id": "8e1b3499ea6f4a46a9e735bf0628482a",
      "sender": "sliv3r__",
      "payload": "why was it 7 before if 8 is ok?",
      "action": false,
      "timestamp": "2025-06-11T17:44:39.817588+00:00"
    },
    {
      "id": "4a8812d6123c4084a71d930ef1fd50b4",
      "sender": "sipa",
      "payload": "hmm?",
      "action": false,
      "timestamp": "2025-06-11T17:44:47.688369+00:00"
    },
    {
      "id": "9ecf85377f7149c7bdb7c80a7e873f61",
      "sender": "sipa",
      "payload": "oh, with the optimization there are just fewer permutations searched through",
      "action": false,
      "timestamp": "2025-06-11T17:45:15.258202+00:00"
    },
    {
      "id": "6e9027b019894fbe8eb161eda0403bfd",
      "sender": "marcofleon",
      "payload": "The optimization of skipping all invalid permutations makes it possible to bump up",
      "action": false,
      "timestamp": "2025-06-11T17:45:18.847323+00:00"
    },
    {
      "id": "1296d1ef64f44cb98b5d98835728b043",
      "sender": "marcofleon",
      "payload": "sorry, i should be more specific",
      "action": false,
      "timestamp": "2025-06-11T17:45:31.947634+00:00"
    },
    {
      "id": "cb42e52b630943d494bd5d9eba49c7fa",
      "sender": "sipa",
      "payload": "it's not actually possible for all 8! permutations to be topological, so many/most of them will be skipped by the optimization",
      "action": false,
      "timestamp": "2025-06-11T17:45:45.041166+00:00"
    },
    {
      "id": "3980a652a21c4aa8862aaa8ef9280bf9",
      "sender": "sipa",
      "payload": "and the numbers 7 and 8 are just set based on benchmarks... which ones make the test too slow",
      "action": false,
      "timestamp": "2025-06-11T17:46:07.385422+00:00"
    },
    {
      "id": "7cb3f19430d54ba081eabed5d5c83df9",
      "sender": "marcofleon",
      "payload": "all the permutations, after having found an invalid prefix yes?",
      "action": false,
      "timestamp": "2025-06-11T17:46:29.883471+00:00"
    },
    {
      "id": "33402910e3ba419bb898eb72244f5f64",
      "sender": "sipa",
      "payload": "yes, it'll skip all the permutations with the *same* invalid prefix",
      "action": false,
      "timestamp": "2025-06-11T17:46:51.674524+00:00"
    },
    {
      "id": "fde0c83efc164fd3935b69f85f243326",
      "sender": "sliv3r__",
      "payload": "oh ok so there's no \"human logic\" to that :) I was getting too picky with the numbers",
      "action": false,
      "timestamp": "2025-06-11T17:46:53.758077+00:00"
    },
    {
      "id": "63347146ce2946038d92024cd602f263",
      "sender": "abubakarsadiq",
      "payload": "It's human logic :p",
      "action": false,
      "timestamp": "2025-06-11T17:47:21.682250+00:00"
    },
    {
      "id": "a24c9cb2bb1d4cc8820ed769701cff19",
      "sender": "sipa",
      "payload": "so the number of permutations tried is equal to the number of topologically-valid ones, plus the number of topologically-invalid minimal prefixes",
      "action": false,
      "timestamp": "2025-06-11T17:47:31.182161+00:00"
    },
    {
      "id": "aeb2330ef46d4db4980eb55a8883397e",
      "sender": "sipa",
      "payload": "i don't have numbers for what those are, it just works in practice (TM)",
      "action": false,
      "timestamp": "2025-06-11T17:47:43.939995+00:00"
    },
    {
      "id": "b1e3d1fd7b8b400ca94623df33e508bc",
      "sender": "marcofleon",
      "payload": "and how many permutations can it skip in the best case then, just to complete the question",
      "action": false,
      "timestamp": "2025-06-11T17:47:52.142052+00:00"
    },
    {
      "id": "210787af13a347508fba221a9c4a0df4",
      "sender": "marcofleon",
      "payload": "also sipa: did you ever figure out how many permutations can be tried in total knowing that there are K valid ones?",
      "action": false,
      "timestamp": "2025-06-11T17:48:16.699942+00:00"
    },
    {
      "id": "3d566c079bff43eca796c83d580e411f",
      "sender": "sipa",
      "payload": "marcofleon: i have not",
      "action": false,
      "timestamp": "2025-06-11T17:48:24.398070+00:00"
    },
    {
      "id": "11849756791d4dbfa77223d7dcd6100c",
      "sender": "abubakarsadiq",
      "payload": "Depends on the cluster",
      "action": false,
      "timestamp": "2025-06-11T17:48:35.334532+00:00"
    },
    {
      "id": "2680aa940eff46ae9dc4a7b0a5fb3188",
      "sender": "marcofleon",
      "payload": "^ that's what i was thinking too",
      "action": false,
      "timestamp": "2025-06-11T17:48:44.762193+00:00"
    },
    {
      "id": "d2656c36c2de4266a2a9faf57697603b",
      "sender": "sipa",
      "payload": "i thought it'd be easy to find a formula, but it does not seem simple at all",
      "action": false,
      "timestamp": "2025-06-11T17:48:45.270002+00:00"
    },
    {
      "id": "efb11ba4a31f4cb2b6a017dfdf94f0dc",
      "sender": "sipa",
      "payload": "after some experimentation",
      "action": false,
      "timestamp": "2025-06-11T17:48:57.958311+00:00"
    },
    {
      "id": "fa8b27db4ca049b5b50c4899d5ecee2b",
      "sender": "sipa",
      "payload": "but it skips a lot in practice, which is enough :p",
      "action": false,
      "timestamp": "2025-06-11T17:49:09.822601+00:00"
    },
    {
      "id": "0b06ffe2e87e4fa8a2f568ae6ce11da6",
      "sender": "monlovesmango",
      "payload": "7! ?",
      "action": false,
      "timestamp": "2025-06-11T17:49:16.625975+00:00"
    },
    {
      "id": "91e25b9a1a7d462e862cd4fa7f1c6ef3",
      "sender": "sliv3r__",
      "payload": "sipa: why is not possible for all 8! permutations be topological?",
      "action": false,
      "timestamp": "2025-06-11T17:49:26.677241+00:00"
    },
    {
      "id": "3c43a21191ca49848d6670807e1878fa",
      "sender": "sipa",
      "payload": "sliv3r__: that would imply there are no dependencies in the cluster, so it isn't a cluster",
      "action": false,
      "timestamp": "2025-06-11T17:49:41.493820+00:00"
    },
    {
      "id": "522405f408eb43b7b0ead6482c0360fc",
      "sender": "marcofleon",
      "payload": "monlovesmango: basically yeah, although I think you would subtract one from that",
      "action": false,
      "timestamp": "2025-06-11T17:49:57.396937+00:00"
    },
    {
      "id": "ca4daf39ac1d40e492da32e0eb96de32",
      "sender": "sliv3r__",
      "payload": "oh ok that was a stupid question :P",
      "action": false,
      "timestamp": "2025-06-11T17:49:59.258762+00:00"
    },
    {
      "id": "7d1e439cfae44e119a6975ae826b91d4",
      "sender": "sipa",
      "payload": "sliv3r__: every dependency is a \"parent must come before child in topological orderings\" constraint, so easy additional dependency reduces the number of valid ones",
      "action": false,
      "timestamp": "2025-06-11T17:50:30.623312+00:00"
    },
    {
      "id": "a3e35fb9a7a543a3b24332070788bc82",
      "sender": "monlovesmango",
      "payload": "whats the minus 1 for?",
      "action": false,
      "timestamp": "2025-06-11T17:50:34.985134+00:00"
    },
    {
      "id": "27b97367313d4a6aa25378b4caf022c5",
      "sender": "sipa",
      "payload": "by how much depends on the topology",
      "action": false,
      "timestamp": "2025-06-11T17:50:37.494897+00:00"
    },
    {
      "id": "c10b2e50e3a3427882c8032bf3286551",
      "sender": "marcofleon",
      "payload": "(n-1)! - 1 for n txs",
      "action": false,
      "timestamp": "2025-06-11T17:50:46.773263+00:00"
    },
    {
      "id": "5a58f4b30dc2486696bfd32e0abeeb40",
      "sender": "sipa",
      "payload": "you skip from the first topologically-invalid order with a given prefix to the last one with the same prefix",
      "action": false,
      "timestamp": "2025-06-11T17:51:04.415342+00:00"
    },
    {
      "id": "521b4ddf7fa04071adf491ea1d440b02",
      "sender": "marcofleon",
      "payload": "the -1 is the one tx that you did just try",
      "action": false,
      "timestamp": "2025-06-11T17:51:05.495932+00:00"
    },
    {
      "id": "c76fb6b5d24d4e7cb11522b8fe7980be",
      "sender": "sipa",
      "payload": "you don't immediately skip to the next prefix",
      "action": false,
      "timestamp": "2025-06-11T17:51:16.321325+00:00"
    },
    {
      "id": "dc214ec12d864619a1acdb5fe8e251e5",
      "sender": "monlovesmango",
      "payload": "marcofleon: makes sense thanks!",
      "action": false,
      "timestamp": "2025-06-11T17:51:53.325230+00:00"
    },
    {
      "id": "a00e87fc42cf4250afd4293d2e94fa07",
      "sender": "sipa",
      "payload": "i think we never answered question 3?",
      "action": false,
      "timestamp": "2025-06-11T17:52:08.057856+00:00"
    },
    {
      "id": "33c005566bee48ab936bd2b0b43caf8e",
      "sender": "marcofleon",
      "payload": "What are the benefits of separating out the fuzzing of the internal test helpers?",
      "action": false,
      "timestamp": "2025-06-11T17:52:35.556028+00:00"
    },
    {
      "id": "7d54c3b3a60149bda10b35aadc12c937",
      "sender": "marcofleon",
      "payload": "I thought we touched on it, but that's true, never explicitly answered",
      "action": false,
      "timestamp": "2025-06-11T17:52:51.430526+00:00"
    },
    {
      "id": "4abf09e342194e989e346b307de339bb",
      "sender": "monlovesmango",
      "payload": "oh also I was able to test the fuzz crash and got 340233",
      "action": false,
      "timestamp": "2025-06-11T17:53:02.682411+00:00"
    },
    {
      "id": "e247bb33298c4ef9b2631a296e399f7b",
      "sender": "marcofleon",
      "payload": "nice. I love fuzz crashes",
      "action": false,
      "timestamp": "2025-06-11T17:53:17.283699+00:00"
    },
    {
      "id": "88e7f88513c946a1b11027f18b0fa492",
      "sender": "sliv3r__",
      "payload": "\ud83d\ude02",
      "action": false,
      "timestamp": "2025-06-11T17:53:33.818130+00:00"
    },
    {
      "id": "1acede0123d14a308a3ed03a34c19396",
      "sender": "sipa",
      "payload": "marcofleon: fwiw, i suspect the vast majority of the fuzz crashes in these PRs happen before the PR is opened",
      "action": false,
      "timestamp": "2025-06-11T17:53:46.736053+00:00"
    },
    {
      "id": "9868afdcc736438fa8fc52c28113f026",
      "sender": "monlovesmango",
      "payload": "I think it help instill confidence on what is actually being tested",
      "action": false,
      "timestamp": "2025-06-11T17:53:47.165670+00:00"
    },
    {
      "id": "29cfeb44b21e44f1990d0be7aeeb92e3",
      "sender": "sipa",
      "payload": "as in, i use them to help development",
      "action": false,
      "timestamp": "2025-06-11T17:53:51.794851+00:00"
    },
    {
      "id": "f24683f744364415a6f0aeb8ea4b4bb3",
      "sender": "sipa",
      "payload": "monlovesmango: maybe, but nothing really changes there... take Search/Simple/ExhaustiveCandidateFinder... before we had one fuzz test that compared all three (subject to cluster-not-too-large constraints etc)",
      "action": false,
      "timestamp": "2025-06-11T17:54:40.763514+00:00"
    },
    {
      "id": "0c0ca1a02fe14da79e5f3b6d13967cb2",
      "sender": "sipa",
      "payload": "now we have two tests, one comparing Search with Simple, one comparing Simple with Exhaustive",
      "action": false,
      "timestamp": "2025-06-11T17:54:53.739777+00:00"
    },
    {
      "id": "3fc27d145fe94900945edbd81d5757ce",
      "sender": "sipa",
      "payload": "what's the benefit of the split?",
      "action": false,
      "timestamp": "2025-06-11T17:55:01.603458+00:00"
    },
    {
      "id": "adac63d62dab47649540e7ba8be0d910",
      "sender": "sliv3r__",
      "payload": "Avoid redundancy",
      "action": false,
      "timestamp": "2025-06-11T17:55:07.831327+00:00"
    },
    {
      "id": "c19dcc1c5de24607b4793a039104bd8c",
      "sender": "sipa",
      "payload": "yes!",
      "action": false,
      "timestamp": "2025-06-11T17:55:12.963990+00:00"
    },
    {
      "id": "1aa7ebb90bce4772aa601e37fbeece82",
      "sender": "monlovesmango",
      "payload": "yes for me thats much easier to reason about and so for me I can be more confident in comparing Search with Simple",
      "action": false,
      "timestamp": "2025-06-11T17:55:22.356364+00:00"
    },
    {
      "id": "b3786b3f89be4075a75d73876a9de99e",
      "sender": "marcofleon",
      "payload": "sipa: makes sense, it's a fairly easy and quick way to help initial bugs surface",
      "action": false,
      "timestamp": "2025-06-11T17:55:23.445157+00:00"
    },
    {
      "id": "176961ad41b94deb8a5f3f9042390533",
      "sender": "sliv3r__",
      "payload": "and also easier to review the code",
      "action": false,
      "timestamp": "2025-06-11T17:55:39.702561+00:00"
    },
    {
      "id": "5ce9a1d81f1c42f5980a1411fa366a70",
      "sender": "sipa",
      "payload": "if you're already confident in SimpleCandidateFinder, you have no \"need\" to waste computation effort on running the Simple/Exhaustive comparison too",
      "action": false,
      "timestamp": "2025-06-11T17:55:49.981397+00:00"
    },
    {
      "id": "9ba2b66477544f2d91523fc18e30c55a",
      "sender": "sipa",
      "payload": "if you're not, you should be focusing on just establishing that confidence first without putting effort into comparing with the production code",
      "action": false,
      "timestamp": "2025-06-11T17:56:15.437959+00:00"
    },
    {
      "id": "b5b6707b970142b5a3387a6f25733e3e",
      "sender": "sipa",
      "payload": "(whether that means more review, running fuzz tests, attending a review club, ...)",
      "action": false,
      "timestamp": "2025-06-11T17:56:44.639326+00:00"
    },
    {
      "id": "e2edcd3233dd4e6aa2996a9a4b650d3a",
      "sender": "sipa",
      "payload": "so i feel the goals of what you obtain from these tests is different, and it makes sense to separate them for that reason",
      "action": false,
      "timestamp": "2025-06-11T17:57:14.270674+00:00"
    },
    {
      "id": "ad6a490b7a4945b3b91572284e8fe590",
      "sender": "marcofleon",
      "payload": "Yeah, I think it's good to have the separate targets here",
      "action": false,
      "timestamp": "2025-06-11T17:57:16.962829+00:00"
    },
    {
      "id": "bed8c37c20b94233b409a0941b8a51ad",
      "sender": "sipa",
      "payload": "but yes, clearer code too :0",
      "action": false,
      "timestamp": "2025-06-11T17:57:19.438194+00:00"
    },
    {
      "id": "e7cb5150059f4a90b142055407611d63",
      "sender": "sipa",
      "payload": "i will need to drop off now, but thanks for hosting marcofleon, and thanks all for spending time looking at my PR!",
      "action": false,
      "timestamp": "2025-06-11T17:58:06.808019+00:00"
    },
    {
      "id": "fe3c047617664b5fa6deef60f1554a72",
      "sender": "sliv3r__",
      "payload": "thanks for the explanations :)",
      "action": false,
      "timestamp": "2025-06-11T17:58:22.220130+00:00"
    },
    {
      "id": "57b33269c1e6497c87d1cece2827ac79",
      "sender": "monlovesmango",
      "payload": "thanks sipa!",
      "action": false,
      "timestamp": "2025-06-11T17:58:23.442971+00:00"
    },
    {
      "id": "89d2210bedcd41ada8dba06bd20092ee",
      "sender": "marcofleon",
      "payload": "thanks for all your help sipa",
      "action": false,
      "timestamp": "2025-06-11T17:58:28.372083+00:00"
    },
    {
      "id": "2bf61ba1d2a44096a2039d6e28f14be6",
      "sender": "abubakarsadiq",
      "payload": "thanks for hosting, thanks for your work sipa",
      "action": false,
      "timestamp": "2025-06-11T17:58:41.293360+00:00"
    },
    {
      "id": "1c69568d4ab04756a16df920ecee2ded",
      "sender": "marcofleon",
      "payload": "okay let's jump into SFL then?",
      "action": false,
      "timestamp": "2025-06-11T17:58:47.905232+00:00"
    },
    {
      "id": "670e66da96c94dabbbda077421abdd98",
      "sender": "marcofleon",
      "payload": ":P",
      "action": false,
      "timestamp": "2025-06-11T17:59:01.440983+00:00"
    },
    {
      "id": "cc00bc6939254293abe0a6185f134cf1",
      "sender": "abubakarsadiq",
      "payload": "We have txgraph reorg waiting though",
      "action": false,
      "timestamp": "2025-06-11T17:59:12.801307+00:00"
    },
    {
      "id": "eaf883c8a64c4cc9b4625e52b2a9e991",
      "sender": "marcofleon",
      "payload": "another day. Thanks for attending everybody",
      "action": false,
      "timestamp": "2025-06-11T17:59:16.165246+00:00"
    },
    {
      "id": "a0daff697e7f4823be39f0d742ac64a3",
      "sender": "abubakarsadiq",
      "payload": "It's also juicy",
      "action": false,
      "timestamp": "2025-06-11T17:59:18.766249+00:00"
    },
    {
      "id": "e797ef4be6894ddbbb3e10dde61e89a2",
      "sender": "marcofleon",
      "payload": "oh yeah I kinda forgot about that one, good call",
      "action": false,
      "timestamp": "2025-06-11T17:59:43.462300+00:00"
    },
    {
      "id": "51022e4cb92940d5a0bc86234f3939b1",
      "sender": "sliv3r__",
      "payload": "Could you guys share the answer for the last-1 question? Didn't get a clear answer of that",
      "action": false,
      "timestamp": "2025-06-11T17:59:56.126436+00:00"
    },
    {
      "id": "8423eaabf69f47efb512da8e512ca42e",
      "sender": "monlovesmango",
      "payload": "I think for last question inc and und are not complementary",
      "action": false,
      "timestamp": "2025-06-11T18:00:14.202225+00:00"
    },
    {
      "id": "ede06d289063492191629b504b085d66",
      "sender": "sliv3r__",
      "payload": "My idea checking the algorithm was that for inclusion if you don't have inc you may try to add a tx without an ancestor being in the anc set",
      "action": false,
      "timestamp": "2025-06-11T18:01:01.391309+00:00"
    },
    {
      "id": "21fd79c915954686920bc6527e23916a",
      "sender": "marcofleon",
      "payload": "sure, maybe Abubakar has a clearer way to look at it, but I sort of initially thought that it was possible to get the inc with only having und",
      "action": false,
      "timestamp": "2025-06-11T18:01:06.311843+00:00"
    },
    {
      "id": "fb80deeb0a9f4229bedde078ab048d84",
      "sender": "marcofleon",
      "payload": "but then I realized that in order to keep track of feerate, you would need inc I believe",
      "action": false,
      "timestamp": "2025-06-11T18:02:49.058615+00:00"
    },
    {
      "id": "2d1cf3a1b3e549af97bc9e49e7552aa8",
      "sender": "sipa",
      "payload": "it's really a tristate: undecided, included (definitely in the candidate set), excluded (definitely not in the candidate set)",
      "action": false,
      "timestamp": "2025-06-11T18:03:07.766455+00:00"
    },
    {
      "id": "fa370e59ccb64b68a69c1c31e7ec0d55",
      "sender": "monlovesmango",
      "payload": "one of the sets that you add back to the queue has und - descendants(split), so I don't know how you would figure out inc from that queue set",
      "action": false,
      "timestamp": "2025-06-11T18:03:09.337519+00:00"
    },
    {
      "id": "6396d55d77574f4cb426f7a18f8d02b0",
      "sender": "sipa",
      "payload": "excluded is just implicitly everything not included and not undecided",
      "action": false,
      "timestamp": "2025-06-11T18:03:20.302914+00:00"
    },
    {
      "id": "2755cde2201c442aba675824f45f1ff0",
      "sender": "monlovesmango",
      "payload": "tristate is a good way of phrasing it",
      "action": false,
      "timestamp": "2025-06-11T18:04:03.300598+00:00"
    },
    {
      "id": "3d1aff83108f41d0affc12aacad0d2a5",
      "sender": "marcofleon",
      "payload": "could you implicitly have something like included = m_todo - undecided - excluded?",
      "action": false,
      "timestamp": "2025-06-11T18:05:07.380946+00:00"
    },
    {
      "id": "0721a1b6dfff44d09a67e53c50009613",
      "sender": "monlovesmango",
      "payload": "would that be better? I'm not sure",
      "action": false,
      "timestamp": "2025-06-11T18:07:27.930262+00:00"
    },
    {
      "id": "4becd1a9466a4bd5b4e509b582ce8b43",
      "sender": "marcofleon",
      "payload": "No probably not, that's just what prompted the question for me. Better to keep track of included explicitly",
      "action": false,
      "timestamp": "2025-06-11T18:08:53.686579+00:00"
    },
    {
      "id": "7e248a7f37af42149c22be640600b5be",
      "sender": "sliv3r__",
      "payload": "I think keeping inc explicitly is needed bc tx have dependencies between them, not explicitly knowing what is inc may cause you try to add a tx without some ancestor in the inc",
      "action": false,
      "timestamp": "2025-06-11T18:09:59.297993+00:00"
    },
    {
      "id": "8343d5ce80014f68a7bbbf5293d0608d",
      "sender": "marcofleon",
      "payload": "Right that makes sense",
      "action": false,
      "timestamp": "2025-06-11T18:11:21.266365+00:00"
    },
    {
      "id": "1de5e444a3e142198a3b3bfc20a1b35a",
      "sender": "marcofleon",
      "payload": "still learning a lot about the clusterlin stuff, it's not easy",
      "action": false,
      "timestamp": "2025-06-11T18:11:38.010183+00:00"
    },
    {
      "id": "80cfcec18db54e5c98cec51615c7f7c1",
      "sender": "sliv3r__",
      "payload": "no it's not, this was first time I read about it and also about fuzz, too many new things in one pr :)",
      "action": false,
      "timestamp": "2025-06-11T18:12:00.066743+00:00"
    },
    {
      "id": "790d9e1f876941fd935be9cc62fe935e",
      "sender": "marcofleon",
      "payload": "sliv3r__ i saw your question on the PR and I believe smallest set breaks the tie",
      "action": false,
      "timestamp": "2025-06-11T18:12:00.880667+00:00"
    },
    {
      "id": "ee6d831e94b64915909c8d15841ec5e0",
      "sender": "marcofleon",
      "payload": "And that's good to know actually, I'll keep that mind. I did realize this review club was trying to do two things at once, which didn't help",
      "action": false,
      "timestamp": "2025-06-11T18:12:36.157874+00:00"
    },
    {
      "id": "218705a653d84f55864b2527fc7d95a5",
      "sender": "sliv3r__",
      "payload": "marcofleon: if that's the case would it make sense to assert the size?",
      "action": false,
      "timestamp": "2025-06-11T18:13:27.570557+00:00"
    },
    {
      "id": "10fdcf1f27c14738aa7492e601c42ba2",
      "sender": "monlovesmango",
      "payload": "this is my second fuzz pr review and still learning... haha",
      "action": false,
      "timestamp": "2025-06-11T18:13:38.159854+00:00"
    },
    {
      "id": "bd048783e5ae417badc70e89b0de4e50",
      "sender": "sliv3r__",
      "payload": "marcofleon: nono it was great :) double knowledge",
      "action": false,
      "timestamp": "2025-06-11T18:13:57.581601+00:00"
    },
    {
      "id": "e4f25ad00dd14788b3d5430f9894c26b",
      "sender": "monlovesmango",
      "payload": "sliv3r__: yes agree",
      "action": false,
      "timestamp": "2025-06-11T18:14:14.668985+00:00"
    },
    {
      "id": "c6eabb2bd5ce454894acdfd3dfaa4007",
      "sender": "marcofleon",
      "payload": "fuzzing is awesome, it's a great tool",
      "action": false,
      "timestamp": "2025-06-11T18:15:59.295377+00:00"
    },
    {
      "id": "e6c8da87ba6847ffb404a16b27ee106a",
      "sender": "sliv3r__",
      "payload": "Last question answer was: just release the code and let users complain and say that Core introduces bugs right (as it's the new tred saying that)? :P",
      "action": false,
      "timestamp": "2025-06-11T18:16:35.270671+00:00"
    },
    {
      "id": "5e4c77f1292c496cb844df2643c723b2",
      "sender": "marcofleon",
      "payload": "sliv3r__ I at least know in cluster_linearize.h FindCandidateSet says smallest set is the tiebreaker",
      "action": false,
      "timestamp": "2025-06-11T18:16:46.566842+00:00"
    },
    {
      "id": "cbae394c13f440e288b9f69b34f13da2",
      "sender": "marcofleon",
      "payload": "oh yeah haha q10 What is, no doubt, the coolest way to test code?",
      "action": false,
      "timestamp": "2025-06-11T18:17:31.656639+00:00"
    },
    {
      "id": "da68560c849f4be0b59b32a688ea614d",
      "sender": "sliv3r__",
      "payload": "marcofleon: Yeah I saw the comment in the code. Just added a line in my prev comment so sipa can see it and say",
      "action": false,
      "timestamp": "2025-06-11T18:18:01.030580+00:00"
    },
    {
      "id": "6c39e20616774cbc8fc28a9ecd0893ac",
      "sender": "marcofleon",
      "payload": "glad you two were able to fuzz it a bit. But yeah monlovesmango I recommend doing the indivdual targets like how we said earlier. The test runner is fine for running through a corpus of inputs once",
      "action": false,
      "timestamp": "2025-06-11T18:19:07.893061+00:00"
    },
    {
      "id": "8bf2192630bf4a209aa32be38631cfc1",
      "sender": "monlovesmango",
      "payload": "yeah I agree its much better. I learned a lot more about fuzz best practices",
      "action": false,
      "timestamp": "2025-06-11T18:19:55.945067+00:00"
    },
    {
      "id": "dada0a7be632443bb84052791d8d27a3",
      "sender": "monlovesmango",
      "payload": "thank you all for walking me through that :)",
      "action": false,
      "timestamp": "2025-06-11T18:20:12.343700+00:00"
    },
    {
      "id": "75873a8956b84fde8a6b36a3736b715d",
      "sender": "sliv3r__",
      "payload": "me too this was actually really usefull",
      "action": false,
      "timestamp": "2025-06-11T18:20:16.507712+00:00"
    },
    {
      "id": "cbe31fdcc4a442c2997327316d2e5ece",
      "sender": "marcofleon",
      "payload": "Glad to hear it. Okay that's it for me. Thanks again for coming, see you both soon!",
      "action": false,
      "timestamp": "2025-06-11T18:20:35.048972+00:00"
    },
    {
      "id": "bd3bbad9453842f2961ab5217cc77259",
      "sender": "sliv3r__",
      "payload": "Thanks for hosting!",
      "action": false,
      "timestamp": "2025-06-11T18:20:50.984610+00:00"
    },
    {
      "id": "d0566a5b853f42769b9710fcda35f567",
      "sender": "monlovesmango",
      "payload": "thanks for hosting marcofleon !! was a good one",
      "action": false,
      "timestamp": "2025-06-11T18:21:29.520277+00:00"
    },
    {
      "id": "8a2331d82b8d428191d0c4c34dea9fcd",
      "sender": "sliv3r__",
      "payload": "marcofleon: I think you forgot to end the meeting ;)",
      "action": false,
      "timestamp": "2025-06-11T18:26:15.428082+00:00"
    },
    {
      "id": "82fdd93d6ed945a49c29a73a03c553d1",
      "sender": "marcofleon",
      "payload": "#endmeeting",
      "action": false,
      "timestamp": "2025-06-11T18:27:30.495759+00:00"
    }
  ],
  "events": [
    {
      "event_type": "START_MEETING",
      "message": {
        "id": "9b771b9a43364b018ec4627f1428a3d8",
        "sender": "marcofleon",
        "payload": "#startmeeting",
        "action": false,
        "timestamp": "2025-06-11T17:00:15.872673+00:00"
      },
      "operand": null,
      "id": "9b771b9a43364b018ec4627f1428a3d8",
      "timestamp": "2025-06-11T17:00:15.872673+00:00"
    },
    {
      "event_type": "END_MEETING",
      "message": {
        "id": "82fdd93d6ed945a49c29a73a03c553d1",
        "sender": "marcofleon",
        "payload": "#endmeeting",
        "action": false,
        "timestamp": "2025-06-11T18:27:30.495759+00:00"
      },
      "operand": null,
      "id": "82fdd93d6ed945a49c29a73a03c553d1",
      "timestamp": "2025-06-11T18:27:30.495759+00:00"
    }
  ],
  "aliases": {},
  "vote_in_progress": false,
  "motion_index": null
}