)]}'
{"tvix/docs/components.md":[{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c91a8e94b80bf506f0a338700393094f66b8ea40","unresolved":true,"context_lines":[{"line_number":63,"context_line":"command itself. We give it filesystem access to handle things like"},{"line_number":64,"context_line":"imports or `builtins.readFile`."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"To support IFD usecases, the Evaluator also needs access to store paths. This"},{"line_number":67,"context_line":"could be implemented by having the coordinator provide an interface to retrieve"},{"line_number":68,"context_line":"files from a store path, or by ensuring a \"realized version of the store\" is"},{"line_number":69,"context_line":"accessible by the evaluator (this could be a fuse filesystem, or the \"real\""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"e4860298_635a13c5","line":66,"range":{"start_line":66,"start_character":15,"end_line":66,"end_character":23},"updated":"2022-09-15 20:04:33.000000000","message":"can drop this word","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"3d15f8c18e8f952b1ab1431b480f92059788880c","unresolved":false,"context_lines":[{"line_number":63,"context_line":"command itself. We give it filesystem access to handle things like"},{"line_number":64,"context_line":"imports or `builtins.readFile`."},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"To support IFD usecases, the Evaluator also needs access to store paths. This"},{"line_number":67,"context_line":"could be implemented by having the coordinator provide an interface to retrieve"},{"line_number":68,"context_line":"files from a store path, or by ensuring a \"realized version of the store\" is"},{"line_number":69,"context_line":"accessible by the evaluator (this could be a fuse filesystem, or the \"real\""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"9b25187f_9f25e17d","line":66,"range":{"start_line":66,"start_character":15,"end_line":66,"end_character":23},"in_reply_to":"e4860298_635a13c5","updated":"2022-09-16 07:46:46.000000000","message":"Done","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c91a8e94b80bf506f0a338700393094f66b8ea40","unresolved":true,"context_lines":[{"line_number":66,"context_line":"To support IFD usecases, the Evaluator also needs access to store paths. This"},{"line_number":67,"context_line":"could be implemented by having the coordinator provide an interface to retrieve"},{"line_number":68,"context_line":"files from a store path, or by ensuring a \"realized version of the store\" is"},{"line_number":69,"context_line":"accessible by the evaluator (this could be a fuse filesystem, or the \"real\""},{"line_number":70,"context_line":"/nix/store on disk."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"We might be okay with running the evaluator with filesystem access for now and"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"1ddee09d_83156b77","line":69,"range":{"start_line":69,"start_character":45,"end_line":69,"end_character":49},"updated":"2022-09-15 20:04:33.000000000","message":"should be \"FUSE\"","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"3d15f8c18e8f952b1ab1431b480f92059788880c","unresolved":false,"context_lines":[{"line_number":66,"context_line":"To support IFD usecases, the Evaluator also needs access to store paths. This"},{"line_number":67,"context_line":"could be implemented by having the coordinator provide an interface to retrieve"},{"line_number":68,"context_line":"files from a store path, or by ensuring a \"realized version of the store\" is"},{"line_number":69,"context_line":"accessible by the evaluator (this could be a fuse filesystem, or the \"real\""},{"line_number":70,"context_line":"/nix/store on disk."},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"We might be okay with running the evaluator with filesystem access for now and"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"68dcef65_4fe54a13","line":69,"range":{"start_line":69,"start_character":45,"end_line":69,"end_character":49},"in_reply_to":"1ddee09d_83156b77","updated":"2022-09-16 07:46:46.000000000","message":"Done","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c91a8e94b80bf506f0a338700393094f66b8ea40","unresolved":true,"context_lines":[{"line_number":97,"context_line":"With a well-defined builder abstraction, it\u0027s also easy to imagine"},{"line_number":98,"context_line":"other backends such as a Kubernetes-based one in the future."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"The environment in which builds happen is currently very nix-specific."},{"line_number":101,"context_line":"We might want to avoid having to maintain all the delicacies of a"},{"line_number":102,"context_line":"Nix-specific sandboxing environment in every builder, and instead only provide"},{"line_number":103,"context_line":"a more generic interface, receiving build requests (and have the coordinator"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"9e129e78_61d8a190","line":100,"range":{"start_line":100,"start_character":57,"end_line":100,"end_character":60},"updated":"2022-09-15 20:04:33.000000000","message":"Nix","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"3d15f8c18e8f952b1ab1431b480f92059788880c","unresolved":false,"context_lines":[{"line_number":97,"context_line":"With a well-defined builder abstraction, it\u0027s also easy to imagine"},{"line_number":98,"context_line":"other backends such as a Kubernetes-based one in the future."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"The environment in which builds happen is currently very nix-specific."},{"line_number":101,"context_line":"We might want to avoid having to maintain all the delicacies of a"},{"line_number":102,"context_line":"Nix-specific sandboxing environment in every builder, and instead only provide"},{"line_number":103,"context_line":"a more generic interface, receiving build requests (and have the coordinator"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"9ab0c7a5_b6828883","line":100,"range":{"start_line":100,"start_character":57,"end_line":100,"end_character":60},"in_reply_to":"9e129e78_61d8a190","updated":"2022-09-16 07:46:46.000000000","message":"Done","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c91a8e94b80bf506f0a338700393094f66b8ea40","unresolved":true,"context_lines":[{"line_number":98,"context_line":"other backends such as a Kubernetes-based one in the future."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"The environment in which builds happen is currently very nix-specific."},{"line_number":101,"context_line":"We might want to avoid having to maintain all the delicacies of a"},{"line_number":102,"context_line":"Nix-specific sandboxing environment in every builder, and instead only provide"},{"line_number":103,"context_line":"a more generic interface, receiving build requests (and have the coordinator"},{"line_number":104,"context_line":"translate derivations to that format). [^1]"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"2e7968c3_d5f87a8e","line":101,"range":{"start_line":101,"start_character":50,"end_line":101,"end_character":60},"updated":"2022-09-15 20:04:33.000000000","message":"intricacies","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"3d15f8c18e8f952b1ab1431b480f92059788880c","unresolved":false,"context_lines":[{"line_number":98,"context_line":"other backends such as a Kubernetes-based one in the future."},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"The environment in which builds happen is currently very nix-specific."},{"line_number":101,"context_line":"We might want to avoid having to maintain all the delicacies of a"},{"line_number":102,"context_line":"Nix-specific sandboxing environment in every builder, and instead only provide"},{"line_number":103,"context_line":"a more generic interface, receiving build requests (and have the coordinator"},{"line_number":104,"context_line":"translate derivations to that format). [^1]"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"fccd1c7a_e36c0e37","line":101,"range":{"start_line":101,"start_character":50,"end_line":101,"end_character":60},"in_reply_to":"2e7968c3_d5f87a8e","updated":"2022-09-16 07:46:46.000000000","message":"Done","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c91a8e94b80bf506f0a338700393094f66b8ea40","unresolved":true,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"*Purpose:* Store takes care of storing build results. It provides a"},{"line_number":112,"context_line":"unified interface to get store paths and upload new ones, as well as querying"},{"line_number":113,"context_line":"for the existence of a store path, and its metadata (references, signatures,"},{"line_number":114,"context_line":"…)."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"There\u0027s been some improvements on the underlying store protocol. Instead of"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"66ccb2f7_425229af","line":113,"range":{"start_line":113,"start_character":33,"end_line":113,"end_character":34},"updated":"2022-09-15 20:04:33.000000000","message":"drop this comma","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"3d15f8c18e8f952b1ab1431b480f92059788880c","unresolved":false,"context_lines":[{"line_number":110,"context_line":""},{"line_number":111,"context_line":"*Purpose:* Store takes care of storing build results. It provides a"},{"line_number":112,"context_line":"unified interface to get store paths and upload new ones, as well as querying"},{"line_number":113,"context_line":"for the existence of a store path, and its metadata (references, signatures,"},{"line_number":114,"context_line":"…)."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"There\u0027s been some improvements on the underlying store protocol. Instead of"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"100e50a8_94fa0463","line":113,"range":{"start_line":113,"start_character":33,"end_line":113,"end_character":34},"in_reply_to":"66ccb2f7_425229af","updated":"2022-09-16 07:46:46.000000000","message":"Done","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c91a8e94b80bf506f0a338700393094f66b8ea40","unresolved":false,"context_lines":[{"line_number":111,"context_line":"*Purpose:* Store takes care of storing build results. It provides a"},{"line_number":112,"context_line":"unified interface to get store paths and upload new ones, as well as querying"},{"line_number":113,"context_line":"for the existence of a store path, and its metadata (references, signatures,"},{"line_number":114,"context_line":"…)."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"There\u0027s been some improvements on the underlying store protocol. Instead of"},{"line_number":117,"context_line":"transferring around NAR files, which don\u0027t provide an index and don\u0027t allow"}],"source_content_type":"text/x-markdown","patch_set":1,"id":"6580a2eb_d14370ad","line":114,"range":{"start_line":114,"start_character":0,"end_line":114,"end_character":1},"updated":"2022-09-15 20:04:33.000000000","message":"fancy","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c91a8e94b80bf506f0a338700393094f66b8ea40","unresolved":true,"context_lines":[{"line_number":113,"context_line":"for the existence of a store path, and its metadata (references, signatures,"},{"line_number":114,"context_line":"…)."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"There\u0027s been some improvements on the underlying store protocol. Instead of"},{"line_number":117,"context_line":"transferring around NAR files, which don\u0027t provide an index and don\u0027t allow"},{"line_number":118,"context_line":"seekable access, a concept similar to git tree hashing is used."},{"line_number":119,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"aa19b302_3f3450ed","line":116,"range":{"start_line":116,"start_character":0,"end_line":116,"end_character":30},"updated":"2022-09-15 20:04:33.000000000","message":"they didn\u0027t appear out of nowhere, I think we can make stronger claims here and say \"We have improved the [...]\"","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"3d15f8c18e8f952b1ab1431b480f92059788880c","unresolved":true,"context_lines":[{"line_number":113,"context_line":"for the existence of a store path, and its metadata (references, signatures,"},{"line_number":114,"context_line":"…)."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"There\u0027s been some improvements on the underlying store protocol. Instead of"},{"line_number":117,"context_line":"transferring around NAR files, which don\u0027t provide an index and don\u0027t allow"},{"line_number":118,"context_line":"seekable access, a concept similar to git tree hashing is used."},{"line_number":119,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"badc7b51_ebb3b492","line":116,"range":{"start_line":116,"start_character":0,"end_line":116,"end_character":30},"in_reply_to":"aa19b302_3f3450ed","updated":"2022-09-16 07:46:46.000000000","message":"This document describes the (desired) architecture, so doesn\u0027t need to do too much storytelling.  I replaced this statement with \"Tvix natively uses an improved store protocol.\", and leave the details and storytelling to a blogpost :-D","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"37a3cd71c881287fefa5885c8a478b3834ce1f6b","unresolved":false,"context_lines":[{"line_number":113,"context_line":"for the existence of a store path, and its metadata (references, signatures,"},{"line_number":114,"context_line":"…)."},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"There\u0027s been some improvements on the underlying store protocol. Instead of"},{"line_number":117,"context_line":"transferring around NAR files, which don\u0027t provide an index and don\u0027t allow"},{"line_number":118,"context_line":"seekable access, a concept similar to git tree hashing is used."},{"line_number":119,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"339ab6c0_f9f692bc","line":116,"range":{"start_line":116,"start_character":0,"end_line":116,"end_character":30},"in_reply_to":"badc7b51_ebb3b492","updated":"2022-09-16 11:45:50.000000000","message":"Ack","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c91a8e94b80bf506f0a338700393094f66b8ea40","unresolved":true,"context_lines":[{"line_number":140,"context_line":"- SFTP/ GCP / S3 / HTTP"},{"line_number":141,"context_line":"- NAR/NARInfo protocol: HTTP, S3"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"A remote tvix store can be connected by simply connecting to its GRPC"},{"line_number":144,"context_line":"interface, possibly using SSH tunneling, but there doesn\u0027t need to be an"},{"line_number":145,"context_line":"additional \"wire format\" like the Nix `ssh(+ng)://` protocol."},{"line_number":146,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"20594a54_2cff9c5d","line":143,"range":{"start_line":143,"start_character":9,"end_line":143,"end_character":13},"updated":"2022-09-15 20:04:33.000000000","message":"Tvix","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c91a8e94b80bf506f0a338700393094f66b8ea40","unresolved":true,"context_lines":[{"line_number":140,"context_line":"- SFTP/ GCP / S3 / HTTP"},{"line_number":141,"context_line":"- NAR/NARInfo protocol: HTTP, S3"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"A remote tvix store can be connected by simply connecting to its GRPC"},{"line_number":144,"context_line":"interface, possibly using SSH tunneling, but there doesn\u0027t need to be an"},{"line_number":145,"context_line":"additional \"wire format\" like the Nix `ssh(+ng)://` protocol."},{"line_number":146,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"f64501a2_44e2be3f","line":143,"range":{"start_line":143,"start_character":65,"end_line":143,"end_character":69},"updated":"2022-09-15 20:04:33.000000000","message":"gRPC","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"3d15f8c18e8f952b1ab1431b480f92059788880c","unresolved":false,"context_lines":[{"line_number":140,"context_line":"- SFTP/ GCP / S3 / HTTP"},{"line_number":141,"context_line":"- NAR/NARInfo protocol: HTTP, S3"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"A remote tvix store can be connected by simply connecting to its GRPC"},{"line_number":144,"context_line":"interface, possibly using SSH tunneling, but there doesn\u0027t need to be an"},{"line_number":145,"context_line":"additional \"wire format\" like the Nix `ssh(+ng)://` protocol."},{"line_number":146,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"ac7502b6_f5367330","line":143,"range":{"start_line":143,"start_character":9,"end_line":143,"end_character":13},"in_reply_to":"20594a54_2cff9c5d","updated":"2022-09-16 07:46:46.000000000","message":"Done","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"3d15f8c18e8f952b1ab1431b480f92059788880c","unresolved":false,"context_lines":[{"line_number":140,"context_line":"- SFTP/ GCP / S3 / HTTP"},{"line_number":141,"context_line":"- NAR/NARInfo protocol: HTTP, S3"},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"A remote tvix store can be connected by simply connecting to its GRPC"},{"line_number":144,"context_line":"interface, possibly using SSH tunneling, but there doesn\u0027t need to be an"},{"line_number":145,"context_line":"additional \"wire format\" like the Nix `ssh(+ng)://` protocol."},{"line_number":146,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"4680d1b0_3aafb499","line":143,"range":{"start_line":143,"start_character":65,"end_line":143,"end_character":69},"in_reply_to":"f64501a2_44e2be3f","updated":"2022-09-16 07:46:46.000000000","message":"Done","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c91a8e94b80bf506f0a338700393094f66b8ea40","unresolved":true,"context_lines":[{"line_number":144,"context_line":"interface, possibly using SSH tunneling, but there doesn\u0027t need to be an"},{"line_number":145,"context_line":"additional \"wire format\" like the Nix `ssh(+ng)://` protocol."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Setting on one interface allows composition of stores, meaning it becomes"},{"line_number":148,"context_line":"possible to express substitution from remote caches as a proxy layer."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"It\u0027d also be possible to write a FUSE implementation on top of the RPC interface."}],"source_content_type":"text/x-markdown","patch_set":1,"id":"c0db66f2_90e35371","line":147,"range":{"start_line":147,"start_character":0,"end_line":147,"end_character":53},"updated":"2022-09-15 20:04:33.000000000","message":"What do you mean by \"setting\" here? Settling?","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"37a3cd71c881287fefa5885c8a478b3834ce1f6b","unresolved":false,"context_lines":[{"line_number":144,"context_line":"interface, possibly using SSH tunneling, but there doesn\u0027t need to be an"},{"line_number":145,"context_line":"additional \"wire format\" like the Nix `ssh(+ng)://` protocol."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Setting on one interface allows composition of stores, meaning it becomes"},{"line_number":148,"context_line":"possible to express substitution from remote caches as a proxy layer."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"It\u0027d also be possible to write a FUSE implementation on top of the RPC interface."}],"source_content_type":"text/x-markdown","patch_set":1,"id":"6aee1453_1697af6e","line":147,"range":{"start_line":147,"start_character":0,"end_line":147,"end_character":53},"in_reply_to":"6bb557e7_edb12445","updated":"2022-09-16 11:45:50.000000000","message":"Ack","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"3d15f8c18e8f952b1ab1431b480f92059788880c","unresolved":true,"context_lines":[{"line_number":144,"context_line":"interface, possibly using SSH tunneling, but there doesn\u0027t need to be an"},{"line_number":145,"context_line":"additional \"wire format\" like the Nix `ssh(+ng)://` protocol."},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"Setting on one interface allows composition of stores, meaning it becomes"},{"line_number":148,"context_line":"possible to express substitution from remote caches as a proxy layer."},{"line_number":149,"context_line":""},{"line_number":150,"context_line":"It\u0027d also be possible to write a FUSE implementation on top of the RPC interface."}],"source_content_type":"text/x-markdown","patch_set":1,"id":"6bb557e7_edb12445","line":147,"range":{"start_line":147,"start_character":0,"end_line":147,"end_character":53},"in_reply_to":"c0db66f2_90e35371","updated":"2022-09-16 07:46:46.000000000","message":"yes, but I typo\u0027ed. This is now fixed. So you have another proposal?","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"c91a8e94b80bf506f0a338700393094f66b8ea40","unresolved":true,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"It\u0027d also be possible to write a FUSE implementation on top of the RPC interface."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"If that\u0027s what\u0027s used in a builder, it can dramatically reduce the amount of"},{"line_number":153,"context_line":"build inputs transferred to there, and by this, speed up the amount of time"},{"line_number":154,"context_line":"spent copying things around."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"# Figures"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"3699fe56_0b8c84ca","line":154,"range":{"start_line":152,"start_character":0,"end_line":154,"end_character":28},"updated":"2022-09-15 20:04:33.000000000","message":"I don\u0027t really understand this paragraph, I think it\u0027s too many \"this\" and \"there\", not sure what exactly refers to what.","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000036,"name":"flokli","email":"flokli@flokli.de","username":"flokli"},"change_message_id":"3d15f8c18e8f952b1ab1431b480f92059788880c","unresolved":true,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"It\u0027d also be possible to write a FUSE implementation on top of the RPC interface."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"If that\u0027s what\u0027s used in a builder, it can dramatically reduce the amount of"},{"line_number":153,"context_line":"build inputs transferred to there, and by this, speed up the amount of time"},{"line_number":154,"context_line":"spent copying things around."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"# Figures"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"b8bbecb4_7abc2faf","line":154,"range":{"start_line":152,"start_character":0,"end_line":154,"end_character":28},"in_reply_to":"3699fe56_0b8c84ca","updated":"2022-09-16 07:46:46.000000000","message":"Builds (and IFD eval, but that\u0027s unrelated here) need file-level access to store paths.\n\nIn a remote build context, these store paths can be provided by having a sidecar super-lazy FUSE filesystem, using the improved store protocol under the hood. This avoids having to copy around stuff before it\u0027s needed.\n\nI merged the two paragraphs, and tried to reword it. PTAL. I\u0027m still not sure if that paragraph makes sense here, but I couldn\u0027t find another spot that\u0027d fit more naturally. PTAL.","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"37a3cd71c881287fefa5885c8a478b3834ce1f6b","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"It\u0027d also be possible to write a FUSE implementation on top of the RPC interface."},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"If that\u0027s what\u0027s used in a builder, it can dramatically reduce the amount of"},{"line_number":153,"context_line":"build inputs transferred to there, and by this, speed up the amount of time"},{"line_number":154,"context_line":"spent copying things around."},{"line_number":155,"context_line":""},{"line_number":156,"context_line":"# Figures"},{"line_number":157,"context_line":""}],"source_content_type":"text/x-markdown","patch_set":1,"id":"0d7f22ce_4f1c5c37","line":154,"range":{"start_line":152,"start_character":0,"end_line":154,"end_character":28},"in_reply_to":"b8bbecb4_7abc2faf","updated":"2022-09-16 11:45:50.000000000","message":"Ack","commit_id":"3506837e850bfadff14d186eae368403c6e35d6f"}]}
