)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"9de044a75f7bf3ab19dca81f02bebdee489746bb","unresolved":true,"context_lines":[{"line_number":7,"context_line":"WIP feat(tvix/dummystore): dummy/simulated store backend"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"NOTE: This change (so far) only implements the easy parts. More work is"},{"line_number":10,"context_line":"pending, but I\u0027d like some feedback on the idea."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"TODO: dummystore clashes with DummyIO – what should we name it?"},{"line_number":13,"context_line":"      simulatedstore?"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5268b21b_85c07f3c","line":10,"range":{"start_line":10,"start_character":13,"end_line":10,"end_character":47},"updated":"2025-01-09 14:55:49.000000000","message":"Makes sense to me. It does feel like there\u0027s a superset of EvalIO that we should name more explicitly (the \"stuff you need to do to be a functional Nix store\"), i.e. provide everything from EvalIO _and_ provide an impl for the builtins.\n\nThis trait (or whatever) would then be implemented by DummyStore, CAStore, a future filesystem-only store and so on.","commit_id":"73bbe0632c51facfee8854ba387a19f1e64b2e0d"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"d3aae9f3c21cdb1204688b948135cbd7460b75ca","unresolved":true,"context_lines":[{"line_number":7,"context_line":"WIP feat(tvix/dummystore): dummy/simulated store backend"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"NOTE: This change (so far) only implements the easy parts. More work is"},{"line_number":10,"context_line":"pending, but I\u0027d like some feedback on the idea."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"TODO: dummystore clashes with DummyIO – what should we name it?"},{"line_number":13,"context_line":"      simulatedstore?"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"6aeb872e_2222eecb","line":10,"range":{"start_line":10,"start_character":13,"end_line":10,"end_character":47},"in_reply_to":"5268b21b_85c07f3c","updated":"2025-01-11 16:22:51.000000000","message":"Agreed, this occurred to me, too, when sketching this out. A store backend should be a clearly separated layer, i.e. it shouldn\u0027t need to know what a builtin is.","commit_id":"73bbe0632c51facfee8854ba387a19f1e64b2e0d"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"ff5130acd90c8e3c4af75bc23142d7dcc343ce78","unresolved":false,"context_lines":[{"line_number":7,"context_line":"WIP feat(tvix/dummystore): dummy/simulated store backend"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"NOTE: This change (so far) only implements the easy parts. More work is"},{"line_number":10,"context_line":"pending, but I\u0027d like some feedback on the idea."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"TODO: dummystore clashes with DummyIO – what should we name it?"},{"line_number":13,"context_line":"      simulatedstore?"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"be4f60bc_8911a099","line":10,"range":{"start_line":10,"start_character":13,"end_line":10,"end_character":47},"in_reply_to":"6aeb872e_2222eecb","updated":"2025-05-08 14:01:14.000000000","message":"Acknowledged","commit_id":"73bbe0632c51facfee8854ba387a19f1e64b2e0d"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"9de044a75f7bf3ab19dca81f02bebdee489746bb","unresolved":true,"context_lines":[{"line_number":40,"context_line":"dummystore also needs to provide implementations for the following"},{"line_number":41,"context_line":"builtins:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"- builtins.derivation"},{"line_number":44,"context_line":"- builtins.derivationStrict"},{"line_number":45,"context_line":"- builtins.storePath"},{"line_number":46,"context_line":"- builtins.path"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"db73b2f5_aae487da","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":2},"updated":"2025-01-09 14:55:49.000000000","message":"I think `derivation` itself should not change (it\u0027s just a laziness wrapper around `derivationStrict` with some arg shuffling).","commit_id":"73bbe0632c51facfee8854ba387a19f1e64b2e0d"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"d3aae9f3c21cdb1204688b948135cbd7460b75ca","unresolved":false,"context_lines":[{"line_number":40,"context_line":"dummystore also needs to provide implementations for the following"},{"line_number":41,"context_line":"builtins:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"- builtins.derivation"},{"line_number":44,"context_line":"- builtins.derivationStrict"},{"line_number":45,"context_line":"- builtins.storePath"},{"line_number":46,"context_line":"- builtins.path"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"2865c42f_05afbe14","line":43,"range":{"start_line":43,"start_character":0,"end_line":43,"end_character":2},"in_reply_to":"db73b2f5_aae487da","updated":"2025-01-11 16:22:51.000000000","message":"Done","commit_id":"73bbe0632c51facfee8854ba387a19f1e64b2e0d"}],"tvix/dummystore/src/main.rs":[{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"9de044a75f7bf3ab19dca81f02bebdee489746bb","unresolved":true,"context_lines":[{"line_number":1,"context_line":"fn main() {"},{"line_number":2,"context_line":"    println!(\"Hello, world!\");"},{"line_number":3,"context_line":"}"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"59260642_4954c3d0","line":1,"range":{"start_line":1,"start_character":3,"end_line":1,"end_character":7},"updated":"2025-01-09 14:55:49.000000000","message":"I don\u0027t think this needs to be a binary?","commit_id":"73bbe0632c51facfee8854ba387a19f1e64b2e0d"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"d3aae9f3c21cdb1204688b948135cbd7460b75ca","unresolved":false,"context_lines":[{"line_number":1,"context_line":"fn main() {"},{"line_number":2,"context_line":"    println!(\"Hello, world!\");"},{"line_number":3,"context_line":"}"}],"source_content_type":"text/x-rustsrc","patch_set":1,"id":"512bf41d_0cd7396c","line":1,"range":{"start_line":1,"start_character":3,"end_line":1,"end_character":7},"in_reply_to":"59260642_4954c3d0","updated":"2025-01-11 16:22:51.000000000","message":"Done","commit_id":"73bbe0632c51facfee8854ba387a19f1e64b2e0d"}],"tvix/simstore/src/lib.rs":[{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"9baa82700c25113cbcd679c50d921dde999d7dbd","unresolved":true,"context_lines":[{"line_number":9,"context_line":"//! [`SimulatedStoreError::StorePathRead`], i.e. `tvix-simstore` won\u0027t access store paths"},{"line_number":10,"context_line":"//! (i.e. paths below the configured `store_dir`) since they\u0027d exist only by chance."},{"line_number":11,"context_line":"//!"},{"line_number":12,"context_line":"//! Since no uniform store interface has been defined by `tvix-eval` yet, `tvix-simstore` consists"},{"line_number":13,"context_line":"//! of the following components:"},{"line_number":14,"context_line":"//!"},{"line_number":15,"context_line":"//! - [`SimulatedStoreIO`] implements the `EvalIO` trait and handles calculation of the store"}],"source_content_type":"text/x-rustsrc","patch_set":10,"id":"cc8ee43c_97bfa62a","line":12,"range":{"start_line":12,"start_character":10,"end_line":12,"end_character":72},"updated":"2025-05-17 10:04:02.000000000","message":"from the perspective of eval it *is* defined though (EvalIO), it\u0027s just that eval itself doesn\u0027t care about derivations and so on for the most part","commit_id":"ed6def306e9169a2d27be29c68d2c46096b62c7d"},{"author":{"_account_id":1000034,"name":"sterni","email":"sternenseemann@systemli.org","username":"sterni"},"change_message_id":"e6046170a3278401c639445119e8ad9c6afd4efc","unresolved":false,"context_lines":[{"line_number":9,"context_line":"//! [`SimulatedStoreError::StorePathRead`], i.e. `tvix-simstore` won\u0027t access store paths"},{"line_number":10,"context_line":"//! (i.e. paths below the configured `store_dir`) since they\u0027d exist only by chance."},{"line_number":11,"context_line":"//!"},{"line_number":12,"context_line":"//! Since no uniform store interface has been defined by `tvix-eval` yet, `tvix-simstore` consists"},{"line_number":13,"context_line":"//! of the following components:"},{"line_number":14,"context_line":"//!"},{"line_number":15,"context_line":"//! - [`SimulatedStoreIO`] implements the `EvalIO` trait and handles calculation of the store"}],"source_content_type":"text/x-rustsrc","patch_set":10,"id":"01800f3c_ab9c361e","line":12,"range":{"start_line":12,"start_character":10,"end_line":12,"end_character":72},"in_reply_to":"b50b4d4b_328c8ef3","updated":"2025-05-17 23:05:46.000000000","message":"I\u0027ve updated the commit, refrained on elaborating on the topic further. It\u0027s very tricky to describe properly because there is a clear layer violation in the language design. In some ways eval is intertwined with store, in some ways it doesn\u0027t need to know anything.","commit_id":"ed6def306e9169a2d27be29c68d2c46096b62c7d"},{"author":{"_account_id":1000001,"name":"tazjin","email":"tazjin@tvl.su","username":"tazjin"},"change_message_id":"0963657f9d44e033f4fb1c3c1859413b94d32706","unresolved":true,"context_lines":[{"line_number":9,"context_line":"//! [`SimulatedStoreError::StorePathRead`], i.e. `tvix-simstore` won\u0027t access store paths"},{"line_number":10,"context_line":"//! (i.e. paths below the configured `store_dir`) since they\u0027d exist only by chance."},{"line_number":11,"context_line":"//!"},{"line_number":12,"context_line":"//! Since no uniform store interface has been defined by `tvix-eval` yet, `tvix-simstore` consists"},{"line_number":13,"context_line":"//! of the following components:"},{"line_number":14,"context_line":"//!"},{"line_number":15,"context_line":"//! - [`SimulatedStoreIO`] implements the `EvalIO` trait and handles calculation of the store"}],"source_content_type":"text/x-rustsrc","patch_set":10,"id":"b50b4d4b_328c8ef3","line":12,"range":{"start_line":12,"start_character":10,"end_line":12,"end_character":72},"in_reply_to":"cc8ee43c_97bfa62a","updated":"2025-05-17 10:08:22.000000000","message":"in fact, `glue` should probably define the interface it needs","commit_id":"ed6def306e9169a2d27be29c68d2c46096b62c7d"}]}
