)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"6d212c91093771dc2240821a2e09262d10a08689","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"8d54566f_58a6199d","updated":"2024-08-05 13:13:32.000000000","message":"Punting this to Serge, I have no opinions on this.","commit_id":"48f1e52eda0b864a7a89c7820fa4f52b819685be"}],"cloud/agent/e2e/BUILD.bazel":[{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c921c6318a6b10751da15006003628cd79c3f1b9","unresolved":true,"context_lines":[{"line_number":11,"context_line":"        \"//third_party/linux\","},{"line_number":12,"context_line":"    ],"},{"line_number":13,"context_line":"    x_defs \u003d {"},{"line_number":14,"context_line":"        \"bundleFilePath\": \"$(rlocationpath //metropolis/installer/test/testos:testos_bundle )\","},{"line_number":15,"context_line":"        \"ovmfVarsPath\": \"$(rlocationpath //third_party/edk2:OVMF_VARS.fd )\","},{"line_number":16,"context_line":"        \"ovmfCodePath\": \"$(rlocationpath //third_party/edk2:OVMF_CODE.fd )\","},{"line_number":17,"context_line":"        \"kernelPath\": \"$(rlocationpath //third_party/linux )\","}],"source_content_type":"text/x-python","patch_set":1,"id":"687d24d9_0339e4a7","line":14,"range":{"start_line":14,"start_character":29,"end_line":14,"end_character":42},"updated":"2024-08-05 13:49:34.000000000","message":"This will fail at buildtime if the given path isn\u0027t valid and isn\u0027t an actual (transitive) dep, right?","commit_id":"48f1e52eda0b864a7a89c7820fa4f52b819685be"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f1120dc61e88b36214719eb3e148ce5694685358","unresolved":true,"context_lines":[{"line_number":11,"context_line":"        \"//third_party/linux\","},{"line_number":12,"context_line":"    ],"},{"line_number":13,"context_line":"    x_defs \u003d {"},{"line_number":14,"context_line":"        \"bundleFilePath\": \"$(rlocationpath //metropolis/installer/test/testos:testos_bundle )\","},{"line_number":15,"context_line":"        \"ovmfVarsPath\": \"$(rlocationpath //third_party/edk2:OVMF_VARS.fd )\","},{"line_number":16,"context_line":"        \"ovmfCodePath\": \"$(rlocationpath //third_party/edk2:OVMF_CODE.fd )\","},{"line_number":17,"context_line":"        \"kernelPath\": \"$(rlocationpath //third_party/linux )\","}],"source_content_type":"text/x-python","patch_set":1,"id":"803a17e6_5cdd403f","line":14,"range":{"start_line":14,"start_character":29,"end_line":14,"end_character":42},"in_reply_to":"687d24d9_0339e4a7","updated":"2024-08-05 14:13:46.000000000","message":"Correct. If we dont define the same label as data dependency, it will throw an error at build time.","commit_id":"48f1e52eda0b864a7a89c7820fa4f52b819685be"},{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"0720802449b0ecc1436c35f9a2bb1b86a61dfb95","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        \"//third_party/linux\","},{"line_number":12,"context_line":"    ],"},{"line_number":13,"context_line":"    x_defs \u003d {"},{"line_number":14,"context_line":"        \"bundleFilePath\": \"$(rlocationpath //metropolis/installer/test/testos:testos_bundle )\","},{"line_number":15,"context_line":"        \"ovmfVarsPath\": \"$(rlocationpath //third_party/edk2:OVMF_VARS.fd )\","},{"line_number":16,"context_line":"        \"ovmfCodePath\": \"$(rlocationpath //third_party/edk2:OVMF_CODE.fd )\","},{"line_number":17,"context_line":"        \"kernelPath\": \"$(rlocationpath //third_party/linux )\","}],"source_content_type":"text/x-python","patch_set":1,"id":"1b89a1bb_eacd9fe7","line":14,"range":{"start_line":14,"start_character":29,"end_line":14,"end_character":42},"in_reply_to":"803a17e6_5cdd403f","updated":"2024-08-05 14:46:32.000000000","message":"Acknowledged","commit_id":"48f1e52eda0b864a7a89c7820fa4f52b819685be"}],"cloud/agent/e2e/main_test.go":[{"author":{"_account_id":1000002,"name":"Serge Bazanski","display_name":"Serge","email":"serge@monogon.tech","username":"serge","avatars":[{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/52c41428b6369f2c02b9717425216f7d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"c921c6318a6b10751da15006003628cd79c3f1b9","unresolved":true,"context_lines":[{"line_number":38,"context_line":"\t// These are filled by bazel at linking time with the canonical path of"},{"line_number":39,"context_line":"\t// their corresponding file. Inside the init function we resolve it"},{"line_number":40,"context_line":"\t// with the rules_go runfiles package to the real path."},{"line_number":41,"context_line":"\tbundleFilePath    string"},{"line_number":42,"context_line":"\tovmfVarsPath      string"},{"line_number":43,"context_line":"\tovmfCodePath      string"},{"line_number":44,"context_line":"\tkernelPath        string"}],"source_content_type":"text/x-go","patch_set":1,"id":"41f07e63_574839ba","line":41,"range":{"start_line":41,"start_character":1,"end_line":41,"end_character":15},"updated":"2024-08-05 13:49:34.000000000","message":"How about we introduce a convention for package variables which are populated by x_defs, same as we do for eg. flags? For example, `xBundleFilePath` or `defBundleFilePath`?\n\nWe could also move these to a separate file by convention, eg. `defs.go` or `runfiles.go`...","commit_id":"48f1e52eda0b864a7a89c7820fa4f52b819685be"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"f1120dc61e88b36214719eb3e148ce5694685358","unresolved":true,"context_lines":[{"line_number":38,"context_line":"\t// These are filled by bazel at linking time with the canonical path of"},{"line_number":39,"context_line":"\t// their corresponding file. Inside the init function we resolve it"},{"line_number":40,"context_line":"\t// with the rules_go runfiles package to the real path."},{"line_number":41,"context_line":"\tbundleFilePath    string"},{"line_number":42,"context_line":"\tovmfVarsPath      string"},{"line_number":43,"context_line":"\tovmfCodePath      string"},{"line_number":44,"context_line":"\tkernelPath        string"}],"source_content_type":"text/x-go","patch_set":1,"id":"db798790_67b4f689","line":41,"range":{"start_line":41,"start_character":1,"end_line":41,"end_character":15},"in_reply_to":"41f07e63_574839ba","updated":"2024-08-05 14:13:46.000000000","message":"Sounds good to me. Will adapt it to that.","commit_id":"48f1e52eda0b864a7a89c7820fa4f52b819685be"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"8f09ee9c648ef42e4c4ee0f148c55e969b1391e7","unresolved":false,"context_lines":[{"line_number":38,"context_line":"\t// These are filled by bazel at linking time with the canonical path of"},{"line_number":39,"context_line":"\t// their corresponding file. Inside the init function we resolve it"},{"line_number":40,"context_line":"\t// with the rules_go runfiles package to the real path."},{"line_number":41,"context_line":"\tbundleFilePath    string"},{"line_number":42,"context_line":"\tovmfVarsPath      string"},{"line_number":43,"context_line":"\tovmfCodePath      string"},{"line_number":44,"context_line":"\tkernelPath        string"}],"source_content_type":"text/x-go","patch_set":1,"id":"266b3e8e_77ac0488","line":41,"range":{"start_line":41,"start_character":1,"end_line":41,"end_character":15},"in_reply_to":"db798790_67b4f689","updated":"2024-08-12 14:15:26.000000000","message":"Done","commit_id":"48f1e52eda0b864a7a89c7820fa4f52b819685be"}],"metropolis/test/launch/BUILD.bazel":[{"author":{"_account_id":1000001,"name":"Lorenz Brun","display_name":"Lorenz","email":"lorenz@monogon.tech","username":"lorenz","avatars":[{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/75c04f6e9881c24ee621fba80667eed8.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"082bc4943a337dd21ffa02962a9e650a8dae15ed","unresolved":true,"context_lines":[{"line_number":11,"context_line":"        \"swtpm.go\","},{"line_number":12,"context_line":"    ],"},{"line_number":13,"context_line":"    data \u003d ["},{"line_number":14,"context_line":"        \"//metropolis/cli/metroctl\","},{"line_number":15,"context_line":"        \"//metropolis/node:image\","},{"line_number":16,"context_line":"        \"//metropolis/test/nanoswitch:initramfs\","},{"line_number":17,"context_line":"        \"//metropolis/test/swtpm/certtool\","}],"source_content_type":"text/x-python","patch_set":3,"id":"8532535f_3ff9c409","line":14,"range":{"start_line":14,"start_character":9,"end_line":14,"end_character":34},"updated":"2024-08-29 12:49:40.000000000","message":"This added a bundle dependency via metroctl to a lot of hot paths. We should not unconditionally do this.","commit_id":"82e6af71ad2b7927de8d754799271ee9f39506f9"},{"author":{"_account_id":1000019,"name":"Tim Windelschmidt","display_name":"Tim","email":"tim@monogon.tech","username":"fionera","avatars":[{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/57e6137fdb8185cd15ac27ba188780ff.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"2d685011b859da7890b6e1beac627ba90a7e0e91","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        \"swtpm.go\","},{"line_number":12,"context_line":"    ],"},{"line_number":13,"context_line":"    data \u003d ["},{"line_number":14,"context_line":"        \"//metropolis/cli/metroctl\","},{"line_number":15,"context_line":"        \"//metropolis/node:image\","},{"line_number":16,"context_line":"        \"//metropolis/test/nanoswitch:initramfs\","},{"line_number":17,"context_line":"        \"//metropolis/test/swtpm/certtool\","}],"source_content_type":"text/x-python","patch_set":3,"id":"8d4b20fb_133c0f2b","line":14,"range":{"start_line":14,"start_character":9,"end_line":14,"end_character":34},"in_reply_to":"8532535f_3ff9c409","updated":"2024-09-04 11:15:54.000000000","message":"Will be fixed with https://review.monogon.dev/c/monogon/+/3372","commit_id":"82e6af71ad2b7927de8d754799271ee9f39506f9"}]}
