)]}'
{"id":"snix~30371","triplet_id":"snix~canon~I7145a1b2f33a8510de8d7fbd1a12804517a78042","project":"snix","branch":"canon","attention_set":{},"removed_from_attention_set":{"1000001":{"account":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"last_update":"2025-05-01 16:03:11.000000000","reason":"Change was submitted"},"1000004":{"account":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"last_update":"2025-05-01 14:49:32.000000000","reason":"\u003cGERRIT_ACCOUNT_1000004\u003e replied on the change","reason_account":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"}}},"hashtags":[],"change_id":"I7145a1b2f33a8510de8d7fbd1a12804517a78042","subject":"refactor(eval/builtins/intersectAttrs): use kv iterator instead of unsafe get","status":"MERGED","created":"2025-05-01 14:09:28.000000000","updated":"2025-05-01 16:03:11.000000000","submitted":"2025-05-01 16:03:11.000000000","submitter":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"submission_id":"30372","meta_rev_id":"eb3f78816dd68e429635d1a1291a7f0faead6b23","_number":30371,"virtual_id_number":30371,"owner":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"actions":{},"labels":{"Code-Review":{"approved":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"all":[{"value":0,"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},{"tag":"autogenerated:gerrit:merged","value":2,"date":"2025-05-01 16:03:11.000000000","permitted_voting_range":{"min":2,"max":2},"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"}],"values":{"-2":"This shall not be merged","-1":"I would prefer this is not merged as is"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me, approved"},"description":"","default_value":0,"optional":true},"Verified":{"approved":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:gerrit:merged","value":1,"date":"2025-05-01 16:03:11.000000000","permitted_voting_range":{"min":1,"max":1},"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},{"value":0,"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"}],"values":{"-1":"Fails"," 0":"No score","+1":"Verified"},"description":"","default_value":0,"optional":true},"Autosubmit":{"all":[{"value":0,"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"value":0,"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},{"value":0,"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"}],"values":{" 0":"Submit manually","+1":"Submit automatically"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"}],"CC":[{"_account_id":1000035,"name":"Bence Nemes","email":"nemes.bence1@gmail.com","username":"starnick4444"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2025-05-01 14:09:28.000000000","updated_by":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"reviewer":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"state":"REVIEWER"},{"updated":"2025-05-01 14:09:29.000000000","updated_by":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"state":"CC"},{"updated":"2025-05-01 14:42:19.000000000","updated_by":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"reviewer":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"state":"REVIEWER"},{"updated":"2025-05-01 14:49:32.000000000","updated_by":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"reviewer":{"_account_id":1000035,"name":"Bence Nemes","email":"nemes.bence1@gmail.com","username":"starnick4444"},"state":"CC"}],"messages":[{"id":"95cc18e01b7316125dca2fb56d7559fc7e280eda","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"date":"2025-05-01 14:09:28.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"303745eec6710a50b9e38a5380387f673f2519ff","tag":"autogenerated:gerrit:code-owners:addReviewer","author":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"date":"2025-05-01 14:09:28.000000000","message":"\u003cGERRIT_ACCOUNT_1000004\u003e, who was added as reviewer owns the following files:\n* `snix/eval/src/builtins/mod.rs`\n","accounts_in_message":[{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"}],"_revision_number":1},{"id":"2f5b8b980a79bc3034e32726d09ecdab8b60ca51","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-05-01 14:09:29.000000000","message":"Patch Set 1:\n\nStarted build for patchset #1 on: https://buildkite.com/snix/snix/builds/1106","accounts_in_message":[],"_revision_number":1},{"id":"ff8f341e014a4dbb353f69d676a5e8fb11021d8b","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-05-01 14:42:19.000000000","message":"Patch Set 1: Verified+1\n\nBuild of patchset 1 passed: https://buildkite.com/snix/snix/builds/1106","accounts_in_message":[],"_revision_number":1},{"id":"45f7bceb0d3b146a2740b4f952e2726b938e37a1","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"date":"2025-05-01 14:48:39.000000000","message":"Uploaded patch set 2: Patch Set 1 was rebased.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"(**is:ANY** AND changekind:NO_CODE_CHANGE) OR changekind:NO_CHANGE\")\n","accounts_in_message":[],"_revision_number":2},{"id":"e4d1c8afc2894339d9470e64725489c85deed406","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-05-01 14:48:40.000000000","message":"Patch Set 2:\n\nStarted build for patchset #2 on: https://buildkite.com/snix/snix/builds/1109","accounts_in_message":[],"_revision_number":2},{"id":"8d510dbd3b1b3df5a72dd2dc33dab04d2a7d1d4f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"date":"2025-05-01 14:50:43.000000000","message":"Uploaded patch set 3: Patch Set 2 was rebased.","accounts_in_message":[],"_revision_number":3},{"id":"62d5aefa7e23977d437042d12c9cc9b2677fb5ed","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-05-01 14:50:44.000000000","message":"Patch Set 3:\n\nStarted build for patchset #3 on: https://buildkite.com/snix/snix/builds/1113","accounts_in_message":[],"_revision_number":3},{"id":"5b58259abb72f767c9c1828c90ae339fe254d71c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"date":"2025-05-01 15:04:14.000000000","message":"Uploaded patch set 4: Patch Set 3 was rebased.","accounts_in_message":[],"_revision_number":4},{"id":"8fa3fdbd264f0f825d69d0794c3d4edebdb322a8","tag":"autogenerated:buildkite~trigger","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-05-01 15:04:15.000000000","message":"Patch Set 4:\n\nStarted build for patchset #4 on: https://buildkite.com/snix/snix/builds/1115","accounts_in_message":[],"_revision_number":4},{"id":"2105ebe5fffd68792b76362acc1c799dd849e992","tag":"autogenerated:buildkite~result","author":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]},"date":"2025-05-01 15:34:33.000000000","message":"Patch Set 4: Verified+1\n\nBuild of patchset 4 passed: https://buildkite.com/snix/snix/builds/1115","accounts_in_message":[],"_revision_number":4},{"id":"4af0b6f478062ce5842558087920bc59006851c4","author":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"},"date":"2025-05-01 16:02:52.000000000","message":"Patch Set 4: Code-Review+2","accounts_in_message":[],"_revision_number":4},{"id":"eb3f78816dd68e429635d1a1291a7f0faead6b23","tag":"autogenerated:gerrit:merged","author":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"date":"2025-05-01 16:03:11.000000000","message":"Change has been successfully rebased and submitted as 3d9510932832b2cc37be535006ff6a03d568d22a","accounts_in_message":[],"_revision_number":5}],"current_revision_number":5,"current_revision":"3d9510932832b2cc37be535006ff6a03d568d22a","revisions":{"325f470b3fa19cd1cd67e1ccad38227bd389aed5":{"kind":"REWORK","_number":1,"created":"2025-05-01 14:09:28.000000000","uploader":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"ref":"refs/changes/71/30371/1","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/71/30371/1","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/71/30371/1"}}},"commit":{"parents":[{"commit":"c50136141205b72f8c131055c9ea945a1c026334","subject":"chore(cli): upgrade cli to 2024 edition"}],"author":{"name":"edef","email":"edef@edef.eu","date":"2025-05-01 14:01:17.000000000","tz":0},"committer":{"name":"edef","email":"edef@edef.eu","date":"2025-05-01 14:09:04.000000000","tz":0},"subject":"refactor(eval/builtins/intersectAttrs): use kv iterator instead of unsafe get","message":"refactor(eval/builtins/intersectAttrs): use kv iterator instead of unsafe get\n\nWe can just iterate key-value pairs for our merge sort, rather than\nrelying on unsafe to get us the value without costing us a presence\ncheck.\n\nChange-Id: I7145a1b2f33a8510de8d7fbd1a12804517a78042\n"},"branch":"refs/heads/canon"},"e12b275498e8fcdb907c321754a3f12500ef8ea9":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2025-05-01 14:48:39.000000000","uploader":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"ref":"refs/changes/71/30371/2","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/71/30371/2","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/71/30371/2"}}},"commit":{"parents":[{"commit":"3626680cd2195b76aa42945f4464be98dad4dd7d","subject":"feat(tvix/eval/benches): benchmark intersectAttrs"}],"author":{"name":"edef","email":"edef@edef.eu","date":"2025-05-01 14:01:17.000000000","tz":0},"committer":{"name":"edef","email":"edef@edef.eu","date":"2025-05-01 14:48:16.000000000","tz":0},"subject":"refactor(eval/builtins/intersectAttrs): use kv iterator instead of unsafe get","message":"refactor(eval/builtins/intersectAttrs): use kv iterator instead of unsafe get\n\nWe can just iterate key-value pairs for our merge sort, rather than\nrelying on unsafe to get us the value without costing us a presence\ncheck.\n\nChange-Id: I7145a1b2f33a8510de8d7fbd1a12804517a78042\n"},"branch":"refs/heads/canon"},"18afd633ef9336946aa32ee5f6264cb60cfe1b78":{"kind":"TRIVIAL_REBASE","_number":3,"created":"2025-05-01 14:50:43.000000000","uploader":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"ref":"refs/changes/71/30371/3","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/71/30371/3","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/71/30371/3"}}},"commit":{"parents":[{"commit":"54ebd40e5dfd9ef46dfde7a967c453c50e6ffaf4","subject":"feat(tvix/eval/benches): benchmark intersectAttrs"}],"author":{"name":"edef","email":"edef@edef.eu","date":"2025-05-01 14:01:17.000000000","tz":0},"committer":{"name":"edef","email":"edef@edef.eu","date":"2025-05-01 14:50:27.000000000","tz":0},"subject":"refactor(eval/builtins/intersectAttrs): use kv iterator instead of unsafe get","message":"refactor(eval/builtins/intersectAttrs): use kv iterator instead of unsafe get\n\nWe can just iterate key-value pairs for our merge sort, rather than\nrelying on unsafe to get us the value without costing us a presence\ncheck.\n\nChange-Id: I7145a1b2f33a8510de8d7fbd1a12804517a78042\n"},"branch":"refs/heads/canon"},"c528ebf404cb6c36e5072e29c77782a4225ba1ee":{"kind":"TRIVIAL_REBASE","_number":4,"created":"2025-05-01 15:04:14.000000000","uploader":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"ref":"refs/changes/71/30371/4","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/71/30371/4","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/71/30371/4"}}},"commit":{"parents":[{"commit":"da4dec5ecff253503b63abe48bedbc1893055b35","subject":"docs(snix/eval/intersectAttrs): simplify algorithm description"}],"author":{"name":"edef","email":"edef@edef.eu","date":"2025-05-01 14:01:17.000000000","tz":0},"committer":{"name":"edef","email":"edef@edef.eu","date":"2025-05-01 15:03:51.000000000","tz":0},"subject":"refactor(eval/builtins/intersectAttrs): use kv iterator instead of unsafe get","message":"refactor(eval/builtins/intersectAttrs): use kv iterator instead of unsafe get\n\nWe can just iterate key-value pairs for our merge sort, rather than\nrelying on unsafe to get us the value without costing us a presence\ncheck.\n\nChange-Id: I7145a1b2f33a8510de8d7fbd1a12804517a78042\n"},"branch":"refs/heads/canon"},"3d9510932832b2cc37be535006ff6a03d568d22a":{"kind":"TRIVIAL_REBASE_WITH_MESSAGE_UPDATE","_number":5,"created":"2025-05-01 16:03:11.000000000","uploader":{"_account_id":1000001,"name":"edef","display_name":"edef","email":"edef@edef.eu","username":"edef"},"ref":"refs/changes/71/30371/5","fetch":{"anonymous http":{"url":"https://cl.snix.dev/snix","ref":"refs/changes/71/30371/5","commands":{"Checkout":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://cl.snix.dev/snix refs/changes/71/30371/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://cl.snix.dev/snix refs/changes/71/30371/5"}}},"commit":{"parents":[{"commit":"94ba112360c7aefc6f42ed619de97747f8d7f973","subject":"docs(snix/eval/intersectAttrs): simplify algorithm description"}],"author":{"name":"edef","email":"edef@edef.eu","date":"2025-05-01 14:01:17.000000000","tz":0},"committer":{"name":"edef","email":"edef@edef.eu","date":"2025-05-01 16:03:11.000000000","tz":0},"subject":"refactor(eval/builtins/intersectAttrs): use kv iterator instead of unsafe get","message":"refactor(eval/builtins/intersectAttrs): use kv iterator instead of unsafe get\n\nWe can just iterate key-value pairs for our merge sort, rather than\nrelying on unsafe to get us the value without costing us a presence\ncheck.\n\nChange-Id: I7145a1b2f33a8510de8d7fbd1a12804517a78042\nReviewed-on: https://cl.snix.dev/c/snix/+/30371\nTested-by: besadii\nReviewed-by: Florian Klink \u003cflokli@flokli.de\u003e\n"},"branch":"refs/heads/canon","description":"Rebase"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"CLOSED","labels":[{"label":"Code-Review","status":"MAY","applied_by":{"_account_id":1000004,"name":"Florian Klink","email":"flokli@flokli.de","username":"flokli"}},{"label":"Verified","status":"MAY","applied_by":{"_account_id":1000002,"name":"besadii","username":"besadii","tags":["SERVICE_USER"]}},{"label":"Autosubmit","status":"MAY"}]},{"rule_name":"Code-Owners","status":"CLOSED"}],"submit_requirements":[{"name":"Code-Review","description":"A maximum vote from a non-uploader is required for the \u0027Code-Review\u0027 label. A minimum vote is blocking.","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX,user\u003dnon_uploader AND -label:Code-Review\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":["label:Code-Review\u003dMAX,user\u003dnon_uploader"],"failing_atoms":["label:Code-Review\u003dMIN"],"atom_explanations":{}}},{"name":"Verified","description":"Label \u0027Verified+1\u0027 is required","status":"SATISFIED","is_legacy":false,"applicability_expression_result":{"fulfilled":true,"status":"PASS"},"submittability_expression_result":{"expression":"label:Verified\u003dMAX,user\u003dnon_uploader","fulfilled":true,"status":"PASS","passing_atoms":["label:Verified\u003dMAX,user\u003dnon_uploader"],"failing_atoms":[],"atom_explanations":{}}},{"name":"Code-Owners","status":"SATISFIED","is_legacy":true,"submittability_expression_result":{"expression":"rule:Code-Owners","fulfilled":true,"status":"PASS","passing_atoms":["Code-Owners"],"failing_atoms":[],"atom_explanations":{}}},{"name":"No-Unresolved-Comments","description":"Changes that have unresolved comments are not submittable.","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"-has:unresolved","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}}]}
