diff --git a/docs/quality/diagnostic-allowances-linux.json b/docs/quality/diagnostic-allowances-linux.json index 102b3e6f..3e621662 100644 --- a/docs/quality/diagnostic-allowances-linux.json +++ b/docs/quality/diagnostic-allowances-linux.json @@ -1,62 +1,6 @@ { "schema": 1, "warnings": [ - { - "count": 1, - "fingerprint": "71a6fbd0e075f7bca826a065d8b76e484b4875a6f093f84e54435b13dc420bab", - "item": "crate::dlq_and_settle", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "c9df997dfba8fe967a2e7dc756fd00658525c64c2b5b7caba402e69cc0ac2ff9", - "item": "crate::ReadPlan < 'a >::segment", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "0008921133ad15a463a765a126faabe1a8b26edcb252db05337ec92b202fd46f", - "item": "crate::TEST_ASSERT_KEYED_DENSE", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "ee99fdfcbd2ac9a98b1979169a16a76f4ddcb71a8a4f48a67f79d4abd0e24319", - "item": "crate::read_merged", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "38c5fba0dcbe08fe844b3044cbbff4ee685a26765d0b1fb9948d13fd624f5190", - "item": "crate::read_stitched", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "d1ab2ef2c5d52cc346cc433c770edfd4dc2a508ec0ec7c27d5aef2937602fdad", - "item": "crate::WALK_CLOSE_SUBMITS_SNAPSHOT", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/dst/tests/runtime_sweep.rs" - }, - { - "count": 1, - "fingerprint": "4726a4571dfdb78495ced8de54fa2f3b16bb3d76083e46a6132cbeb4fa571ab5", - "item": "crate::TraceState::event", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "4536c5ad357fab836314c87fe78d95b9c23d9f545289e7ee7c0e600f6393a5d2", - "item": "crate::read", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/history/canonical_span.rs" - }, { "count": 1, "fingerprint": "926990bf4070f815519da4ea817cf8f1c3746bcd938d366e01d2064f42874d2a", @@ -78,13 +22,6 @@ "lint": "clippy::allow_attributes_without_reason", "path": "src/http.rs" }, - { - "count": 1, - "fingerprint": "3fc6f535aafafccf0492bd8dd860c3326140c64c8104e0d87824ee811be9aba4", - "item": "crate", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/project_policy.rs" - }, { "count": 1, "fingerprint": "9f75b52bc2315c18f5b5f127af17ec6b4cadc2938ee7e2e9d1b38fd6c521946a", @@ -106,20 +43,6 @@ "lint": "clippy::allow_attributes_without_reason", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "8d6026711db89f4d2295fd5cccc0b3aafdadba25af2349a816723c124357d9fa", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "1bb88504ce2fca87109f7467170295cbd58315776730d64836bd1891b3f6cc6f", - "item": "crate::LineageSpan::identity", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/sse/source.rs" - }, { "count": 1, "fingerprint": "65a87a98262bac6cbedb72481c3bb2932fc19fa79ebb2087e139e95a4be2de32", @@ -183,27 +106,6 @@ "lint": "clippy::arithmetic_side_effects", "path": "src/postings/validated/tests.rs" }, - { - "count": 1, - "fingerprint": "c6ca46333280941cc3d9e0533fb04c013cfbc0e35fcd776a233242943a9b421d", - "item": "crate::validate_boundary", - "lint": "clippy::cast_possible_truncation", - "path": "src/application/creation/fork.rs" - }, - { - "count": 1, - "fingerprint": "6976bf455d3ff810be747836b93b0a893da0aeb7a7cb1af430f022d5901c937d", - "item": "crate::o2_tests::o2_batch_publishes_one_owner_only_after_authentication_and_admission", - "lint": "clippy::cast_possible_truncation", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "a46e69225d9ed64fdb4fc51c623c367cc0c5a1fe1d45f0d95874afd2278bf356", - "item": "crate::o2_tests::o2_batch_publishes_one_owner_only_after_authentication_and_admission", - "lint": "clippy::cast_possible_truncation", - "path": "src/application/read.rs" - }, { "count": 1, "fingerprint": "19faeb7207c3e2acf0289a7024d8e6c58a999d895294c83ba774d6ca7da28d40", @@ -246,41 +148,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/crypto/decrypt/tests.rs" }, - { - "count": 1, - "fingerprint": "287f037923e94ad9602fa8936d7d3907ad9f5766f44826900d2cbbce2c323d30", - "item": "crate::a_bounded_cleanup_drains_residue_without_touching_the_live_generation", - "lint": "clippy::cast_possible_truncation", - "path": "src/dst/tests/consumer_generations.rs" - }, - { - "count": 1, - "fingerprint": "7d7179a86e3fc221ff7892272b362fdbb9b4fdd0b2c64b343f0a043cf94a5c19", - "item": "crate::a_bounded_cleanup_drains_residue_without_touching_the_live_generation", - "lint": "clippy::cast_possible_truncation", - "path": "src/dst/tests/consumer_generations.rs" - }, - { - "count": 1, - "fingerprint": "9c302163b5ac0595c88cf4781f878f9b6a19c2f66f407371aba23db42885c6be", - "item": "crate::a_bounded_cleanup_drains_residue_without_touching_the_live_generation", - "lint": "clippy::cast_possible_truncation", - "path": "src/dst/tests/consumer_generations.rs" - }, - { - "count": 1, - "fingerprint": "a09cfaa70cac37e0689661547b045c69e00ff0f527f728ed3c1726eddf15d439", - "item": "crate::drain_filtered", - "lint": "clippy::cast_possible_truncation", - "path": "src/dst/tests/fixture_storage.rs" - }, - { - "count": 1, - "fingerprint": "9284baf0ba6fae64e2b6d3168c3aa2d9cb5fef0a5c0735d7a8179c1ae8c50844", - "item": "crate::ring_ordering_paging_and_duplicates_at_offset_level", - "lint": "clippy::cast_possible_truncation", - "path": "src/dst/tests/reads_ring.rs" - }, { "count": 1, "fingerprint": "00d2626d124accbbd7a0db013c4e9b0416d8023a3eaa01e5f9ddc9928458ca43", @@ -323,13 +190,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/fleet/repository.rs" }, - { - "count": 1, - "fingerprint": "5af623bc62c0ccc1820a8f347ac915b3aca7e21cb2a40a61cdd46b0f61ff4867", - "item": "crate::raw_page", - "lint": "clippy::cast_possible_truncation", - "path": "src/history/postings_validation_tests.rs" - }, { "count": 1, "fingerprint": "d5be370059abb30c56ae98081eb68c137b9ff42e49bf9e04c6dde993dfdf51b8", @@ -337,13 +197,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/http.rs" }, - { - "count": 1, - "fingerprint": "16d4bd61ffc5b2b6345f6ef44318516da4f02fe7d1f9aa9e8ae9d14c522dd1f6", - "item": "crate::decode_char", - "lint": "clippy::cast_possible_truncation", - "path": "src/offsets.rs" - }, { "count": 1, "fingerprint": "b9c4dae2f6f8f9a15e07cedb0173130ecb2ac25bf3b7c17858430da758e4c98a", @@ -365,20 +218,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/product.rs" }, - { - "count": 1, - "fingerprint": "b900c089908cc6049a860cb71fca75c926382dffdeeadccf7dee050cd40e8cb3", - "item": "crate::CatalogCursor::encode", - "lint": "clippy::cast_possible_truncation", - "path": "src/product_cursor.rs" - }, - { - "count": 1, - "fingerprint": "854ed2b01aff96913794d23e8c6a480c2b3b900d70b52d6ce400051af02158f7", - "item": "crate::ScanCursor::encode", - "lint": "clippy::cast_possible_truncation", - "path": "src/product_cursor.rs" - }, { "count": 1, "fingerprint": "a2b9a18d18b6ccd3e1b5e20712a504f8f17e0fdd0767eef179ed8c2f5b9cd7c0", @@ -386,34 +225,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/registry.rs" }, - { - "count": 1, - "fingerprint": "9e489bf9c63f903996f5b53ecd6642d31bd17e94bd37af89ecb868015d63a846", - "item": "crate::::now", - "lint": "clippy::cast_possible_truncation", - "path": "src/runtime.rs" - }, - { - "count": 1, - "fingerprint": "043c5b1b0ed2607c4361ee53907fda91073cc4aae91b714732a9191d7ca520c8", - "item": "crate::ManualClock::advance", - "lint": "clippy::cast_possible_truncation", - "path": "src/runtime.rs" - }, - { - "count": 1, - "fingerprint": "c4bc68ccc02a08088a6b3aa54ec76539b649f03f03a2be166e28b999dcc96351", - "item": "crate::MonotonicNow::millis", - "lint": "clippy::cast_possible_truncation", - "path": "src/runtime.rs" - }, - { - "count": 1, - "fingerprint": "7801c4f0eb99e050a6ee03c0ba53d2e916006cd4b99c8f409cf9624daf0dcf85", - "item": "crate::tests::segment_order_cannot_erase_a_hot_key_or_change_decisions", - "lint": "clippy::cast_possible_truncation", - "path": "src/scaler3.rs" - }, { "count": 1, "fingerprint": "90d71b08a4ec0e9c9cf53d4401ee70aa94259e74cdef52f841689d649feab830", @@ -526,13 +337,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/shard/transaction/publish.rs" }, - { - "count": 1, - "fingerprint": "528dd7b6cca8a88a06f37703ab547cc2f6a640e3af129e3af149f3c66505e12b", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::cast_possible_truncation", - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "600c95d869121238690c36c6bb288384251ab6cd254720bdb70869962613f5c3", @@ -687,13 +491,6 @@ "lint": "clippy::disallowed_methods", "path": "src/bootstrap/runtime_handoff.rs" }, - { - "count": 1, - "fingerprint": "c3c8e6f10636569f7060d6fb5a83ad511cafbbe936bcd93bd0054a9c3721ca05", - "item": "crate::reset_refuses_while_in_flight", - "lint": "clippy::disallowed_methods", - "path": "src/dst/trace_store_tests/streams.rs" - }, { "count": 1, "fingerprint": "467ecb0e93130ae35e1b6f44dcb300042a7f8aa3c8ba97139d917f1c1477258d", @@ -708,13 +505,6 @@ "lint": "clippy::disallowed_methods", "path": "src/http.rs" }, - { - "count": 1, - "fingerprint": "363a60fc119bb47f10bce7c4759afe3477bfd115ef0ced4e31b16e2513282769", - "item": "crate::main", - "lint": "clippy::disallowed_methods", - "path": "src/main.rs" - }, { "count": 1, "fingerprint": "a4b24ddc151fb02ad8eabfe6eac9e73cde3ec8bdbd1ad791fe279b189c0673b8", @@ -757,13 +547,6 @@ "lint": "clippy::disallowed_methods", "path": "src/sse/auth.rs" }, - { - "count": 1, - "fingerprint": "b553a28c43f1310c33d68612712c2062229f344041e276f27bd6bf9cbc5b1673", - "item": "crate::LiveFeed::schedule_transition_retry", - "lint": "clippy::disallowed_methods", - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "daeb065d8b240050dd2a5c8b3982bd8fc6d6b0ed97b395068693949c86dacbbb", @@ -771,27 +554,6 @@ "lint": "clippy::disallowed_methods", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "077dcb0658838b0eae07fae1248464feb53eb4915ab8e665afe5540f99f3be58", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::disallowed_methods", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "3daf3c339406341074978c72f890391f92eecea5aaaee0cc01a9682afcff1762", - "item": "crate::TouchJournal::start", - "lint": "clippy::disallowed_methods", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "1d034ec3d0e5fb08a999d4f13e4ecce20c136c35c7c22a9d8b5048c8adcd2ac9", - "item": "crate::main", - "lint": "clippy::excessive_nesting", - "path": "examples/readertest.rs" - }, { "count": 1, "fingerprint": "1aa80d18a19ab8c44adad6867582390fd403d7e578c6c980d86a41215fc4d6a6", @@ -834,125 +596,6 @@ "lint": "clippy::excessive_nesting", "path": "src/application/append/content.rs" }, - { - "count": 1, - "fingerprint": "4e1a3f179a244f81df2b9047242dda35a2955194fb9d9a2890da450bd1fe9b35", - "item": "crate::dlq_and_settle", - "lint": "clippy::excessive_nesting", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "40534a041f5b422f47767b3bb700b718265f762e51dde78a4a0f98a24b7816d7", - "item": "crate::pull", - "lint": "clippy::excessive_nesting", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "9f202dfb5f87c9c73eb680fa96b61b41237fbfe9d9b326b733805e33f52e6d35", - "item": "crate::pull", - "lint": "clippy::excessive_nesting", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "ef4325435bbee056e68c6efe90654ffd71a5fcd935fee2eefea19f106399dcd2", - "item": "crate::pull", - "lint": "clippy::excessive_nesting", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "42ebb9c72561e888b59478a720e62e9546de1060541143151da6eb0b7285b98e", - "item": "crate::tests::r05_cancelled_ttl_attempt_releases_only_its_owned_slot", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation.rs" - }, - { - "count": 1, - "fingerprint": "25d0f8111c690996070f43095a86bf7bafb1a92223936708c5044d225d02c98c", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "30f0c95408939467c14ca3ebbb543ed194ed31339dd5e24377cb7e974fafd400", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "350abd10e6ecc8bc3cebc3d28cf789f3a58e611cb76e0fad483ecd00daa0de65", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "3c82ef4fa6edd14deb7e92e6e135a13763ecb50283c2ff0b61014b01adf4b79c", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "5ae95c68a36189a6a97270a7d0b38556b11a7698362a79682ebcaea19619852b", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "f85b889c8716747ed7035b9afcca76089da7c5e7a2cc7050fd7ea3784579470d", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "fd3c924d424859c4b5dd84f87bcfcbd4e9d770521fa8405ec8bcf07efef2e380", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "00cb7e1681732ced8a5729d8a36bcfc4880ae70c60e13787aac0dee004851212", - "item": "crate::validate_boundary", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/fork.rs" - }, - { - "count": 1, - "fingerprint": "9261bca38e050f6bc31edb34d7eac39535119dc56391181972edd1ae220b9d41", - "item": "crate::publish", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/initialization.rs" - }, - { - "count": 1, - "fingerprint": "dbd216ac9137bf7a166271b93955bd5a65bff4a51bfd26ed592587c48b6b1393", - "item": "crate::CreationService::create_product", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/product.rs" - }, - { - "count": 1, - "fingerprint": "2152575a7b7844c0789cb5916bec1dc8286ff3e879ed34a90925fbda45e9d5d4", - "item": "crate::execute_segment", - "lint": "clippy::excessive_nesting", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "b2ed7a64ac4e12752e50ea7f6086069b9ce54b39ea7e5c59eb75ec09c219d325", - "item": "crate::fork_chain_of", - "lint": "clippy::excessive_nesting", - "path": "src/application/read.rs" - }, { "count": 1, "fingerprint": "1283f4769ff60ff780684ab18786940d14d286f9c38f4a5358460e212b6602d5", @@ -1044,13 +687,6 @@ "lint": "clippy::excessive_nesting", "path": "src/application/request_work.rs" }, - { - "count": 1, - "fingerprint": "7c8d260b0b1720495fd47fd9a739569d0cd61496f669c49020928ec9228ab033", - "item": "crate::resume_incarnation", - "lint": "clippy::excessive_nesting", - "path": "src/application/topology.rs" - }, { "count": 1, "fingerprint": "3cc16d7cd21fe23ec23e7994f70555a46e6793e78a1256dd8e74553442c5a4af", @@ -1107,34 +743,6 @@ "lint": "clippy::excessive_nesting", "path": "src/billing.rs" }, - { - "count": 1, - "fingerprint": "2f62db7585b4d3ccaa95e66fe7ad581dc1180577d52b456a221b29fc087f4ef2", - "item": "crate::main", - "lint": "clippy::excessive_nesting", - "path": "src/bin/livebench.rs" - }, - { - "count": 1, - "fingerprint": "4239b5b2ef451cfc3c075064486fc3ff459ba62405925418cd8db6d37813a5b1", - "item": "crate::main", - "lint": "clippy::excessive_nesting", - "path": "src/bin/livebench.rs" - }, - { - "count": 1, - "fingerprint": "abcf4ae5d0e9c8f9414eea67a7bde2f1048d3213507670cfd6824992b36090b8", - "item": "crate::main", - "lint": "clippy::excessive_nesting", - "path": "src/bin/livebench.rs" - }, - { - "count": 1, - "fingerprint": "cae7a8d75308315a2440fec7618150f7d79054ba9c20e850ffbef47adaeed2e8", - "item": "crate::main", - "lint": "clippy::excessive_nesting", - "path": "src/bin/livebench.rs" - }, { "count": 1, "fingerprint": "1eac21836af3d62faaf86c992f6e6a774c3f293cc7dd274d2683179da33988cd", @@ -1165,330 +773,78 @@ }, { "count": 1, - "fingerprint": "20915c85f18212ea79ef304324e79b7418de39d6017b019bbfb88a14d18fbbc4", - "item": "crate::::delete_stream", + "fingerprint": "06698729ff291ef104d9733ec1037c19a65d3270530b92d93f2eeab5ba6196c2", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/fault_store.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "a3f50add507862112bcb0572ef759a1844b9691c0949142659919d6098c0b6fd", - "item": "crate::::delete_stream", + "fingerprint": "2835ee8305da81421eb5976b96d36eb88328147bbae4f76f8ff2e4beba248ad5", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/fault_store.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "02fb0b5040299908eb75e672ed0057ed59824416ce3d63df2349931000fbab03", - "item": "crate::::list", + "fingerprint": "36b90f4f43f5a7a78c3cbed3c2459912fcad41b06935b0c0cd48090d94929161", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/fault_store.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "484a3e984d3f8323567c87f5234c69963717ccbc43dd5ba8dcd80ac3028110f3", - "item": "crate::readiness_endpoint_refuses_each_permanent_critical_exit", + "fingerprint": "404fd54290c30fad44947c652d821a7faa6849b8c4b4188e4e3f431b0ce9627d", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/review_readiness.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "38b4b5b4f365c240f983831949ac1c0b721c31c6ba3b9ed095b8683383e97eb4", - "item": "crate::r16_unauthorized_watch_shapes_are_independent_of_existence", + "fingerprint": "419888b61336a2fe088a9d4001c92cb5bb80fac1ab21c15f5ed2126c247ab5b2", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/review_security.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "beac18e52a4e5e4bcbfabf624dc1bc9185118a356cc1c76368cbc5dd440a8ae4", - "item": "crate::r16_unauthorized_watch_shapes_are_independent_of_existence", + "fingerprint": "5827e1b189432eb44bcb935ca65e398807270e9b01838328d719631717471aa6", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/review_security.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "fe2069e7763d98d2b2a1d3b02013973bf1432956a9970e240895fede3f9dbc3c", - "item": "crate::r16_unauthorized_watch_shapes_are_independent_of_existence", + "fingerprint": "5c2dc2ab4e0b392223dd9fc3a006db0c52d72882376d1c5c48347279fb168db2", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/review_security.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "7944f4056ffd5311351a49104fd999ff60f2fa54e8d3d8e8b11f33e61e7e6402", - "item": "crate::OpLog::audit", + "fingerprint": "5cdee18e4f40367d8f98d7b20db1aa4881ab79ef977a0b2134c34e992c46d057", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/runtime.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "b11118ab102192ad1cc42f532b7ec00d82c7a340ed61051c1ac104a9d71f7a93", - "item": "crate::OpLog::audit", + "fingerprint": "6b08b3fcd5155c8097a536a7a63b0fa95ae9f7b2b7ea05d7feca9401e24a8773", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/runtime.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "fb62bbd1021e932cf5fdc140a5f4db1b2c06ad36db64f17be41310a1754a59a2", - "item": "crate::Workload::append_to", + "fingerprint": "79c43ce915ae0f1c0bf008d365be655d2b6ebe3a68dd35d0b6ce691878fcd6f7", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/runtime.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "580d2ad6ac21a732ec42174ec819dcd149063e8819b25f4bdc043cf320e2f48d", - "item": "crate::product_consumer_drains_lineage_across_split", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/consumer_product.rs" - }, - { - "count": 1, - "fingerprint": "01f29285e5b5e3906d6dc5cb23aebac8c693299e54bf334a73e89abde40a1d51", - "item": "crate::rig_opener", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/fixture_http.rs" - }, - { - "count": 1, - "fingerprint": "24d6a9f7d08260ec8d41b585b5cd32e156e5a9b0b117cc840c45911732880158", - "item": "crate::r09_fleet_cancels_entered_documents_without_partial_authority_or_lost_retry", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/fleet_controller.rs" - }, - { - "count": 1, - "fingerprint": "ba04939f0f75a7c37688a56805d79f9171f2eeb312d37e9d334617c86631c78f", - "item": "crate::r09_fleet_cancels_entered_documents_without_partial_authority_or_lost_retry", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/fleet_controller.rs" - }, - { - "count": 1, - "fingerprint": "c849f9dbe87bd3cd71d409d13273ebb815eb5be62a0fd48a4a57d61ac54342eb", - "item": "crate::r05_unknown_child_state_preserves_its_source_reference", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/fork_lifecycle.rs" - }, - { - "count": 1, - "fingerprint": "fc1101b26da17357fcbc421fcb84beeb56f04c7b14262fcc48739ac08ffb6971", - "item": "crate::r05_unknown_child_state_preserves_its_source_reference", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/fork_lifecycle.rs" - }, - { - "count": 1, - "fingerprint": "4e09b4b11bc905358797d7b4881dda9492eb422131e163dfbb0e63084914db0d", - "item": "crate::an_initialization_cannot_be_resumed_with_another_key", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/lifecycle_creation.rs" - }, - { - "count": 2, - "fingerprint": "47c874007589f3c3294157c7f1e65f8f794f8b1dee4b73ec2a990dca0a212396", - "item": "crate::livefeed_remote_sealed_predecessor_streams_through_owner", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/livefeed_history.rs" - }, - { - "count": 1, - "fingerprint": "dedb3df47790ea5d018d365d1788da658fe89b965b07e76ffc4053f669c2b300", - "item": "crate::livefeed_split_shared_subscribers_swap_once_deliver_twice", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/livefeed_swap.rs" - }, - { - "count": 1, - "fingerprint": "28a8ee77e7a3c036337c0a3463d49b0711893258a54d3e617c9ce7bc075ed02d", - "item": "crate::cut_resume_never_skips_a_durable_record", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/persistence_faults.rs" - }, - { - "count": 1, - "fingerprint": "2c37182cb22d080ea24dbcab995f749bdc692d610818cb41241001b317702308", - "item": "crate::cut_resume_never_skips_a_durable_record", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/persistence_faults.rs" - }, - { - "count": 1, - "fingerprint": "49560d6a75a831b67a5d2b7472d23c2cfecbe157d48b31d7306356b374cee6b9", - "item": "crate::the_first_advance_seals_the_history_layout::wait_absorbed", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/reads_history.rs" - }, - { - "count": 1, - "fingerprint": "7809e9cb9c94055a5bca6d983583ee40841106a34d92a33b70bc067b4fe9cebd", - "item": "crate::the_first_advance_seals_the_history_layout::wait_absorbed", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/reads_history.rs" - }, - { - "count": 1, - "fingerprint": "f705df536f1c133fec22b72a67d74ae24a7012bed3b97c525efb16351dfa64fd", - "item": "crate::a_duplicate_absorbed_op_does_not_advance_the_trim", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/reads_ring.rs" - }, - { - "count": 1, - "fingerprint": "e13069f5d295aa1a0bc9ba761037dd5419e672cc1e003a2833d20a9462ee432f", - "item": "crate::r09a_cancelled_topology_job_leaves_exact_debt_for_a_fresh_read_owner", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/request_topology_debt.rs" - }, - { - "count": 1, - "fingerprint": "47dd963a38cd246519b3c94c97f538c3251ece297e312681e5b57f72c0f476a7", - "item": "crate::r17a_each_required_engine_exit_changes_real_health_and_readyz", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/runtime_engine_lifecycle.rs" - }, - { - "count": 1, - "fingerprint": "160515be4a62535d57f518177f2ba2aa31a9ada7a4f1724fea9e71aad7a1df37", - "item": "crate::open_gate_escalates_holdoff_for_engines_that_die_young", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/runtime_open_gate.rs" - }, - { - "count": 1, - "fingerprint": "f93d8e4dcb13e18325d41a73785f005b0db03929d72ccdf9ef2d3b62d239fd12", - "item": "crate::tombstone_walk_fairness_under_occupied_budget", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/runtime_sweep.rs" - }, - { - "count": 1, - "fingerprint": "1ba944c8796d64e85591514448ffd5eb882b1de1506de50d55f20404327ed3a0", - "item": "crate::noisy_neighbor_cannot_degrade_a_compliant_project", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/security_isolation.rs" - }, - { - "count": 1, - "fingerprint": "e21dadb6bdf009384ba30b2a458eef4ae3203860fb2585de44b2a37c141a4e96", - "item": "crate::noisy_neighbor_cannot_degrade_a_compliant_project", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/security_isolation.rs" - }, - { - "count": 1, - "fingerprint": "cceace2aa58346ed40165ffab88a9c66f603b7d13e76d5932d8d63e151b1ccec", - "item": "crate::product_sse_controls_carry_signed_cursors", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/sse_delivery.rs" - }, - { - "count": 1, - "fingerprint": "f2c96a740bf36f56cb4d1daef714716078255447ff01f767c09a7fb971bfc15f", - "item": "crate::sse_follows_lineage_across_split", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/sse_delivery.rs" - }, - { - "count": 1, - "fingerprint": "5233d9b140eedafdf1a6d5ef39edf3e0e77aead9dbca56c8355fbc7b95604acf", - "item": "crate::::delete_stream", - "lint": "clippy::excessive_nesting", - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "a7f3ede7bc2c16bbde8eca36a575c5562508da5abf0782f71dac4dea29e25851", - "item": "crate::::delete_stream", - "lint": "clippy::excessive_nesting", - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "be5566b4de849f072132e9527e11b919150e7e2214eb569fe25e20bf069980ab", - "item": "crate::concurrent_begins_with_reverse_finishes_resolve_every_event_exactly_once", - "lint": "clippy::excessive_nesting", - "path": "src/dst/trace_store_tests/concurrency.rs" - }, - { - "count": 1, - "fingerprint": "17502ef4ad24ab8eff377569c3983dfeb9d0f0c5928c5d090838b9db49e906fc", - "item": "crate::::delete_stream", - "lint": "clippy::excessive_nesting", - "path": "src/dst/trace_store_tests/mod.rs" - }, - { - "count": 1, - "fingerprint": "06698729ff291ef104d9733ec1037c19a65d3270530b92d93f2eeab5ba6196c2", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "2835ee8305da81421eb5976b96d36eb88328147bbae4f76f8ff2e4beba248ad5", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "36b90f4f43f5a7a78c3cbed3c2459912fcad41b06935b0c0cd48090d94929161", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "404fd54290c30fad44947c652d821a7faa6849b8c4b4188e4e3f431b0ce9627d", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "419888b61336a2fe088a9d4001c92cb5bb80fac1ab21c15f5ed2126c247ab5b2", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "5827e1b189432eb44bcb935ca65e398807270e9b01838328d719631717471aa6", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "5c2dc2ab4e0b392223dd9fc3a006db0c52d72882376d1c5c48347279fb168db2", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "5cdee18e4f40367d8f98d7b20db1aa4881ab79ef977a0b2134c34e992c46d057", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "6b08b3fcd5155c8097a536a7a63b0fa95ae9f7b2b7ea05d7feca9401e24a8773", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "79c43ce915ae0f1c0bf008d365be655d2b6ebe3a68dd35d0b6ce691878fcd6f7", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "7a6dcd68fbe4cd8ede5068e19764016cce533afb56f09c013fbb331360468b9c", - "item": "crate::start", + "fingerprint": "7a6dcd68fbe4cd8ede5068e19764016cce533afb56f09c013fbb331360468b9c", + "item": "crate::start", "lint": "clippy::excessive_nesting", "path": "src/fleet.rs" }, @@ -1576,55 +932,6 @@ "lint": "clippy::excessive_nesting", "path": "src/fleet/repository.rs" }, - { - "count": 2, - "fingerprint": "353c4adbd7a84fd0ee4d793ecf5004cea4e4def0c78fee65c123890742e0e22b", - "item": "crate::raw_page", - "lint": "clippy::excessive_nesting", - "path": "src/history/postings_validation_tests.rs" - }, - { - "count": 1, - "fingerprint": "8943707662c6a381a961be34fe8a2c04f6585d385985d76b8d9be4a48d752496", - "item": "crate::raw_page", - "lint": "clippy::excessive_nesting", - "path": "src/history/postings_validation_tests.rs" - }, - { - "count": 1, - "fingerprint": "2855a1d3e51e88876253da4f8ba9f26cf2ee5b2cc3ad2e777c624c12cb081153", - "item": "crate::Absorber::gather_due", - "lint": "clippy::excessive_nesting", - "path": "src/history/worker.rs" - }, - { - "count": 1, - "fingerprint": "4760b6f6157e0b1d432988b788d8adeb347837b9b292dee165c1a6cdaf9195e2", - "item": "crate::Absorber::gather_due", - "lint": "clippy::excessive_nesting", - "path": "src/history/worker.rs" - }, - { - "count": 1, - "fingerprint": "8a8eaa70b4ae377f730cf0227b9e6920fc09472b9b3ea808132597d6cb3ea2b7", - "item": "crate::Absorber::gather_due", - "lint": "clippy::excessive_nesting", - "path": "src/history/worker.rs" - }, - { - "count": 1, - "fingerprint": "af1057e5fc7df11aaaa5f2ca8eb50174498749ae1f1d2a01f831a84b5bad9c9c", - "item": "crate::Absorber::gather_due", - "lint": "clippy::excessive_nesting", - "path": "src/history/worker.rs" - }, - { - "count": 1, - "fingerprint": "ed9cecb327df14c2c913d96e97d8ad89b5839f3c74db66a939da84a8748dde91", - "item": "crate::Absorber::gather_due", - "lint": "clippy::excessive_nesting", - "path": "src/history/worker.rs" - }, { "count": 1, "fingerprint": "03fd5ad47796621bb1fad1fc50f1afa04a61bf97e56df584548eff1a83123caf", @@ -1632,27 +939,6 @@ "lint": "clippy::excessive_nesting", "path": "src/http.rs" }, - { - "count": 1, - "fingerprint": "c16effd6b3a25113a54e7aa093387baba1119d0f514ae932d54bd969ec0d2262", - "item": "crate::Lint < 'a >::check_signature", - "lint": "clippy::excessive_nesting", - "path": "src/mt_lint.rs" - }, - { - "count": 1, - "fingerprint": "ca558a37425e30fbdb804eaac607efc6ef5633ba19965106ab64d517dc755fff", - "item": "crate::Lint < 'a >::check_signature", - "lint": "clippy::excessive_nesting", - "path": "src/mt_lint.rs" - }, - { - "count": 1, - "fingerprint": "62e4970a5e4f5eda75b45c3fd034e451a2be59428eb6dc41b07e3484f46d5137", - "item": "crate::multitenancy_identity_lint::walk", - "lint": "clippy::excessive_nesting", - "path": "src/mt_lint.rs" - }, { "count": 1, "fingerprint": "0b719f20a83a38b88ce0da46cea55093a68027d2f0ce6623e13ec224e0172d92", @@ -1807,13 +1093,6 @@ "lint": "clippy::excessive_nesting", "path": "src/product.rs" }, - { - "count": 1, - "fingerprint": "41aa761eb93bf5bc439ab385082f2353246ab1b5817b589cf07fe25936b83574", - "item": "crate::QuotaRegistry::admit", - "lint": "clippy::excessive_nesting", - "path": "src/quota.rs" - }, { "count": 1, "fingerprint": "194d60ed469b75f7246e155f672469339b422294f18914fe017600f43959d0ee", @@ -1884,34 +1163,6 @@ "lint": "clippy::excessive_nesting", "path": "src/registry.rs" }, - { - "count": 1, - "fingerprint": "922d5806a61e4942d1df2829ab59f4f25f480a7ca55c4455ef6312ace8638fd9", - "item": "crate::::sleep", - "lint": "clippy::excessive_nesting", - "path": "src/runtime.rs" - }, - { - "count": 1, - "fingerprint": "6a3920d33a903650e2bb4c9d61d60dad13588da55952c78a4ef194d580fcc5b7", - "item": "crate::tests::r10_telemetry_cache_progress_and_database_lifetimes_are_runtime_owned", - "lint": "clippy::excessive_nesting", - "path": "src/runtime/telemetry.rs" - }, - { - "count": 1, - "fingerprint": "f56ac2edf2fd4344f049479cd96fada5edff21ed2a2a09c227db8b3a2b95f767", - "item": "crate::State::forget_previous_incarnation", - "lint": "clippy::excessive_nesting", - "path": "src/scaler3.rs" - }, - { - "count": 1, - "fingerprint": "630ee19906cd5e125941d1079dd7af6a82e0ef78f10a35c55f4825d7f87e0709", - "item": "crate::evaluate_state", - "lint": "clippy::excessive_nesting", - "path": "src/scaler3.rs" - }, { "count": 1, "fingerprint": "708c0e28416e32bac3d3263265aa780e38c67bdf8cee5d74d18258cd16d7dc7a", @@ -2404,115 +1655,45 @@ }, { "count": 1, - "fingerprint": "1053f58351342b57d05f0e9ca6a3c7610fc6a06b2d6a07b3cdd4cb7e59145ba3", - "item": "crate::FeedMemoryBudget::release", + "fingerprint": "173f2f6dde9a5ad9529b4d1f763eda850776f1ebdc369c20173ec4069b174b16", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" + "path": "src/sse/session.rs" }, { "count": 1, - "fingerprint": "b1ea7863f02a9d0473ea2466df49316d6339d182999463c20020590473e7a319", - "item": "crate::FeedMemoryBudget::try_replace", + "fingerprint": "3cb26d4cd1091c901a3b38002e62653a46e425af637fcd674d506af5af97e2ed", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" + "path": "src/sse/session.rs" }, { - "count": 1, - "fingerprint": "cae4eee4c331cfd3dd8ed8aef75d36318a0aa5d96e1d269ebf948efc5acfe1ff", - "item": "crate::FeedMemoryBudget::try_replace", + "count": 2, + "fingerprint": "40f449a96943b4a803b49e4a1a6a23438b9d64e1bd400c0fcd0f0929a971bbad", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" + "path": "src/sse/session.rs" }, { "count": 1, - "fingerprint": "08e2bb9b17ec4c3e30b4eaf1e496c46a4516b0b36051c39853e9e04d446f5c4a", - "item": "crate::LiveFeed::drive_under_permit", + "fingerprint": "760f81f102b1c5db0391459eb9adc582a2421e0b4b200aff55a96d453582bc35", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" + "path": "src/sse/session.rs" }, { "count": 1, - "fingerprint": "cdd0bead80bf334e4bfa9ca8f4df7cc4b94a7e1151e460ebf061bb68259a859b", - "item": "crate::LiveFeed::drive_under_permit", + "fingerprint": "861464a6851cce249a2f98f59b7fbb63b7b8ef692ca222a0b374fab825d522d7", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" + "path": "src/sse/session.rs" }, { "count": 1, - "fingerprint": "a83cecbd620668247ab278d6be882167305eabe78c303147c717f6a9de27f142", - "item": "crate::LiveFeed::read_and_publish", + "fingerprint": "87e4599589da0813221f7df8ce3aed5a5e08b9626aab1a0a0baaefcac4f1269e", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "0626e88abecda87cff7ef3dd2dd629ae74f446672060e0cb5efac1bbb545961a", - "item": "crate::LiveFeed::schedule_transition_retry", - "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "8002d0b6f2d7ac7c14a8a1efeaabac99f5052e0ef843f66cddd6881b54f72dd7", - "item": "crate::LiveFeed::schedule_transition_retry", - "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "537be5bbfe6d893c1f019683a09f1e1aaa5249c21e218b03939069cf0a312d1f", - "item": "crate::LiveFeed::take_visible", - "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "673ac90ce4e25e7a36c7a311e6a8b1359926a7d0e59e26fce76a83fcec70a219", - "item": "crate::LiveFeed::take_visible", - "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "173f2f6dde9a5ad9529b4d1f763eda850776f1ebdc369c20173ec4069b174b16", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" - }, - { - "count": 1, - "fingerprint": "3cb26d4cd1091c901a3b38002e62653a46e425af637fcd674d506af5af97e2ed", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" - }, - { - "count": 2, - "fingerprint": "40f449a96943b4a803b49e4a1a6a23438b9d64e1bd400c0fcd0f0929a971bbad", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" - }, - { - "count": 1, - "fingerprint": "760f81f102b1c5db0391459eb9adc582a2421e0b4b200aff55a96d453582bc35", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" - }, - { - "count": 1, - "fingerprint": "861464a6851cce249a2f98f59b7fbb63b7b8ef692ca222a0b374fab825d522d7", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" - }, - { - "count": 1, - "fingerprint": "87e4599589da0813221f7df8ce3aed5a5e08b9626aab1a0a0baaefcac4f1269e", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" + "path": "src/sse/session.rs" }, { "count": 1, @@ -2563,167 +1744,6 @@ "lint": "clippy::excessive_nesting", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "4b75276d0a81c454a1ce970e376ab33d82c69fe2c630be962ea834301558749e", - "item": "crate::LineageSource::build", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "6f7f3c925fea9742446e5a9bd178b8e38475fe34f303e591a603f5f146b8d0e8", - "item": "crate::LineageSource::build", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "ab33067cc84f344f082339fa8931afe550eb21d7041b8e1b97d09516a970789b", - "item": "crate::LineageSource::build", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "b586fba871f5bfb70e7161c5a74306c08899eb736ddb077a98c913cebefa4962", - "item": "crate::LineageSource::build", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "4d1c86bdd0d96ed3e5b8014d8b625d01ca8157b1d7d5ee57edf536a64f9b8158", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "8b785fecea8b73eaa0d5da95d3c23e126e0bec6e1628d5178562833c25cf53bd", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "8c299ae59817991007eb27fe0a65b05991dbb0ceffe5b3e0f995788d0420f949", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "cf6e17835a1d25acd0c92621f49234285c87f11bd42f3b4d333e21d2a37dd444", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "65239e32666680aa349a432097e2ea4f3ae9e1953843c33e98ced8cbfd515c1c", - "item": "crate::refresh_transition", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "6d62c922744ea307ad8ab8df91a1bcdc6f4fc4e69adb9817c7177d90cd82c374", - "item": "crate::refresh_transition", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "a2843483e6ef9a3229a2829b8289c064f77697580d2528f37d6f713bea0c7457", - "item": "crate::refresh_transition", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "de211232c3edd14f05a74835e2706ddd37ceff3e152e1813b112f389e43faf75", - "item": "crate::refresh_transition", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "13b437276e982f3894e983e01f345242c6c64c112cc803461289e2e5cd1de24e", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::excessive_nesting", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "4a5975fa9ea7f64af10fd4d14dcc3c943340b61b8af8af976e90f6ddf470d14c", - "item": "crate::encode_prefix", - "lint": "clippy::excessive_nesting", - "path": "src/telemetry_batch.rs" - }, - { - "count": 1, - "fingerprint": "cf2d4b10046cb61f96849b301cecb817e73fd85fbbdb245672281abd219282aa", - "item": "crate::TouchJournal::start", - "lint": "clippy::excessive_nesting", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "20de1f0b3e58a074307b546329b9d4d2016b9e3096ec7fe706ce296a94ca3eeb", - "item": "crate::dlq_and_settle", - "lint": "clippy::expect_used", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "44afff99d1565b8d7b2ed92e7462ceeb566de7406c6b40a222be52709179f081", - "item": "crate::relay_queue_cursor", - "lint": "clippy::expect_used", - "path": "src/application/consumer_remote.rs" - }, - { - "count": 1, - "fingerprint": "b4886b6b928cfc707944b06ef4a2af7a587347beda2fd9f5868f1aa1b6dbadab", - "item": "crate::relay_sweep_segment", - "lint": "clippy::expect_used", - "path": "src/application/consumer_remote.rs" - }, - { - "count": 1, - "fingerprint": "77c7c5dcc68868ef977c9f613eb03268f9f78d53910c39f2e7637ad3a59f0e5e", - "item": "crate::json_entries", - "lint": "clippy::expect_used", - "path": "src/application/creation.rs" - }, - { - "count": 1, - "fingerprint": "89b8ed38656716b2b492981f0be58883b33af405feabff434d78c5f2b9e53bf2", - "item": "crate::json_entries", - "lint": "clippy::expect_used", - "path": "src/application/creation.rs" - }, - { - "count": 1, - "fingerprint": "e717a00beba453e59d6b13536a1b7174ebd58c4ecdd25afc2c139b6e7f1e464d", - "item": "crate::stamp_fork_reference", - "lint": "clippy::expect_used", - "path": "src/application/creation/anchor.rs" - }, - { - "count": 1, - "fingerprint": "d6ea231d3a69fe169353a15ad6f1f0ab948014b41d5246ae7acd76a629eb5bf6", - "item": "crate::delete_lifecycle", - "lint": "clippy::expect_used", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "d6b0356f48129c9473db129f483e5683ab5a24a6a5d4c03169a88f1849c6e937", - "item": "crate::decide_claim", - "lint": "clippy::expect_used", - "path": "src/application/lifecycle/claims.rs" - }, { "count": 1, "fingerprint": "f64df6f2bc5a9d405a454945afe3c5bbd50e569c7e16d7000edbc3c77bf417e1", @@ -2738,34 +1758,6 @@ "lint": "clippy::expect_used", "path": "src/application/read_remote.rs" }, - { - "count": 1, - "fingerprint": "350a8df21f66d6ec939ca1073f4340bfd87bebb9ca0b8f9bb748157b290498a9", - "item": "crate::resume_incarnation", - "lint": "clippy::expect_used", - "path": "src/application/topology.rs" - }, - { - "count": 1, - "fingerprint": "6a3a8bf77c6a257cad8bd26381b57f40a7c711c0ac37fb282d7b3cfcaccf272b", - "item": "crate::resume_incarnation", - "lint": "clippy::expect_used", - "path": "src/application/topology.rs" - }, - { - "count": 1, - "fingerprint": "f63dbc656498275beffa3c416eebdd2d65dff345d1e865ea87c39fc54c39a2bd", - "item": "crate::resume_merge", - "lint": "clippy::expect_used", - "path": "src/application/topology.rs" - }, - { - "count": 1, - "fingerprint": "add7a6c6099dc69f69f31022e843efa9b3b5bc319e4719a078413b2832f066a1", - "item": "crate::PendingAudit < 'a >::take", - "lint": "clippy::expect_used", - "path": "src/audit.rs" - }, { "count": 1, "fingerprint": "6af87f90eba85adf522cbee9d1ad73eb337372ef8b6db4671ddaa0e18583242e", @@ -2787,27 +1779,6 @@ "lint": "clippy::expect_used", "path": "src/bootstrap/runtime_handoff.rs" }, - { - "count": 1, - "fingerprint": "23fe18d6bb468f82a2161e564ba0a9407164c015daadd31ea51a63d87ba6f605", - "item": "crate::DeploymentIdentity::raw_adapter_sref", - "lint": "clippy::expect_used", - "path": "src/deployment.rs" - }, - { - "count": 1, - "fingerprint": "42eeb6c95de8528603672d7cf38b8c88e9e9386bcbeb5ea38ae21702ef707233", - "item": "crate::mac16", - "lint": "clippy::expect_used", - "path": "src/product_cursor.rs" - }, - { - "count": 1, - "fingerprint": "d2c08919e550724cb8980cc2f388bf5af1b0918d6bc9495b52baf5e6dc1d68fa", - "item": "crate::mac_key", - "lint": "clippy::expect_used", - "path": "src/product_cursor.rs" - }, { "count": 1, "fingerprint": "71c94b87ea313746b3655e25606c249376b24edc6bbc4662d58a76e102cf5b85", @@ -2829,34 +1800,6 @@ "lint": "clippy::expect_used", "path": "src/shard/transaction/queue/settle.rs" }, - { - "count": 1, - "fingerprint": "942d0cd8e54fd22281efe6ac07860a79f103e8c6ea15384ae02f3a61ef5d864e", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::expect_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "7553ab8a566a70acd2e00f5ef0672790368fffd4abd19c803888d4f60d7c5bd6", - "item": "crate::LiveFeed::take_visible", - "lint": "clippy::expect_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "7c38a67b40476e78c716d8bdc1858945ee496078aa14b4c045c44629a9f92604", - "item": "crate::LineageSource::tail", - "lint": "clippy::expect_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "37320e267e01829dd31dcb0f759b9c513b9ff591e6bd4af6f0c410c6073bb4e9", - "item": "crate::locate_in_spans", - "lint": "clippy::expect_used", - "path": "src/sse/source.rs" - }, { "count": 1, "fingerprint": "e839bd2f53899a7dc90e76f33999e3859c00065332629dc505248ef302b9436a", @@ -2871,13 +1814,6 @@ "lint": "clippy::expect_used", "path": "src/tenant.rs" }, - { - "count": 1, - "fingerprint": "bf50dd3ce823a8bcbf08445c192db0440927ea2581360724743b3d9111cce397", - "item": "crate::idle_engine_store_traffic_is_bounded_by_the_poll_cadence", - "lint": "clippy::field_reassign_with_default", - "path": "src/dst/tests/runtime_open_gate.rs" - }, { "count": 1, "fingerprint": "e5211d90a1e337352430a9f0a55c4d657343a918e50c030c0ef6f0cadbf85870", @@ -2892,20 +1828,6 @@ "lint": "clippy::fn_params_excessive_bools", "path": "src/application/append/contract.rs" }, - { - "count": 1, - "fingerprint": "e8a14ab85d4f54761243199b7d4e22951df2562856ae53c7e9d23533048cd7db", - "item": "crate::LeaseRig::publish", - "lint": "clippy::fn_params_excessive_bools", - "path": "src/dst/tests/security_freshness.rs" - }, - { - "count": 1, - "fingerprint": "d812a79721e290156794d6e0d93b78e97749718f34f1ac9a1ba59173f34a96fd", - "item": "crate::TraceStore::with_options", - "lint": "clippy::fn_params_excessive_bools", - "path": "src/dst/trace_store.rs" - }, { "count": 1, "fingerprint": "2d7ffb6b7490d20b6b2bb0a7ed903bbfac4cee03b702a300bec63ad9b758c48f", @@ -2969,20 +1891,6 @@ "lint": "clippy::large_enum_variant", "path": "src/shard.rs" }, - { - "count": 1, - "fingerprint": "1d68c795d411a2826189e4c607b033e51c5b95c5c0088ae683e59c0cb7a99fc5", - "item": "crate::spawn_refresher", - "lint": "clippy::let_underscore_must_use", - "path": "src/auth_feed.rs" - }, - { - "count": 1, - "fingerprint": "d5d453a0badc787ef4a63eab31c3ac29282921eb4df51015af220492473c1d6e", - "item": "crate::tests::refresh_once_publishes_from_files_and_survives_a_broken_one", - "lint": "clippy::let_underscore_must_use", - "path": "src/auth_feed.rs" - }, { "count": 1, "fingerprint": "cdb928566335511055c455f14f4e266a294a14a8c65be524eecbc9b07fb1af5b", @@ -2990,90 +1898,6 @@ "lint": "clippy::let_underscore_must_use", "path": "src/bootstrap/runtime_handoff.rs" }, - { - "count": 1, - "fingerprint": "01acc1eb1c1eb39eda1a83e4ba94a3e93e31213318e7adb900942590c9393324", - "item": "crate::FaultState::gate", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/fault_store.rs" - }, - { - "count": 1, - "fingerprint": "88f47529d21b6f01cbb3f4f038cc84ed7d52ef820898a220fc9dfbfd9a667e8e", - "item": "crate::expiry_closes_the_storage_gauge", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/billing_maintenance.rs" - }, - { - "count": 1, - "fingerprint": "b45de03533ae5f12677be0a22fab17b1783ce02b2fdc66cf2f590097e3e9ef8b", - "item": "crate::faults_actually_fire", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/fault_substrate.rs" - }, - { - "count": 1, - "fingerprint": "9dbb40087926a1e51d1a41aa872956dee1d6e1985e2cae529432a15e038d25f9", - "item": "crate::lost_response_counter_tracks_applied_behaviour_only", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/fault_substrate.rs" - }, - { - "count": 1, - "fingerprint": "370d271bfbb095ae2412b1956cc870859f6b93d84dbf3075d5597330e377a1a3", - "item": "crate::http_rig_build", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/fixture_http.rs" - }, - { - "count": 1, - "fingerprint": "c873b19fe6d8b5010de14f5b9a916eacdffe33f54308e7a46d442e829718eece", - "item": "crate::HeldDocument::enter", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/fleet_controller.rs" - }, - { - "count": 1, - "fingerprint": "1315068f273a06efe4703faf6a527bd960801c350dee43e9eec4f44db035f562", - "item": "crate::fork_cascade_hard_delete_releases_the_stream_slot", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/quota_enforcement.rs" - }, - { - "count": 1, - "fingerprint": "563fc7af72d23dad003733fdbc28b5926bf19c7bc5113ed08d3c0e45a6cf8760", - "item": "crate::a_hung_open_is_deadlined_and_its_late_engine_reaped", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/runtime_open_gate.rs" - }, - { - "count": 1, - "fingerprint": "19133a040966a0c16c5e512d6243a28683d97c2712e0e00226a1e6c3488b535b", - "item": "crate::naive_get_or_open", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/runtime_open_gate.rs" - }, - { - "count": 1, - "fingerprint": "6d50d40ac8ce2e9451fc55e721fd33109694eab33cd0c98a2d4faa256e78c2fb", - "item": "crate::reopen_storm_reproduces_the_eu_central_wedge", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/runtime_open_gate.rs" - }, - { - "count": 1, - "fingerprint": "b635928dcb8e9632df7d4f118b1c5182888d6b769533c304035885c939845aee", - "item": "crate::drain_billing_clean", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/runtime_sweep.rs" - }, - { - "count": 1, - "fingerprint": "aa27a3793517915419675661f5b33642fa11119b0cc7711d3c24743dae37327c", - "item": "crate::reset_racing_with_begin_cannot_orphan_an_operation", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/trace_store_tests/concurrency.rs" - }, { "count": 1, "fingerprint": "074ade8238bf36c30a7b368691990756cc43f3fcd2e4a718701b6c189a19ee7f", @@ -3081,20 +1905,6 @@ "lint": "clippy::let_underscore_must_use", "path": "src/fleet.rs" }, - { - "count": 1, - "fingerprint": "1ec581eaae0ffbc70f357d7dbdec2fc40ab13894c1892399eba6f8609acb5d15", - "item": "crate::active_absorber_cancel", - "lint": "clippy::let_underscore_must_use", - "path": "src/history/controller_tests.rs" - }, - { - "count": 1, - "fingerprint": "61152cc28d95328fc84f8c9316d0964497d26902d37d91410de277226d20f378", - "item": "crate::active_absorber_cancel", - "lint": "clippy::let_underscore_must_use", - "path": "src/history/controller_tests.rs" - }, { "count": 1, "fingerprint": "d963f9293297f7309ece0814abaae351b55f6aae12735f766725924f1b82f344", @@ -3263,41 +2073,6 @@ "lint": "clippy::let_underscore_must_use", "path": "src/sse/auth.rs" }, - { - "count": 1, - "fingerprint": "307734de09f785655787dc4568bdd10a7afe66e22a9c8317a5d012b10649a576", - "item": "crate::LiveFeed::bind_pressure", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "b6603b76e1413e024ab7430e3afaa969619967bc9bcadb8f5f305a1f9e2c17ba", - "item": "crate::LiveFeed::drive_under_permit", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "7b496cb8e804048cdd4b32076f3f1c050f18df925e04a16965a39d951f6a803d", - "item": "crate::LiveFeed::install_source", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "69a528eedb1ee99e1e2e1cc6bac7b437555ddba11061e9c54ff550158f1fff7f", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "ecc04153b18491ba126079ba377c625157814021b0947504e5f18bea36bc994c", - "item": "crate::ProjectRetention::bind_admission", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "512a06dbe849c0dbd9d7806c871c90877537f72ee36cb14a9400383206d6f622", @@ -3312,62 +2087,6 @@ "lint": "clippy::let_underscore_must_use", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "886d9483a0bc959975ba2a8ded5f51066d40d817567cdaeae4d315171a08e51d", - "item": "crate::refresh_transition", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "137834f6fe95fc546b5385452dd2c65d199c35b095702506622a978243b4e94e", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::let_underscore_must_use", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "e813e58dc76b0d8dacc5ee1269019999cb3bd5359400c9333ccafdda3a8697bf", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::let_underscore_must_use", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "b6f6f1d5231cb405cba03de4dd9fe3771c01c91561ab05062e53199c80b67f57", - "item": "crate::drive_shutdown", - "lint": "clippy::let_underscore_must_use", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "2c081f6b7b6c7a95b3d5200429c04bb2ef3891bd456f08c3b91223c74591d9f3", - "item": "crate::begin_sealing_for_close", - "lint": "clippy::match_same_arms", - "path": "src/application/lifecycle.rs" - }, - { - "count": 1, - "fingerprint": "ede11c01c2cce57665b90ad067af4f52ef23c6570d0799286c0ec6e2c45e5fc6", - "item": "crate::prepare_execution", - "lint": "clippy::match_same_arms", - "path": "src/application/lifecycle.rs" - }, - { - "count": 1, - "fingerprint": "136ef7ae296df02b2a77784e50d83e7c002bfe06711eae3173c3a5eac15bda79", - "item": "crate::final_err_disposition", - "lint": "clippy::match_same_arms", - "path": "src/application/lifecycle/claims.rs" - }, - { - "count": 1, - "fingerprint": "37ee8bcadbf20e419e2ef2f53503959ec976561d8125cdbc014d5be236660047", - "item": "crate::Workload::attempt_with_deadline", - "lint": "clippy::match_same_arms", - "path": "src/dst/runtime.rs" - }, { "count": 1, "fingerprint": "37ad9fc70d48095f983c2413ff24b72a396c2c624e7b09f0c8db44bd9d459f63", @@ -3382,27 +2101,6 @@ "lint": "clippy::match_same_arms", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "f59ccdfbec270a6aa037979049d7b83004be4e8d9687dd7b8ff41e531a055e13", - "item": "crate::delivery_messages", - "lint": "clippy::needless_pass_by_value", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "e324a90671f2476662f4bbd7f2615af43fb6712f3c2a70f31c0f98535c66370a", - "item": "crate::TraceState::begin_operation", - "lint": "clippy::needless_pass_by_value", - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "f7a2a93715136528159aeddbbc6e1b44ca2ce5b150dfbef93d0027d3fe04043c", - "item": "crate::TraceState::begin_operation", - "lint": "clippy::needless_pass_by_value", - "path": "src/dst/trace_store.rs" - }, { "count": 1, "fingerprint": "eae5e7a122aca8fea003f07434179afc796c5deefe04bb2074f92f6776185fe3", @@ -3410,13 +2108,6 @@ "lint": "clippy::needless_pass_by_value", "path": "src/http/read.rs" }, - { - "count": 1, - "fingerprint": "5826a9e9a605f678ae967e60803368f8fa13d4a6bd4e7f8c0bd3fdc7d345ea96", - "item": "crate::RuntimeCaps::with", - "lint": "clippy::needless_pass_by_value", - "path": "src/runtime.rs" - }, { "count": 1, "fingerprint": "6ce788248f78d6875e88116f072d743e3c3a39023ea033fb6506a346554b2596", @@ -3482,94 +2173,6 @@ "metric": 6, "path": "src/application/append/close.rs" }, - { - "count": 1, - "fingerprint": "a004b85b47935b9f8c546e222edc941b08d4784438c1aed2d2755b99ee0b9c5a", - "item": "crate::ConsumerService::authorize", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/consumer.rs" - }, - { - "count": 1, - "fingerprint": "c8b385496a7807aef5914035668bdd01377b4a05f5c7e7a93327efaed2e7da4b", - "item": "crate::ConsumerService::sweep_local", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/consumer.rs" - }, - { - "count": 1, - "fingerprint": "1bd0e2bc2288549e5b89d45e9af7a2d38ff937974b05ac5dade623715872c625", - "item": "crate::delete", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/consumer/deletion.rs" - }, - { - "count": 1, - "fingerprint": "37e4bf3e42dd068c2f5512ee518e42ffe1048dad1f52b1f0aedc90a20c821eaa", - "item": "crate::foreign_segment_drained", - "lint": "clippy::too_many_arguments", - "metric": 7, - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "5d14e23eb255b375e0ebc226868542a3010e20ae174f95e5252c6aae52bfaf50", - "item": "crate::relay_queue_cursor", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/consumer_remote.rs" - }, - { - "count": 1, - "fingerprint": "c251d3416705b4538bf921d7ea669437310db46d1cd2b80ec16b2bae0af602a7", - "item": "crate::relay_sweep_segment", - "lint": "clippy::too_many_arguments", - "metric": 7, - "path": "src/application/consumer_remote.rs" - }, - { - "count": 1, - "fingerprint": "e5c5b995eea1c55603654eea93a399e9ebd26d09b3ec64ee683040fcd30cc0db", - "item": "crate::create_request_hash", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/creation.rs" - }, - { - "count": 1, - "fingerprint": "c34852f94b4bcefb8c68ef6a9101a3b477e52e7957f0cf6128adecf367e7e826", - "item": "crate::fresh_desc", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/creation.rs" - }, - { - "count": 1, - "fingerprint": "a3b4e0de159936b506a87bcb53a8a152b0da9fe9ece6bac69796ec68fd3032d4", - "item": "crate::seed", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/creation/initialization.rs" - }, - { - "count": 1, - "fingerprint": "d3d0264ce67de9341f1a28b304ed2be7d8238287e18bfc8640a9a9a6bd0a184d", - "item": "crate::ReadService::new", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "633e7fb955ab614ef74c7bf785b7643205da432351717f8bae73e651a48be2da", - "item": "crate::absorption_race", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/read.rs" - }, { "count": 1, "fingerprint": "f3753b732c6e33c16383d7a6e0abbcf37ead1486eb14debb4717d08ce09c6379", @@ -3610,14 +2213,6 @@ "metric": 7, "path": "src/application/read_scan.rs" }, - { - "count": 1, - "fingerprint": "74b37b2c10cb2b365cec70d2486b29b4bdad3a99a730d1e2170c7cf876734205", - "item": "crate::spawn_refresher", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/auth_feed.rs" - }, { "count": 1, "fingerprint": "d78673e2697852400b3478461536185bbbd433f88d3c03a5540bc44073fc36d1", @@ -3626,30 +2221,6 @@ "metric": 6, "path": "src/crypto/decrypt.rs" }, - { - "count": 1, - "fingerprint": "ce371c8a7f3ddb11e926091c9f2cc881492b5e945391e7dd663d82f58ae84aad", - "item": "crate::rig_opener", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/dst/tests/fixture_http.rs" - }, - { - "count": 1, - "fingerprint": "b68e3b0324edff5c87f77d331094194dac5d1b63fa01d0c7c2584a8918ea3d69", - "item": "crate::TraceState::begin_operation", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "d4b387794821cd2deaf5f4ca72f65c10a957163bad7c47326ce3491ba7f7460c", - "item": "crate::TraceState::observe", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/dst/trace_store.rs" - }, { "count": 1, "fingerprint": "d91f803c88dc8b85411a4e19588804f57e1008b361be7f5246671d7d35e81991", @@ -3754,14 +2325,6 @@ "metric": 7, "path": "src/product.rs" }, - { - "count": 1, - "fingerprint": "68829ee93b496db0d6c936a103ec07e54c3184c0ca0a86e925d6399af138d64b", - "item": "crate::QuotaRegistry::admit_append", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/quota.rs" - }, { "count": 1, "fingerprint": "1c8e09a8608e3cec2e627b5a07348e803c3817db03602ce159ae69944f203682", @@ -3772,179 +2335,43 @@ }, { "count": 1, - "fingerprint": "ea6bddf6d5f54d5aa0604e205c0763a707615e60ce67a295666bc975f754ec92", - "item": "crate::CommitTransaction < '_ >::config_lifecycle", - "lint": "clippy::too_many_arguments", - "metric": 7, - "path": "src/shard/transaction/queue/config.rs" - }, - { - "count": 1, - "fingerprint": "6cf3196e9b4e5a5e0d4e626573a81bd5c2034c6fc7160270fe4c5139abf088e7", - "item": "crate::CommitTransaction < '_ >::config_put", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/shard/transaction/queue/config.rs" - }, - { - "count": 1, - "fingerprint": "40bc5f30f5c9e9a20f28de8922c306638c2b4fc7d498d3fcd3f1e9be20f7799e", - "item": "crate::GatedSseBody::new", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/sse/auth.rs" - }, - { - "count": 1, - "fingerprint": "da2a863c58cbe1c69f5cdb1557beb1349d01e434068ec82622f30bd3855e01c7", - "item": "crate::refresh_transition", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "a3f959f73376479193a13dcc5963cfc43534b93e5a9aa7d96268866407b7d8c5", - "item": "crate::execute_once", - "lint": "clippy::too_many_lines", - "metric": 171, - "path": "src/application/append.rs" - }, - { - "count": 1, - "fingerprint": "494571005b4af4bdf9d932e8027e52c138e7a1e6bed214ce1debd9249af63501", - "item": "crate::prepare_close", - "lint": "clippy::too_many_lines", - "metric": 110, - "path": "src/application/append/close.rs" - }, - { - "count": 1, - "fingerprint": "eb9d5827b97abad3e0eecebc477d7999bdd1d8b2bcc6971401d60f868945c795", - "item": "crate::put", - "lint": "clippy::too_many_lines", - "metric": 143, - "path": "src/application/consumer.rs" - }, - { - "count": 1, - "fingerprint": "1c6913ca428c333ece9624cbccda5a9292d396656b0555350676dfc6b0bcbbfc", - "item": "crate::delete", - "lint": "clippy::too_many_lines", - "metric": 102, - "path": "src/application/consumer/deletion.rs" - }, - { - "count": 1, - "fingerprint": "68c3bbc636e54eb0d7a0b3046b27ba577775c395b0459146a40526a24538b0cb", - "item": "crate::resume_deletion", - "lint": "clippy::too_many_lines", - "metric": 108, - "path": "src/application/consumer/deletion.rs" - }, - { - "count": 1, - "fingerprint": "b02eeaa06ec37e4467a96fc72aeeab3ec46c2ecd6a56fa6a5bcef0293a22d1cd", - "item": "crate::dlq_and_settle", - "lint": "clippy::too_many_lines", - "metric": 117, - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "eff63a2b95e15d539627c196b8898f6818f6839e32a01634a269f0b325d75de7", - "item": "crate::pull", - "lint": "clippy::too_many_lines", - "metric": 176, - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "ab52472a99cb01a7e0cd3de1de4eb79d1eacb8b64dae9e0a31242cc7880e866b", - "item": "crate::settle", - "lint": "clippy::too_many_lines", - "metric": 169, - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "50b05bc1d369ffae99037c8e2c349c80aaf4faab5d9b90920d3425b83f476bb5", - "item": "crate::install", - "lint": "clippy::too_many_lines", - "metric": 133, - "path": "src/application/creation/anchor.rs" - }, - { - "count": 1, - "fingerprint": "fa83d718a1c91c2a37610d3f40cc61e45ee106ef5dff6386f84f5d31634d3d57", - "item": "crate::resolve", - "lint": "clippy::too_many_lines", - "metric": 133, - "path": "src/application/creation/claim.rs" - }, - { - "count": 1, - "fingerprint": "c89b878a58fc7d64767230e53a479b9cf1fdb06003587aa0fa72cb610e16e079", - "item": "crate::delete_lifecycle", - "lint": "clippy::too_many_lines", - "metric": 120, - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "9db6f5b359c24116ab99b69948a73662f8fcf683641e2dba09724364eadfea29", - "item": "crate::release_fork_ref", - "lint": "clippy::too_many_lines", - "metric": 108, - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "1dac42c2def9beea11c272d9d65832db0638480e73b5ee8251b9a709ac859587", - "item": "crate::prepare", - "lint": "clippy::too_many_lines", - "metric": 124, - "path": "src/application/creation/fork.rs" - }, - { - "count": 1, - "fingerprint": "40b27f4264bc1f246e8ab117e877350614161c92de1552ba9f8500835720186d", - "item": "crate::validate_boundary", - "lint": "clippy::too_many_lines", - "metric": 110, - "path": "src/application/creation/fork.rs" + "fingerprint": "ea6bddf6d5f54d5aa0604e205c0763a707615e60ce67a295666bc975f754ec92", + "item": "crate::CommitTransaction < '_ >::config_lifecycle", + "lint": "clippy::too_many_arguments", + "metric": 7, + "path": "src/shard/transaction/queue/config.rs" }, { "count": 1, - "fingerprint": "daeb36d3e3a8cc7674ea6e88b0ead58f9655b44576f270ff4e29b2903df33678", - "item": "crate::seed", - "lint": "clippy::too_many_lines", - "metric": 135, - "path": "src/application/creation/initialization.rs" + "fingerprint": "6cf3196e9b4e5a5e0d4e626573a81bd5c2034c6fc7160270fe4c5139abf088e7", + "item": "crate::CommitTransaction < '_ >::config_put", + "lint": "clippy::too_many_arguments", + "metric": 6, + "path": "src/shard/transaction/queue/config.rs" }, { "count": 1, - "fingerprint": "6d05999b63302ffaf9b27bc05561ad0b8d53ad922a918f1c2baa9c4ce37a9085", - "item": "crate::CreationService::create_product", - "lint": "clippy::too_many_lines", - "metric": 117, - "path": "src/application/creation/product.rs" + "fingerprint": "40bc5f30f5c9e9a20f28de8922c306638c2b4fc7d498d3fcd3f1e9be20f7799e", + "item": "crate::GatedSseBody::new", + "lint": "clippy::too_many_arguments", + "metric": 6, + "path": "src/sse/auth.rs" }, { "count": 1, - "fingerprint": "80c2fab589cc4b4bbae6c48312d3d72379194aa5681188357aa625561bc03190", - "item": "crate::execute_segment", + "fingerprint": "a3f959f73376479193a13dcc5963cfc43534b93e5a9aa7d96268866407b7d8c5", + "item": "crate::execute_once", "lint": "clippy::too_many_lines", - "metric": 143, - "path": "src/application/read.rs" + "metric": 171, + "path": "src/application/append.rs" }, { "count": 1, - "fingerprint": "356b6413e1a23f83718ecfe5cbb250a77811980fc145f8ac12fc71c175f4619b", - "item": "crate::Fp::site", + "fingerprint": "494571005b4af4bdf9d932e8027e52c138e7a1e6bed214ce1debd9249af63501", + "item": "crate::prepare_close", "lint": "clippy::too_many_lines", - "metric": 101, - "path": "src/failpoints.rs" + "metric": 110, + "path": "src/application/append/close.rs" }, { "count": 1, @@ -3962,14 +2389,6 @@ "metric": 123, "path": "src/fleet/repository/document_tests.rs" }, - { - "count": 1, - "fingerprint": "64ca907aa6f5007d541a9618d0c501e1924d6308d617e5562b56ff0fab1d68b1", - "item": "crate::active_absorber_cancel", - "lint": "clippy::too_many_lines", - "metric": 179, - "path": "src/history/controller_tests.rs" - }, { "count": 1, "fingerprint": "c73584523522a3762b0bcdd1dfd03bdea4d1afce1bb1c36bb3fd847421c42a62", @@ -4146,14 +2565,6 @@ "metric": 176, "path": "src/shard/transaction_tests.rs" }, - { - "count": 1, - "fingerprint": "04536f2aa89e60d5cc8ec50cb6e2ab664bf57cb8036dc498b7045bb15aab9f17", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::too_many_lines", - "metric": 129, - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "2137c3c953cb295c7df70604ce9004490e65bd94165e089321e387d56a32ddd4", @@ -4162,37 +2573,6 @@ "metric": 497, "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "66f57ea6b4bdc50aa663e8802e084282c8ca87ece4fd4fce486b75a40700051f", - "item": "crate::", - "lint": "clippy::too_many_lines", - "metric": 113, - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "7181de88fadbfafe136d390f65f4b19240530b9187ee25df3d9137e117789d5b", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::too_many_lines", - "metric": 131, - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "ba628a37994b8c8b75f6f077d934159afb2cb438a711df26ef78d7390ad42422", - "item": "crate::refresh_transition", - "lint": "clippy::too_many_lines", - "metric": 128, - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "dcb603471750f1dc05803d2425a4d7fd7dc30846681e686f97de24e2347e9a6b", - "item": "crate::reg::M", - "lint": "clippy::type_complexity", - "path": "src/failpoints.rs" - }, { "count": 1, "fingerprint": "954fe0bf97703429fbbb66fe42a4d63ccdad7d0f630fff9765de39c4fc0ca96f", @@ -4207,27 +2587,6 @@ "lint": "clippy::type_complexity", "path": "src/shard.rs" }, - { - "count": 1, - "fingerprint": "37b78d3e5d23f300900d23cd91e78b2ab0f3f41a1392b98fce0d8fd9231dc44d", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::type_complexity", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "08e830a295346538307c58cd61ddfec20277c8ecd1e470970a94c38d1971e488", - "item": "crate::SpanReader::Sealed::local", - "lint": "clippy::type_complexity", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "4f84b1f903baebf6f998640334f0b737e373d4c1c9e09b84f54a8614ce03e189", - "item": "crate::livefeed_remote_sealed_predecessor_streams_through_owner", - "lint": "clippy::unnecessary_to_owned", - "path": "src/dst/tests/livefeed_history.rs" - }, { "count": 1, "fingerprint": "f3fd81128a33528e5268d68bb42f43a116a7166d7780ad3948147a3e984b6ca4", @@ -4235,13 +2594,6 @@ "lint": "clippy::unnecessary_wraps", "path": "src/registry.rs" }, - { - "count": 1, - "fingerprint": "774188d62e2c1dfab6c5ff389c7639b157671e13df6de05c1134d17ca665ec21", - "item": "crate::mix", - "lint": "clippy::unusual_byte_groupings", - "path": "src/dst/fault_store.rs" - }, { "count": 1, "fingerprint": "ff7731d0845c383fbf80de4bd214d4197d2e99952e8a1d74d8aeda228bb22727", @@ -4256,41 +2608,6 @@ "lint": "clippy::unwrap_used", "path": "src/application/append/contract.rs" }, - { - "count": 1, - "fingerprint": "e0390ed8d951a6dce9f7f6ee0777469c41c75af09930b2e22cf955c848755b9f", - "item": "crate::ConsumerService::queue_position", - "lint": "clippy::unwrap_used", - "path": "src/application/consumer.rs" - }, - { - "count": 1, - "fingerprint": "16ab9594855c427f4a65dfe38ea3629bd53a6ee4391a6dd8362f320c722b0551", - "item": "crate::validate_boundary", - "lint": "clippy::unwrap_used", - "path": "src/application/creation/fork.rs" - }, - { - "count": 1, - "fingerprint": "34a919c9b9e5cf280c9bf56bd2747b29062a42d307d5809f4cd67691660b3b6b", - "item": "crate::seed", - "lint": "clippy::unwrap_used", - "path": "src/application/creation/initialization.rs" - }, - { - "count": 1, - "fingerprint": "64ffd9e77598203d0f3ca8a1fff6754fe9c94d177853345b9d1a9f76c754ffbe", - "item": "crate::execute_segment", - "lint": "clippy::unwrap_used", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "67efc16f663ea2fb945a6db2e5f6759e664f104e222bf9fdecc630b8fcbadb51", - "item": "crate::read_stitched", - "lint": "clippy::unwrap_used", - "path": "src/application/read.rs" - }, { "count": 1, "fingerprint": "f2214df93dd43613446ec659a2de14e255cf22a69cb8c3a7f2a067986c2b570f", @@ -4298,41 +2615,6 @@ "lint": "clippy::unwrap_used", "path": "src/application/read_scan.rs" }, - { - "count": 1, - "fingerprint": "6014b1aa6add876df5db2da816491f9050257ec26f0e50d0c4fe0687ad9ef730", - "item": "crate:: as Drop>::drop", - "lint": "clippy::unwrap_used", - "path": "src/audit.rs" - }, - { - "count": 1, - "fingerprint": "9375a6112a76aabe637ef8b03563c63dd562d03156db08619f4980b6acad2452", - "item": "crate::PendingAudit < 'a >::take", - "lint": "clippy::unwrap_used", - "path": "src/audit.rs" - }, - { - "count": 1, - "fingerprint": "dc39e1a52100a6faeac2f8acd2d170bdae29f475b95273a40e6893ccc15330b9", - "item": "crate::observe_denial", - "lint": "clippy::unwrap_used", - "path": "src/audit.rs" - }, - { - "count": 1, - "fingerprint": "cc28b723168aad66f2e97760c083e4524a0958416041699da43b583b9249713a", - "item": "crate::latency", - "lint": "clippy::unwrap_used", - "path": "src/bin/verify.rs" - }, - { - "count": 1, - "fingerprint": "fded73500a08aae4e9eeda1645dfc83b6064d6dd544c5c25b969b3d496d5a0e9", - "item": "crate::latency", - "lint": "clippy::unwrap_used", - "path": "src/bin/verify.rs" - }, { "count": 1, "fingerprint": "730010c152b1433ddceb819a81576c406ec6290c180b78d381ba4d18eaefd040", @@ -4543,111 +2825,6 @@ "lint": "clippy::unwrap_used", "path": "src/sse/auth.rs" }, - { - "count": 1, - "fingerprint": "224dbd17a19657e27865790208cd9cb559545dc94a19ac7138821489cdd652bf", - "item": "crate::::drop", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "7af84b290433c9c321e3fb9caafdf0f61ec32606ff688dc38883082770a82006", - "item": "crate::FeedMemoryBudget::project_retention", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "c083fc4f20bb43a0bf34fdd84d92644f4b00f9be0e18865f45268a36766ef150", - "item": "crate::FeedMemoryBudget::project_rows", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "e7ca24743e1f927151be7a8f582b2cf17c59cfffc3aacbff35b01db1593abaf1", - "item": "crate::FeedMemoryBudget::release_project_entry", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "073ed02b4b296d54800c80ec2e7a50044b6e853e546c8824b0a4f59c8f3aaced", - "item": "crate::LiveFeed::drive_under_permit", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 4, - "fingerprint": "211c0f90bdea61f666fa94fd779d4ba2b178f847b93a0982b97339bccd5d9b7c", - "item": "crate::LiveFeed::drive_under_permit", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "4c0eb08809d660142d19b52a3238e808ba414d893951d8857ffca01e0ec8f57e", - "item": "crate::LiveFeed::drive_under_permit", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "a2c3099a3f09147df8520f7cdc9cbee8336efb49ce62f327989f2502860f53ea", - "item": "crate::LiveFeed::head", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "4be1f85061c81c6fba5707e516527be5b21a2d6e2d48dea934ce11a805e45fd9", - "item": "crate::LiveFeed::install_source", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 2, - "fingerprint": "a9f56cd4e236a5720891af68fde8eef9d702c4d3e66bdc773c612cb8ee67a8b2", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "cd62b775965adb7cdd60ce4fd89dcddd3bd61964696bd637dddb5d16916a8d67", - "item": "crate::LiveFeed::schedule_transition_retry", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "03c7cc2d69e26a31e488c71ad50dd844768e0c921a688839316a9def7e876177", - "item": "crate::LiveFeed::source_snapshot", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "9403877c739fb5b0a746e93895f0e151741c7d7f83c33d57b11edc28c41b84a1", - "item": "crate::LiveFeed::subscribe_locked", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "a9a68411827f8c52fcc7692bd7106cd576329f913ece7c2e0dc9202eb61274f9", - "item": "crate::LiveFeed::subscribe_locked", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "966df9d375be27e401ff65c781944b49e0cf09696f1ae6d9244b7291646e4e9d", - "item": "crate::LiveFeed::take_visible", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "e01afb79860b940cd885f3130c9986c7e370d0d098817f2e4adb9800ee02551b", @@ -4683,132 +2860,6 @@ "lint": "clippy::unwrap_used", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "47ef3e4da68eee0609dc78313dca45277aff6344fb5415e5aa7dcf852d7cf572", - "item": "crate::::closed", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "66b053ee0a1218c502eba5a91ba71c05f3e0d8efc29f9a73535699eb9a129bd9", - "item": "crate::::frontier", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "851787499c483eb04ad9fd9a49b09ffa937523543434852d787e9a03bc212cf8", - "item": "crate::::logicalize", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "eb3e246f9b95db8fd7f2b83e258d5be5310102684ddb6c8909049482178b3c5e", - "item": "crate::::closed", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "85caf6c3f03fb531de49847d93da29c43bbe8982e282b45dc34d219f1b8dc56e", - "item": "crate::::frontier", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "5833d8b529955b15b505f11e1112892afe1ee59af9e4c7df4db845eee7491612", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "ef7842ad7257942dbc119cd852e63843df543085180e3d055e8172c3ae01257e", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "20c3acc01822fdb78e771b898502ed53a4206d8bb8db2b34fc65d4d87163276d", - "item": "crate::TaskSupervisor::incomplete_shutdown_failure", - "lint": "clippy::unwrap_used", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "30d712b2122b4fdd8fa362a2b13f07760ec21ed80f928b8815a3876baf9b970e", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::unwrap_used", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "60a71a130702a263dcad0e099f43d7e96f5776f921eb44db9d1dca33fc9f6a6b", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::unwrap_used", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "b5bdd9f0c8a87be648b57157e2b40459ec06e20daa6719790c0abd11fd068ab0", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::unwrap_used", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "ab5f6ab54d91cc0ea9ec9ab1ac608bb6bdf6857e84d599ebcc8c4a9374924207", - "item": "crate::TaskSupervisor::observe_shutdown", - "lint": "clippy::unwrap_used", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "b4c250e6670d01ae4792c586b20aef709d7b0665efc273d220a4caa8fd6b9cb3", - "item": "crate::TouchJournal::flush_bucket", - "lint": "clippy::unwrap_used", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "a7fae912a54e5fc1a2fd6fe904321b47d2a27fc4b93605dc0fd42722faea1edb", - "item": "crate::TouchJournal::ingest", - "lint": "clippy::unwrap_used", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "2c355b4eacb4c6bb50690d1dac2e09669bbed828167f3c16ff07a2a00c2024c9", - "item": "crate::TouchRegistry::close_shard", - "lint": "clippy::unwrap_used", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "79bf708a68180b65b78fb4b5de7c69048961f330cf30f057b3f782cac8932941", - "item": "crate::TouchRegistry::journal", - "lint": "clippy::unwrap_used", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "2047871277f8d0a05956c4e1cb344f06202a24b6f24cdfa44c02003dd37efc98", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::wildcard_enum_match_arm", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "d5194dd5ab170c502ca6c19f699d99f9123bed3e9e3895962853cb317ccde6b0", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::wildcard_enum_match_arm", - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "f3255ca3e71639b9a0ca6912945433030f584778c2042d960ff77ca1a8ca55a2", @@ -4830,13 +2881,6 @@ "lint": "unreachable_pub", "path": "src/application/read_keys.rs" }, - { - "count": 1, - "fingerprint": "4e88cb6514e617e1c971f3f310f8fa373479b64549b29331bfbbc294b88569cb", - "item": "crate::spawn_refresher", - "lint": "unreachable_pub", - "path": "src/auth_feed.rs" - }, { "count": 1, "fingerprint": "86b45b21b38060107772bcbbe6d6d8321bc97e6f55ace1e028bc4c9933dde421", @@ -4844,20 +2888,6 @@ "lint": "unreachable_pub", "path": "src/bootstrap.rs" }, - { - "count": 1, - "fingerprint": "6ca31a8ab2daa6134a18669c50ca283247b46bcd9efc9a73d74cbc16d2f0fa5e", - "item": "crate::TraceStore::with_options", - "lint": "unreachable_pub", - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "9554e7d8e300567e64cd59df2571adaccca65e294d297e0dc3ae8116a5af864a", - "item": "crate::Fp::site", - "lint": "unreachable_pub", - "path": "src/failpoints.rs" - }, { "count": 1, "fingerprint": "ffa2489531b69a28379bccc8278747181e096c43162692ea2da4e8c3a1d1cf9c", @@ -4907,13 +2937,6 @@ "lint": "unreachable_pub", "path": "src/product.rs" }, - { - "count": 1, - "fingerprint": "6487b3fbddd2c3343d03313756888a3276394c4cfb7c47863403ff72fd1df099", - "item": "crate::QuotaRegistry::admit_append", - "lint": "unreachable_pub", - "path": "src/quota.rs" - }, { "count": 1, "fingerprint": "f6269145e7da12ea84288ac84f204a1635a1bc7f8391b9117d01097252cfd7d8", @@ -4942,13 +2965,6 @@ "lint": "unreachable_pub", "path": "src/registry.rs" }, - { - "count": 1, - "fingerprint": "267171222ab33983f7c4565129274bd6a6b36290c6126ea4b8a6d5f816e484ef", - "item": "crate::RuntimeCaps::with", - "lint": "unreachable_pub", - "path": "src/runtime.rs" - }, { "count": 1, "fingerprint": "4a034c08934265d15e51ea98686e48bde353a689522b69fa1ac6c093effa7883", diff --git a/docs/quality/diagnostic-allowances.json b/docs/quality/diagnostic-allowances.json index ffa6609a..8351c530 100644 --- a/docs/quality/diagnostic-allowances.json +++ b/docs/quality/diagnostic-allowances.json @@ -1,62 +1,6 @@ { "schema": 1, "warnings": [ - { - "count": 1, - "fingerprint": "71a6fbd0e075f7bca826a065d8b76e484b4875a6f093f84e54435b13dc420bab", - "item": "crate::dlq_and_settle", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "c9df997dfba8fe967a2e7dc756fd00658525c64c2b5b7caba402e69cc0ac2ff9", - "item": "crate::ReadPlan < 'a >::segment", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "0008921133ad15a463a765a126faabe1a8b26edcb252db05337ec92b202fd46f", - "item": "crate::TEST_ASSERT_KEYED_DENSE", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "ee99fdfcbd2ac9a98b1979169a16a76f4ddcb71a8a4f48a67f79d4abd0e24319", - "item": "crate::read_merged", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "38c5fba0dcbe08fe844b3044cbbff4ee685a26765d0b1fb9948d13fd624f5190", - "item": "crate::read_stitched", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "d1ab2ef2c5d52cc346cc433c770edfd4dc2a508ec0ec7c27d5aef2937602fdad", - "item": "crate::WALK_CLOSE_SUBMITS_SNAPSHOT", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/dst/tests/runtime_sweep.rs" - }, - { - "count": 1, - "fingerprint": "4726a4571dfdb78495ced8de54fa2f3b16bb3d76083e46a6132cbeb4fa571ab5", - "item": "crate::TraceState::event", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "4536c5ad357fab836314c87fe78d95b9c23d9f545289e7ee7c0e600f6393a5d2", - "item": "crate::read", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/history/canonical_span.rs" - }, { "count": 1, "fingerprint": "926990bf4070f815519da4ea817cf8f1c3746bcd938d366e01d2064f42874d2a", @@ -78,13 +22,6 @@ "lint": "clippy::allow_attributes_without_reason", "path": "src/http.rs" }, - { - "count": 1, - "fingerprint": "3fc6f535aafafccf0492bd8dd860c3326140c64c8104e0d87824ee811be9aba4", - "item": "crate", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/project_policy.rs" - }, { "count": 1, "fingerprint": "9f75b52bc2315c18f5b5f127af17ec6b4cadc2938ee7e2e9d1b38fd6c521946a", @@ -106,20 +43,6 @@ "lint": "clippy::allow_attributes_without_reason", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "8d6026711db89f4d2295fd5cccc0b3aafdadba25af2349a816723c124357d9fa", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "1bb88504ce2fca87109f7467170295cbd58315776730d64836bd1891b3f6cc6f", - "item": "crate::LineageSpan::identity", - "lint": "clippy::allow_attributes_without_reason", - "path": "src/sse/source.rs" - }, { "count": 1, "fingerprint": "65a87a98262bac6cbedb72481c3bb2932fc19fa79ebb2087e139e95a4be2de32", @@ -183,27 +106,6 @@ "lint": "clippy::arithmetic_side_effects", "path": "src/postings/validated/tests.rs" }, - { - "count": 1, - "fingerprint": "c6ca46333280941cc3d9e0533fb04c013cfbc0e35fcd776a233242943a9b421d", - "item": "crate::validate_boundary", - "lint": "clippy::cast_possible_truncation", - "path": "src/application/creation/fork.rs" - }, - { - "count": 1, - "fingerprint": "6976bf455d3ff810be747836b93b0a893da0aeb7a7cb1af430f022d5901c937d", - "item": "crate::o2_tests::o2_batch_publishes_one_owner_only_after_authentication_and_admission", - "lint": "clippy::cast_possible_truncation", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "a46e69225d9ed64fdb4fc51c623c367cc0c5a1fe1d45f0d95874afd2278bf356", - "item": "crate::o2_tests::o2_batch_publishes_one_owner_only_after_authentication_and_admission", - "lint": "clippy::cast_possible_truncation", - "path": "src/application/read.rs" - }, { "count": 1, "fingerprint": "19faeb7207c3e2acf0289a7024d8e6c58a999d895294c83ba774d6ca7da28d40", @@ -246,41 +148,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/crypto/decrypt/tests.rs" }, - { - "count": 1, - "fingerprint": "287f037923e94ad9602fa8936d7d3907ad9f5766f44826900d2cbbce2c323d30", - "item": "crate::a_bounded_cleanup_drains_residue_without_touching_the_live_generation", - "lint": "clippy::cast_possible_truncation", - "path": "src/dst/tests/consumer_generations.rs" - }, - { - "count": 1, - "fingerprint": "7d7179a86e3fc221ff7892272b362fdbb9b4fdd0b2c64b343f0a043cf94a5c19", - "item": "crate::a_bounded_cleanup_drains_residue_without_touching_the_live_generation", - "lint": "clippy::cast_possible_truncation", - "path": "src/dst/tests/consumer_generations.rs" - }, - { - "count": 1, - "fingerprint": "9c302163b5ac0595c88cf4781f878f9b6a19c2f66f407371aba23db42885c6be", - "item": "crate::a_bounded_cleanup_drains_residue_without_touching_the_live_generation", - "lint": "clippy::cast_possible_truncation", - "path": "src/dst/tests/consumer_generations.rs" - }, - { - "count": 1, - "fingerprint": "a09cfaa70cac37e0689661547b045c69e00ff0f527f728ed3c1726eddf15d439", - "item": "crate::drain_filtered", - "lint": "clippy::cast_possible_truncation", - "path": "src/dst/tests/fixture_storage.rs" - }, - { - "count": 1, - "fingerprint": "9284baf0ba6fae64e2b6d3168c3aa2d9cb5fef0a5c0735d7a8179c1ae8c50844", - "item": "crate::ring_ordering_paging_and_duplicates_at_offset_level", - "lint": "clippy::cast_possible_truncation", - "path": "src/dst/tests/reads_ring.rs" - }, { "count": 1, "fingerprint": "63864b20e596bb147a34d1b2931d80d476e1cbc92780108f0365c72434f53e67", @@ -330,13 +197,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/fleet/repository.rs" }, - { - "count": 1, - "fingerprint": "5af623bc62c0ccc1820a8f347ac915b3aca7e21cb2a40a61cdd46b0f61ff4867", - "item": "crate::raw_page", - "lint": "clippy::cast_possible_truncation", - "path": "src/history/postings_validation_tests.rs" - }, { "count": 1, "fingerprint": "d5be370059abb30c56ae98081eb68c137b9ff42e49bf9e04c6dde993dfdf51b8", @@ -344,13 +204,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/http.rs" }, - { - "count": 1, - "fingerprint": "16d4bd61ffc5b2b6345f6ef44318516da4f02fe7d1f9aa9e8ae9d14c522dd1f6", - "item": "crate::decode_char", - "lint": "clippy::cast_possible_truncation", - "path": "src/offsets.rs" - }, { "count": 1, "fingerprint": "b9c4dae2f6f8f9a15e07cedb0173130ecb2ac25bf3b7c17858430da758e4c98a", @@ -372,20 +225,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/product.rs" }, - { - "count": 1, - "fingerprint": "b900c089908cc6049a860cb71fca75c926382dffdeeadccf7dee050cd40e8cb3", - "item": "crate::CatalogCursor::encode", - "lint": "clippy::cast_possible_truncation", - "path": "src/product_cursor.rs" - }, - { - "count": 1, - "fingerprint": "854ed2b01aff96913794d23e8c6a480c2b3b900d70b52d6ce400051af02158f7", - "item": "crate::ScanCursor::encode", - "lint": "clippy::cast_possible_truncation", - "path": "src/product_cursor.rs" - }, { "count": 1, "fingerprint": "a2b9a18d18b6ccd3e1b5e20712a504f8f17e0fdd0767eef179ed8c2f5b9cd7c0", @@ -393,34 +232,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/registry.rs" }, - { - "count": 1, - "fingerprint": "9e489bf9c63f903996f5b53ecd6642d31bd17e94bd37af89ecb868015d63a846", - "item": "crate::::now", - "lint": "clippy::cast_possible_truncation", - "path": "src/runtime.rs" - }, - { - "count": 1, - "fingerprint": "043c5b1b0ed2607c4361ee53907fda91073cc4aae91b714732a9191d7ca520c8", - "item": "crate::ManualClock::advance", - "lint": "clippy::cast_possible_truncation", - "path": "src/runtime.rs" - }, - { - "count": 1, - "fingerprint": "c4bc68ccc02a08088a6b3aa54ec76539b649f03f03a2be166e28b999dcc96351", - "item": "crate::MonotonicNow::millis", - "lint": "clippy::cast_possible_truncation", - "path": "src/runtime.rs" - }, - { - "count": 1, - "fingerprint": "7801c4f0eb99e050a6ee03c0ba53d2e916006cd4b99c8f409cf9624daf0dcf85", - "item": "crate::tests::segment_order_cannot_erase_a_hot_key_or_change_decisions", - "lint": "clippy::cast_possible_truncation", - "path": "src/scaler3.rs" - }, { "count": 1, "fingerprint": "90d71b08a4ec0e9c9cf53d4401ee70aa94259e74cdef52f841689d649feab830", @@ -533,13 +344,6 @@ "lint": "clippy::cast_possible_truncation", "path": "src/shard/transaction/publish.rs" }, - { - "count": 1, - "fingerprint": "528dd7b6cca8a88a06f37703ab547cc2f6a640e3af129e3af149f3c66505e12b", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::cast_possible_truncation", - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "600c95d869121238690c36c6bb288384251ab6cd254720bdb70869962613f5c3", @@ -687,13 +491,6 @@ "lint": "clippy::disallowed_methods", "path": "src/bootstrap/runtime_handoff.rs" }, - { - "count": 1, - "fingerprint": "c3c8e6f10636569f7060d6fb5a83ad511cafbbe936bcd93bd0054a9c3721ca05", - "item": "crate::reset_refuses_while_in_flight", - "lint": "clippy::disallowed_methods", - "path": "src/dst/trace_store_tests/streams.rs" - }, { "count": 1, "fingerprint": "467ecb0e93130ae35e1b6f44dcb300042a7f8aa3c8ba97139d917f1c1477258d", @@ -708,13 +505,6 @@ "lint": "clippy::disallowed_methods", "path": "src/http.rs" }, - { - "count": 1, - "fingerprint": "363a60fc119bb47f10bce7c4759afe3477bfd115ef0ced4e31b16e2513282769", - "item": "crate::main", - "lint": "clippy::disallowed_methods", - "path": "src/main.rs" - }, { "count": 1, "fingerprint": "a4b24ddc151fb02ad8eabfe6eac9e73cde3ec8bdbd1ad791fe279b189c0673b8", @@ -757,13 +547,6 @@ "lint": "clippy::disallowed_methods", "path": "src/sse/auth.rs" }, - { - "count": 1, - "fingerprint": "b553a28c43f1310c33d68612712c2062229f344041e276f27bd6bf9cbc5b1673", - "item": "crate::LiveFeed::schedule_transition_retry", - "lint": "clippy::disallowed_methods", - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "daeb065d8b240050dd2a5c8b3982bd8fc6d6b0ed97b395068693949c86dacbbb", @@ -771,27 +554,6 @@ "lint": "clippy::disallowed_methods", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "077dcb0658838b0eae07fae1248464feb53eb4915ab8e665afe5540f99f3be58", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::disallowed_methods", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "3daf3c339406341074978c72f890391f92eecea5aaaee0cc01a9682afcff1762", - "item": "crate::TouchJournal::start", - "lint": "clippy::disallowed_methods", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "1d034ec3d0e5fb08a999d4f13e4ecce20c136c35c7c22a9d8b5048c8adcd2ac9", - "item": "crate::main", - "lint": "clippy::excessive_nesting", - "path": "examples/readertest.rs" - }, { "count": 1, "fingerprint": "1aa80d18a19ab8c44adad6867582390fd403d7e578c6c980d86a41215fc4d6a6", @@ -834,125 +596,6 @@ "lint": "clippy::excessive_nesting", "path": "src/application/append/content.rs" }, - { - "count": 1, - "fingerprint": "4e1a3f179a244f81df2b9047242dda35a2955194fb9d9a2890da450bd1fe9b35", - "item": "crate::dlq_and_settle", - "lint": "clippy::excessive_nesting", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "40534a041f5b422f47767b3bb700b718265f762e51dde78a4a0f98a24b7816d7", - "item": "crate::pull", - "lint": "clippy::excessive_nesting", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "9f202dfb5f87c9c73eb680fa96b61b41237fbfe9d9b326b733805e33f52e6d35", - "item": "crate::pull", - "lint": "clippy::excessive_nesting", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "ef4325435bbee056e68c6efe90654ffd71a5fcd935fee2eefea19f106399dcd2", - "item": "crate::pull", - "lint": "clippy::excessive_nesting", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "42ebb9c72561e888b59478a720e62e9546de1060541143151da6eb0b7285b98e", - "item": "crate::tests::r05_cancelled_ttl_attempt_releases_only_its_owned_slot", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation.rs" - }, - { - "count": 1, - "fingerprint": "25d0f8111c690996070f43095a86bf7bafb1a92223936708c5044d225d02c98c", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "30f0c95408939467c14ca3ebbb543ed194ed31339dd5e24377cb7e974fafd400", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "350abd10e6ecc8bc3cebc3d28cf789f3a58e611cb76e0fad483ecd00daa0de65", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "3c82ef4fa6edd14deb7e92e6e135a13763ecb50283c2ff0b61014b01adf4b79c", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "5ae95c68a36189a6a97270a7d0b38556b11a7698362a79682ebcaea19619852b", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "f85b889c8716747ed7035b9afcca76089da7c5e7a2cc7050fd7ea3784579470d", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "fd3c924d424859c4b5dd84f87bcfcbd4e9d770521fa8405ec8bcf07efef2e380", - "item": "crate::delete_lifecycle", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "00cb7e1681732ced8a5729d8a36bcfc4880ae70c60e13787aac0dee004851212", - "item": "crate::validate_boundary", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/fork.rs" - }, - { - "count": 1, - "fingerprint": "9261bca38e050f6bc31edb34d7eac39535119dc56391181972edd1ae220b9d41", - "item": "crate::publish", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/initialization.rs" - }, - { - "count": 1, - "fingerprint": "dbd216ac9137bf7a166271b93955bd5a65bff4a51bfd26ed592587c48b6b1393", - "item": "crate::CreationService::create_product", - "lint": "clippy::excessive_nesting", - "path": "src/application/creation/product.rs" - }, - { - "count": 1, - "fingerprint": "2152575a7b7844c0789cb5916bec1dc8286ff3e879ed34a90925fbda45e9d5d4", - "item": "crate::execute_segment", - "lint": "clippy::excessive_nesting", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "b2ed7a64ac4e12752e50ea7f6086069b9ce54b39ea7e5c59eb75ec09c219d325", - "item": "crate::fork_chain_of", - "lint": "clippy::excessive_nesting", - "path": "src/application/read.rs" - }, { "count": 1, "fingerprint": "1283f4769ff60ff780684ab18786940d14d286f9c38f4a5358460e212b6602d5", @@ -1044,13 +687,6 @@ "lint": "clippy::excessive_nesting", "path": "src/application/request_work.rs" }, - { - "count": 1, - "fingerprint": "7c8d260b0b1720495fd47fd9a739569d0cd61496f669c49020928ec9228ab033", - "item": "crate::resume_incarnation", - "lint": "clippy::excessive_nesting", - "path": "src/application/topology.rs" - }, { "count": 1, "fingerprint": "3cc16d7cd21fe23ec23e7994f70555a46e6793e78a1256dd8e74553442c5a4af", @@ -1107,34 +743,6 @@ "lint": "clippy::excessive_nesting", "path": "src/billing.rs" }, - { - "count": 1, - "fingerprint": "2f62db7585b4d3ccaa95e66fe7ad581dc1180577d52b456a221b29fc087f4ef2", - "item": "crate::main", - "lint": "clippy::excessive_nesting", - "path": "src/bin/livebench.rs" - }, - { - "count": 1, - "fingerprint": "4239b5b2ef451cfc3c075064486fc3ff459ba62405925418cd8db6d37813a5b1", - "item": "crate::main", - "lint": "clippy::excessive_nesting", - "path": "src/bin/livebench.rs" - }, - { - "count": 1, - "fingerprint": "abcf4ae5d0e9c8f9414eea67a7bde2f1048d3213507670cfd6824992b36090b8", - "item": "crate::main", - "lint": "clippy::excessive_nesting", - "path": "src/bin/livebench.rs" - }, - { - "count": 1, - "fingerprint": "cae7a8d75308315a2440fec7618150f7d79054ba9c20e850ffbef47adaeed2e8", - "item": "crate::main", - "lint": "clippy::excessive_nesting", - "path": "src/bin/livebench.rs" - }, { "count": 1, "fingerprint": "1eac21836af3d62faaf86c992f6e6a774c3f293cc7dd274d2683179da33988cd", @@ -1165,330 +773,78 @@ }, { "count": 1, - "fingerprint": "20915c85f18212ea79ef304324e79b7418de39d6017b019bbfb88a14d18fbbc4", - "item": "crate::::delete_stream", + "fingerprint": "06698729ff291ef104d9733ec1037c19a65d3270530b92d93f2eeab5ba6196c2", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/fault_store.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "a3f50add507862112bcb0572ef759a1844b9691c0949142659919d6098c0b6fd", - "item": "crate::::delete_stream", + "fingerprint": "2835ee8305da81421eb5976b96d36eb88328147bbae4f76f8ff2e4beba248ad5", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/fault_store.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "02fb0b5040299908eb75e672ed0057ed59824416ce3d63df2349931000fbab03", - "item": "crate::::list", + "fingerprint": "36b90f4f43f5a7a78c3cbed3c2459912fcad41b06935b0c0cd48090d94929161", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/fault_store.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "484a3e984d3f8323567c87f5234c69963717ccbc43dd5ba8dcd80ac3028110f3", - "item": "crate::readiness_endpoint_refuses_each_permanent_critical_exit", + "fingerprint": "404fd54290c30fad44947c652d821a7faa6849b8c4b4188e4e3f431b0ce9627d", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/review_readiness.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "38b4b5b4f365c240f983831949ac1c0b721c31c6ba3b9ed095b8683383e97eb4", - "item": "crate::r16_unauthorized_watch_shapes_are_independent_of_existence", + "fingerprint": "419888b61336a2fe088a9d4001c92cb5bb80fac1ab21c15f5ed2126c247ab5b2", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/review_security.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "beac18e52a4e5e4bcbfabf624dc1bc9185118a356cc1c76368cbc5dd440a8ae4", - "item": "crate::r16_unauthorized_watch_shapes_are_independent_of_existence", + "fingerprint": "5827e1b189432eb44bcb935ca65e398807270e9b01838328d719631717471aa6", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/review_security.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "fe2069e7763d98d2b2a1d3b02013973bf1432956a9970e240895fede3f9dbc3c", - "item": "crate::r16_unauthorized_watch_shapes_are_independent_of_existence", + "fingerprint": "5c2dc2ab4e0b392223dd9fc3a006db0c52d72882376d1c5c48347279fb168db2", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/review_security.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "7944f4056ffd5311351a49104fd999ff60f2fa54e8d3d8e8b11f33e61e7e6402", - "item": "crate::OpLog::audit", + "fingerprint": "5cdee18e4f40367d8f98d7b20db1aa4881ab79ef977a0b2134c34e992c46d057", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/runtime.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "b11118ab102192ad1cc42f532b7ec00d82c7a340ed61051c1ac104a9d71f7a93", - "item": "crate::OpLog::audit", + "fingerprint": "6b08b3fcd5155c8097a536a7a63b0fa95ae9f7b2b7ea05d7feca9401e24a8773", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/runtime.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "fb62bbd1021e932cf5fdc140a5f4db1b2c06ad36db64f17be41310a1754a59a2", - "item": "crate::Workload::append_to", + "fingerprint": "79c43ce915ae0f1c0bf008d365be655d2b6ebe3a68dd35d0b6ce691878fcd6f7", + "item": "crate::start", "lint": "clippy::excessive_nesting", - "path": "src/dst/runtime.rs" + "path": "src/fleet.rs" }, { "count": 1, - "fingerprint": "580d2ad6ac21a732ec42174ec819dcd149063e8819b25f4bdc043cf320e2f48d", - "item": "crate::product_consumer_drains_lineage_across_split", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/consumer_product.rs" - }, - { - "count": 1, - "fingerprint": "01f29285e5b5e3906d6dc5cb23aebac8c693299e54bf334a73e89abde40a1d51", - "item": "crate::rig_opener", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/fixture_http.rs" - }, - { - "count": 1, - "fingerprint": "24d6a9f7d08260ec8d41b585b5cd32e156e5a9b0b117cc840c45911732880158", - "item": "crate::r09_fleet_cancels_entered_documents_without_partial_authority_or_lost_retry", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/fleet_controller.rs" - }, - { - "count": 1, - "fingerprint": "ba04939f0f75a7c37688a56805d79f9171f2eeb312d37e9d334617c86631c78f", - "item": "crate::r09_fleet_cancels_entered_documents_without_partial_authority_or_lost_retry", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/fleet_controller.rs" - }, - { - "count": 1, - "fingerprint": "c849f9dbe87bd3cd71d409d13273ebb815eb5be62a0fd48a4a57d61ac54342eb", - "item": "crate::r05_unknown_child_state_preserves_its_source_reference", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/fork_lifecycle.rs" - }, - { - "count": 1, - "fingerprint": "fc1101b26da17357fcbc421fcb84beeb56f04c7b14262fcc48739ac08ffb6971", - "item": "crate::r05_unknown_child_state_preserves_its_source_reference", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/fork_lifecycle.rs" - }, - { - "count": 1, - "fingerprint": "4e09b4b11bc905358797d7b4881dda9492eb422131e163dfbb0e63084914db0d", - "item": "crate::an_initialization_cannot_be_resumed_with_another_key", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/lifecycle_creation.rs" - }, - { - "count": 2, - "fingerprint": "47c874007589f3c3294157c7f1e65f8f794f8b1dee4b73ec2a990dca0a212396", - "item": "crate::livefeed_remote_sealed_predecessor_streams_through_owner", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/livefeed_history.rs" - }, - { - "count": 1, - "fingerprint": "dedb3df47790ea5d018d365d1788da658fe89b965b07e76ffc4053f669c2b300", - "item": "crate::livefeed_split_shared_subscribers_swap_once_deliver_twice", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/livefeed_swap.rs" - }, - { - "count": 1, - "fingerprint": "28a8ee77e7a3c036337c0a3463d49b0711893258a54d3e617c9ce7bc075ed02d", - "item": "crate::cut_resume_never_skips_a_durable_record", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/persistence_faults.rs" - }, - { - "count": 1, - "fingerprint": "2c37182cb22d080ea24dbcab995f749bdc692d610818cb41241001b317702308", - "item": "crate::cut_resume_never_skips_a_durable_record", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/persistence_faults.rs" - }, - { - "count": 1, - "fingerprint": "49560d6a75a831b67a5d2b7472d23c2cfecbe157d48b31d7306356b374cee6b9", - "item": "crate::the_first_advance_seals_the_history_layout::wait_absorbed", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/reads_history.rs" - }, - { - "count": 1, - "fingerprint": "7809e9cb9c94055a5bca6d983583ee40841106a34d92a33b70bc067b4fe9cebd", - "item": "crate::the_first_advance_seals_the_history_layout::wait_absorbed", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/reads_history.rs" - }, - { - "count": 1, - "fingerprint": "f705df536f1c133fec22b72a67d74ae24a7012bed3b97c525efb16351dfa64fd", - "item": "crate::a_duplicate_absorbed_op_does_not_advance_the_trim", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/reads_ring.rs" - }, - { - "count": 1, - "fingerprint": "e13069f5d295aa1a0bc9ba761037dd5419e672cc1e003a2833d20a9462ee432f", - "item": "crate::r09a_cancelled_topology_job_leaves_exact_debt_for_a_fresh_read_owner", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/request_topology_debt.rs" - }, - { - "count": 1, - "fingerprint": "47dd963a38cd246519b3c94c97f538c3251ece297e312681e5b57f72c0f476a7", - "item": "crate::r17a_each_required_engine_exit_changes_real_health_and_readyz", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/runtime_engine_lifecycle.rs" - }, - { - "count": 1, - "fingerprint": "160515be4a62535d57f518177f2ba2aa31a9ada7a4f1724fea9e71aad7a1df37", - "item": "crate::open_gate_escalates_holdoff_for_engines_that_die_young", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/runtime_open_gate.rs" - }, - { - "count": 1, - "fingerprint": "f93d8e4dcb13e18325d41a73785f005b0db03929d72ccdf9ef2d3b62d239fd12", - "item": "crate::tombstone_walk_fairness_under_occupied_budget", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/runtime_sweep.rs" - }, - { - "count": 1, - "fingerprint": "1ba944c8796d64e85591514448ffd5eb882b1de1506de50d55f20404327ed3a0", - "item": "crate::noisy_neighbor_cannot_degrade_a_compliant_project", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/security_isolation.rs" - }, - { - "count": 1, - "fingerprint": "e21dadb6bdf009384ba30b2a458eef4ae3203860fb2585de44b2a37c141a4e96", - "item": "crate::noisy_neighbor_cannot_degrade_a_compliant_project", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/security_isolation.rs" - }, - { - "count": 1, - "fingerprint": "cceace2aa58346ed40165ffab88a9c66f603b7d13e76d5932d8d63e151b1ccec", - "item": "crate::product_sse_controls_carry_signed_cursors", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/sse_delivery.rs" - }, - { - "count": 1, - "fingerprint": "f2c96a740bf36f56cb4d1daef714716078255447ff01f767c09a7fb971bfc15f", - "item": "crate::sse_follows_lineage_across_split", - "lint": "clippy::excessive_nesting", - "path": "src/dst/tests/sse_delivery.rs" - }, - { - "count": 1, - "fingerprint": "5233d9b140eedafdf1a6d5ef39edf3e0e77aead9dbca56c8355fbc7b95604acf", - "item": "crate::::delete_stream", - "lint": "clippy::excessive_nesting", - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "a7f3ede7bc2c16bbde8eca36a575c5562508da5abf0782f71dac4dea29e25851", - "item": "crate::::delete_stream", - "lint": "clippy::excessive_nesting", - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "be5566b4de849f072132e9527e11b919150e7e2214eb569fe25e20bf069980ab", - "item": "crate::concurrent_begins_with_reverse_finishes_resolve_every_event_exactly_once", - "lint": "clippy::excessive_nesting", - "path": "src/dst/trace_store_tests/concurrency.rs" - }, - { - "count": 1, - "fingerprint": "17502ef4ad24ab8eff377569c3983dfeb9d0f0c5928c5d090838b9db49e906fc", - "item": "crate::::delete_stream", - "lint": "clippy::excessive_nesting", - "path": "src/dst/trace_store_tests/mod.rs" - }, - { - "count": 1, - "fingerprint": "06698729ff291ef104d9733ec1037c19a65d3270530b92d93f2eeab5ba6196c2", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "2835ee8305da81421eb5976b96d36eb88328147bbae4f76f8ff2e4beba248ad5", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "36b90f4f43f5a7a78c3cbed3c2459912fcad41b06935b0c0cd48090d94929161", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "404fd54290c30fad44947c652d821a7faa6849b8c4b4188e4e3f431b0ce9627d", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "419888b61336a2fe088a9d4001c92cb5bb80fac1ab21c15f5ed2126c247ab5b2", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "5827e1b189432eb44bcb935ca65e398807270e9b01838328d719631717471aa6", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "5c2dc2ab4e0b392223dd9fc3a006db0c52d72882376d1c5c48347279fb168db2", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "5cdee18e4f40367d8f98d7b20db1aa4881ab79ef977a0b2134c34e992c46d057", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "6b08b3fcd5155c8097a536a7a63b0fa95ae9f7b2b7ea05d7feca9401e24a8773", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "79c43ce915ae0f1c0bf008d365be655d2b6ebe3a68dd35d0b6ce691878fcd6f7", - "item": "crate::start", - "lint": "clippy::excessive_nesting", - "path": "src/fleet.rs" - }, - { - "count": 1, - "fingerprint": "7a6dcd68fbe4cd8ede5068e19764016cce533afb56f09c013fbb331360468b9c", - "item": "crate::start", + "fingerprint": "7a6dcd68fbe4cd8ede5068e19764016cce533afb56f09c013fbb331360468b9c", + "item": "crate::start", "lint": "clippy::excessive_nesting", "path": "src/fleet.rs" }, @@ -1576,55 +932,6 @@ "lint": "clippy::excessive_nesting", "path": "src/fleet/repository.rs" }, - { - "count": 2, - "fingerprint": "353c4adbd7a84fd0ee4d793ecf5004cea4e4def0c78fee65c123890742e0e22b", - "item": "crate::raw_page", - "lint": "clippy::excessive_nesting", - "path": "src/history/postings_validation_tests.rs" - }, - { - "count": 1, - "fingerprint": "8943707662c6a381a961be34fe8a2c04f6585d385985d76b8d9be4a48d752496", - "item": "crate::raw_page", - "lint": "clippy::excessive_nesting", - "path": "src/history/postings_validation_tests.rs" - }, - { - "count": 1, - "fingerprint": "2855a1d3e51e88876253da4f8ba9f26cf2ee5b2cc3ad2e777c624c12cb081153", - "item": "crate::Absorber::gather_due", - "lint": "clippy::excessive_nesting", - "path": "src/history/worker.rs" - }, - { - "count": 1, - "fingerprint": "4760b6f6157e0b1d432988b788d8adeb347837b9b292dee165c1a6cdaf9195e2", - "item": "crate::Absorber::gather_due", - "lint": "clippy::excessive_nesting", - "path": "src/history/worker.rs" - }, - { - "count": 1, - "fingerprint": "8a8eaa70b4ae377f730cf0227b9e6920fc09472b9b3ea808132597d6cb3ea2b7", - "item": "crate::Absorber::gather_due", - "lint": "clippy::excessive_nesting", - "path": "src/history/worker.rs" - }, - { - "count": 1, - "fingerprint": "af1057e5fc7df11aaaa5f2ca8eb50174498749ae1f1d2a01f831a84b5bad9c9c", - "item": "crate::Absorber::gather_due", - "lint": "clippy::excessive_nesting", - "path": "src/history/worker.rs" - }, - { - "count": 1, - "fingerprint": "ed9cecb327df14c2c913d96e97d8ad89b5839f3c74db66a939da84a8748dde91", - "item": "crate::Absorber::gather_due", - "lint": "clippy::excessive_nesting", - "path": "src/history/worker.rs" - }, { "count": 1, "fingerprint": "03fd5ad47796621bb1fad1fc50f1afa04a61bf97e56df584548eff1a83123caf", @@ -1632,27 +939,6 @@ "lint": "clippy::excessive_nesting", "path": "src/http.rs" }, - { - "count": 1, - "fingerprint": "c16effd6b3a25113a54e7aa093387baba1119d0f514ae932d54bd969ec0d2262", - "item": "crate::Lint < 'a >::check_signature", - "lint": "clippy::excessive_nesting", - "path": "src/mt_lint.rs" - }, - { - "count": 1, - "fingerprint": "ca558a37425e30fbdb804eaac607efc6ef5633ba19965106ab64d517dc755fff", - "item": "crate::Lint < 'a >::check_signature", - "lint": "clippy::excessive_nesting", - "path": "src/mt_lint.rs" - }, - { - "count": 1, - "fingerprint": "62e4970a5e4f5eda75b45c3fd034e451a2be59428eb6dc41b07e3484f46d5137", - "item": "crate::multitenancy_identity_lint::walk", - "lint": "clippy::excessive_nesting", - "path": "src/mt_lint.rs" - }, { "count": 1, "fingerprint": "0b719f20a83a38b88ce0da46cea55093a68027d2f0ce6623e13ec224e0172d92", @@ -1807,13 +1093,6 @@ "lint": "clippy::excessive_nesting", "path": "src/product.rs" }, - { - "count": 1, - "fingerprint": "41aa761eb93bf5bc439ab385082f2353246ab1b5817b589cf07fe25936b83574", - "item": "crate::QuotaRegistry::admit", - "lint": "clippy::excessive_nesting", - "path": "src/quota.rs" - }, { "count": 1, "fingerprint": "194d60ed469b75f7246e155f672469339b422294f18914fe017600f43959d0ee", @@ -1884,34 +1163,6 @@ "lint": "clippy::excessive_nesting", "path": "src/registry.rs" }, - { - "count": 1, - "fingerprint": "922d5806a61e4942d1df2829ab59f4f25f480a7ca55c4455ef6312ace8638fd9", - "item": "crate::::sleep", - "lint": "clippy::excessive_nesting", - "path": "src/runtime.rs" - }, - { - "count": 1, - "fingerprint": "6a3920d33a903650e2bb4c9d61d60dad13588da55952c78a4ef194d580fcc5b7", - "item": "crate::tests::r10_telemetry_cache_progress_and_database_lifetimes_are_runtime_owned", - "lint": "clippy::excessive_nesting", - "path": "src/runtime/telemetry.rs" - }, - { - "count": 1, - "fingerprint": "f56ac2edf2fd4344f049479cd96fada5edff21ed2a2a09c227db8b3a2b95f767", - "item": "crate::State::forget_previous_incarnation", - "lint": "clippy::excessive_nesting", - "path": "src/scaler3.rs" - }, - { - "count": 1, - "fingerprint": "630ee19906cd5e125941d1079dd7af6a82e0ef78f10a35c55f4825d7f87e0709", - "item": "crate::evaluate_state", - "lint": "clippy::excessive_nesting", - "path": "src/scaler3.rs" - }, { "count": 1, "fingerprint": "708c0e28416e32bac3d3263265aa780e38c67bdf8cee5d74d18258cd16d7dc7a", @@ -2404,115 +1655,45 @@ }, { "count": 1, - "fingerprint": "1053f58351342b57d05f0e9ca6a3c7610fc6a06b2d6a07b3cdd4cb7e59145ba3", - "item": "crate::FeedMemoryBudget::release", + "fingerprint": "173f2f6dde9a5ad9529b4d1f763eda850776f1ebdc369c20173ec4069b174b16", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" + "path": "src/sse/session.rs" }, { "count": 1, - "fingerprint": "b1ea7863f02a9d0473ea2466df49316d6339d182999463c20020590473e7a319", - "item": "crate::FeedMemoryBudget::try_replace", + "fingerprint": "3cb26d4cd1091c901a3b38002e62653a46e425af637fcd674d506af5af97e2ed", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" + "path": "src/sse/session.rs" }, { - "count": 1, - "fingerprint": "cae4eee4c331cfd3dd8ed8aef75d36318a0aa5d96e1d269ebf948efc5acfe1ff", - "item": "crate::FeedMemoryBudget::try_replace", + "count": 2, + "fingerprint": "40f449a96943b4a803b49e4a1a6a23438b9d64e1bd400c0fcd0f0929a971bbad", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" + "path": "src/sse/session.rs" }, { "count": 1, - "fingerprint": "08e2bb9b17ec4c3e30b4eaf1e496c46a4516b0b36051c39853e9e04d446f5c4a", - "item": "crate::LiveFeed::drive_under_permit", + "fingerprint": "760f81f102b1c5db0391459eb9adc582a2421e0b4b200aff55a96d453582bc35", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" + "path": "src/sse/session.rs" }, { "count": 1, - "fingerprint": "cdd0bead80bf334e4bfa9ca8f4df7cc4b94a7e1151e460ebf061bb68259a859b", - "item": "crate::LiveFeed::drive_under_permit", + "fingerprint": "861464a6851cce249a2f98f59b7fbb63b7b8ef692ca222a0b374fab825d522d7", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" + "path": "src/sse/session.rs" }, { "count": 1, - "fingerprint": "a83cecbd620668247ab278d6be882167305eabe78c303147c717f6a9de27f142", - "item": "crate::LiveFeed::read_and_publish", + "fingerprint": "87e4599589da0813221f7df8ce3aed5a5e08b9626aab1a0a0baaefcac4f1269e", + "item": "crate::serve", "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "0626e88abecda87cff7ef3dd2dd629ae74f446672060e0cb5efac1bbb545961a", - "item": "crate::LiveFeed::schedule_transition_retry", - "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "8002d0b6f2d7ac7c14a8a1efeaabac99f5052e0ef843f66cddd6881b54f72dd7", - "item": "crate::LiveFeed::schedule_transition_retry", - "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "537be5bbfe6d893c1f019683a09f1e1aaa5249c21e218b03939069cf0a312d1f", - "item": "crate::LiveFeed::take_visible", - "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "673ac90ce4e25e7a36c7a311e6a8b1359926a7d0e59e26fce76a83fcec70a219", - "item": "crate::LiveFeed::take_visible", - "lint": "clippy::excessive_nesting", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "173f2f6dde9a5ad9529b4d1f763eda850776f1ebdc369c20173ec4069b174b16", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" - }, - { - "count": 1, - "fingerprint": "3cb26d4cd1091c901a3b38002e62653a46e425af637fcd674d506af5af97e2ed", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" - }, - { - "count": 2, - "fingerprint": "40f449a96943b4a803b49e4a1a6a23438b9d64e1bd400c0fcd0f0929a971bbad", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" - }, - { - "count": 1, - "fingerprint": "760f81f102b1c5db0391459eb9adc582a2421e0b4b200aff55a96d453582bc35", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" - }, - { - "count": 1, - "fingerprint": "861464a6851cce249a2f98f59b7fbb63b7b8ef692ca222a0b374fab825d522d7", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" - }, - { - "count": 1, - "fingerprint": "87e4599589da0813221f7df8ce3aed5a5e08b9626aab1a0a0baaefcac4f1269e", - "item": "crate::serve", - "lint": "clippy::excessive_nesting", - "path": "src/sse/session.rs" + "path": "src/sse/session.rs" }, { "count": 1, @@ -2563,167 +1744,6 @@ "lint": "clippy::excessive_nesting", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "4b75276d0a81c454a1ce970e376ab33d82c69fe2c630be962ea834301558749e", - "item": "crate::LineageSource::build", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "6f7f3c925fea9742446e5a9bd178b8e38475fe34f303e591a603f5f146b8d0e8", - "item": "crate::LineageSource::build", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "ab33067cc84f344f082339fa8931afe550eb21d7041b8e1b97d09516a970789b", - "item": "crate::LineageSource::build", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "b586fba871f5bfb70e7161c5a74306c08899eb736ddb077a98c913cebefa4962", - "item": "crate::LineageSource::build", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "4d1c86bdd0d96ed3e5b8014d8b625d01ca8157b1d7d5ee57edf536a64f9b8158", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "8b785fecea8b73eaa0d5da95d3c23e126e0bec6e1628d5178562833c25cf53bd", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "8c299ae59817991007eb27fe0a65b05991dbb0ceffe5b3e0f995788d0420f949", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "cf6e17835a1d25acd0c92621f49234285c87f11bd42f3b4d333e21d2a37dd444", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "65239e32666680aa349a432097e2ea4f3ae9e1953843c33e98ced8cbfd515c1c", - "item": "crate::refresh_transition", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "6d62c922744ea307ad8ab8df91a1bcdc6f4fc4e69adb9817c7177d90cd82c374", - "item": "crate::refresh_transition", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "a2843483e6ef9a3229a2829b8289c064f77697580d2528f37d6f713bea0c7457", - "item": "crate::refresh_transition", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "de211232c3edd14f05a74835e2706ddd37ceff3e152e1813b112f389e43faf75", - "item": "crate::refresh_transition", - "lint": "clippy::excessive_nesting", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "13b437276e982f3894e983e01f345242c6c64c112cc803461289e2e5cd1de24e", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::excessive_nesting", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "4a5975fa9ea7f64af10fd4d14dcc3c943340b61b8af8af976e90f6ddf470d14c", - "item": "crate::encode_prefix", - "lint": "clippy::excessive_nesting", - "path": "src/telemetry_batch.rs" - }, - { - "count": 1, - "fingerprint": "cf2d4b10046cb61f96849b301cecb817e73fd85fbbdb245672281abd219282aa", - "item": "crate::TouchJournal::start", - "lint": "clippy::excessive_nesting", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "20de1f0b3e58a074307b546329b9d4d2016b9e3096ec7fe706ce296a94ca3eeb", - "item": "crate::dlq_and_settle", - "lint": "clippy::expect_used", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "44afff99d1565b8d7b2ed92e7462ceeb566de7406c6b40a222be52709179f081", - "item": "crate::relay_queue_cursor", - "lint": "clippy::expect_used", - "path": "src/application/consumer_remote.rs" - }, - { - "count": 1, - "fingerprint": "b4886b6b928cfc707944b06ef4a2af7a587347beda2fd9f5868f1aa1b6dbadab", - "item": "crate::relay_sweep_segment", - "lint": "clippy::expect_used", - "path": "src/application/consumer_remote.rs" - }, - { - "count": 1, - "fingerprint": "77c7c5dcc68868ef977c9f613eb03268f9f78d53910c39f2e7637ad3a59f0e5e", - "item": "crate::json_entries", - "lint": "clippy::expect_used", - "path": "src/application/creation.rs" - }, - { - "count": 1, - "fingerprint": "89b8ed38656716b2b492981f0be58883b33af405feabff434d78c5f2b9e53bf2", - "item": "crate::json_entries", - "lint": "clippy::expect_used", - "path": "src/application/creation.rs" - }, - { - "count": 1, - "fingerprint": "e717a00beba453e59d6b13536a1b7174ebd58c4ecdd25afc2c139b6e7f1e464d", - "item": "crate::stamp_fork_reference", - "lint": "clippy::expect_used", - "path": "src/application/creation/anchor.rs" - }, - { - "count": 1, - "fingerprint": "d6ea231d3a69fe169353a15ad6f1f0ab948014b41d5246ae7acd76a629eb5bf6", - "item": "crate::delete_lifecycle", - "lint": "clippy::expect_used", - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "d6b0356f48129c9473db129f483e5683ab5a24a6a5d4c03169a88f1849c6e937", - "item": "crate::decide_claim", - "lint": "clippy::expect_used", - "path": "src/application/lifecycle/claims.rs" - }, { "count": 1, "fingerprint": "f64df6f2bc5a9d405a454945afe3c5bbd50e569c7e16d7000edbc3c77bf417e1", @@ -2738,34 +1758,6 @@ "lint": "clippy::expect_used", "path": "src/application/read_remote.rs" }, - { - "count": 1, - "fingerprint": "350a8df21f66d6ec939ca1073f4340bfd87bebb9ca0b8f9bb748157b290498a9", - "item": "crate::resume_incarnation", - "lint": "clippy::expect_used", - "path": "src/application/topology.rs" - }, - { - "count": 1, - "fingerprint": "6a3a8bf77c6a257cad8bd26381b57f40a7c711c0ac37fb282d7b3cfcaccf272b", - "item": "crate::resume_incarnation", - "lint": "clippy::expect_used", - "path": "src/application/topology.rs" - }, - { - "count": 1, - "fingerprint": "f63dbc656498275beffa3c416eebdd2d65dff345d1e865ea87c39fc54c39a2bd", - "item": "crate::resume_merge", - "lint": "clippy::expect_used", - "path": "src/application/topology.rs" - }, - { - "count": 1, - "fingerprint": "add7a6c6099dc69f69f31022e843efa9b3b5bc319e4719a078413b2832f066a1", - "item": "crate::PendingAudit < 'a >::take", - "lint": "clippy::expect_used", - "path": "src/audit.rs" - }, { "count": 1, "fingerprint": "6af87f90eba85adf522cbee9d1ad73eb337372ef8b6db4671ddaa0e18583242e", @@ -2787,27 +1779,6 @@ "lint": "clippy::expect_used", "path": "src/bootstrap/runtime_handoff.rs" }, - { - "count": 1, - "fingerprint": "23fe18d6bb468f82a2161e564ba0a9407164c015daadd31ea51a63d87ba6f605", - "item": "crate::DeploymentIdentity::raw_adapter_sref", - "lint": "clippy::expect_used", - "path": "src/deployment.rs" - }, - { - "count": 1, - "fingerprint": "42eeb6c95de8528603672d7cf38b8c88e9e9386bcbeb5ea38ae21702ef707233", - "item": "crate::mac16", - "lint": "clippy::expect_used", - "path": "src/product_cursor.rs" - }, - { - "count": 1, - "fingerprint": "d2c08919e550724cb8980cc2f388bf5af1b0918d6bc9495b52baf5e6dc1d68fa", - "item": "crate::mac_key", - "lint": "clippy::expect_used", - "path": "src/product_cursor.rs" - }, { "count": 1, "fingerprint": "71c94b87ea313746b3655e25606c249376b24edc6bbc4662d58a76e102cf5b85", @@ -2829,34 +1800,6 @@ "lint": "clippy::expect_used", "path": "src/shard/transaction/queue/settle.rs" }, - { - "count": 1, - "fingerprint": "942d0cd8e54fd22281efe6ac07860a79f103e8c6ea15384ae02f3a61ef5d864e", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::expect_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "7553ab8a566a70acd2e00f5ef0672790368fffd4abd19c803888d4f60d7c5bd6", - "item": "crate::LiveFeed::take_visible", - "lint": "clippy::expect_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "7c38a67b40476e78c716d8bdc1858945ee496078aa14b4c045c44629a9f92604", - "item": "crate::LineageSource::tail", - "lint": "clippy::expect_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "37320e267e01829dd31dcb0f759b9c513b9ff591e6bd4af6f0c410c6073bb4e9", - "item": "crate::locate_in_spans", - "lint": "clippy::expect_used", - "path": "src/sse/source.rs" - }, { "count": 1, "fingerprint": "e839bd2f53899a7dc90e76f33999e3859c00065332629dc505248ef302b9436a", @@ -2871,13 +1814,6 @@ "lint": "clippy::expect_used", "path": "src/tenant.rs" }, - { - "count": 1, - "fingerprint": "bf50dd3ce823a8bcbf08445c192db0440927ea2581360724743b3d9111cce397", - "item": "crate::idle_engine_store_traffic_is_bounded_by_the_poll_cadence", - "lint": "clippy::field_reassign_with_default", - "path": "src/dst/tests/runtime_open_gate.rs" - }, { "count": 1, "fingerprint": "e5211d90a1e337352430a9f0a55c4d657343a918e50c030c0ef6f0cadbf85870", @@ -2892,20 +1828,6 @@ "lint": "clippy::fn_params_excessive_bools", "path": "src/application/append/contract.rs" }, - { - "count": 1, - "fingerprint": "e8a14ab85d4f54761243199b7d4e22951df2562856ae53c7e9d23533048cd7db", - "item": "crate::LeaseRig::publish", - "lint": "clippy::fn_params_excessive_bools", - "path": "src/dst/tests/security_freshness.rs" - }, - { - "count": 1, - "fingerprint": "d812a79721e290156794d6e0d93b78e97749718f34f1ac9a1ba59173f34a96fd", - "item": "crate::TraceStore::with_options", - "lint": "clippy::fn_params_excessive_bools", - "path": "src/dst/trace_store.rs" - }, { "count": 1, "fingerprint": "2d7ffb6b7490d20b6b2bb0a7ed903bbfac4cee03b702a300bec63ad9b758c48f", @@ -2969,20 +1891,6 @@ "lint": "clippy::large_enum_variant", "path": "src/shard.rs" }, - { - "count": 1, - "fingerprint": "1d68c795d411a2826189e4c607b033e51c5b95c5c0088ae683e59c0cb7a99fc5", - "item": "crate::spawn_refresher", - "lint": "clippy::let_underscore_must_use", - "path": "src/auth_feed.rs" - }, - { - "count": 1, - "fingerprint": "d5d453a0badc787ef4a63eab31c3ac29282921eb4df51015af220492473c1d6e", - "item": "crate::tests::refresh_once_publishes_from_files_and_survives_a_broken_one", - "lint": "clippy::let_underscore_must_use", - "path": "src/auth_feed.rs" - }, { "count": 1, "fingerprint": "cdb928566335511055c455f14f4e266a294a14a8c65be524eecbc9b07fb1af5b", @@ -2990,90 +1898,6 @@ "lint": "clippy::let_underscore_must_use", "path": "src/bootstrap/runtime_handoff.rs" }, - { - "count": 1, - "fingerprint": "01acc1eb1c1eb39eda1a83e4ba94a3e93e31213318e7adb900942590c9393324", - "item": "crate::FaultState::gate", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/fault_store.rs" - }, - { - "count": 1, - "fingerprint": "88f47529d21b6f01cbb3f4f038cc84ed7d52ef820898a220fc9dfbfd9a667e8e", - "item": "crate::expiry_closes_the_storage_gauge", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/billing_maintenance.rs" - }, - { - "count": 1, - "fingerprint": "b45de03533ae5f12677be0a22fab17b1783ce02b2fdc66cf2f590097e3e9ef8b", - "item": "crate::faults_actually_fire", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/fault_substrate.rs" - }, - { - "count": 1, - "fingerprint": "9dbb40087926a1e51d1a41aa872956dee1d6e1985e2cae529432a15e038d25f9", - "item": "crate::lost_response_counter_tracks_applied_behaviour_only", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/fault_substrate.rs" - }, - { - "count": 1, - "fingerprint": "370d271bfbb095ae2412b1956cc870859f6b93d84dbf3075d5597330e377a1a3", - "item": "crate::http_rig_build", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/fixture_http.rs" - }, - { - "count": 1, - "fingerprint": "c873b19fe6d8b5010de14f5b9a916eacdffe33f54308e7a46d442e829718eece", - "item": "crate::HeldDocument::enter", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/fleet_controller.rs" - }, - { - "count": 1, - "fingerprint": "1315068f273a06efe4703faf6a527bd960801c350dee43e9eec4f44db035f562", - "item": "crate::fork_cascade_hard_delete_releases_the_stream_slot", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/quota_enforcement.rs" - }, - { - "count": 1, - "fingerprint": "563fc7af72d23dad003733fdbc28b5926bf19c7bc5113ed08d3c0e45a6cf8760", - "item": "crate::a_hung_open_is_deadlined_and_its_late_engine_reaped", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/runtime_open_gate.rs" - }, - { - "count": 1, - "fingerprint": "19133a040966a0c16c5e512d6243a28683d97c2712e0e00226a1e6c3488b535b", - "item": "crate::naive_get_or_open", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/runtime_open_gate.rs" - }, - { - "count": 1, - "fingerprint": "6d50d40ac8ce2e9451fc55e721fd33109694eab33cd0c98a2d4faa256e78c2fb", - "item": "crate::reopen_storm_reproduces_the_eu_central_wedge", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/runtime_open_gate.rs" - }, - { - "count": 1, - "fingerprint": "b635928dcb8e9632df7d4f118b1c5182888d6b769533c304035885c939845aee", - "item": "crate::drain_billing_clean", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/tests/runtime_sweep.rs" - }, - { - "count": 1, - "fingerprint": "aa27a3793517915419675661f5b33642fa11119b0cc7711d3c24743dae37327c", - "item": "crate::reset_racing_with_begin_cannot_orphan_an_operation", - "lint": "clippy::let_underscore_must_use", - "path": "src/dst/trace_store_tests/concurrency.rs" - }, { "count": 1, "fingerprint": "074ade8238bf36c30a7b368691990756cc43f3fcd2e4a718701b6c189a19ee7f", @@ -3081,20 +1905,6 @@ "lint": "clippy::let_underscore_must_use", "path": "src/fleet.rs" }, - { - "count": 1, - "fingerprint": "1ec581eaae0ffbc70f357d7dbdec2fc40ab13894c1892399eba6f8609acb5d15", - "item": "crate::active_absorber_cancel", - "lint": "clippy::let_underscore_must_use", - "path": "src/history/controller_tests.rs" - }, - { - "count": 1, - "fingerprint": "61152cc28d95328fc84f8c9316d0964497d26902d37d91410de277226d20f378", - "item": "crate::active_absorber_cancel", - "lint": "clippy::let_underscore_must_use", - "path": "src/history/controller_tests.rs" - }, { "count": 1, "fingerprint": "d963f9293297f7309ece0814abaae351b55f6aae12735f766725924f1b82f344", @@ -3263,41 +2073,6 @@ "lint": "clippy::let_underscore_must_use", "path": "src/sse/auth.rs" }, - { - "count": 1, - "fingerprint": "307734de09f785655787dc4568bdd10a7afe66e22a9c8317a5d012b10649a576", - "item": "crate::LiveFeed::bind_pressure", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "b6603b76e1413e024ab7430e3afaa969619967bc9bcadb8f5f305a1f9e2c17ba", - "item": "crate::LiveFeed::drive_under_permit", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "7b496cb8e804048cdd4b32076f3f1c050f18df925e04a16965a39d951f6a803d", - "item": "crate::LiveFeed::install_source", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "69a528eedb1ee99e1e2e1cc6bac7b437555ddba11061e9c54ff550158f1fff7f", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "ecc04153b18491ba126079ba377c625157814021b0947504e5f18bea36bc994c", - "item": "crate::ProjectRetention::bind_admission", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "512a06dbe849c0dbd9d7806c871c90877537f72ee36cb14a9400383206d6f622", @@ -3312,62 +2087,6 @@ "lint": "clippy::let_underscore_must_use", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "886d9483a0bc959975ba2a8ded5f51066d40d817567cdaeae4d315171a08e51d", - "item": "crate::refresh_transition", - "lint": "clippy::let_underscore_must_use", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "137834f6fe95fc546b5385452dd2c65d199c35b095702506622a978243b4e94e", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::let_underscore_must_use", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "e813e58dc76b0d8dacc5ee1269019999cb3bd5359400c9333ccafdda3a8697bf", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::let_underscore_must_use", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "b6f6f1d5231cb405cba03de4dd9fe3771c01c91561ab05062e53199c80b67f57", - "item": "crate::drive_shutdown", - "lint": "clippy::let_underscore_must_use", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "2c081f6b7b6c7a95b3d5200429c04bb2ef3891bd456f08c3b91223c74591d9f3", - "item": "crate::begin_sealing_for_close", - "lint": "clippy::match_same_arms", - "path": "src/application/lifecycle.rs" - }, - { - "count": 1, - "fingerprint": "ede11c01c2cce57665b90ad067af4f52ef23c6570d0799286c0ec6e2c45e5fc6", - "item": "crate::prepare_execution", - "lint": "clippy::match_same_arms", - "path": "src/application/lifecycle.rs" - }, - { - "count": 1, - "fingerprint": "136ef7ae296df02b2a77784e50d83e7c002bfe06711eae3173c3a5eac15bda79", - "item": "crate::final_err_disposition", - "lint": "clippy::match_same_arms", - "path": "src/application/lifecycle/claims.rs" - }, - { - "count": 1, - "fingerprint": "37ee8bcadbf20e419e2ef2f53503959ec976561d8125cdbc014d5be236660047", - "item": "crate::Workload::attempt_with_deadline", - "lint": "clippy::match_same_arms", - "path": "src/dst/runtime.rs" - }, { "count": 1, "fingerprint": "37ad9fc70d48095f983c2413ff24b72a396c2c624e7b09f0c8db44bd9d459f63", @@ -3382,27 +2101,6 @@ "lint": "clippy::match_same_arms", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "f59ccdfbec270a6aa037979049d7b83004be4e8d9687dd7b8ff41e531a055e13", - "item": "crate::delivery_messages", - "lint": "clippy::needless_pass_by_value", - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "e324a90671f2476662f4bbd7f2615af43fb6712f3c2a70f31c0f98535c66370a", - "item": "crate::TraceState::begin_operation", - "lint": "clippy::needless_pass_by_value", - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "f7a2a93715136528159aeddbbc6e1b44ca2ce5b150dfbef93d0027d3fe04043c", - "item": "crate::TraceState::begin_operation", - "lint": "clippy::needless_pass_by_value", - "path": "src/dst/trace_store.rs" - }, { "count": 1, "fingerprint": "eae5e7a122aca8fea003f07434179afc796c5deefe04bb2074f92f6776185fe3", @@ -3410,13 +2108,6 @@ "lint": "clippy::needless_pass_by_value", "path": "src/http/read.rs" }, - { - "count": 1, - "fingerprint": "5826a9e9a605f678ae967e60803368f8fa13d4a6bd4e7f8c0bd3fdc7d345ea96", - "item": "crate::RuntimeCaps::with", - "lint": "clippy::needless_pass_by_value", - "path": "src/runtime.rs" - }, { "count": 1, "fingerprint": "6ce788248f78d6875e88116f072d743e3c3a39023ea033fb6506a346554b2596", @@ -3482,94 +2173,6 @@ "metric": 6, "path": "src/application/append/close.rs" }, - { - "count": 1, - "fingerprint": "a004b85b47935b9f8c546e222edc941b08d4784438c1aed2d2755b99ee0b9c5a", - "item": "crate::ConsumerService::authorize", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/consumer.rs" - }, - { - "count": 1, - "fingerprint": "c8b385496a7807aef5914035668bdd01377b4a05f5c7e7a93327efaed2e7da4b", - "item": "crate::ConsumerService::sweep_local", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/consumer.rs" - }, - { - "count": 1, - "fingerprint": "1bd0e2bc2288549e5b89d45e9af7a2d38ff937974b05ac5dade623715872c625", - "item": "crate::delete", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/consumer/deletion.rs" - }, - { - "count": 1, - "fingerprint": "37e4bf3e42dd068c2f5512ee518e42ffe1048dad1f52b1f0aedc90a20c821eaa", - "item": "crate::foreign_segment_drained", - "lint": "clippy::too_many_arguments", - "metric": 7, - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "5d14e23eb255b375e0ebc226868542a3010e20ae174f95e5252c6aae52bfaf50", - "item": "crate::relay_queue_cursor", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/consumer_remote.rs" - }, - { - "count": 1, - "fingerprint": "c251d3416705b4538bf921d7ea669437310db46d1cd2b80ec16b2bae0af602a7", - "item": "crate::relay_sweep_segment", - "lint": "clippy::too_many_arguments", - "metric": 7, - "path": "src/application/consumer_remote.rs" - }, - { - "count": 1, - "fingerprint": "e5c5b995eea1c55603654eea93a399e9ebd26d09b3ec64ee683040fcd30cc0db", - "item": "crate::create_request_hash", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/creation.rs" - }, - { - "count": 1, - "fingerprint": "c34852f94b4bcefb8c68ef6a9101a3b477e52e7957f0cf6128adecf367e7e826", - "item": "crate::fresh_desc", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/creation.rs" - }, - { - "count": 1, - "fingerprint": "a3b4e0de159936b506a87bcb53a8a152b0da9fe9ece6bac69796ec68fd3032d4", - "item": "crate::seed", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/creation/initialization.rs" - }, - { - "count": 1, - "fingerprint": "d3d0264ce67de9341f1a28b304ed2be7d8238287e18bfc8640a9a9a6bd0a184d", - "item": "crate::ReadService::new", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "633e7fb955ab614ef74c7bf785b7643205da432351717f8bae73e651a48be2da", - "item": "crate::absorption_race", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/application/read.rs" - }, { "count": 1, "fingerprint": "f3753b732c6e33c16383d7a6e0abbcf37ead1486eb14debb4717d08ce09c6379", @@ -3610,14 +2213,6 @@ "metric": 7, "path": "src/application/read_scan.rs" }, - { - "count": 1, - "fingerprint": "74b37b2c10cb2b365cec70d2486b29b4bdad3a99a730d1e2170c7cf876734205", - "item": "crate::spawn_refresher", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/auth_feed.rs" - }, { "count": 1, "fingerprint": "d78673e2697852400b3478461536185bbbd433f88d3c03a5540bc44073fc36d1", @@ -3626,30 +2221,6 @@ "metric": 6, "path": "src/crypto/decrypt.rs" }, - { - "count": 1, - "fingerprint": "ce371c8a7f3ddb11e926091c9f2cc881492b5e945391e7dd663d82f58ae84aad", - "item": "crate::rig_opener", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/dst/tests/fixture_http.rs" - }, - { - "count": 1, - "fingerprint": "b68e3b0324edff5c87f77d331094194dac5d1b63fa01d0c7c2584a8918ea3d69", - "item": "crate::TraceState::begin_operation", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "d4b387794821cd2deaf5f4ca72f65c10a957163bad7c47326ce3491ba7f7460c", - "item": "crate::TraceState::observe", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/dst/trace_store.rs" - }, { "count": 1, "fingerprint": "d91f803c88dc8b85411a4e19588804f57e1008b361be7f5246671d7d35e81991", @@ -3754,14 +2325,6 @@ "metric": 7, "path": "src/product.rs" }, - { - "count": 1, - "fingerprint": "68829ee93b496db0d6c936a103ec07e54c3184c0ca0a86e925d6399af138d64b", - "item": "crate::QuotaRegistry::admit_append", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/quota.rs" - }, { "count": 1, "fingerprint": "1c8e09a8608e3cec2e627b5a07348e803c3817db03602ce159ae69944f203682", @@ -3772,179 +2335,43 @@ }, { "count": 1, - "fingerprint": "ea6bddf6d5f54d5aa0604e205c0763a707615e60ce67a295666bc975f754ec92", - "item": "crate::CommitTransaction < '_ >::config_lifecycle", - "lint": "clippy::too_many_arguments", - "metric": 7, - "path": "src/shard/transaction/queue/config.rs" - }, - { - "count": 1, - "fingerprint": "6cf3196e9b4e5a5e0d4e626573a81bd5c2034c6fc7160270fe4c5139abf088e7", - "item": "crate::CommitTransaction < '_ >::config_put", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/shard/transaction/queue/config.rs" - }, - { - "count": 1, - "fingerprint": "40bc5f30f5c9e9a20f28de8922c306638c2b4fc7d498d3fcd3f1e9be20f7799e", - "item": "crate::GatedSseBody::new", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/sse/auth.rs" - }, - { - "count": 1, - "fingerprint": "da2a863c58cbe1c69f5cdb1557beb1349d01e434068ec82622f30bd3855e01c7", - "item": "crate::refresh_transition", - "lint": "clippy::too_many_arguments", - "metric": 6, - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "a3f959f73376479193a13dcc5963cfc43534b93e5a9aa7d96268866407b7d8c5", - "item": "crate::execute_once", - "lint": "clippy::too_many_lines", - "metric": 171, - "path": "src/application/append.rs" - }, - { - "count": 1, - "fingerprint": "494571005b4af4bdf9d932e8027e52c138e7a1e6bed214ce1debd9249af63501", - "item": "crate::prepare_close", - "lint": "clippy::too_many_lines", - "metric": 110, - "path": "src/application/append/close.rs" - }, - { - "count": 1, - "fingerprint": "eb9d5827b97abad3e0eecebc477d7999bdd1d8b2bcc6971401d60f868945c795", - "item": "crate::put", - "lint": "clippy::too_many_lines", - "metric": 143, - "path": "src/application/consumer.rs" - }, - { - "count": 1, - "fingerprint": "1c6913ca428c333ece9624cbccda5a9292d396656b0555350676dfc6b0bcbbfc", - "item": "crate::delete", - "lint": "clippy::too_many_lines", - "metric": 102, - "path": "src/application/consumer/deletion.rs" - }, - { - "count": 1, - "fingerprint": "68c3bbc636e54eb0d7a0b3046b27ba577775c395b0459146a40526a24538b0cb", - "item": "crate::resume_deletion", - "lint": "clippy::too_many_lines", - "metric": 108, - "path": "src/application/consumer/deletion.rs" - }, - { - "count": 1, - "fingerprint": "b02eeaa06ec37e4467a96fc72aeeab3ec46c2ecd6a56fa6a5bcef0293a22d1cd", - "item": "crate::dlq_and_settle", - "lint": "clippy::too_many_lines", - "metric": 117, - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "eff63a2b95e15d539627c196b8898f6818f6839e32a01634a269f0b325d75de7", - "item": "crate::pull", - "lint": "clippy::too_many_lines", - "metric": 176, - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "ab52472a99cb01a7e0cd3de1de4eb79d1eacb8b64dae9e0a31242cc7880e866b", - "item": "crate::settle", - "lint": "clippy::too_many_lines", - "metric": 169, - "path": "src/application/consumer/delivery.rs" - }, - { - "count": 1, - "fingerprint": "50b05bc1d369ffae99037c8e2c349c80aaf4faab5d9b90920d3425b83f476bb5", - "item": "crate::install", - "lint": "clippy::too_many_lines", - "metric": 133, - "path": "src/application/creation/anchor.rs" - }, - { - "count": 1, - "fingerprint": "fa83d718a1c91c2a37610d3f40cc61e45ee106ef5dff6386f84f5d31634d3d57", - "item": "crate::resolve", - "lint": "clippy::too_many_lines", - "metric": 133, - "path": "src/application/creation/claim.rs" - }, - { - "count": 1, - "fingerprint": "c89b878a58fc7d64767230e53a479b9cf1fdb06003587aa0fa72cb610e16e079", - "item": "crate::delete_lifecycle", - "lint": "clippy::too_many_lines", - "metric": 120, - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "9db6f5b359c24116ab99b69948a73662f8fcf683641e2dba09724364eadfea29", - "item": "crate::release_fork_ref", - "lint": "clippy::too_many_lines", - "metric": 108, - "path": "src/application/creation/deletion.rs" - }, - { - "count": 1, - "fingerprint": "1dac42c2def9beea11c272d9d65832db0638480e73b5ee8251b9a709ac859587", - "item": "crate::prepare", - "lint": "clippy::too_many_lines", - "metric": 124, - "path": "src/application/creation/fork.rs" - }, - { - "count": 1, - "fingerprint": "40b27f4264bc1f246e8ab117e877350614161c92de1552ba9f8500835720186d", - "item": "crate::validate_boundary", - "lint": "clippy::too_many_lines", - "metric": 110, - "path": "src/application/creation/fork.rs" + "fingerprint": "ea6bddf6d5f54d5aa0604e205c0763a707615e60ce67a295666bc975f754ec92", + "item": "crate::CommitTransaction < '_ >::config_lifecycle", + "lint": "clippy::too_many_arguments", + "metric": 7, + "path": "src/shard/transaction/queue/config.rs" }, { "count": 1, - "fingerprint": "daeb36d3e3a8cc7674ea6e88b0ead58f9655b44576f270ff4e29b2903df33678", - "item": "crate::seed", - "lint": "clippy::too_many_lines", - "metric": 135, - "path": "src/application/creation/initialization.rs" + "fingerprint": "6cf3196e9b4e5a5e0d4e626573a81bd5c2034c6fc7160270fe4c5139abf088e7", + "item": "crate::CommitTransaction < '_ >::config_put", + "lint": "clippy::too_many_arguments", + "metric": 6, + "path": "src/shard/transaction/queue/config.rs" }, { "count": 1, - "fingerprint": "6d05999b63302ffaf9b27bc05561ad0b8d53ad922a918f1c2baa9c4ce37a9085", - "item": "crate::CreationService::create_product", - "lint": "clippy::too_many_lines", - "metric": 117, - "path": "src/application/creation/product.rs" + "fingerprint": "40bc5f30f5c9e9a20f28de8922c306638c2b4fc7d498d3fcd3f1e9be20f7799e", + "item": "crate::GatedSseBody::new", + "lint": "clippy::too_many_arguments", + "metric": 6, + "path": "src/sse/auth.rs" }, { "count": 1, - "fingerprint": "80c2fab589cc4b4bbae6c48312d3d72379194aa5681188357aa625561bc03190", - "item": "crate::execute_segment", + "fingerprint": "a3f959f73376479193a13dcc5963cfc43534b93e5a9aa7d96268866407b7d8c5", + "item": "crate::execute_once", "lint": "clippy::too_many_lines", - "metric": 143, - "path": "src/application/read.rs" + "metric": 171, + "path": "src/application/append.rs" }, { "count": 1, - "fingerprint": "356b6413e1a23f83718ecfe5cbb250a77811980fc145f8ac12fc71c175f4619b", - "item": "crate::Fp::site", + "fingerprint": "494571005b4af4bdf9d932e8027e52c138e7a1e6bed214ce1debd9249af63501", + "item": "crate::prepare_close", "lint": "clippy::too_many_lines", - "metric": 101, - "path": "src/failpoints.rs" + "metric": 110, + "path": "src/application/append/close.rs" }, { "count": 1, @@ -3962,14 +2389,6 @@ "metric": 123, "path": "src/fleet/repository/document_tests.rs" }, - { - "count": 1, - "fingerprint": "64ca907aa6f5007d541a9618d0c501e1924d6308d617e5562b56ff0fab1d68b1", - "item": "crate::active_absorber_cancel", - "lint": "clippy::too_many_lines", - "metric": 179, - "path": "src/history/controller_tests.rs" - }, { "count": 1, "fingerprint": "c73584523522a3762b0bcdd1dfd03bdea4d1afce1bb1c36bb3fd847421c42a62", @@ -4146,14 +2565,6 @@ "metric": 176, "path": "src/shard/transaction_tests.rs" }, - { - "count": 1, - "fingerprint": "04536f2aa89e60d5cc8ec50cb6e2ab664bf57cb8036dc498b7045bb15aab9f17", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::too_many_lines", - "metric": 129, - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "2137c3c953cb295c7df70604ce9004490e65bd94165e089321e387d56a32ddd4", @@ -4162,37 +2573,6 @@ "metric": 497, "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "66f57ea6b4bdc50aa663e8802e084282c8ca87ece4fd4fce486b75a40700051f", - "item": "crate::", - "lint": "clippy::too_many_lines", - "metric": 113, - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "7181de88fadbfafe136d390f65f4b19240530b9187ee25df3d9137e117789d5b", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::too_many_lines", - "metric": 131, - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "ba628a37994b8c8b75f6f077d934159afb2cb438a711df26ef78d7390ad42422", - "item": "crate::refresh_transition", - "lint": "clippy::too_many_lines", - "metric": 128, - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "dcb603471750f1dc05803d2425a4d7fd7dc30846681e686f97de24e2347e9a6b", - "item": "crate::reg::M", - "lint": "clippy::type_complexity", - "path": "src/failpoints.rs" - }, { "count": 1, "fingerprint": "954fe0bf97703429fbbb66fe42a4d63ccdad7d0f630fff9765de39c4fc0ca96f", @@ -4207,27 +2587,6 @@ "lint": "clippy::type_complexity", "path": "src/shard.rs" }, - { - "count": 1, - "fingerprint": "37b78d3e5d23f300900d23cd91e78b2ab0f3f41a1392b98fce0d8fd9231dc44d", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::type_complexity", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "08e830a295346538307c58cd61ddfec20277c8ecd1e470970a94c38d1971e488", - "item": "crate::SpanReader::Sealed::local", - "lint": "clippy::type_complexity", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "4f84b1f903baebf6f998640334f0b737e373d4c1c9e09b84f54a8614ce03e189", - "item": "crate::livefeed_remote_sealed_predecessor_streams_through_owner", - "lint": "clippy::unnecessary_to_owned", - "path": "src/dst/tests/livefeed_history.rs" - }, { "count": 1, "fingerprint": "f3fd81128a33528e5268d68bb42f43a116a7166d7780ad3948147a3e984b6ca4", @@ -4235,13 +2594,6 @@ "lint": "clippy::unnecessary_wraps", "path": "src/registry.rs" }, - { - "count": 1, - "fingerprint": "774188d62e2c1dfab6c5ff389c7639b157671e13df6de05c1134d17ca665ec21", - "item": "crate::mix", - "lint": "clippy::unusual_byte_groupings", - "path": "src/dst/fault_store.rs" - }, { "count": 1, "fingerprint": "ff7731d0845c383fbf80de4bd214d4197d2e99952e8a1d74d8aeda228bb22727", @@ -4256,41 +2608,6 @@ "lint": "clippy::unwrap_used", "path": "src/application/append/contract.rs" }, - { - "count": 1, - "fingerprint": "e0390ed8d951a6dce9f7f6ee0777469c41c75af09930b2e22cf955c848755b9f", - "item": "crate::ConsumerService::queue_position", - "lint": "clippy::unwrap_used", - "path": "src/application/consumer.rs" - }, - { - "count": 1, - "fingerprint": "16ab9594855c427f4a65dfe38ea3629bd53a6ee4391a6dd8362f320c722b0551", - "item": "crate::validate_boundary", - "lint": "clippy::unwrap_used", - "path": "src/application/creation/fork.rs" - }, - { - "count": 1, - "fingerprint": "34a919c9b9e5cf280c9bf56bd2747b29062a42d307d5809f4cd67691660b3b6b", - "item": "crate::seed", - "lint": "clippy::unwrap_used", - "path": "src/application/creation/initialization.rs" - }, - { - "count": 1, - "fingerprint": "64ffd9e77598203d0f3ca8a1fff6754fe9c94d177853345b9d1a9f76c754ffbe", - "item": "crate::execute_segment", - "lint": "clippy::unwrap_used", - "path": "src/application/read.rs" - }, - { - "count": 1, - "fingerprint": "67efc16f663ea2fb945a6db2e5f6759e664f104e222bf9fdecc630b8fcbadb51", - "item": "crate::read_stitched", - "lint": "clippy::unwrap_used", - "path": "src/application/read.rs" - }, { "count": 1, "fingerprint": "f2214df93dd43613446ec659a2de14e255cf22a69cb8c3a7f2a067986c2b570f", @@ -4298,41 +2615,6 @@ "lint": "clippy::unwrap_used", "path": "src/application/read_scan.rs" }, - { - "count": 1, - "fingerprint": "6014b1aa6add876df5db2da816491f9050257ec26f0e50d0c4fe0687ad9ef730", - "item": "crate:: as Drop>::drop", - "lint": "clippy::unwrap_used", - "path": "src/audit.rs" - }, - { - "count": 1, - "fingerprint": "9375a6112a76aabe637ef8b03563c63dd562d03156db08619f4980b6acad2452", - "item": "crate::PendingAudit < 'a >::take", - "lint": "clippy::unwrap_used", - "path": "src/audit.rs" - }, - { - "count": 1, - "fingerprint": "dc39e1a52100a6faeac2f8acd2d170bdae29f475b95273a40e6893ccc15330b9", - "item": "crate::observe_denial", - "lint": "clippy::unwrap_used", - "path": "src/audit.rs" - }, - { - "count": 1, - "fingerprint": "cc28b723168aad66f2e97760c083e4524a0958416041699da43b583b9249713a", - "item": "crate::latency", - "lint": "clippy::unwrap_used", - "path": "src/bin/verify.rs" - }, - { - "count": 1, - "fingerprint": "fded73500a08aae4e9eeda1645dfc83b6064d6dd544c5c25b969b3d496d5a0e9", - "item": "crate::latency", - "lint": "clippy::unwrap_used", - "path": "src/bin/verify.rs" - }, { "count": 1, "fingerprint": "730010c152b1433ddceb819a81576c406ec6290c180b78d381ba4d18eaefd040", @@ -4543,111 +2825,6 @@ "lint": "clippy::unwrap_used", "path": "src/sse/auth.rs" }, - { - "count": 1, - "fingerprint": "224dbd17a19657e27865790208cd9cb559545dc94a19ac7138821489cdd652bf", - "item": "crate::::drop", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "7af84b290433c9c321e3fb9caafdf0f61ec32606ff688dc38883082770a82006", - "item": "crate::FeedMemoryBudget::project_retention", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "c083fc4f20bb43a0bf34fdd84d92644f4b00f9be0e18865f45268a36766ef150", - "item": "crate::FeedMemoryBudget::project_rows", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "e7ca24743e1f927151be7a8f582b2cf17c59cfffc3aacbff35b01db1593abaf1", - "item": "crate::FeedMemoryBudget::release_project_entry", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "073ed02b4b296d54800c80ec2e7a50044b6e853e546c8824b0a4f59c8f3aaced", - "item": "crate::LiveFeed::drive_under_permit", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 4, - "fingerprint": "211c0f90bdea61f666fa94fd779d4ba2b178f847b93a0982b97339bccd5d9b7c", - "item": "crate::LiveFeed::drive_under_permit", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "4c0eb08809d660142d19b52a3238e808ba414d893951d8857ffca01e0ec8f57e", - "item": "crate::LiveFeed::drive_under_permit", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "a2c3099a3f09147df8520f7cdc9cbee8336efb49ce62f327989f2502860f53ea", - "item": "crate::LiveFeed::head", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "4be1f85061c81c6fba5707e516527be5b21a2d6e2d48dea934ce11a805e45fd9", - "item": "crate::LiveFeed::install_source", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 2, - "fingerprint": "a9f56cd4e236a5720891af68fde8eef9d702c4d3e66bdc773c612cb8ee67a8b2", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "cd62b775965adb7cdd60ce4fd89dcddd3bd61964696bd637dddb5d16916a8d67", - "item": "crate::LiveFeed::schedule_transition_retry", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "03c7cc2d69e26a31e488c71ad50dd844768e0c921a688839316a9def7e876177", - "item": "crate::LiveFeed::source_snapshot", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "9403877c739fb5b0a746e93895f0e151741c7d7f83c33d57b11edc28c41b84a1", - "item": "crate::LiveFeed::subscribe_locked", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "a9a68411827f8c52fcc7692bd7106cd576329f913ece7c2e0dc9202eb61274f9", - "item": "crate::LiveFeed::subscribe_locked", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "966df9d375be27e401ff65c781944b49e0cf09696f1ae6d9244b7291646e4e9d", - "item": "crate::LiveFeed::take_visible", - "lint": "clippy::unwrap_used", - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "e01afb79860b940cd885f3130c9986c7e370d0d098817f2e4adb9800ee02551b", @@ -4683,132 +2860,6 @@ "lint": "clippy::unwrap_used", "path": "src/sse/session.rs" }, - { - "count": 1, - "fingerprint": "47ef3e4da68eee0609dc78313dca45277aff6344fb5415e5aa7dcf852d7cf572", - "item": "crate::::closed", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "66b053ee0a1218c502eba5a91ba71c05f3e0d8efc29f9a73535699eb9a129bd9", - "item": "crate::::frontier", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "851787499c483eb04ad9fd9a49b09ffa937523543434852d787e9a03bc212cf8", - "item": "crate::::logicalize", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "eb3e246f9b95db8fd7f2b83e258d5be5310102684ddb6c8909049482178b3c5e", - "item": "crate::::closed", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "85caf6c3f03fb531de49847d93da29c43bbe8982e282b45dc34d219f1b8dc56e", - "item": "crate::::frontier", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "5833d8b529955b15b505f11e1112892afe1ee59af9e4c7df4db845eee7491612", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "ef7842ad7257942dbc119cd852e63843df543085180e3d055e8172c3ae01257e", - "item": "crate::LineageSource::sealed_span_page", - "lint": "clippy::unwrap_used", - "path": "src/sse/source.rs" - }, - { - "count": 1, - "fingerprint": "20c3acc01822fdb78e771b898502ed53a4206d8bb8db2b34fc65d4d87163276d", - "item": "crate::TaskSupervisor::incomplete_shutdown_failure", - "lint": "clippy::unwrap_used", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "30d712b2122b4fdd8fa362a2b13f07760ec21ed80f928b8815a3876baf9b970e", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::unwrap_used", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "60a71a130702a263dcad0e099f43d7e96f5776f921eb44db9d1dca33fc9f6a6b", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::unwrap_used", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "b5bdd9f0c8a87be648b57157e2b40459ec06e20daa6719790c0abd11fd068ab0", - "item": "crate::TaskSupervisor::launch_shutdown", - "lint": "clippy::unwrap_used", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "ab5f6ab54d91cc0ea9ec9ab1ac608bb6bdf6857e84d599ebcc8c4a9374924207", - "item": "crate::TaskSupervisor::observe_shutdown", - "lint": "clippy::unwrap_used", - "path": "src/tasks/shutdown.rs" - }, - { - "count": 1, - "fingerprint": "b4c250e6670d01ae4792c586b20aef709d7b0665efc273d220a4caa8fd6b9cb3", - "item": "crate::TouchJournal::flush_bucket", - "lint": "clippy::unwrap_used", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "a7fae912a54e5fc1a2fd6fe904321b47d2a27fc4b93605dc0fd42722faea1edb", - "item": "crate::TouchJournal::ingest", - "lint": "clippy::unwrap_used", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "2c355b4eacb4c6bb50690d1dac2e09669bbed828167f3c16ff07a2a00c2024c9", - "item": "crate::TouchRegistry::close_shard", - "lint": "clippy::unwrap_used", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "79bf708a68180b65b78fb4b5de7c69048961f330cf30f057b3f782cac8932941", - "item": "crate::TouchRegistry::journal", - "lint": "clippy::unwrap_used", - "path": "src/touch.rs" - }, - { - "count": 1, - "fingerprint": "2047871277f8d0a05956c4e1cb344f06202a24b6f24cdfa44c02003dd37efc98", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::wildcard_enum_match_arm", - "path": "src/sse/feed.rs" - }, - { - "count": 1, - "fingerprint": "d5194dd5ab170c502ca6c19f699d99f9123bed3e9e3895962853cb317ccde6b0", - "item": "crate::LiveFeed::read_and_publish", - "lint": "clippy::wildcard_enum_match_arm", - "path": "src/sse/feed.rs" - }, { "count": 1, "fingerprint": "f3255ca3e71639b9a0ca6912945433030f584778c2042d960ff77ca1a8ca55a2", @@ -4830,13 +2881,6 @@ "lint": "unreachable_pub", "path": "src/application/read_keys.rs" }, - { - "count": 1, - "fingerprint": "4e88cb6514e617e1c971f3f310f8fa373479b64549b29331bfbbc294b88569cb", - "item": "crate::spawn_refresher", - "lint": "unreachable_pub", - "path": "src/auth_feed.rs" - }, { "count": 1, "fingerprint": "86b45b21b38060107772bcbbe6d6d8321bc97e6f55ace1e028bc4c9933dde421", @@ -4844,20 +2888,6 @@ "lint": "unreachable_pub", "path": "src/bootstrap.rs" }, - { - "count": 1, - "fingerprint": "6ca31a8ab2daa6134a18669c50ca283247b46bcd9efc9a73d74cbc16d2f0fa5e", - "item": "crate::TraceStore::with_options", - "lint": "unreachable_pub", - "path": "src/dst/trace_store.rs" - }, - { - "count": 1, - "fingerprint": "9554e7d8e300567e64cd59df2571adaccca65e294d297e0dc3ae8116a5af864a", - "item": "crate::Fp::site", - "lint": "unreachable_pub", - "path": "src/failpoints.rs" - }, { "count": 1, "fingerprint": "ffa2489531b69a28379bccc8278747181e096c43162692ea2da4e8c3a1d1cf9c", @@ -4907,13 +2937,6 @@ "lint": "unreachable_pub", "path": "src/product.rs" }, - { - "count": 1, - "fingerprint": "6487b3fbddd2c3343d03313756888a3276394c4cfb7c47863403ff72fd1df099", - "item": "crate::QuotaRegistry::admit_append", - "lint": "unreachable_pub", - "path": "src/quota.rs" - }, { "count": 1, "fingerprint": "f6269145e7da12ea84288ac84f204a1635a1bc7f8391b9117d01097252cfd7d8", @@ -4942,13 +2965,6 @@ "lint": "unreachable_pub", "path": "src/registry.rs" }, - { - "count": 1, - "fingerprint": "267171222ab33983f7c4565129274bd6a6b36290c6126ea4b8a6d5f816e484ef", - "item": "crate::RuntimeCaps::with", - "lint": "unreachable_pub", - "path": "src/runtime.rs" - }, { "count": 1, "fingerprint": "4a034c08934265d15e51ea98686e48bde353a689522b69fa1ac6c093effa7883", diff --git a/docs/quality/owners.json b/docs/quality/owners.json index a9f80e5f..73c95534 100644 --- a/docs/quality/owners.json +++ b/docs/quality/owners.json @@ -1815,6 +1815,86 @@ "path": "src/postings.rs", "reason": "Postings codec and span planner tests; compile beside the same private codec in the server, fuzz and invariant harness crates so the owner stays within the file-size limit; no copied codec or public test API.", "syntax": "path = \"postings/tests.rs\"" + }, + { + "category": "effect", + "count": 1, + "owner": "crate::TouchJournal::start", + "path": "src/touch.rs", + "reason": "Per-stream touch flusher started under the journal map lock and ended by the journal's own close; no supervisor is reachable at creation and the task owns nothing beyond its journal.", + "syntax": "tokio::spawn" + }, + { + "category": "effect", + "count": 1, + "owner": "crate::TaskSupervisor::launch_shutdown", + "path": "src/tasks/shutdown.rs", + "reason": "The one shutdown driver: it joins the supervised set and publishes the report every observer waits on, so it cannot itself be supervised.", + "syntax": "tokio::spawn" + }, + { + "category": "effect", + "count": 1, + "owner": "crate::main", + "path": "src/main.rs", + "reason": "Process entry reads the Tokio worker floor once before the runtime exists; no service configuration or credentials are inferred.", + "syntax": "std::env::var" + }, + { + "category": "global", + "count": 1, + "owner": "crate::reg::M", + "path": "src/failpoints.rs", + "reason": "The DST failpoint registry: one process-wide lazily initialised map keyed by point and stream name, armed and read only by the DST program; a per-runtime copy would let a parked point outlive the runtime that armed it.", + "syntax": "std :: sync :: OnceLock < Registry >" + }, + { + "category": "effect", + "count": 1, + "owner": "crate::reset_refuses_while_in_flight", + "path": "src/dst/trace_store_tests/streams.rs", + "reason": "Trace-store regression leaks one abandoned list stream on purpose so its lifetime guard never runs and reset must refuse; nothing else escapes the test.", + "syntax": "std::mem::forget" + }, + { + "category": "unresolved-glob", + "count": 1, + "owner": "crate", + "path": "src/sse/source/spans.rs", + "reason": "Lineage span rule imports its enclosing source owner; the compiler resolves the parent exports and the rule only maps linearized offsets.", + "syntax": "compiler-resolved import; syntax cannot infer exports" + }, + { + "category": "unresolved-glob", + "count": 1, + "owner": "crate", + "path": "src/sse/feed/retention.rs", + "reason": "Retention entry imports its enclosing feed owner; the compiler resolves the parent exports and the entry only mirrors admission.", + "syntax": "compiler-resolved import; syntax cannot infer exports" + }, + { + "category": "unresolved-glob", + "count": 1, + "owner": "crate", + "path": "src/sse/feed/test_support.rs", + "reason": "Feed budget test knobs import their enclosing feed owner; the compiler resolves the parent exports and the knobs only size, exhaust and release budgets.", + "syntax": "compiler-resolved import; syntax cannot infer exports" + }, + { + "category": "effect", + "count": 1, + "owner": "crate::LiveFeed::schedule_transition_retry", + "path": "src/sse/feed.rs", + "reason": "The feed's transition retry is a bare task the feed owns and cancels through its own flag; it ends with the feed.", + "syntax": "tokio::spawn" + }, + { + "category": "by-path-module", + "count": 1, + "owner": "crate::spans", + "path": "src/sse/source.rs", + "reason": "Lineage span rule; declared by path like the source's tests so the file name says what it holds; no copied source or public test API.", + "syntax": "path = \"source/spans.rs\"" } ] } diff --git a/docs/quality/source-allowances.json b/docs/quality/source-allowances.json index 936f6d92..7889c60e 100644 --- a/docs/quality/source-allowances.json +++ b/docs/quality/source-allowances.json @@ -1554,62 +1554,6 @@ "path": "bench/awsbench/src/main.rs", "syntax": "allow (unreachable_code)" }, - { - "category": "exception", - "count": 1, - "owner": "crate::dlq_and_settle", - "path": "src/application/consumer/delivery.rs", - "syntax": "allow (clippy :: too_many_arguments)" - }, - { - "category": "exception", - "count": 1, - "owner": "crate::ReadPlan < 'a >::segment", - "path": "src/application/read.rs", - "syntax": "allow (clippy :: too_many_arguments)" - }, - { - "category": "exception", - "count": 1, - "owner": "crate::TEST_ASSERT_KEYED_DENSE", - "path": "src/application/read.rs", - "syntax": "allow (clippy :: too_many_arguments)" - }, - { - "category": "exception", - "count": 1, - "owner": "crate::read_merged", - "path": "src/application/read.rs", - "syntax": "allow (clippy :: too_many_arguments)" - }, - { - "category": "exception", - "count": 1, - "owner": "crate::read_stitched", - "path": "src/application/read.rs", - "syntax": "allow (clippy :: too_many_arguments)" - }, - { - "category": "exception", - "count": 1, - "owner": "crate::WALK_CLOSE_SUBMITS_SNAPSHOT", - "path": "src/dst/tests/runtime_sweep.rs", - "syntax": "allow (non_snake_case)" - }, - { - "category": "exception", - "count": 1, - "owner": "crate::TraceState::event", - "path": "src/dst/trace_store.rs", - "syntax": "allow (clippy :: too_many_arguments)" - }, - { - "category": "exception", - "count": 1, - "owner": "crate::read", - "path": "src/history/canonical_span.rs", - "syntax": "allow (clippy :: too_many_arguments)" - }, { "category": "exception", "count": 1, @@ -1729,13 +1673,6 @@ "path": "src/product.rs", "syntax": "allow (clippy :: result_large_err , reason = \"transport boundary returns Axum wire response directly; application errors stay compact\")" }, - { - "category": "exception", - "count": 1, - "owner": "crate", - "path": "src/project_policy.rs", - "syntax": "allow (dead_code)" - }, { "category": "exception", "count": 1, @@ -1743,20 +1680,6 @@ "path": "src/sse/session.rs", "syntax": "allow (clippy :: too_many_arguments)" }, - { - "category": "exception", - "count": 1, - "owner": "crate::LineageSource::sealed_span_page", - "path": "src/sse/source.rs", - "syntax": "allow (clippy :: too_many_arguments)" - }, - { - "category": "exception", - "count": 1, - "owner": "crate::LineageSpan::identity", - "path": "src/sse/source.rs", - "syntax": "allow (dead_code)" - }, { "category": "global", "count": 1, @@ -1988,13 +1911,6 @@ "path": "src/failpoints.rs", "syntax": "std :: sync :: OnceLock < tokio :: sync :: Notify >" }, - { - "category": "global", - "count": 1, - "owner": "crate::reg::M", - "path": "src/failpoints.rs", - "syntax": "std :: sync :: OnceLock < Mutex < HashMap < (Fp , String) , FpState > > >" - }, { "category": "global", "count": 1, diff --git a/docs/refactor/test-inventory.json b/docs/refactor/test-inventory.json index f55f8539..9298ee46 100644 --- a/docs/refactor/test-inventory.json +++ b/docs/refactor/test-inventory.json @@ -2160,7 +2160,7 @@ "attributes": [ "#[tokio::test(flavor = \"current_thread\", start_paused = true)]" ], - "function_sha256": "ebd8cf2db4bf1a26a03716d8da99e98671cb514d9f8298a69702f50987631166", + "function_sha256": "c19966727f38f37212c94748fdbc1737679222c79fa8a2810079c4740890a7c9", "mechanisms": [ "STORE_LATENCY" ], @@ -2811,7 +2811,7 @@ "attributes": [ "#[tokio::test(flavor = \"multi_thread\", worker_threads = 4)]" ], - "function_sha256": "6a83c50969fe771c13aa8f46f7fbbd163ebcf3a12191a9a8c96cd5797ede4a0e", + "function_sha256": "b81632e4d007350aa2784b7a0aa34f3358a943f4102aa5d84e63220658d12f78", "mechanisms": [], "configuration": [], "file": "src/dst/tests/livefeed_history.rs", @@ -4743,18 +4743,6 @@ "file": "src/dst/trace_store_tests/streams.rs", "scenarios": [] }, - { - "name": "reset_refuses_while_in_flight", - "attributes": [ - "#[tokio::test]", - "#[should_panic(expected = \"while operations are active\")]" - ], - "function_sha256": "8dbca7724f55e7f2f2d9c3a7fdad5701e038a944e2bdd39d259839d152c0ce70", - "mechanisms": [], - "configuration": [], - "file": "src/dst/trace_store_tests/streams.rs", - "scenarios": [] - }, { "name": "restart_invalidates_process_local_touch_cursors", "attributes": [ @@ -5535,7 +5523,7 @@ "attributes": [ "#[tokio::test(flavor = \"multi_thread\", worker_threads = 4)]" ], - "function_sha256": "a546f8f58f27f9b678a3b98253c10f7b695e3f7f36ed75f9e2772ae8ee0d0007", + "function_sha256": "db24635d68ea5f36ee93262da9a9e3df35767a2f5e3245972145871d0dfecfad", "mechanisms": [], "configuration": [ "let store = FaultStore::uniform(inner.clone(), 103, FaultPlan::new(0, 0, 0));" diff --git a/examples/readertest.rs b/examples/readertest.rs index bd05a460..eaaf4bcc 100644 --- a/examples/readertest.rs +++ b/examples/readertest.rs @@ -52,6 +52,10 @@ impl slatedb::BlockTransformer for TestTransformer { clippy::disallowed_methods, reason = "main; the example reads its one path argument from the process environment; routing it through the server's configuration would couple an example to the runtime" )] +#[expect( + clippy::excessive_nesting, + reason = "main; the example nests the scan loop inside the per-range task it times; flattening it would separate the count from the range it measures" +)] async fn main() -> anyhow::Result<()> { let path = std::env::args() .nth(1) diff --git a/scripts/quality/mutations.sh b/scripts/quality/mutations.sh index 245216d4..115cac03 100755 --- a/scripts/quality/mutations.sh +++ b/scripts/quality/mutations.sh @@ -16,7 +16,7 @@ BASE=$(python3 -c 'import json,sys; print(json.load(open(sys.argv[1]))["merge_ba git diff --no-ext-diff --binary --src-prefix="a/$PREFIX" --dst-prefix="b/$PREFIX" "$BASE" -- > "$QUALITY_MUTANTS_OUT/harness-pr.diff" TOTAL=0 REGISTERED=(src/bin/pilot/benchmark.rs src/bin/pilot/benchmark/config.rs src/bin/pilot/benchmark/window.rs src/bin/pilot/generator.rs src/bin/pilot/generator/membership.rs) -for owner in postings_codec postings batch retained quota cursors queue rollup_allocation rollup_storage tasks touch read_accumulator read_spool shard_directory history_partition ops scaler postings_cache sharddir crypto tail_ring shard bootstrap read_request http_read queue_cleanup transaction_append record; do +for owner in postings_codec postings batch retained quota cursors queue rollup_allocation rollup_storage tasks touch read_accumulator read_spool shard_directory history_partition ops scaler postings_cache sharddir crypto tail_ring shard bootstrap read_request http_read queue_cleanup transaction_append record tasks_shutdown runtime runtime_telemetry product_cursor quota_registry sse_source sse_source_spans sse_feed sse_feed_retention sse_feed_test_support; do case "$owner" in postings_codec) file=src/postings.rs; filter=postings:: ;; postings) file=src/postings/validated.rs; filter=postings:: ;; @@ -41,6 +41,16 @@ for owner in postings_codec postings batch retained quota cursors queue rollup_a queue_cleanup) file=src/shard/transaction/queue/cleanup.rs; filter=shard:: ;; transaction_append) file=src/shard/transaction/append.rs; filter=shard:: ;; record) file=src/shard/record.rs; filter=shard:: ;; + sse_source) file=src/sse/source.rs; filter=sse:: ;; + sse_source_spans) file=src/sse/source/spans.rs; filter=sse:: ;; + sse_feed) file=src/sse/feed.rs; filter=sse:: ;; + sse_feed_retention) file=src/sse/feed/retention.rs; filter=sse:: ;; + sse_feed_test_support) file=src/sse/feed/test_support.rs; filter=sse:: ;; + tasks_shutdown) file=src/tasks/shutdown.rs; filter=tasks:: ;; + runtime) file=src/runtime.rs; filter=runtime:: ;; + runtime_telemetry) file=src/runtime/telemetry.rs; filter=runtime:: ;; + product_cursor) file=src/product_cursor.rs; filter=product_cursor:: ;; + quota_registry) file=src/quota.rs; filter=quota:: ;; postings_cache) file=src/postings_cache.rs; filter=postings_cache:: ;; sharddir) file=src/sharddir.rs; filter=sharddir:: ;; crypto) file=src/crypto.rs; filter=crypto:: ;; @@ -55,7 +65,7 @@ for owner in postings_codec postings batch retained quota cursors queue rollup_a package=streams-quality-invariants mutation_file="$PREFIX$file" mutation_diff="$QUALITY_MUTANTS_OUT/harness-pr.diff" - if [[ "$owner" == tasks || "$owner" == touch || "$owner" == read_accumulator || "$owner" == read_spool || "$owner" == shard_directory || "$owner" == history_partition || "$owner" == ops || "$owner" == scaler || "$owner" == postings_cache || "$owner" == sharddir || "$owner" == crypto || "$owner" == tail_ring || "$owner" == shard || "$owner" == bootstrap || "$owner" == read_request || "$owner" == http_read || "$owner" == queue_cleanup || "$owner" == transaction_append || "$owner" == record ]]; then + if [[ "$owner" == tasks || "$owner" == touch || "$owner" == read_accumulator || "$owner" == read_spool || "$owner" == shard_directory || "$owner" == history_partition || "$owner" == ops || "$owner" == scaler || "$owner" == postings_cache || "$owner" == sharddir || "$owner" == crypto || "$owner" == tail_ring || "$owner" == shard || "$owner" == bootstrap || "$owner" == read_request || "$owner" == http_read || "$owner" == queue_cleanup || "$owner" == transaction_append || "$owner" == record || "$owner" == tasks_shutdown || "$owner" == runtime || "$owner" == runtime_telemetry || "$owner" == product_cursor || "$owner" == quota_registry || "$owner" == sse_source || "$owner" == sse_source_spans || "$owner" == sse_feed || "$owner" == sse_feed_retention || "$owner" == sse_feed_test_support ]]; then # These owners use actual service clocks, task handles and storage types. # Keep their code and tests in the service crate without substitute models. package=streams-slate diff --git a/src/application/consumer.rs b/src/application/consumer.rs index 09c7e2af..4da27524 100644 --- a/src/application/consumer.rs +++ b/src/application/consumer.rs @@ -154,6 +154,10 @@ pub(crate) struct AuthorizedConsumerContext { record: crate::queue::ConsumerRecord, } impl ConsumerService { + #[expect( + clippy::too_many_arguments, + reason = "ConsumerService::authorize; authorization takes the tenant, stream, consumer and credential parts separately as the handler parsed them; a request struct would exist only for this signature" + )] pub(crate) async fn authorize( self: &Arc, sref: &crate::tenant::TenantStreamRef, @@ -439,6 +443,10 @@ async fn load_consumer_record( } } +#[expect( + clippy::too_many_lines, + reason = "put; the consumer put validates the configuration, decides create-versus-update and publishes the record in one conditional-write sequence; splitting it would separate the validation from the write it guards" +)] pub(crate) async fn put( context: AuthorizedStreamContext, doc: ConfigInput, @@ -647,6 +655,10 @@ pub(crate) struct QueuePosition { } /// Internal callers provide the incarnation-bound target only after fleet authorization. impl ConsumerService { + #[expect( + clippy::too_many_arguments, + reason = "ConsumerService::sweep_local; the local sweep takes the descriptor, segment, consumer and generation parts separately as the sweep resolved them; a sweep struct would exist only for this signature" + )] pub(crate) async fn sweep_local( &self, target: InternalTarget, @@ -698,6 +710,10 @@ impl ConsumerService { } } } + #[expect( + clippy::unwrap_used, + reason = "ConsumerService::queue_position; a poisoned stream state may hold a half-advanced durable frontier; recovering it could report a queue position past a length never made durable" + )] pub(crate) async fn queue_position( &self, target: InternalTarget, diff --git a/src/application/consumer/deletion.rs b/src/application/consumer/deletion.rs index 739bbbf0..0713dcd1 100644 --- a/src/application/consumer/deletion.rs +++ b/src/application/consumer/deletion.rs @@ -9,6 +9,14 @@ use crate::application::consumer_remote::relay_sweep_segment; use crate::application::read_remote::InternalTarget; use std::sync::Arc; +#[expect( + clippy::too_many_arguments, + reason = "delete; consumer deletion takes the tenant, stream, consumer, generation and fencing parts separately as the handler resolved them; a delete struct would exist only for this signature" +)] +#[expect( + clippy::too_many_lines, + reason = "delete; the fence, the tombstone and the per-segment cleanup are one deletion whose resumption depends on which step landed; splitting them would separate the steps from the resumption they order" +)] pub(crate) async fn delete( state: Arc, sref: crate::tenant::TenantStreamRef, @@ -160,6 +168,10 @@ pub(crate) async fn delete( }) } +#[expect( + clippy::too_many_lines, + reason = "resume_deletion; resumption replays the per-segment cleanup a fenced deletion left behind in the order the debt records; splitting it would separate the steps from the debt that orders them" +)] async fn resume_deletion( context: AuthorizedDeletionContext, ) -> Result { diff --git a/src/application/consumer/delivery.rs b/src/application/consumer/delivery.rs index 26f27ee6..ba419b92 100644 --- a/src/application/consumer/delivery.rs +++ b/src/application/consumer/delivery.rs @@ -11,6 +11,14 @@ use bytes::Bytes; use serde_json::json; use std::sync::Arc; +#[expect( + clippy::too_many_lines, + reason = "pull; the pull walks the lineage oldest-first and each segment's skip, stop and deliver verdicts depend on the walk so far; splitting it would separate the verdicts from the walk that orders them" +)] +#[expect( + clippy::excessive_nesting, + reason = "pull; the walk nests each foreign segment's drain probe and each sealed segment's cursor check inside the lineage loop; flattening it would separate the skip from the segment it skips" +)] pub(crate) async fn pull( context: AuthorizedConsumerContext, doc: PullInput, @@ -210,6 +218,10 @@ pub(crate) async fn pull( } } +#[expect( + clippy::too_many_arguments, + reason = "foreign_segment_drained; the probe takes the descriptor, segment, consumer, generation, sealed end and owner separately as the walk resolved them; a probe struct would exist only for this signature" +)] async fn foreign_segment_drained( state: &Arc, desc: &StreamDesc, @@ -238,6 +250,7 @@ async fn foreign_segment_drained( /// Encode only leases granted by the committer, with the same key, stream /// epoch, segment and consumer generation used for the durable Receive. +#[derive(Clone, Copy)] struct MessageContext<'a> { desc: &'a StreamDesc, key: &'a crate::crypto::StreamKey, @@ -393,6 +406,10 @@ async fn read_coverage( }) } +#[expect( + clippy::too_many_lines, + reason = "settle; settlement decides the acknowledged, released, dead-lettered and expired outcomes against one durable Receive; splitting it would separate the outcomes from the leases they settle" +)] pub(crate) async fn settle( context: AuthorizedConsumerContext, doc: SettleInput, @@ -573,7 +590,18 @@ pub(crate) async fn settle( } // Preserve the explicit source incarnation and one bounded poisoned segment. -#[allow(clippy::too_many_arguments)] +#[expect( + clippy::too_many_arguments, + reason = "dlq_and_settle; the dead-letter path takes the stream, consumer, key, epoch, identity, route and segment separately as settlement resolved them; a context struct would exist only for this signature" +)] +#[expect( + clippy::too_many_lines, + reason = "dlq_and_settle; the dead-letter appends and the settlement of the poisoned leases are one bounded sequence over the same leases; splitting it would separate the appends from the leases they release" +)] +#[expect( + clippy::expect_used, + reason = "dlq_and_settle; the dead-letter target's incarnation was checked before any message is appended; a second fallible read would add a branch no configured target reaches" +)] async fn dlq_and_settle( state: &Arc, desc: &StreamDesc, @@ -676,12 +704,14 @@ async fn dlq_and_settle( ts_hint_ms: None, key_version: 0, }; - if let Err(error) = state.append.execute(command).await { - if error.definitively_rejected() { + match state.append.execute(command).await { + Ok(_) => {} + Err(error) if error.definitively_rejected() => { blocked += 1; tracing::warn!(stream=%desc.name,consumer=%cname,dead_letter_stream=%dlq,error=%error,"dead-letter delivery refused; source lease retained"); + continue; } - continue; + Err(_) => continue, } } let engine = match state.engine_for(&route).await { diff --git a/src/application/consumer_remote.rs b/src/application/consumer_remote.rs index 7c6c0aa7..fa339250 100644 --- a/src/application/consumer_remote.rs +++ b/src/application/consumer_remote.rs @@ -4,6 +4,14 @@ use crate::application::read_remote::InternalTarget; use serde_json::json; use std::sync::Arc; +#[expect( + clippy::too_many_arguments, + reason = "relay_queue_cursor; the relay takes the owner, stream, consumer, generation and segment parts separately as the pull resolved them; a relay struct would exist only for this signature" +)] +#[expect( + clippy::expect_used, + reason = "relay_queue_cursor; a fleet GET request carries no streaming body, so it is clonable; a fallible clone would add a branch no fleet request reaches" +)] pub(super) async fn relay_queue_cursor( state: &Arc, base: &str, @@ -37,6 +45,14 @@ pub(super) async fn relay_queue_cursor( Some((v["cursor"].as_u64()?, v["tail"].as_u64()?)) } +#[expect( + clippy::too_many_arguments, + reason = "relay_sweep_segment; the relay takes the owner, stream, consumer, generation and segment parts separately as the sweep resolved them; a relay struct would exist only for this signature" +)] +#[expect( + clippy::expect_used, + reason = "relay_sweep_segment; a fleet sweep request carries no streaming body, so it is clonable; a fallible clone would add a branch no fleet request reaches" +)] pub(super) async fn relay_sweep_segment( state: &Arc, base: &str, diff --git a/src/application/creation.rs b/src/application/creation.rs index c4bad873..8c18e00c 100644 --- a/src/application/creation.rs +++ b/src/application/creation.rs @@ -148,6 +148,10 @@ fn init_claim_stale(desc: &crate::registry::PersistedDescriptor) -> bool { .as_ref() .is_some_and(|init| now_ms() - init.claimed_ms > crate::registry::INIT_CLAIM_MS) } +#[expect( + clippy::too_many_arguments, + reason = "create_request_hash; the request hash covers every field a client can vary, taken separately as the handler parsed them; a request struct would exist only to be hashed" +)] pub(crate) fn create_request_hash( content_type: &str, ttl_secs: Option, @@ -181,6 +185,10 @@ pub(crate) fn create_request_hash( } hex(&h.finalize()[..16]) } +#[expect( + clippy::too_many_arguments, + reason = "fresh_desc; a fresh descriptor is built from the resolved name, epoch, policy and fork parts separately as creation decided them; a builder would restate the descriptor's own fields" +)] pub(crate) fn fresh_desc( service: &CreationService, sref: &crate::tenant::TenantStreamRef, @@ -220,6 +228,10 @@ pub(crate) fn fresh_desc( } } +#[expect( + clippy::expect_used, + reason = "json_entries; a serde_json::Value serialises infallibly; a fallible path would add a branch no value reaches" +)] pub(crate) fn json_entries(body: &[u8], allow_empty_array: bool) -> Result, String> { let v: serde_json::Value = serde_json::from_slice(body).map_err(|_| "invalid JSON body".to_string())?; @@ -250,6 +262,10 @@ mod tests { use crate::application::request_work::{Action, Key, Kind, RequestWork, WorkError}; use std::{sync::Arc, time::Duration}; + #[expect( + clippy::excessive_nesting, + reason = "r05_cancelled_ttl_attempt_releases_only_its_owned_slot; the fixture nests the drain wait inside the timeout that bounds it inside the test; flattening it would separate the wait from the bound it must respect" + )] #[tokio::test] async fn r05_cancelled_ttl_attempt_releases_only_its_owned_slot() { let project = crate::tenant::ProjectId::new("creation-test").unwrap(); diff --git a/src/application/creation/anchor.rs b/src/application/creation/anchor.rs index 34d81b33..8db86589 100644 --- a/src/application/creation/anchor.rs +++ b/src/application/creation/anchor.rs @@ -3,6 +3,10 @@ use super::deletion::release_fork_ref; use super::raw::CreatePlan; use super::*; +#[expect( + clippy::too_many_lines, + reason = "install; the anchor install is one conditional write over the source's fork reference plus the compensation each declined outcome requires; splitting it would separate the write from the compensation it orders" +)] pub(super) async fn install( state: &Arc, plan: &CreatePlan, @@ -187,6 +191,10 @@ enum ReferenceStamp { AlreadyPresent, TargetChanged, } +#[expect( + clippy::expect_used, + reason = "stamp_fork_reference; the persisted copy carries the fork reference the match just observed; a fallible write would add a branch no observed reference reaches" +)] fn stamp_fork_reference(current: &StreamDesc, fork_id: &str) -> Mutation { if current.deleted { return Mutation::Decline(ReferenceStamp::TargetChanged); diff --git a/src/application/creation/claim.rs b/src/application/creation/claim.rs index 4c02842a..63bfb519 100644 --- a/src/application/creation/claim.rs +++ b/src/application/creation/claim.rs @@ -2,6 +2,10 @@ use super::raw::CreatePlan; use super::*; +#[expect( + clippy::too_many_lines, + reason = "resolve; claim resolution is one decision over the existing descriptor's lifecycle, retained name and pending initialization; splitting it would separate the verdicts from the descriptor they judge" +)] pub(super) async fn resolve( state: &Arc, plan: &CreatePlan, diff --git a/src/application/creation/deletion.rs b/src/application/creation/deletion.rs index 465d6b59..80e536a6 100644 --- a/src/application/creation/deletion.rs +++ b/src/application/creation/deletion.rs @@ -65,6 +65,10 @@ pub(super) async fn clear_parent_debt( state.registry.invalidate(sref); Ok(()) } +#[expect( + clippy::too_many_lines, + reason = "release_fork_ref; one conditional write over the source's fork reference whose absent, foreign, recreated-source and released outcomes each decide conclusiveness; splitting it would separate the read from the verdict it justifies" +)] pub(super) fn release_fork_ref( state: &Arc, src_ref: crate::tenant::TenantStreamRef, @@ -253,7 +257,6 @@ fn delete_lifecycle( // the deployment tenant's same-named stream while B's own survived. let state = state.clone(); let sref = sref.clone(); - let name = sref.name().as_str().to_string(); Box::pin(async move { let d = match state.registry.get(&sref).await.map_err(|e| e.to_string())? { Some(d) => d, @@ -268,71 +271,7 @@ fn delete_lifecycle( // generation that was tombstoned but never released its own // parent is reachable by deleting it again. if let crate::registry::Lifecycle::Deleted { parent_ref_pending } = d.lifecycle() { - if parent_ref_pending && let Some((src, fid, sep)) = parent.clone() { - // Clear the debt only on a CONCLUSIVE release: an - // absent reference on a live source may still be - // installed by a creator in flight, and this very - // retry is what repairs that crash later. A source - // recreated since the fork is conclusive too — the - // incarnation this debt was owed to is gone. - if release_fork_ref(&state, d.ref_in_project(&src), &fid, &sep).await? { - clear_parent_debt(&state, &d.sref(), &d.stream_epoch, Some((&src, &fid))) - .await?; - } - } - // Then walk UP. A crashed cascade leaves the debt on a - // hidden intermediate generation, and the only request a - // client will ever retry is the original delete of the leaf. - // Repairing only this descriptor left the ancestor pinned - // and reported success. - // Each hop resolves in the project of the descriptor that - // HOLDS the reference (chain-invariant today, structurally - // per-hop). - let mut next = d.forked_from.as_ref().map(|f| d.ref_in_project(&f.source)); - for _ in 0..64 { - let Some(anc_ref) = next else { break }; - let Some(anc) = state - .registry - .get(&anc_ref) - .await - .map_err(|e| e.to_string())? - else { - break; - }; - if !(anc.deleted && anc.parent_ref_pending) { - break; - } - let conclusive = match anc.forked_from.as_ref() { - Some(gp) => { - release_fork_ref( - &state, - anc.ref_in_project(&gp.source), - &gp.fork_id, - &gp.source_epoch, - ) - .await? - } - None => true, - }; - if conclusive { - let debt = anc - .forked_from - .as_ref() - .map(|gp| (gp.source.clone(), gp.fork_id.clone())); - clear_parent_debt( - &state, - &anc_ref, - &anc.stream_epoch, - debt.as_ref().map(|(a, b)| (a.as_str(), b.as_str())), - ) - .await?; - } - next = anc - .forked_from - .as_ref() - .map(|g| anc.ref_in_project(&g.source)); - } - return Ok(()); + return repair_tombstone(&state, &d, parent_ref_pending).await; } // Soft-versus-hard is decided INSIDE the CAS, against the // children the descriptor has at that instant. Deciding it from @@ -344,7 +283,7 @@ fn delete_lifecycle( // The debt is recorded in the SAME write as the tombstone, so a // crash between them is impossible. #[cfg(test)] - crate::failpoints::pause_delete_before_decision(&name).await; + crate::failpoints::pause_delete_before_decision(sref.name().as_str()).await; let epoch = d.stream_epoch.clone(); // Round-22 item 7: ONE logical close instant, decided here, // stamped into the tombstone write below and used by every @@ -389,27 +328,7 @@ fn delete_lifecycle( // committer queue is backpressure, never a silent drop; a // submission that still fails is safe because the debt lives // on the tombstone and the sweep reconciler retries it. - { - let seg_ids: Vec = d - .segments - .as_ref() - .map(|m| m.segments.iter().map(|sg| sg.seg_id).collect()) - .unwrap_or_else(|| vec![0]); - for sid in seg_ids { - let identity = d.dynamic_segment_identity(sid); - let route = d - .segment_route_by_id(sid) - .expect("segment selected from validated topology"); - if let Ok(engine) = state.resolve(&route).await - && let Err(e) = engine.submit_billing_close(identity, close_stamp).await - { - tracing::warn!( - "delete {name}: billing close submit failed \ - (tombstone debt persists; sweep retries): {e}" - ); - } - } - } + submit_billing_closes(&state, &d, close_stamp).await; if let Some((src, fid, sep)) = parent { // Released CONCLUSIVELY: the tombstone owes nothing more. // This is `update`, not `cas_update`, because the @@ -433,6 +352,116 @@ enum DeleteTransition { Retained, Tombstoned, } +/// Pay a tombstone's unpaid parent debt, then walk UP the fork chain: a +/// crashed cascade leaves the debt on a hidden intermediate generation, and +/// the only request a client will ever retry is the original delete of the +/// leaf, so repairing only its descriptor left the ancestor pinned. +async fn repair_tombstone( + state: &Arc, + d: &StreamDesc, + parent_ref_pending: bool, +) -> Result<(), String> { + let parent = d + .forked_from + .as_ref() + .map(|f| (f.source.clone(), f.fork_id.clone(), f.source_epoch.clone())); + if parent_ref_pending && let Some((src, fid, sep)) = parent { + // Clear the debt only on a CONCLUSIVE release: an + // absent reference on a live source may still be + // installed by a creator in flight, and this very + // retry is what repairs that crash later. A source + // recreated since the fork is conclusive too — the + // incarnation this debt was owed to is gone. + if release_fork_ref(state, d.ref_in_project(&src), &fid, &sep).await? { + clear_parent_debt(state, &d.sref(), &d.stream_epoch, Some((&src, &fid))).await?; + } + } + // Then walk UP. A crashed cascade leaves the debt on a + // hidden intermediate generation, and the only request a + // client will ever retry is the original delete of the leaf. + // Repairing only this descriptor left the ancestor pinned + // and reported success. + // Each hop resolves in the project of the descriptor that + // HOLDS the reference (chain-invariant today, structurally + // per-hop). + let mut next = d.forked_from.as_ref().map(|f| d.ref_in_project(&f.source)); + for _ in 0..64 { + let Some(anc_ref) = next else { break }; + let Some(anc) = state + .registry + .get(&anc_ref) + .await + .map_err(|e| e.to_string())? + else { + break; + }; + if !(anc.deleted && anc.parent_ref_pending) { + break; + } + let conclusive = match anc.forked_from.as_ref() { + Some(gp) => { + release_fork_ref( + state, + anc.ref_in_project(&gp.source), + &gp.fork_id, + &gp.source_epoch, + ) + .await? + } + None => true, + }; + if conclusive { + let debt = anc + .forked_from + .as_ref() + .map(|gp| (gp.source.clone(), gp.fork_id.clone())); + clear_parent_debt( + state, + &anc_ref, + &anc.stream_epoch, + debt.as_ref().map(|(a, b)| (a.as_str(), b.as_str())), + ) + .await?; + } + next = anc + .forked_from + .as_ref() + .map(|g| anc.ref_in_project(&g.source)); + } + Ok(()) +} + +/// Advance every segment's storage clock to the persisted close stamp and +/// zero its gauge. Submission is awaited: a full committer queue is +/// backpressure, never a silent drop, and a submission that still fails is +/// safe because the debt lives on the tombstone and the sweep retries it. +#[expect( + clippy::expect_used, + reason = "submit_billing_closes; every segment id is read from the descriptor's own validated topology, whose routes are total over its segments; a fallible lookup would add a branch no listed segment reaches" +)] +async fn submit_billing_closes(state: &Arc, d: &StreamDesc, close_stamp: i64) { + let seg_ids: Vec = d + .segments + .as_ref() + .map(|m| m.segments.iter().map(|sg| sg.seg_id).collect()) + .unwrap_or_else(|| vec![0]); + for sid in seg_ids { + let identity = d.dynamic_segment_identity(sid); + let route = d + .segment_route_by_id(sid) + .expect("segment selected from validated topology"); + if let Ok(engine) = state.resolve(&route).await + && let Err(e) = engine.submit_billing_close(identity, close_stamp).await + { + tracing::warn!( + "delete {}: billing close submit failed \ + (tombstone debt persists; sweep retries): {e}", + d.name + ); + } + } +} + fn delete_transition(current: &StreamDesc, close_ms: i64) -> Mutation { if current.deleted { return Mutation::Decline(DeleteTransition::AlreadyDeleted); diff --git a/src/application/creation/fork.rs b/src/application/creation/fork.rs index 5be80f59..87a09240 100644 --- a/src/application/creation/fork.rs +++ b/src/application/creation/fork.rs @@ -21,6 +21,10 @@ pub(super) struct PreparedFork { pub content_type: String, pub ttl_secs: Option, } +#[expect( + clippy::too_many_lines, + reason = "prepare; fork preparation validates the source, its lifecycle, the boundary and the child's policy in the order a fork request must fail; splitting it would separate the checks from the order that decides which error a client sees" +)] pub(super) async fn prepare( state: &Arc, input: Preparation<'_>, @@ -176,6 +180,22 @@ struct Boundary { sub: u64, materialize: Option, } +#[expect( + clippy::too_many_lines, + reason = "validate_boundary; the boundary walk reads the source record at the fork offset and certifies the materialized partial in one pass; splitting it would separate the partial from the record it is cut from" +)] +#[expect( + clippy::unwrap_used, + reason = "validate_boundary; a poisoned stream state may hold a half-advanced durable frontier; recovering it could validate a boundary against a length never made durable" +)] +#[expect( + clippy::cast_possible_truncation, + reason = "validate_boundary; the sub-offset was checked against the record's length, itself a usize; a checked conversion would only restate that bound" +)] +#[expect( + clippy::excessive_nesting, + reason = "validate_boundary; the walk nests the ceiling verdict inside the partial-record branch of the boundary check; flattening it would separate the verdict from the partial it certifies" +)] async fn validate_boundary( state: &Arc, src: &StreamDesc, diff --git a/src/application/creation/initialization.rs b/src/application/creation/initialization.rs index 991f2c5c..4474dbba 100644 --- a/src/application/creation/initialization.rs +++ b/src/application/creation/initialization.rs @@ -3,6 +3,18 @@ use super::deletion::release_fork_ref; use super::raw::CreatePlan; use super::*; +#[expect( + clippy::too_many_arguments, + reason = "seed; seeding takes the plan, descriptor, key and fork parts separately as creation resolved them; a seed struct would exist only for this signature" +)] +#[expect( + clippy::too_many_lines, + reason = "seed; the tail seed, the fork reference and the readiness publish are one initialization whose compensation depends on which step failed; splitting them would separate the steps from the compensation they order" +)] +#[expect( + clippy::unwrap_used, + reason = "seed; a poisoned stream state may hold a half-advanced durable frontier; recovering it could seed a child from a length never made durable" +)] pub(super) async fn seed( state: &Arc, plan: &CreatePlan, @@ -162,6 +174,10 @@ pub(super) async fn seed( Ok((next, closed_now)) } +#[expect( + clippy::excessive_nesting, + reason = "publish; the readiness verdict nests the fork-claim compensation inside the declined-CAS branch; flattening it would separate the compensation from the verdict that requires it" +)] pub(super) async fn publish( state: &Arc, plan: &CreatePlan, diff --git a/src/application/creation/product.rs b/src/application/creation/product.rs index 66c98d04..598a39e5 100644 --- a/src/application/creation/product.rs +++ b/src/application/creation/product.rs @@ -17,6 +17,10 @@ impl From for ProductCreateError { } } impl CreationService { + #[expect( + clippy::too_many_lines, + reason = "create_product; the winner, retained-name and fresh-create branches are one decision over the product's name; splitting them would separate the decision from the write it guards" + )] pub(crate) async fn create_product( self: &Arc, sref: crate::tenant::TenantStreamRef, @@ -115,15 +119,14 @@ impl CreationService { })?; if created { (true, winner) + } else if winner.soft_deleted || !winner.fork_children.is_empty() { + return Err(CreationError::new( + CreationFailure::Conflict, + "gone", + "name is retained for live forks", + ) + .into()); } else { - if winner.soft_deleted || !winner.fork_children.is_empty() { - return Err(CreationError::new( - CreationFailure::Conflict, - "gone", - "name is retained for live forks", - ) - .into()); - } (false, validate_live(winner)?) } } diff --git a/src/application/lifecycle.rs b/src/application/lifecycle.rs index bfe1428d..d4ff4052 100644 --- a/src/application/lifecycle.rs +++ b/src/application/lifecycle.rs @@ -429,9 +429,8 @@ pub(crate) async fn begin_sealing_for_close( EnterSeal::Installed { generation } | EnterSeal::AlreadyOurs { generation } => { Ok(Some(generation)) } - EnterSeal::AlreadyCompleted => Ok(None), - EnterSeal::AlreadySealed => Ok(None), // already terminal; the close is a no-op - EnterSeal::Missing => Ok(None), + // Already terminal or absent: the close is a no-op. + EnterSeal::AlreadyCompleted | EnterSeal::AlreadySealed | EnterSeal::Missing => Ok(None), EnterSeal::Conflicting(m) => Err(SealError::Conflict(m)), EnterSeal::PendingTopology => Err(SealError::Resumable( "a split or merge is in flight; retry the close".into(), @@ -681,10 +680,9 @@ async fn prepare_execution( EnterSeal::Installed { generation } | EnterSeal::AlreadyOurs { generation } => { our_gen = Some(generation); } - EnterSeal::AlreadyCompleted => return Ok(None), + EnterSeal::AlreadyCompleted | EnterSeal::Missing => return Ok(None), EnterSeal::AlreadySealed if op_id.is_empty() => return Ok(None), EnterSeal::AlreadySealed => return Err(SealError::OtherOperation), - EnterSeal::Missing => return Ok(None), EnterSeal::Conflicting(m) => return Err(SealError::Conflict(m)), EnterSeal::PendingTopology => { return Err(SealError::Resumable( diff --git a/src/application/lifecycle/claims.rs b/src/application/lifecycle/claims.rs index a411fbb5..03b27063 100644 --- a/src/application/lifecycle/claims.rs +++ b/src/application/lifecycle/claims.rs @@ -61,6 +61,10 @@ pub(crate) enum SealClaim { } /// An attempt-local decision. No captured output can leak from a CAS that lost. +#[expect( + clippy::expect_used, + reason = "decide_claim; the persisted copy carries the claim the match just observed; a fallible write would add a branch no observed claim reaches" +)] pub(super) fn decide_claim( current: &StreamDesc, op_id: &str, @@ -218,7 +222,6 @@ pub(crate) enum FinalDisposition { pub(crate) fn final_err_disposition(e: &crate::shard::AppendErr) -> FinalDisposition { use crate::shard::AppendErr::*; match e { - ProducerGap { .. } | ProducerEpochSeq => FinalDisposition::AmbiguousOrTransient, ProducerStale { .. } | ProducerSeqReused | CtMismatch @@ -226,6 +229,8 @@ pub(crate) fn final_err_disposition(e: &crate::shard::AppendErr) -> FinalDisposi | SeqConflict { .. } | Closed { .. } | SealSuperseded => FinalDisposition::DefinitivelyRejected, + // A producer gap or epoch/sequence disagreement may still resolve + // once the producer catches up, like every other error. _ => FinalDisposition::AmbiguousOrTransient, } } diff --git a/src/application/read.rs b/src/application/read.rs index 37c55902..14ddede7 100644 --- a/src/application/read.rs +++ b/src/application/read.rs @@ -29,7 +29,10 @@ pub(crate) struct ReadPlan<'a> { } impl<'a> ReadPlan<'a> { - #[allow(clippy::too_many_arguments)] + #[expect( + clippy::too_many_arguments, + reason = "ReadPlan::segment; the constructor takes every field of the plan it builds, as the caller resolved them; a builder would restate the plan's own fields" + )] pub(crate) fn segment( key: &'a StreamKey, epoch: &'a [u8; 16], @@ -57,7 +60,10 @@ impl<'a> ReadPlan<'a> { } /// Compatibility call shape for in-crate engine probes; there is one executor. -#[allow(clippy::too_many_arguments)] +#[expect( + clippy::too_many_arguments, + reason = "read_merged; the compatibility call shape lists the segment plan's fields positionally for the in-crate engine probes; a plan struct is what it builds" +)] pub(crate) async fn read_merged( key: &StreamKey, epoch: &[u8; 16], @@ -112,13 +118,27 @@ pub(crate) struct ReadPage { /// (`src/dst.rs`). A second copy of this boundary logic would be a copy /// that can drift, and drift here means the oracle stops testing what /// production does. -#[allow(clippy::too_many_arguments)] /// Round-13 CODE-RED bisect: the repro's stream carries ONLY rk="" /// records, so keyed reads must be dense too — armed by the test. #[cfg(test)] pub(crate) static TEST_ASSERT_KEYED_DENSE: std::sync::atomic::AtomicBool = std::sync::atomic::AtomicBool::new(false); +#[expect( + clippy::too_many_lines, + reason = "execute_segment; the ring, history and tail legs of one segment read share the boundary the plan fixed; splitting them would separate the legs from the boundary that orders them" +)] +#[expect( + clippy::unwrap_used, + reason = "execute_segment; a poisoned stream state may hold a half-advanced durable frontier; recovering it could serve a page past a length never made durable" +)] +#[cfg_attr( + test, + expect( + clippy::excessive_nesting, + reason = "execute_segment; the keyed-dense audit nests the offset walk inside the test-armed check of the history leg; flattening it would separate the audit from the leg it inspects" + ) +)] async fn execute_segment(plan: ReadPlan<'_>) -> Result { let ReadPlan { key, @@ -327,6 +347,10 @@ pub(crate) struct ReadService { } impl ReadService { + #[expect( + clippy::too_many_arguments, + reason = "ReadService::new; the service is assembled from its registry, shard directory, peer, ownership and topology collaborators as bootstrap wires them; a builder would restate the service's own fields" + )] pub(crate) fn new( registry: Arc, shards: ShardDirectory, @@ -406,22 +430,20 @@ fn fork_chain_of(state: &ReadService, desc: &StreamDesc) -> ForkChainFuture { ) }); chain.push((cur, boundary, epoch)); - match parent { - None => break, - Some((src, src_ref, want_epoch)) => { - let d = match state_reg.get(&src_ref).await { - Ok(Some(d)) if !d.deleted => d, - _ => return Err(format!("fork source '{src}' is gone")), - }; - if !want_epoch.is_empty() && d.stream_epoch != want_epoch { - return Err(format!( - "fork source '{src}' is a different incarnation (expected {want_epoch}, found {})", - d.stream_epoch - )); - } - cur = d; - } + let Some((src, src_ref, want_epoch)) = parent else { + break; + }; + let d = match state_reg.get(&src_ref).await { + Ok(Some(d)) if !d.deleted => d, + _ => return Err(format!("fork source '{src}' is gone")), + }; + if !want_epoch.is_empty() && d.stream_epoch != want_epoch { + return Err(format!( + "fork source '{src}' is a different incarnation (expected {want_epoch}, found {})", + d.stream_epoch + )); } + cur = d; } Ok(chain) }) @@ -435,7 +457,10 @@ fn fork_chain_of(state: &ReadService, desc: &StreamDesc) -> ForkChainFuture { /// matching record: match-free scanned ranges and drained ancestors /// count as progress (follow-up review finding 6), so filtered /// callers never rescan a range the chain already proved empty. -#[allow(clippy::too_many_arguments)] +#[expect( + clippy::unwrap_used, + reason = "read_stitched; a poisoned stream state may hold a half-advanced durable frontier; recovering it could stitch a page past a length never made durable" +)] pub(crate) async fn read_stitched( state: &ReadService, desc: &StreamDesc, @@ -775,6 +800,10 @@ async fn decode_history_range( /// A tail page is accepted only after ruling out a concurrent durable trim. /// A retained dense durable-ring interval already proves what was inspected. /// Other filtered scans still need the remotely durable boundary/layout tuple. +#[expect( + clippy::too_many_arguments, + reason = "absorption_race; the race check takes the engine, hash, page, cursor, end and filter flag the read loop already holds; a context struct would exist only for this signature" +)] async fn absorption_race( engine: &Arc, hash: [u8; 16], @@ -833,6 +862,10 @@ async fn absorption_race( #[cfg(test)] mod o2_tests { use super::*; + #[expect( + clippy::cast_possible_truncation, + reason = "o2_batch_publishes_one_owner_only_after_authentication_and_admission; the fixture's offsets are counters below 256 that seed and check each payload byte; checked conversions would only restate the fixture's size" + )] #[test] fn o2_batch_publishes_one_owner_only_after_authentication_and_admission() { let key = crate::crypto::StreamKey([7; 32]); diff --git a/src/application/topology.rs b/src/application/topology.rs index eb5ce0b5..0aa06d83 100644 --- a/src/application/topology.rs +++ b/src/application/topology.rs @@ -410,6 +410,14 @@ pub(crate) async fn resume_fenced( resume_incarnation(st, sref, Some(epoch)).await } +#[expect( + clippy::expect_used, + reason = "resume_incarnation; the segment map was checked present before the split resumes; a second fallible read would add a branch no checked topology reaches" +)] +#[expect( + clippy::excessive_nesting, + reason = "resume_incarnation; the route salt loop nests the prefix comparison inside the resumed split's mutation closure; flattening it would separate the candidate route from the topology it must differ from" +)] async fn resume_incarnation( st: &TopologyService, sref: &crate::tenant::TenantStreamRef, @@ -552,6 +560,10 @@ async fn resume_incarnation( /// merged child on the low parent's route. Crash-resumable from the /// persisted pending intent; the seal-gap read semantics apply to both /// parents automatically (pending.segs names them). +#[expect( + clippy::expect_used, + reason = "resume_merge; the segment map was checked present before the merge resumes; a second fallible read would add a branch no checked topology reaches" +)] async fn resume_merge( st: &TopologyService, desc: &StreamDesc, diff --git a/src/audit.rs b/src/audit.rs index a802b6b3..0cb1bad9 100644 --- a/src/audit.rs +++ b/src/audit.rs @@ -116,6 +116,10 @@ impl AuditJournal { /// Observe a product-surface response on its way out. Enforce-mode /// denials (a `DenialTag` extension) journal; everything else is a /// no-op. Never blocks and never alters the response. +#[expect( + clippy::unwrap_used, + reason = "observe_denial; a poisoned audit queue may hold a half-pushed or half-drained event; recovering it could publish or drop an event twice" +)] pub(crate) fn observe_denial( state: &crate::http::AppState, route: &str, @@ -171,6 +175,14 @@ struct PendingAudit<'a> { body: Vec, } impl<'a> PendingAudit<'a> { + #[expect( + clippy::unwrap_used, + reason = "PendingAudit::take; a poisoned audit queue may hold a half-pushed or half-drained event; recovering it could publish or drop an event twice" + )] + #[expect( + clippy::expect_used, + reason = "PendingAudit::take; an oversized selection is only produced from a first queued event that overflowed the budget, so the queue holds it; a fallible pop would add a branch no oversized selection reaches" + )] fn take( queue: &'a Mutex>, dropped: &'a AtomicU64, @@ -210,6 +222,10 @@ impl<'a> PendingAudit<'a> { } } impl Drop for PendingAudit<'_> { + #[expect( + clippy::unwrap_used, + reason = "PendingAudit::drop; a poisoned audit queue may hold a half-pushed or half-drained event; recovering it could publish or drop an event twice" + )] fn drop(&mut self) { if self.events.is_empty() { return; diff --git a/src/auth_feed.rs b/src/auth_feed.rs index bab396c2..17ad6272 100644 --- a/src/auth_feed.rs +++ b/src/auth_feed.rs @@ -344,7 +344,15 @@ pub(crate) async fn refresh_once( /// are meaningful from the first request), then a fixed cadence. The /// cadence must be well inside `POLICY_STALENESS_MAX_SECS` or the cell /// oscillates into staleness refusals; boot enforces that. -pub fn spawn_refresher( +#[expect( + clippy::too_many_arguments, + reason = "spawn_refresher; the refresher takes the auth service, its three sources, the cadence and the supervisor as boot wires them; a bundle struct would exist only for this signature" +)] +#[expect( + clippy::let_underscore_must_use, + reason = "spawn_refresher; the supervisor rejects a spawn only while it is stopping, when no refresh is owed; a rejected refresher has nothing left to fetch" +)] +pub(crate) fn spawn_refresher( auth: Arc, keys: Box, policies: Box, @@ -444,6 +452,10 @@ mod tests { assert_eq!(report.finished(), vec!["auth-refresher"]); } + #[expect( + clippy::let_underscore_must_use, + reason = "refresh_once_publishes_from_files_and_survives_a_broken_one; the fixture removes its temporary directory on the way out; a failed removal leaves nothing the assertions depend on" + )] #[tokio::test] async fn refresh_once_publishes_from_files_and_survives_a_broken_one() { let dir = std::env::temp_dir().join(format!("mt-feed-{}", std::process::id())); diff --git a/src/bin/livebench.rs b/src/bin/livebench.rs index 7040f80f..05f96aec 100644 --- a/src/bin/livebench.rs +++ b/src/bin/livebench.rs @@ -164,6 +164,10 @@ fn legacy_wait_url_sig(sig_key: &[u8; 32], watch_key_hex: &str) -> String { clippy::cast_possible_truncation, reason = "main; tenant selection hashes a 64-bit transaction id on a 64-bit target; a checked conversion would only restate the pointer width the bench assumes" )] +#[expect( + clippy::excessive_nesting, + reason = "main; the bench nests each consumer's poll loop and each generator's publish loop inside the task it spawns for them; flattening them would separate the loops from the tasks whose lifetimes bound them" +)] async fn main() -> anyhow::Result<()> { let args = Args::parse(); let http = client(); diff --git a/src/bin/verify.rs b/src/bin/verify.rs index 003adcb4..c02413c7 100644 --- a/src/bin/verify.rs +++ b/src/bin/verify.rs @@ -156,8 +156,8 @@ async fn latency(args: &Args) -> anyhow::Result<()> { let _ = s.get(&key).await?.bytes().await?; get_ms.push(t.elapsed().as_secs_f64() * 1000.0); } - put_ms.sort_by(|a, b| a.partial_cmp(b).unwrap()); - get_ms.sort_by(|a, b| a.partial_cmp(b).unwrap()); + put_ms.sort_by(f64::total_cmp); + get_ms.sort_by(f64::total_cmp); println!( "10KiB PUT ms: min={:.0} p50={:.0} max={:.0}", put_ms[0], diff --git a/src/deployment.rs b/src/deployment.rs index 6435737f..ee3ffc0d 100644 --- a/src/deployment.rs +++ b/src/deployment.rs @@ -50,6 +50,10 @@ impl DeploymentIdentity { /// already be canonical (`canonical_name` ran at the route boundary); /// the checked construction keeps unvalidated bytes out of registry /// paths and identity hashes. + #[expect( + clippy::expect_used, + reason = "DeploymentIdentity::raw_adapter_sref; the raw adapters pass names they already validated as canonical; a fallible lookup would add a branch no adapter reaches" + )] // mt-lint: allow(name-param-shared-core): the raw adapters' ONE identity source — a canonical name becomes deployment-tenant identity here and nowhere else (SR-6) pub(crate) fn raw_adapter_sref(&self, canonical_name: &str) -> TenantStreamRef { TenantStreamRef::new( diff --git a/src/dst/fault_store.rs b/src/dst/fault_store.rs index 50c79400..14ff2128 100644 --- a/src/dst/fault_store.rs +++ b/src/dst/fault_store.rs @@ -122,7 +122,7 @@ fn mix(seed: u64, path: &str, op: u8, n: u64) -> u64 { let mut h: u64 = 0xcbf2_9ce4_8422_2325; for b in path.as_bytes() { h ^= *b as u64; - h = h.wrapping_mul(0x1000_0000_1b3); + h = h.wrapping_mul(0x100_0000_01b3); } let mut z = seed ^ h ^ ((op as u64) << 56) ^ n.wrapping_mul(0x9e37_79b9_7f4a_7c15); z = (z ^ (z >> 30)).wrapping_mul(0xbf58_476d_1ce4_e5b9); @@ -211,6 +211,10 @@ impl FaultState { /// Latency / hold / error decision, shared by every verb. /// `Ok(true)` means "perform it, then discard the response". + #[expect( + clippy::let_underscore_must_use, + reason = "FaultState::gate; the permit is the wait itself and is released the moment it is granted, so the gate paces operations without holding them; a bound permit would serialise the store" + )] async fn gate(&self, op: StoreOp, path: &str) -> OsResult { self.ops.fetch_add(1, Ordering::Relaxed); let class = ObjClass::of(path); @@ -430,6 +434,10 @@ impl ObjectStore for FaultStore { /// recovery walked an untouched store. Faults apply at two points a /// real listing can fail: before the first item, and mid-stream after /// partial results (truncation with a terminal error). + #[expect( + clippy::excessive_nesting, + reason = "FaultStore::list; the listing unfold nests the gate verdict inside the first-poll branch of the scripted stream; flattening it would separate the verdict from the poll it fails" + )] fn list( &self, prefix: Option<&ObjPath>, @@ -515,6 +523,10 @@ impl ObjectStore for FaultStore { /// zombie DB in ladder pass 3. Leaving the most dangerous verb /// unfaulted was a real gap. A faulted delete leaves the object in /// place, which is how garbage accumulates when GC cannot keep up. + #[expect( + clippy::excessive_nesting, + reason = "FaultStore::delete_stream; the delete unfold nests the one-item inner stream and the lost-response verdict inside each location's step; flattening them would separate the verdict from the delete it may lose" + )] fn delete_stream( &self, locations: futures_util::stream::BoxStream<'static, OsResult>, diff --git a/src/dst/review_readiness.rs b/src/dst/review_readiness.rs index 2816e151..4ff8bc16 100644 --- a/src/dst/review_readiness.rs +++ b/src/dst/review_readiness.rs @@ -7,6 +7,10 @@ use super::fixture_storage::mem; use crate::tasks::{Policy, TaskResult}; use std::time::Duration; +#[expect( + clippy::excessive_nesting, + reason = "readiness_endpoint_refuses_each_permanent_critical_exit; the fixture nests the unready wait inside the timeout that bounds it inside the test; flattening it would separate the wait from the bound it must respect" +)] #[tokio::test] async fn readiness_endpoint_refuses_each_permanent_critical_exit() { for outcome in 0..3 { diff --git a/src/dst/review_security.rs b/src/dst/review_security.rs index 8603681b..99c29f09 100644 --- a/src/dst/review_security.rs +++ b/src/dst/review_security.rs @@ -147,6 +147,10 @@ async fn r15_bodyless_and_unauthorized_requests_never_poll_the_body() { engine_shutdown(&rig.state).await; } +#[expect( + clippy::excessive_nesting, + reason = "r16_unauthorized_watch_shapes_are_independent_of_existence; the fixture nests the deleted-versus-initializing stamp inside its descriptor mutation and the query sweep inside the cursor and key sweeps; flattening them would separate each shape from the descriptor and the shapes it is compared against" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 2)] async fn r16_unauthorized_watch_shapes_are_independent_of_existence() { use axum::http::{Method, StatusCode}; diff --git a/src/dst/runtime.rs b/src/dst/runtime.rs index 12e6401b..3a32fba7 100644 --- a/src/dst/runtime.rs +++ b/src/dst/runtime.rs @@ -60,6 +60,10 @@ impl OpLog { /// Audit what a reader actually drained. `observed` is per routing key, /// in read order. + #[expect( + clippy::excessive_nesting, + reason = "OpLog::audit; the audit nests each key's acknowledged-but-unreadable and out-of-order checks inside the per-key walk; flattening them would separate the verdicts from the key they judge" + )] pub(crate) fn audit(&self, observed: &HashMap>) -> Result<(), String> { // The ledger must be self-consistent, or a harness bug could // silently weaken every check below. @@ -330,11 +334,8 @@ impl Workload { self.coverage.hit(mech::APPEND_REJECTED); Outcome::Rejected } - Ok(Err(AppendErr::Moved | AppendErr::Closed { .. } | AppendErr::Internal(_))) => { - self.coverage.hit(mech::APPEND_UNKNOWN); - Outcome::Unknown - } - Err(_) => { + Ok(Err(AppendErr::Moved | AppendErr::Closed { .. } | AppendErr::Internal(_))) + | Err(_) => { self.coverage.hit(mech::APPEND_UNKNOWN); Outcome::Unknown } @@ -376,6 +377,10 @@ impl Workload { clippy::too_many_arguments, reason = "Workload::append_to; the DST workload takes the engine, stream, key, payload and fault knobs separately as each scenario states them; a request struct would hide which knob a scenario varies" )] + #[expect( + clippy::excessive_nesting, + reason = "Workload::append_to; the append log nests the duplicate mark inside the acknowledged arm of the outcome match inside the attempt loop; flattening it would separate the mark from the acknowledgement it qualifies" + )] pub(crate) async fn append_to( &mut self, engines: &[&Arc], diff --git a/src/dst/tests/billing_maintenance.rs b/src/dst/tests/billing_maintenance.rs index f5a16201..0d1c2b29 100644 --- a/src/dst/tests/billing_maintenance.rs +++ b/src/dst/tests/billing_maintenance.rs @@ -10,6 +10,10 @@ use std::sync::Arc; /// A stream whose TTL lapsed has a dead descriptor and a live gauge; /// the drain-time reconciler resubmits the closure until the gauge /// zeroes, and journals the lifecycle observation. +#[expect( + clippy::let_underscore_must_use, + reason = "expiry_closes_the_storage_gauge; the fixture drains billing debt until the gauge closes, and each pass's own result is irrelevant to the closure it polls for; a handled result would only restate the poll" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn expiry_closes_the_storage_gauge() { let store = mem(); diff --git a/src/dst/tests/consumer_generations.rs b/src/dst/tests/consumer_generations.rs index 774bee5e..95511fe7 100644 --- a/src/dst/tests/consumer_generations.rs +++ b/src/dst/tests/consumer_generations.rs @@ -511,6 +511,10 @@ async fn a_parked_saga_never_touches_a_recreated_stream() { clippy::too_many_lines, reason = "bounded cleanup scenario; seeding dead-generation residue at scale, draining it in bounded steps and checking the live generation form one causal sequence; helper phases would hide which step touched the live rows" )] +#[expect( + clippy::cast_possible_truncation, + reason = "a_bounded_cleanup_drains_residue_without_touching_the_live_generation; the fixture's row counts and budgets are small whole numbers it chose; checked conversions would only restate the fixture" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn a_bounded_cleanup_drains_residue_without_touching_the_live_generation() { let store = mem(); diff --git a/src/dst/tests/consumer_product.rs b/src/dst/tests/consumer_product.rs index cd69b37e..614fe659 100644 --- a/src/dst/tests/consumer_product.rs +++ b/src/dst/tests/consumer_product.rs @@ -411,6 +411,10 @@ async fn product_consumer_dlq_flow() { clippy::too_many_lines, reason = "lineage consumption scenario; consuming the sealed predecessor's backlog, splitting and continuing on the children form one causal sequence; helper phases would hide which lineage step delivered or settled out of order" )] +#[expect( + clippy::excessive_nesting, + reason = "product_consumer_drains_lineage_across_split; the fixture nests the drained verdict inside the empty-page branch of its pull loop; flattening it would separate the verdict from the page that proves it" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn product_consumer_drains_lineage_across_split() { let _l = gap_lock().lock().await; diff --git a/src/dst/tests/fault_substrate.rs b/src/dst/tests/fault_substrate.rs index a2337fd7..095a3330 100644 --- a/src/dst/tests/fault_substrate.rs +++ b/src/dst/tests/fault_substrate.rs @@ -51,6 +51,10 @@ async fn fault_placement_is_a_pure_function_of_the_seed() { } /// A fault store that never injects proves nothing. +#[expect( + clippy::let_underscore_must_use, + reason = "faults_actually_fire; the fixture issues puts only to make the fault plan fire and counts the injections afterwards; each put's own outcome is the fault under test" +)] #[tokio::test] async fn faults_actually_fire() { let s = FaultStore::uniform(mem(), 7, FaultPlan::new(20, 20, 30)); @@ -138,6 +142,10 @@ async fn deletes_and_reads_are_faulted_too() { /// only increment when a response was *actually* discarded. Counting the /// decision at roll time (the previous behaviour) let a scenario satisfy /// `require(STORE_LOST_RESPONSE)` on a verb that ignored the decision. +#[expect( + clippy::let_underscore_must_use, + reason = "lost_response_counter_tracks_applied_behaviour_only; the fixture issues a multipart put only to prove the lost-response fault cannot apply to it; the put's outcome is not the claim" +)] #[tokio::test] async fn lost_response_counter_tracks_applied_behaviour_only() { let inner = mem(); diff --git a/src/dst/tests/fixture_http.rs b/src/dst/tests/fixture_http.rs index b247b3da..e5ee8943 100644 --- a/src/dst/tests/fixture_http.rs +++ b/src/dst/tests/fixture_http.rs @@ -241,6 +241,14 @@ pub(super) async fn http_rig_with_auth_service( /// directory lifecycle (a fenced or failed engine evicts itself and arms /// the anti-flap holdoff) instead of a rig-only shape with no close /// callback at all. +#[expect( + clippy::too_many_arguments, + reason = "rig_opener; the rig opener takes the store, keys, shard config, park, absorber config and close notifier the rig assembles separately; a rig struct would restate the rig itself" +)] +#[expect( + clippy::excessive_nesting, + reason = "rig_opener; the opener nests the close callback inside the engine construction it must outlive; flattening it would separate the callback from the incarnation it reports" +)] pub(super) fn rig_opener( store: Arc, keys: Arc, @@ -350,6 +358,10 @@ fn fixture_config( clippy::too_many_lines, reason = "HTTP rig builder; every runtime owner is wired in one place so the fixture's dependency order stays visible to scenario authors; pass-through steps would hide which owner a scenario option changed" )] +#[expect( + clippy::let_underscore_must_use, + reason = "http_rig_build; the supervisor rejects a spawn only while it is stopping, when the rig is being torn down; a rejected rig task has nothing left to serve" +)] pub(super) async fn http_rig_build( store: Arc, runtime: RigRuntime, diff --git a/src/dst/tests/fixture_storage.rs b/src/dst/tests/fixture_storage.rs index a3c2b446..d51d0eb1 100644 --- a/src/dst/tests/fixture_storage.rs +++ b/src/dst/tests/fixture_storage.rs @@ -147,6 +147,10 @@ pub(super) async fn open_engine_with_absorber_layout( /// Drain the merged reader WITH a key filter (drain_observed hardcodes /// unfiltered reads): paginate read_merged and collect attempt ids. +#[expect( + clippy::cast_possible_truncation, + reason = "drain_filtered; the fixture's attempt numbers are small counters it wrote itself; a checked conversion would only restate the fixture" +)] pub(super) async fn drain_filtered( engine: &Arc, hash: [u8; 16], diff --git a/src/dst/tests/fleet_controller.rs b/src/dst/tests/fleet_controller.rs index e928b4ae..0c60eada 100644 --- a/src/dst/tests/fleet_controller.rs +++ b/src/dst/tests/fleet_controller.rs @@ -23,6 +23,10 @@ impl std::fmt::Display for HeldDocument { } } impl HeldDocument { + #[expect( + clippy::let_underscore_must_use, + reason = "HeldDocument::enter; the permit is the park itself and is released the moment the test grants it; a held permit would keep the document entered after the test released it" + )] async fn enter(&self, path: &Path, write: bool) { if path.as_ref() == self.path && write == self.write { self.entered.fetch_add(1, Ordering::SeqCst); @@ -89,6 +93,10 @@ impl ObjectStore for HeldDocument { clippy::too_many_lines, reason = "fleet cancellation scenario; entering documents, cancelling under partial authority and checking the retained retry form one causal sequence; helper phases would hide which document lost its retry" )] +#[expect( + clippy::excessive_nesting, + reason = "r09_fleet_cancels_entered_documents_without_partial_authority_or_lost_retry; the fixture nests the entered wait and the desired-state poll inside the timeouts that bound them; flattening them would separate the waits from the bounds they must respect" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn r09_fleet_cancels_entered_documents_without_partial_authority_or_lost_retry() { for (path, write) in [ diff --git a/src/dst/tests/fork_lifecycle.rs b/src/dst/tests/fork_lifecycle.rs index 867777fb..1be50671 100644 --- a/src/dst/tests/fork_lifecycle.rs +++ b/src/dst/tests/fork_lifecycle.rs @@ -807,6 +807,10 @@ async fn fork_lifecycle_is_idempotent_and_epoch_checked() { clippy::disallowed_methods, reason = "unknown child fixture; the parked creation is released and joined before the source reference is checked; it must park concurrently in its unknown state" )] +#[expect( + clippy::excessive_nesting, + reason = "r05_unknown_child_state_preserves_its_source_reference; the fixture nests the park wait inside its timeout and the child's descriptor stamp inside its mutation; flattening them would separate the wait from its bound and the stamp from the descriptor it alters" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn r05_unknown_child_state_preserves_its_source_reference() { let _serial = gap_lock().lock().await; diff --git a/src/dst/tests/lifecycle_creation.rs b/src/dst/tests/lifecycle_creation.rs index a3349346..7404b96e 100644 --- a/src/dst/tests/lifecycle_creation.rs +++ b/src/dst/tests/lifecycle_creation.rs @@ -70,6 +70,10 @@ async fn a_stale_initialization_never_becomes_visible() { /// body under a different key completed the creation with a key the /// descriptor's own fingerprint does not match — a stream that cannot /// decrypt its first record. +#[expect( + clippy::excessive_nesting, + reason = "an_initialization_cannot_be_resumed_with_another_key; the fixture nests the planted init claim inside the descriptor mutation inside the planting closure; flattening it would separate the claim from the descriptor it is planted on" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn an_initialization_cannot_be_resumed_with_another_key() { const OTHER_KEY: &str = "CQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQk="; diff --git a/src/dst/tests/livefeed_history.rs b/src/dst/tests/livefeed_history.rs index 2c8aaeae..fdfabbfc 100644 --- a/src/dst/tests/livefeed_history.rs +++ b/src/dst/tests/livefeed_history.rs @@ -78,6 +78,10 @@ async fn fork_materialized_partial_respects_the_record_ceiling() { clippy::too_many_lines, reason = "remote lineage scenario; two instances, the child's owner and the whole-lineage stream form one causal sequence; helper phases would hide which owner served the sealed predecessor" )] +#[expect( + clippy::excessive_nesting, + reason = "livefeed_remote_sealed_predecessor_streams_through_owner; the fixture nests the per-prefix owner choice inside the override loop of its two-instance layout; flattening it would separate the choice from the prefix it assigns" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn livefeed_remote_sealed_predecessor_streams_through_owner() { let store = mem(); @@ -204,9 +208,7 @@ async fn livefeed_remote_sealed_predecessor_streams_through_owner() { 0, "the feed tears down at zero" ); - state_b - .peer - .set_peer("inst-a", &"http://127.0.0.1:9".to_string()); + state_b.peer.set_peer("inst-a", "http://127.0.0.1:9"); let mut down = lf_connect(addr_b, "xown", "?cursor=beginning").await; let (held, eof3) = hub_sse_collect(&mut down, 2, |_| false).await; assert!(!eof3, "a peer outage is a stall, not a disconnect:\n{held}"); diff --git a/src/dst/tests/livefeed_swap.rs b/src/dst/tests/livefeed_swap.rs index f9501555..db86dbb3 100644 --- a/src/dst/tests/livefeed_swap.rs +++ b/src/dst/tests/livefeed_swap.rs @@ -384,6 +384,10 @@ async fn livefeed_split_cursor_decodes_to_segment_local_and_resumes() { /// Round-4 blocker 2 (red): TWO shared subscribers, one swap — both /// receive the successor record exactly once, and both head cursors /// decode to the successor's segment-local position. +#[expect( + clippy::excessive_nesting, + reason = "livefeed_split_shared_subscribers_swap_once_deliver_twice; the fixture nests the frame rendering inside the read of each split child inside the subscriber check; flattening it would separate the rendering from the child it renders" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn livefeed_split_shared_subscribers_swap_once_deliver_twice() { let store = mem(); diff --git a/src/dst/tests/persistence_faults.rs b/src/dst/tests/persistence_faults.rs index ac0a69d9..799f8e2b 100644 --- a/src/dst/tests/persistence_faults.rs +++ b/src/dst/tests/persistence_faults.rs @@ -355,6 +355,10 @@ fn delivered_records(complete: &str) -> Vec { clippy::too_many_lines, reason = "cut-resume scenario; two resuming subscribers, a swinging absorb boundary, the serial appends and the exact per-subscriber reconciliation form one causal sequence; helper phases would hide which reconnect skipped a durable record" )] +#[expect( + clippy::excessive_nesting, + reason = "cut_resume_never_skips_a_durable_record; the fixture nests the gap diagnostics inside the per-subscriber failure report; flattening them would separate the context lines from the gap they explain" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 8)] async fn cut_resume_never_skips_a_durable_record() { let _l = gap_lock().lock().await; // shared failpoint schedule diff --git a/src/dst/tests/quota_enforcement.rs b/src/dst/tests/quota_enforcement.rs index a8dc7b6f..9ba49361 100644 --- a/src/dst/tests/quota_enforcement.rs +++ b/src/dst/tests/quota_enforcement.rs @@ -810,6 +810,10 @@ async fn catalog_failure_fails_the_stream_seed_closed() { /// Observed through the quota registry on the deployment tenant: the /// probe reservation at a cap of 1 succeeds only if BOTH the fork's /// own delete and the cascaded source tombstone released. +#[expect( + clippy::let_underscore_must_use, + reason = "fork_cascade_hard_delete_releases_the_stream_slot; the fixture admits once only to seed the project's tracked slot; the guard it returns is dropped on purpose so the seed occupies nothing" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn fork_cascade_hard_delete_releases_the_stream_slot() { let (state, addr) = http_rig(mem()).await; diff --git a/src/dst/tests/reads_history.rs b/src/dst/tests/reads_history.rs index 2af77d48..f66c35b4 100644 --- a/src/dst/tests/reads_history.rs +++ b/src/dst/tests/reads_history.rs @@ -49,6 +49,10 @@ async fn the_first_advance_seals_the_history_layout() { __maint, ); + #[expect( + clippy::excessive_nesting, + reason = "wait_absorbed; the fixture nests the absorbed-frontier read and its verdict inside the poll loop; flattening them would separate the verdict from the frontier it reads" + )] async fn wait_absorbed( engine: &Arc, hash: [u8; 16], diff --git a/src/dst/tests/reads_ring.rs b/src/dst/tests/reads_ring.rs index 29828a3a..e51b25d1 100644 --- a/src/dst/tests/reads_ring.rs +++ b/src/dst/tests/reads_ring.rs @@ -34,6 +34,10 @@ fn window(from: u64, to: u64, max_bytes: usize) -> crate::shard::RingScan { clippy::disallowed_methods, reason = "ring ordering fixture; the appender is joined before the delivered offsets are compared; it must append concurrently with the parked waiter" )] +#[expect( + clippy::cast_possible_truncation, + reason = "ring_ordering_paging_and_duplicates_at_offset_level; the fixture's frame counts are small offsets it published itself; a checked conversion would only restate the fixture" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn ring_ordering_paging_and_duplicates_at_offset_level() { let inner = mem(); @@ -288,6 +292,10 @@ async fn tail_ring_matches_the_db_scan_and_restarts_cold() { /// `read_merged`, is the 2026-07-27 boundary-race DST failure: records /// vanished from a `completed = true` page at exactly the sampled /// absorbed boundary. +#[expect( + clippy::excessive_nesting, + reason = "a_duplicate_absorbed_op_does_not_advance_the_trim; the fixture nests the absorbed poll inside the wait closure it builds per engine; flattening it would separate the poll from the engine it watches" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn a_duplicate_absorbed_op_does_not_advance_the_trim() { let inner = mem(); diff --git a/src/dst/tests/request_topology_debt.rs b/src/dst/tests/request_topology_debt.rs index 40fec0a1..fb3eecd3 100644 --- a/src/dst/tests/request_topology_debt.rs +++ b/src/dst/tests/request_topology_debt.rs @@ -10,6 +10,10 @@ use std::{sync::atomic::Ordering, time::Duration}; clippy::too_many_lines, reason = "topology debt scenario; cancelling the job, measuring the exact debt and opening a fresh read owner form one causal sequence; helper phases would hide which owner inherited the debt" )] +#[expect( + clippy::excessive_nesting, + reason = "r09a_cancelled_topology_job_leaves_exact_debt_for_a_fresh_read_owner; the fixture nests the settled-topology verdict inside the descriptor poll loop; flattening it would separate the verdict from the descriptor it reads" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn r09a_cancelled_topology_job_leaves_exact_debt_for_a_fresh_read_owner() { let store = FaultStore::new(mem(), 911, FaultProfile::clean()); diff --git a/src/dst/tests/runtime_engine_lifecycle.rs b/src/dst/tests/runtime_engine_lifecycle.rs index 85bd7543..bc1f4676 100644 --- a/src/dst/tests/runtime_engine_lifecycle.rs +++ b/src/dst/tests/runtime_engine_lifecycle.rs @@ -49,6 +49,10 @@ async fn ready_rig() -> super::fixture_http::HttpRig { rig } +#[expect( + clippy::excessive_nesting, + reason = "r17a_each_required_engine_exit_changes_real_health_and_readyz; the fixture nests the exit wait inside the timeout that bounds it inside the test; flattening it would separate the wait from the bound it must respect" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn r17a_each_required_engine_exit_changes_real_health_and_readyz() { let independent = ready_rig().await; diff --git a/src/dst/tests/runtime_open_gate.rs b/src/dst/tests/runtime_open_gate.rs index b86f943e..f2d0affd 100644 --- a/src/dst/tests/runtime_open_gate.rs +++ b/src/dst/tests/runtime_open_gate.rs @@ -55,6 +55,10 @@ async fn seed_untrimmed_wal(store: Arc, prefix: &str, records: clippy::disallowed_methods, reason = "reopen storm reproduction; the detached open is the defect being reproduced and its abandonment is counted through the fenced opens and the empty serving map; owning the open would remove the storm the scenario exists to reproduce" )] +#[expect( + clippy::let_underscore_must_use, + reason = "naive_get_or_open; the fixture's opener hands the engine to whichever client still waits, and a send with no receiver means that client already timed out; that disconnect is the storm under test" +)] async fn naive_get_or_open( lock: &tokio::sync::Mutex<()>, shards: &std::sync::RwLock>>, @@ -133,6 +137,10 @@ async fn naive_get_or_open( /// storm's signature from docs/SOAK-REGIONS.md, scaled down: WAL read /// amplification ≥ 3× the WAL itself, multiple writers opened and fenced, /// and — the wedge — the serving map STILL empty when the dust settles. +#[expect( + clippy::let_underscore_must_use, + reason = "reopen_storm_reproduces_the_eu_central_wedge; the fixture drops each client's future at its timeout on purpose, exactly as the handler does; the outcome it discards is the disconnect under test" +)] #[tokio::test(flavor = "current_thread", start_paused = true)] async fn reopen_storm_reproduces_the_eu_central_wedge() { let inner = mem(); @@ -334,12 +342,10 @@ async fn idle_engine_store_traffic_is_bounded_by_the_poll_cadence() { manifest_poll_interval: std::time::Duration::from_millis( crate::DEFAULT_MANIFEST_POLL_MS, ), - compactor_options: { - let mut co = slatedb::config::CompactorOptions::default(); - co.poll_interval = - std::time::Duration::from_millis(crate::DEFAULT_COMPACTOR_POLL_MS); - Some(co) - }, + compactor_options: Some(slatedb::config::CompactorOptions { + poll_interval: std::time::Duration::from_millis(crate::DEFAULT_COMPACTOR_POLL_MS), + ..Default::default() + }), ..Default::default() }) .build() @@ -514,6 +520,10 @@ async fn health_reports_unready_when_no_shard_has_ever_opened() { /// An engine that keeps dying young must meet an escalating holdoff, not /// an eager reopen: rapid open→die cycles against a sick store ARE the /// storm, whatever kills the engine. +#[expect( + clippy::excessive_nesting, + reason = "open_gate_escalates_holdoff_for_engines_that_die_young; the fixture nests the retry sleep inside the wait arm of its open loop; flattening it would separate the sleep from the holdoff it honours" +)] #[tokio::test(flavor = "current_thread", start_paused = true)] async fn open_gate_escalates_holdoff_for_engines_that_die_young() { use crate::sharddir::{OpenGate, OpenOutcome}; @@ -584,6 +594,10 @@ async fn open_gate_escalates_holdoff_for_engines_that_die_young() { /// eu-central-1 with an open looping in slatedb compactions recovery for /// 20+ minutes. One open, 648 coalesced waiters, zero storm — and an /// unavailable shard with no path back. +#[expect( + clippy::let_underscore_must_use, + reason = "a_hung_open_is_deadlined_and_its_late_engine_reaped; the permit is the park itself and is released the moment the test grants it; a held permit would keep the opener parked after release" +)] #[tokio::test(flavor = "current_thread", start_paused = true)] async fn a_hung_open_is_deadlined_and_its_late_engine_reaped() { use crate::sharddir::{OpenGate, OpenOutcome}; diff --git a/src/dst/tests/runtime_sweep.rs b/src/dst/tests/runtime_sweep.rs index c470258b..b95d5581 100644 --- a/src/dst/tests/runtime_sweep.rs +++ b/src/dst/tests/runtime_sweep.rs @@ -8,6 +8,10 @@ use std::sync::Arc; /// Drain billing debt until the sweep's own probes read clean, so the /// retention decision under test is the MAINTENANCE one. +#[expect( + clippy::let_underscore_must_use, + reason = "drain_billing_clean; the fixture drains billing debt until its own probes read clean; each pass's result is irrelevant to the cleanliness it polls for" +)] async fn drain_billing_clean(state: &Arc, prefixes: &[&str]) { for _ in 0..200 { let _ = crate::billing::drain_once(state).await; @@ -690,6 +694,10 @@ async fn tombstone_walk_peak_residency_stays_under_the_budget() { clippy::too_many_lines, reason = "walk fairness scenario; two shards' pinned debt, the occupied budget and the alternating walk form one causal sequence; helper phases would hide which shard the walk starved" )] +#[expect( + clippy::excessive_nesting, + reason = "tombstone_walk_fairness_under_occupied_budget; the fixture nests the pin request inside the first-seen check of the shard walk; flattening it would separate the pin from the shard it occupies" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn tombstone_walk_fairness_under_occupied_budget() { let _serial = sweep_lock().lock().await; @@ -815,7 +823,10 @@ async fn tombstone_walk_fairness_under_occupied_budget() { ); } -#[allow(non_snake_case)] +#[allow( + non_snake_case, + reason = "WALK_CLOSE_SUBMITS_SNAPSHOT; the snapshot is spelled as the constant it stands in for so the assertion reads as the invariant it pins; a snake-case name would hide that it is a fixed value" +)] fn WALK_CLOSE_SUBMITS_SNAPSHOT() -> u64 { crate::billing::WALK_CLOSE_SUBMITS.load(std::sync::atomic::Ordering::Relaxed) } diff --git a/src/dst/tests/security_freshness.rs b/src/dst/tests/security_freshness.rs index f2b2b1b5..9cf819bb 100644 --- a/src/dst/tests/security_freshness.rs +++ b/src/dst/tests/security_freshness.rs @@ -56,6 +56,10 @@ impl LeaseRig { fn revoked(&mut self) -> bool { self.watch.revoked_with_clock(&self.state, &self.clock) } + #[expect( + clippy::fn_params_excessive_bools, + reason = "LeaseRig::publish; the fixture publishes the policy and the grants as two independent switches the scenarios toggle separately; an enum would restate two booleans" + )] fn publish(&mut self, policy: bool, grants: bool) { self.version += 1; if policy { diff --git a/src/dst/tests/security_isolation.rs b/src/dst/tests/security_isolation.rs index 5f7ad164..6d24ecb4 100644 --- a/src/dst/tests/security_isolation.rs +++ b/src/dst/tests/security_isolation.rs @@ -232,6 +232,10 @@ async fn one_cell_serves_two_projects_with_full_isolation() { clippy::disallowed_methods, reason = "noisy-neighbor fixture; the hostile and compliant campaigns are joined together before their outcomes are compared; they must run concurrently to contend on one cell" )] +#[expect( + clippy::excessive_nesting, + reason = "noisy_neighbor_cannot_degrade_a_compliant_project; the fixture nests each tenant's request loop inside the task that runs it concurrently with the other tenant; flattening them would separate the loops from the concurrency under test" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn noisy_neighbor_cannot_degrade_a_compliant_project() { const PRIV: &str = include_str!("../fixtures/mt-test-rsa.pem"); diff --git a/src/dst/tests/sse_delivery.rs b/src/dst/tests/sse_delivery.rs index 67068c48..2b037701 100644 --- a/src/dst/tests/sse_delivery.rs +++ b/src/dst/tests/sse_delivery.rs @@ -37,6 +37,10 @@ async fn sse_send_disconnects_a_stalled_subscriber() { clippy::too_many_lines, reason = "lineage delivery scenario; subscribing from offset zero, splitting and receiving every pre-split and post-split record form one causal sequence; helper phases would hide which record the subscriber skipped" )] +#[expect( + clippy::excessive_nesting, + reason = "sse_follows_lineage_across_split; the fixture nests the line scan inside the chunk scan of each read; flattening it would separate the control frames from the chunk that carries them" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn sse_follows_lineage_across_split() { use tokio::io::{AsyncReadExt, AsyncWriteExt}; @@ -168,6 +172,10 @@ async fn sse_follows_lineage_across_split() { clippy::too_many_lines, reason = "signed control scenario; the product control frames, their signed key cursors and the resumed subscription form one causal sequence; helper phases would hide which frame carried a raw cursor" )] +#[expect( + clippy::excessive_nesting, + reason = "product_sse_controls_carry_signed_cursors; the fixture nests the line scan inside the chunk scan of each read; flattening it would separate the control frames from the chunk that carries them" +)] #[tokio::test(flavor = "multi_thread", worker_threads = 4)] async fn product_sse_controls_carry_signed_cursors() { use tokio::io::{AsyncReadExt, AsyncWriteExt}; diff --git a/src/dst/trace_store.rs b/src/dst/trace_store.rs index 75cbc535..c615f0aa 100644 --- a/src/dst/trace_store.rs +++ b/src/dst/trace_store.rs @@ -182,7 +182,10 @@ struct TraceState { } impl TraceState { - #[allow(clippy::too_many_arguments)] + #[expect( + clippy::too_many_arguments, + reason = "TraceState::event; an event row takes the sequence, kind, operation, path, size, outcome, hash and detail as the tracer observed them; a row struct is what it builds" + )] fn event( &self, seq: u64, @@ -217,6 +220,10 @@ impl TraceState { /// abandoned by async cancellation between dispatch and completion, /// leaving a permanent Pending event and a stuck active entry that /// made `reset()` refuse forever). + #[expect( + clippy::too_many_arguments, + reason = "TraceState::begin_operation; an operation opens with the kind, operation, path, size, hash and detail the store call carried; an operation struct is the event it records" + )] fn begin_operation( self: &Arc, op: StoreOp, @@ -225,7 +232,7 @@ impl TraceState { content_hash: Option, detail: Option, ) -> TraceOperation { - let ev = |seq| { + let ev = move |seq| { self.event( seq, TraceEventKind::Operation, @@ -233,8 +240,8 @@ impl TraceState { path, bytes, TraceOutcome::Pending, - content_hash.clone(), - detail.clone(), + content_hash, + detail, ) }; let mut log = self.log.lock().unwrap(); @@ -270,6 +277,10 @@ impl TraceState { /// Push an already-resolved observation (delete-stream items are /// complete facts at the moment they pass through). + #[expect( + clippy::too_many_arguments, + reason = "TraceState::observe; an observation takes the kind, operation, path, detail and outcome as the tracer resolved them; an observation struct is the row it appends" + )] fn observe( &self, kind: TraceEventKind, @@ -420,7 +431,11 @@ impl TraceStore { /// Explicit knobs. `content_hashes` opts into retaining a 16-hex-char /// sha256 prefix of each put payload; payload bytes themselves are /// never retained either way. - pub fn with_options( + #[expect( + clippy::fn_params_excessive_bools, + reason = "TraceStore::with_options; redaction and content hashing are two independent retention switches the harness sets separately; an options enum would restate two booleans" + )] + pub(crate) fn with_options( inner: Arc, redact: bool, content_hashes: bool, @@ -631,6 +646,10 @@ impl ObjectStore for TraceStore { /// (PR 3.2): while it is alive — consuming inputs, producing /// outputs — `reset()` refuses; exhaustion or drop retires the /// lifetime exactly once. + #[expect( + clippy::excessive_nesting, + reason = "TraceStore::delete_stream; the traced unfold nests each result's observation inside the poll of the inner stream; flattening it would separate the observation from the result it records" + )] fn delete_stream( &self, locations: futures_util::stream::BoxStream<'static, OsResult>, diff --git a/src/dst/trace_store_tests/concurrency.rs b/src/dst/trace_store_tests/concurrency.rs index 05511b75..33570b35 100644 --- a/src/dst/trace_store_tests/concurrency.rs +++ b/src/dst/trace_store_tests/concurrency.rs @@ -14,6 +14,10 @@ use std::sync::Arc; /// lock) this interleaving could push events out of id order, /// completions then found the wrong slot, both events stayed /// Pending, and `reset()` panicked forever. +#[expect( + clippy::excessive_nesting, + reason = "concurrent_begins_with_reverse_finishes_resolve_every_event_exactly_once; the fixture nests each contender's begin inside the scoped thread it spawns inside the barrier scope; flattening it would separate the contention from the threads that stage it" +)] #[test] fn concurrent_begins_with_reverse_finishes_resolve_every_event_exactly_once() { let s = TraceStore::verbatim(Arc::new(object_store::memory::InMemory::new())); @@ -66,6 +70,10 @@ fn concurrent_begins_with_reverse_finishes_resolve_every_event_exactly_once() { /// observes the active lifetime and refuses. After joining, nothing /// is active and nothing is Pending — deterministically, in every /// round. +#[expect( + clippy::let_underscore_must_use, + reason = "reset_racing_with_begin_cannot_orphan_an_operation; a refused reset is a legal outcome of the race the fixture stages; the assertions that follow check the invariants a refusal must still keep" +)] #[test] fn reset_racing_with_begin_cannot_orphan_an_operation() { let s = TraceStore::verbatim(Arc::new(object_store::memory::InMemory::new())); diff --git a/src/dst/trace_store_tests/mod.rs b/src/dst/trace_store_tests/mod.rs index 63125256..5bb04e44 100644 --- a/src/dst/trace_store_tests/mod.rs +++ b/src/dst/trace_store_tests/mod.rs @@ -75,6 +75,10 @@ impl ObjectStore for DeleteSpy { async fn copy_opts(&self, from: &ObjPath, to: &ObjPath, opts: CopyOptions) -> OsResult<()> { self.inner.copy_opts(from, to, opts).await } + #[expect( + clippy::excessive_nesting, + reason = "DeleteSpy::delete_stream; the scripted delete nests the consumed count inside the location match inside its unfold loop; flattening it would separate the count from the location it consumes" + )] fn delete_stream( &self, locations: futures_util::stream::BoxStream<'static, OsResult>, diff --git a/src/dst/trace_store_tests/streams.rs b/src/dst/trace_store_tests/streams.rs index a98c6eaf..849fb48b 100644 --- a/src/dst/trace_store_tests/streams.rs +++ b/src/dst/trace_store_tests/streams.rs @@ -10,6 +10,10 @@ use object_store::{ObjectStore, PutOptions, PutPayload}; /// alternative is silent misattribution of the late completion. #[tokio::test] #[should_panic(expected = "while operations are active")] +#[expect( + clippy::disallowed_methods, + reason = "reset_refuses_while_in_flight; the fixture leaks the abandoned stream on purpose so its guard never runs and the operation stays in flight; dropping it would finish the very operation the refusal is about" +)] async fn reset_refuses_while_in_flight() { use futures_util::StreamExt; let s = TraceStore::new(mem()); diff --git a/src/failpoints.rs b/src/failpoints.rs index 494daf65..2fe13215 100644 --- a/src/failpoints.rs +++ b/src/failpoints.rs @@ -102,7 +102,11 @@ impl Fp { /// The site contract: WHERE the point fires, stated as the /// window it opens. This is the enumerable registry the DST /// program audits against. - pub fn site(self) -> &'static str { + #[expect( + clippy::too_many_lines, + reason = "Fp::site; the site registry states every failpoint's window in the one match the DST program audits; splitting it would separate the sites from the registry that enumerates them" + )] + pub(crate) fn site(self) -> &'static str { match self { Fp::StopAfterTombstone => { "delete cascade: after the named generation is tombstoned \ @@ -233,9 +237,11 @@ fn active(fp: Fp) -> bool { ACTIVE[fp.idx()].load(std::sync::atomic::Ordering::Acquire) > 0 } -fn reg() -> &'static Mutex> { - static M: std::sync::OnceLock>> = - std::sync::OnceLock::new(); +/// Every armed point, keyed by point and stream name. +type Registry = Mutex>; + +fn reg() -> &'static Registry { + static M: std::sync::OnceLock = std::sync::OnceLock::new(); M.get_or_init(|| Mutex::new(HashMap::new())) } diff --git a/src/history/canonical_span.rs b/src/history/canonical_span.rs index df867e90..014b9638 100644 --- a/src/history/canonical_span.rs +++ b/src/history/canonical_span.rs @@ -25,7 +25,10 @@ impl ResultPage { true } } -#[allow(clippy::too_many_arguments)] +#[expect( + clippy::too_many_arguments, + reason = "read; the canonical span read takes the partition, route, incarnation, range, filter, budget and sink the gather planned separately; a request struct would restate the plan per span" +)] pub(super) async fn read( part: &Arc, route: RouteHash, diff --git a/src/history/controller_tests.rs b/src/history/controller_tests.rs index 2bf0cdf9..af569ba2 100644 --- a/src/history/controller_tests.rs +++ b/src/history/controller_tests.rs @@ -4,6 +4,14 @@ use crate::shard::{AppendFinish, AppendReq, ShardConfig}; use bytes::Bytes; use std::sync::atomic::Ordering; +#[expect( + clippy::too_many_lines, + reason = "active_absorber_cancel; the fixture stages the engine, the held store, the absorber and its cancellation in the order the scenario requires; splitting it would separate the stages from the cancellation they set up" +)] +#[expect( + clippy::let_underscore_must_use, + reason = "active_absorber_cancel; the fixture closes the database and partition on the way out; a failed close leaves nothing the assertions depend on" +)] async fn active_absorber_cancel(hold_store: bool) { let shard_store: Arc = Arc::new(object_store::memory::InMemory::new()); let data_store = FaultStore::uniform( diff --git a/src/history/postings_validation_tests.rs b/src/history/postings_validation_tests.rs index 26f223c0..8b4441c5 100644 --- a/src/history/postings_validation_tests.rs +++ b/src/history/postings_validation_tests.rs @@ -160,6 +160,14 @@ async fn o4a_valid_page_seams_and_match_free_progress_remain_usable() { db.close().await.unwrap(); } +#[expect( + clippy::cast_possible_truncation, + reason = "raw_page; the fixture's run counts are small tables it wrote itself; a checked conversion would only restate the fixture" +)] +#[expect( + clippy::excessive_nesting, + reason = "raw_page; the fixture nests the varint continuation bit inside the per-field encoding loop of each run; flattening it would separate the bit from the field it continues" +)] fn raw_page(first: u64, end: u64, total: u64, runs: &[[u64; 4]]) -> Vec { let mut value = vec![1, 0]; value.extend_from_slice(&first.to_le_bytes()); diff --git a/src/history/worker.rs b/src/history/worker.rs index ac4eeb1e..9ad791d0 100644 --- a/src/history/worker.rs +++ b/src/history/worker.rs @@ -303,6 +303,10 @@ impl Absorber { } v2_lane } + #[expect( + clippy::excessive_nesting, + reason = "Absorber::gather_due; the outcome handling nests the per-stream bookkeeping inside the advanced, partial, no-work and failed arms of one gather; flattening it would separate the bookkeeping from the outcome that decides it" + )] async fn gather_due( &self, pending: &mut HashMap<[u8; 16], PendingAbsorb>, diff --git a/src/main.rs b/src/main.rs index 0cb49aab..5ce9cc0d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -8,6 +8,10 @@ #[global_allocator] static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc; +#[expect( + clippy::disallowed_methods, + reason = "main; the Tokio worker floor is process configuration read once before any runtime, supervisor or configuration owner exists; routing it through an owner would need the runtime it sizes" +)] fn main() -> anyhow::Result<()> { tracing_subscriber::fmt() .with_env_filter( diff --git a/src/mt_lint.rs b/src/mt_lint.rs index 703f2632..61a0c163 100644 --- a/src/mt_lint.rs +++ b/src/mt_lint.rs @@ -147,6 +147,10 @@ impl<'a> Lint<'a> { } } + #[expect( + clippy::excessive_nesting, + reason = "Lint::check_signature; the signature walk nests the type and name checks inside each typed input; flattening it would separate the checks from the input they classify" + )] fn check_signature(&mut self, line: usize, name: &str, sig: &syn::Signature) { let mut has_sref_param = false; let mut name_params: Vec<(String, String)> = Vec::new(); @@ -357,6 +361,10 @@ fn multitenancy_identity_lint() { // Recursive: new submodules are scanned the day they appear. // src/dst/ (harness + tests) and src/bin/ (single-tenant client // tools) stay out by directory. + #[expect( + clippy::excessive_nesting, + reason = "walk; the directory walk nests the excluded-tree check inside the directory branch; flattening it would separate the exclusion from the directory it prunes" + )] fn walk(root: &std::path::Path, dir: &std::path::Path, out: &mut Vec) { for e in std::fs::read_dir(dir).unwrap().filter_map(|e| e.ok()) { let p = e.path(); diff --git a/src/offsets.rs b/src/offsets.rs index d5676d62..ed44f622 100644 --- a/src/offsets.rs +++ b/src/offsets.rs @@ -71,7 +71,10 @@ fn decode_char(ch: char) -> Option { 'I' | 'i' | 'L' | 'l' => Some(1), _ => { let up = ch.to_ascii_uppercase() as u8; - ALPHABET.iter().position(|&a| a == up).map(|p| p as u8) + ALPHABET + .iter() + .position(|&a| a == up) + .and_then(|p| u8::try_from(p).ok()) } } } diff --git a/src/product_cursor.rs b/src/product_cursor.rs index 86eafa13..a84bbfc2 100644 --- a/src/product_cursor.rs +++ b/src/product_cursor.rs @@ -44,6 +44,10 @@ pub(crate) struct KeyCursor { /// stream key and epoch — a cursor minted for one project's stream /// can never authenticate against another project's same-named, /// same-keyed stream. +#[expect( + clippy::expect_used, + reason = "mac_key; HMAC-SHA256 accepts a key of any length, so construction from the derived key cannot fail; a fallible path would add a branch no key reaches" +)] fn mac_key(project: &crate::tenant::ProjectId, key: &StreamKey, epoch: &[u8; 16]) -> [u8; 32] { use hmac::{Hmac, Mac}; use sha2::Sha256; @@ -56,6 +60,10 @@ fn mac_key(project: &crate::tenant::ProjectId, key: &StreamKey, epoch: &[u8; 16] out } +#[expect( + clippy::expect_used, + reason = "mac16; HMAC-SHA256 accepts a key of any length, so construction from the derived key cannot fail; a fallible path would add a branch no key reaches" +)] fn mac16(k: &[u8; 32], payload: &[u8]) -> [u8; MAC_LEN] { use hmac::{Hmac, Mac}; use sha2::Sha256; @@ -129,7 +137,7 @@ impl CatalogCursor { let pb = self.project.as_str().as_bytes(); let mut p = Vec::with_capacity(1 + 2 + pb.len() + self.last_name.len() + MAC_LEN); p.push(KIND_CATALOG_V1); - p.extend_from_slice(&(pb.len() as u16).to_le_bytes()); + p.extend_from_slice(&u16::try_from(pb.len()).unwrap_or(u16::MAX).to_le_bytes()); p.extend_from_slice(pb); p.extend_from_slice(self.last_name.as_bytes()); if let Some(k) = key { @@ -146,7 +154,11 @@ impl ScanCursor { p.push(KIND_SCAN_V2); p.extend_from_slice(&self.epoch); p.extend_from_slice(&self.map_version.to_le_bytes()); - p.extend_from_slice(&(self.segments.len() as u32).to_le_bytes()); + p.extend_from_slice( + &u32::try_from(self.segments.len()) + .unwrap_or(u32::MAX) + .to_le_bytes(), + ); for (id, end) in &self.segments { p.extend_from_slice(&id.to_le_bytes()); p.extend_from_slice(&end.to_le_bytes()); diff --git a/src/project_policy.rs b/src/project_policy.rs index 2d692512..6ee67df8 100644 --- a/src/project_policy.rs +++ b/src/project_policy.rs @@ -13,7 +13,10 @@ //! Stage 5 wires the real snapshot/delta feed without touching the //! verification logic. -#![allow(dead_code)] // consumed across MT Stages 2b/4/5 as wiring lands +#![allow( + dead_code, + reason = "project_policy; the policy types are consumed across MT Stages 2b/4/5 as their wiring lands; removing them now would re-add each one with its stage" +)] use std::collections::HashMap; use std::sync::Arc; diff --git a/src/quota.rs b/src/quota.rs index a46b47a3..079db74c 100644 --- a/src/quota.rs +++ b/src/quota.rs @@ -518,6 +518,10 @@ impl QuotaRegistry { clippy::unwrap_used, reason = "QuotaRegistry::admit; a poisoned entry or project map may be partially updated; recovery could mint fresh request credit or orphan charged state" )] + #[expect( + clippy::excessive_nesting, + reason = "QuotaRegistry::admit; admission nests the idle eviction inside the untracked-project branch of the tracker lookup; flattening it would separate the eviction from the refusal it forestalls" + )] pub(crate) fn admit( &self, project: &ProjectId, @@ -623,7 +627,11 @@ impl QuotaRegistry { clippy::unwrap_used, reason = "QuotaRegistry::admit_append; either poisoned bucket or its project map may contain an incomplete charge; recovery could admit beyond a limit or charge only half a batch" )] - pub fn admit_append( + #[expect( + clippy::too_many_arguments, + reason = "QuotaRegistry::admit_append; append admission takes the project, its quotas, the payload size and the clock parts separately as the request resolved them; a request struct would exist only for this signature" + )] + pub(crate) fn admit_append( &self, project: &ProjectId, quotas: &ProjectQuotas, diff --git a/src/runtime.rs b/src/runtime.rs index 79b35ef7..e4854286 100644 --- a/src/runtime.rs +++ b/src/runtime.rs @@ -47,6 +47,10 @@ impl TrustedNow { pub(crate) struct MonotonicNow(Duration); impl MonotonicNow { + #[expect( + clippy::cast_possible_truncation, + reason = "MonotonicNow::millis; the millisecond count is clamped to i64::MAX before the cast; a checked conversion would only restate the clamp" + )] pub(crate) fn millis(self) -> i64 { self.0.as_millis().min(i64::MAX as u128) as i64 } @@ -88,6 +92,10 @@ impl Default for SystemClock { } impl Clock for SystemClock { + #[expect( + clippy::cast_possible_truncation, + reason = "SystemClock::now; the Unix millisecond count stays below i64::MAX for hundreds of millions of years; a checked conversion would only restate that horizon" + )] fn now(&self) -> TrustedNow { TrustedNow( std::time::SystemTime::now() @@ -199,8 +207,9 @@ impl RuntimeCaps { /// Assemble from explicit implementations with ONE entropy source /// for both the boot id and later epochs (production goes through /// [`RuntimeCaps::production`]). - pub fn with(clock: Arc, entropy: Arc, instance: &str) -> Self { - Self::with_sources(clock, &*entropy, entropy.clone(), instance) + pub(crate) fn with(clock: Arc, entropy: Arc, instance: &str) -> Self { + let boot = entropy.clone(); + Self::with_sources(clock, &*boot, entropy, instance) } /// Assemble with DOMAIN-SEPARATED sources (PR 4.1): the boot id is @@ -296,6 +305,10 @@ impl ManualClock { } /// Ordinary passage of time: both domains move together. + #[expect( + clippy::cast_possible_truncation, + reason = "ManualClock::advance; test clock advances are small fixture durations; a checked conversion would only restate the fixture's scale" + )] pub(crate) fn advance(&self, by: Duration) { *self.inner.wall_ms.lock().unwrap() += by.as_millis() as i64; self.advance_monotonic(by); @@ -324,6 +337,10 @@ impl Clock for ManualClock { MonotonicNow(*self.inner.mono.lock().unwrap()) } + #[expect( + clippy::excessive_nesting, + reason = "ManualClock::sleep; the wake loop nests the deadline check between registering for the next advance and awaiting it; flattening it would separate the check from the registration that makes it race-free" + )] fn sleep(&self, d: Duration) -> futures_util::future::BoxFuture<'static, ()> { let inner = self.inner.clone(); let deadline = *inner.mono.lock().unwrap() + d; diff --git a/src/runtime/telemetry.rs b/src/runtime/telemetry.rs index c93f4331..100b90b3 100644 --- a/src/runtime/telemetry.rs +++ b/src/runtime/telemetry.rs @@ -74,6 +74,10 @@ mod tests { config } + #[expect( + clippy::excessive_nesting, + reason = "r10_telemetry_cache_progress_and_database_lifetimes_are_runtime_owned; the fixture nests the release wait inside the timeout that bounds it inside the test; flattening it would separate the wait from the bound it must respect" + )] #[tokio::test(flavor = "multi_thread", worker_threads = 2)] async fn r10_telemetry_cache_progress_and_database_lifetimes_are_runtime_owned() { let clock = Arc::new(ManualClock::at(1000)); diff --git a/src/scaler3.rs b/src/scaler3.rs index f9d5934f..be03333f 100644 --- a/src/scaler3.rs +++ b/src/scaler3.rs @@ -148,6 +148,13 @@ impl State { self.hot_keys.retain(|name, _| live.contains(name)); } + #[cfg_attr( + test, + expect( + clippy::excessive_nesting, + reason = "State::forget_previous_incarnation; the test-only visit counter nests inside the retain closure of the incarnation sweep; flattening it would separate the count from the sweep it audits" + ) + )] fn forget_previous_incarnation(&mut self, name: &crate::tenant::TenantStreamRef, epoch: &str) { #[cfg(test)] let mut visited = 0; @@ -365,11 +372,7 @@ fn evaluate_state( if let Some((k, _)) = top.top_share() { hot_updates .entry(name.clone()) - .and_modify(|prior| { - if k < prior.0 { - *prior = RoutingKeyHash(k); - } - }) + .and_modify(|prior| prior.0 = prior.0.min(k)) .or_insert(RoutingKeyHash(k)); } INEFFECTIVE_SPLIT_AVOIDED.fetch_add(1, std::sync::atomic::Ordering::Relaxed); @@ -788,6 +791,10 @@ mod tests { assert!(state.hot_keys.is_empty()); } + #[expect( + clippy::cast_possible_truncation, + reason = "segment_order_cannot_erase_a_hot_key_or_change_decisions; the fixture's segment ids are 0, 1 and 2; a checked conversion would only restate the fixture" + )] #[test] fn segment_order_cannot_erase_a_hot_key_or_change_decisions() { let name = test_desc("hot-and-cold").sref(); diff --git a/src/sse/feed.rs b/src/sse/feed.rs index ceb78c73..4601082f 100644 --- a/src/sse/feed.rs +++ b/src/sse/feed.rs @@ -287,22 +287,6 @@ pub(crate) struct ProjectRetention { admission: std::sync::OnceLock>, } -impl ProjectRetention { - pub(crate) fn bind_admission(&self, adm: Arc) { - let _ = self.admission.set(adm); - } - fn mirror_add(&self, bytes: u64) { - if let Some(a) = self.admission.get() { - a.retained_sse_add(bytes); - } - } - fn mirror_sub(&self, bytes: u64) { - if let Some(a) = self.admission.get() { - a.retained_sse_sub(bytes); - } - } -} - /// The project allowance: SSE_FEED_PROJECT_BYTES, defaulting to a /// QUARTER of the cell ceiling. Strict form for release validation /// (an unparseable value must fail boot, round-10e). @@ -332,6 +316,10 @@ pub(crate) enum ReserveOutcome { GlobalOver, } +#[expect( + clippy::unwrap_used, + reason = "FeedMemoryBudget; a poisoned project table may hold a half-charged retention entry; recovering it could exceed or leak the feed memory budget" +)] impl FeedMemoryBudget { pub(crate) fn from_config(cfg: &crate::config::SseConfig) -> Self { let max = crate::sse::budget::feed_total_cap(cfg); @@ -356,27 +344,6 @@ impl FeedMemoryBudget { } } - #[cfg(test)] - pub(crate) fn new_for_test(max: u64) -> Self { - Self { - reserved: AtomicU64::new(0), - max: AtomicU64::new(max), - // Unit rigs are single-project: the project backstop - // equals the ceiling unless a test narrows it. - project_cap: AtomicU64::new(max), - by_project: Mutex::new(std::collections::HashMap::new()), - } - } - - /// Test-only: shrink the cell ceiling so exhaustion scenarios stay - /// cheap (per-rig — every AppState builds its own budget). The - /// project backstop follows at the default quarter. - #[cfg(test)] - pub(crate) fn set_max_for_test(&self, max: u64) { - self.max.store(max, Ordering::SeqCst); - self.project_cap.store(max / 4, Ordering::SeqCst); - } - /// The per-project retention entry, shared by every feed of the /// project in this process; created on first use, removed by the /// LAST feed's drop (see `release_project_entry`). @@ -436,34 +403,6 @@ impl FeedMemoryBudget { .collect() } - #[cfg(test)] - pub(crate) fn project_entries_for_test(&self) -> usize { - self.by_project.lock().unwrap().len() - } - - /// Test-only exhaustion: reserve everything that remains, so the - /// next publication takes the uncached path. Returns the amount to - /// hand back via `release_for_test`. - #[cfg(test)] - pub(crate) fn exhaust_for_test(&self) -> u64 { - loop { - let cur = self.reserved.load(Ordering::SeqCst); - let take = self.max.load(Ordering::SeqCst).saturating_sub(cur); - if self - .reserved - .compare_exchange(cur, cur + take, Ordering::SeqCst, Ordering::SeqCst) - .is_ok() - { - return take; - } - } - } - - #[cfg(test)] - pub(crate) fn release_for_test(&self, n: u64) { - self.reserved.fetch_sub(n, Ordering::SeqCst); - } - /// Zero budget = singleton-only posture (docs/LIVE-FEED.md): no /// feed may admit a second subscriber. pub(crate) fn admits_shared(&self) -> bool { @@ -478,6 +417,10 @@ impl FeedMemoryBudget { /// ALREADY reflects both sides: the caller must NOT release the /// replaced batches again. Checked arithmetic: any accounting /// drift fails CLOSED rather than wrapping. + #[expect( + clippy::excessive_nesting, + reason = "FeedMemoryBudget::try_replace; the replacement nests the cell and project ceilings inside the compare-and-swap loop of the reservation; flattening it would separate the ceilings from the reservation they bound" + )] fn try_replace(&self, proj: &ProjectRetention, released: usize, add: usize) -> ReserveOutcome { let (rel, add) = (released as u64, add as u64); // PROJECT leg first (round-10 isolation): the offending @@ -538,6 +481,10 @@ impl FeedMemoryBudget { } } + #[expect( + clippy::excessive_nesting, + reason = "FeedMemoryBudget::release; the release nests the underflow guard inside the compare-and-swap loop; flattening it would separate the guard from the release it protects" + )] fn release(&self, proj: &ProjectRetention, charge: usize) { let charge = charge as u64; proj.mirror_sub(charge); @@ -654,12 +601,20 @@ impl Drop for DriverPermit<'_> { } } +#[expect( + clippy::unwrap_used, + reason = "LiveFeed; a poisoned feed state or source cell may hold a partially published frontier, subscriber accounting or swapped source; recovering it could deliver records twice, skip them or serve a retired source" +)] impl LiveFeed { /// Round-13: bind this feed to the project's admission entry — /// charges the static feed weight exactly once (guard held by the /// feed; released at feed drop) and wires the retention mirror. /// Called inside the registry's CREATION closure only, so joiners /// never double-charge. + #[expect( + clippy::let_underscore_must_use, + reason = "LiveFeed::bind_pressure; the pressure entry is bound once per feed and a second bind names the same entry; a handled result would only restate the first bind" + )] pub(crate) fn bind_pressure(&self, adm: Arc) { self.project_reserved.bind_admission(adm.clone()); let _ = self @@ -746,6 +701,10 @@ impl LiveFeed { /// subscribe-time reconciliation may race to install the same /// extension, and the loser must be an idempotent no-op — never a /// second generation bump. + #[expect( + clippy::let_underscore_must_use, + reason = "LiveFeed::install_source; the source watch fails to send only when every session is gone; a handled result would only restate that nobody waits" + )] fn install_source(&self, next: Arc) -> InstallOutcome { let mut w = self.src.write().unwrap(); let old_sig = w.source.span_sig(); @@ -860,6 +819,11 @@ impl LiveFeed { /// Consume retained records at/after `cursor`. Lagged = below floor /// → disconnect-and-resume per the lag contract. + #[expect( + clippy::excessive_nesting, + clippy::expect_used, + reason = "LiveFeed::take_visible; the take nests the batch cut inside the visibility walk of the retained ring, whose front was checked before it is popped; flattening it or a fallible pop would separate the cut from the batch it serves" + )] pub(crate) fn take_visible(&self, cursor: u64) -> Take { let mut st = self.st.lock().unwrap(); if cursor < st.floor { @@ -917,6 +881,11 @@ impl LiveFeed { /// task re-drives at 250 ms until the transition resolves, the /// subscribers leave, or the feed tears down. Resolution bumps /// the version, waking every parked session. + #[expect( + clippy::disallowed_methods, + clippy::excessive_nesting, + reason = "LiveFeed::schedule_transition_retry; the retry is a bare task the feed owns and cancels through its own flag, nesting the abandoned and superseded verdicts inside the wake it awaits; a supervised task would tie a feed-scoped retry to the runtime supervisor and flattening the verdicts would separate them from the wake" + )] pub(crate) fn schedule_transition_retry(self: &Arc) { if self .retry_scheduled @@ -988,6 +957,11 @@ impl LiveFeed { Some(DriverPermit(&self.driving)) } + #[expect( + clippy::excessive_nesting, + clippy::let_underscore_must_use, + reason = "LiveFeed::drive_under_permit; the drive nests the install and incompatibility verdicts inside the transition arm of the permit-held loop and re-publishes through a watch whose send fails only when every session is gone; flattening it or a handled send would separate the verdicts from the permit that serialises them" + )] async fn drive_under_permit(&self) -> DriveOutcome { let mut swap_attempts = 0u8; // Lifecycle outcomes are REPEATABLE (every parked session must @@ -1088,6 +1062,15 @@ impl LiveFeed { outcome } + #[expect( + clippy::too_many_lines, + clippy::let_underscore_must_use, + clippy::cast_possible_truncation, + clippy::excessive_nesting, + clippy::wildcard_enum_match_arm, + clippy::expect_used, + reason = "LiveFeed::read_and_publish; one read publishes its batch, charges retention, evicts within the ring budget from a pre-counted eviction set and answers every other reserve outcome alike, with payload lengths that fit u32 by the record ceiling; splitting it, handling the watch send, checking the length, flattening the eviction, naming every outcome or a fallible pop would separate the publication from the budget it must honour" + )] async fn read_and_publish(&self, src: &Arc, head: u64) -> DriveOutcome { let read = tokio::select! { r = src.read_batch(head, self.read_cap) => r, @@ -1269,6 +1252,10 @@ fn clear_ring( } impl Drop for LiveFeed { + #[expect( + clippy::unwrap_used, + reason = "LiveFeed::drop; a poisoned feed state at drop may hold a half-charged retention; recovering it could release bytes the budget never charged" + )] fn drop(&mut self) { // Release the ACTUAL retained bytes back to the process budget // (model B); the feed itself is being discarded. @@ -1361,5 +1348,8 @@ pub(crate) enum DriveOutcome { // no-progress shapes that the HTTP-level suite cannot reach // deterministically. // ================================================================== +mod retention; +#[cfg(test)] +mod test_support; #[cfg(test)] pub(crate) mod tests; diff --git a/src/sse/feed/retention.rs b/src/sse/feed/retention.rs new file mode 100644 index 00000000..1a9cbd48 --- /dev/null +++ b/src/sse/feed/retention.rs @@ -0,0 +1,22 @@ +//! The per-project retention entry's admission mirror. +use super::*; + +impl ProjectRetention { + #[expect( + clippy::let_underscore_must_use, + reason = "ProjectRetention::bind_admission; the admission entry is bound once per project and a second bind names the same entry; a handled result would only restate the first bind" + )] + pub(crate) fn bind_admission(&self, adm: Arc) { + let _ = self.admission.set(adm); + } + pub(super) fn mirror_add(&self, bytes: u64) { + if let Some(a) = self.admission.get() { + a.retained_sse_add(bytes); + } + } + pub(super) fn mirror_sub(&self, bytes: u64) { + if let Some(a) = self.admission.get() { + a.retained_sse_sub(bytes); + } + } +} diff --git a/src/sse/feed/test_support.rs b/src/sse/feed/test_support.rs new file mode 100644 index 00000000..3475b259 --- /dev/null +++ b/src/sse/feed/test_support.rs @@ -0,0 +1,50 @@ +//! Test-only knobs of the feed memory budget: sized, exhausted and released +//! per rig. +#![cfg(test)] +use super::*; + +impl FeedMemoryBudget { + pub(crate) fn new_for_test(max: u64) -> Self { + Self { + reserved: AtomicU64::new(0), + max: AtomicU64::new(max), + // Unit rigs are single-project: the project backstop + // equals the ceiling unless a test narrows it. + project_cap: AtomicU64::new(max), + by_project: Mutex::new(std::collections::HashMap::new()), + } + } + + /// Test-only: shrink the cell ceiling so exhaustion scenarios stay + /// cheap (per-rig — every AppState builds its own budget). The + /// project backstop follows at the default quarter. + pub(crate) fn set_max_for_test(&self, max: u64) { + self.max.store(max, Ordering::SeqCst); + self.project_cap.store(max / 4, Ordering::SeqCst); + } + + pub(crate) fn project_entries_for_test(&self) -> usize { + self.by_project.lock().unwrap().len() + } + + /// Test-only exhaustion: reserve everything that remains, so the + /// next publication takes the uncached path. Returns the amount to + /// hand back via `release_for_test`. + pub(crate) fn exhaust_for_test(&self) -> u64 { + loop { + let cur = self.reserved.load(Ordering::SeqCst); + let take = self.max.load(Ordering::SeqCst).saturating_sub(cur); + if self + .reserved + .compare_exchange(cur, cur + take, Ordering::SeqCst, Ordering::SeqCst) + .is_ok() + { + return take; + } + } + } + + pub(crate) fn release_for_test(&self, n: u64) { + self.reserved.fetch_sub(n, Ordering::SeqCst); + } +} diff --git a/src/sse/feed/tests.rs b/src/sse/feed/tests.rs index 138d391e..19f73616 100644 --- a/src/sse/feed/tests.rs +++ b/src/sse/feed/tests.rs @@ -910,3 +910,60 @@ impl Drop for PermitReleaseGuard { crate::failpoints::release(crate::failpoints::Fp::FeedAfterPermitRelease, "permit-once"); } } + +/// The retention entry mirrors its exact reservation into the ONE bound +/// admission entry: nothing before a bind, every add and sub after it, +/// and a second bind never redirects the mirror. +#[test] +fn a_retention_entry_mirrors_its_reservation_into_its_bound_admission() { + let registry = crate::quota::QuotaRegistry::default(); + let admission = |name: &str| { + let project = crate::tenant::ProjectId::new(name).unwrap(); + let _ = registry + .admit( + &project, + &crate::project_policy::ProjectQuotas::default(), + 1_000, + ) + .unwrap(); + registry.pressure_handle(&project).unwrap() + }; + let first = admission("proj-mirror-first"); + let second = admission("proj-mirror-second"); + let entry = ProjectRetention { + reserved: AtomicU64::new(0), + cap_hits: AtomicU64::new(0), + admission: std::sync::OnceLock::new(), + }; + entry.mirror_add(10); + assert_eq!( + first.estimated_pressure_bytes(), + 0, + "nothing mirrors before a bind" + ); + entry.bind_admission(first.clone()); + entry.mirror_add(100); + assert_eq!( + first.estimated_pressure_bytes(), + 100, + "an add mirrors exactly" + ); + entry.mirror_sub(40); + assert_eq!( + first.estimated_pressure_bytes(), + 60, + "a sub mirrors exactly" + ); + entry.bind_admission(second.clone()); + entry.mirror_add(1); + assert_eq!( + first.estimated_pressure_bytes(), + 61, + "the first bind stays canonical" + ); + assert_eq!( + second.estimated_pressure_bytes(), + 0, + "a second bind is ignored" + ); +} diff --git a/src/sse/source.rs b/src/sse/source.rs index adb5d81d..8818fab6 100644 --- a/src/sse/source.rs +++ b/src/sse/source.rs @@ -39,6 +39,10 @@ impl SingleSource { } } +#[expect( + clippy::unwrap_used, + reason = "SingleSource; a poisoned stream state may hold a half-advanced durable frontier; recovering it could serve a length never made durable" +)] #[async_trait::async_trait] impl FeedSourceRead for SingleSource { async fn read_batch(&self, from: u64, max_bytes: usize) -> anyhow::Result { @@ -165,11 +169,18 @@ struct LineageSpan { seg_id: u32, logical_start: u64, cap: Option, - #[allow(dead_code)] // identity is informational (engine/handle keying) + #[allow( + dead_code, + reason = "identity; the span keeps its segment identity for engine and handle keying; reading it here would restate the key the reader already holds" + )] identity: [u8; 16], reader: SpanReader, } +/// The cached local reader of a sealed span: the engine and handle the +/// last locally served page used. +type LocalReader = tokio::sync::Mutex, Arc)>>; + /// HOW a span's records are read (round-10 two-instance model): /// metadata (`seg_id`/`logical_start`/`cap`) answers `locate`/ /// `logicalize` without opening anything; only reads need a reader. @@ -186,7 +197,7 @@ enum SpanReader { route: [u8; 16], target: crate::application::read_remote::InternalTarget, owner_hint: std::sync::RwLock>, - local: tokio::sync::Mutex, Arc)>>, + local: LocalReader, }, /// The LIVE tail: LOCAL ONLY (locked architecture). Every read /// confirms this instance is still the effective owner; a moved @@ -199,20 +210,6 @@ enum SpanReader { }, } -/// Round-11.2: a FATAL span error carried through anyhow — the feed -/// downcasts it and turns the source's lifecycle into the typed -/// cutoff instead of retrying forever. -#[derive(Debug, Clone, Copy)] -pub(crate) struct FatalSpanCutoff(pub(crate) super::feed::SourceCutoff); - -impl std::fmt::Display for FatalSpanCutoff { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(f, "fatal span cutoff: {:?}", self.0) - } -} - -impl std::error::Error for FatalSpanCutoff {} - /// Is this instance the effective owner of `route`'s shard? None-ring /// (single instance) counts as ours. fn owned_here(state: &crate::application::read::ReadService, route: &[u8; 16]) -> bool { @@ -277,6 +274,10 @@ impl LineageSource { /// (mirrors the legacy keyed-lineage construction: segments /// containing the lane's key point, ordered by /// `(created_ms, seg_id)`). + #[expect( + clippy::excessive_nesting, + reason = "LineageSource::build; the chain build nests the owner, engine and handle resolution inside each segment's span; flattening it would separate the span from the owner it was built under" + )] pub(crate) async fn build( state: Arc, desc: StreamDesc, @@ -401,14 +402,20 @@ impl LineageSource { /// protocol with at most one verified redirect. Fatal outcomes /// ride `FatalSpanCutoff`; retryables stay anyhow errors (the /// session's bounded-backoff retry). - #[allow(clippy::too_many_arguments)] + #[expect( + clippy::too_many_arguments, + clippy::too_many_lines, + clippy::excessive_nesting, + clippy::unwrap_used, + reason = "LineageSource::sealed_span_page; a sealed span's page resolves the current owner, serves locally or through one redirect and caches the reader and owner hint it used, and a poisoned hint may hold a half-recorded owner that could route the next page to the wrong instance; a request struct, a split, a flattened resolution or a recovered hint would separate the page from the owner resolution it must repeat" + )] async fn sealed_span_page( &self, span: &LineageSpan, route: &[u8; 16], target: &crate::application::read_remote::InternalTarget, owner_hint: &std::sync::RwLock>, - local: &tokio::sync::Mutex, Arc)>>, + local: &LocalReader, local_from: u64, budget: usize, ) -> anyhow::Result { @@ -548,11 +555,20 @@ impl LineageSource { } } + #[expect( + clippy::expect_used, + reason = "LineageSource::tail; a lineage is built with at least one span and never emptied; a fallible tail would add a branch no source reaches" + )] fn tail(&self) -> &LineageSpan { self.spans.last().expect("non-empty lineage") } } +#[expect( + clippy::too_many_lines, + clippy::unwrap_used, + reason = "LineageSource; one batch walks the span chain until the budget or the frontier stops it, and a poisoned stream state may hold a half-advanced durable frontier; splitting the walk would separate it from its budget and recovering the state could serve a length never made durable" +)] #[async_trait::async_trait] impl FeedSourceRead for LineageSource { async fn read_batch(&self, from: u64, max_bytes: usize) -> anyhow::Result { @@ -783,6 +799,13 @@ impl FeedSourceRead for LineageSource { /// source implementation. Called ONLY under the feed's driver permit. /// Genuine-close detection uses the read service incarnation boundary /// (no materialized map, or a <=1-segment map with nothing pending). +#[expect( + clippy::too_many_arguments, + clippy::too_many_lines, + clippy::excessive_nesting, + clippy::let_underscore_must_use, + reason = "refresh_transition; the resume takes the state, descriptor, key, epoch, filter and signature the source built with, walks one bounded deadline across attempts whose waits nest inside the pending-transition branch, and a timed-out ticket wait simply re-reads; a request struct, a split, a flattened wait or a handled timeout would separate the attempts from the deadline they share" +)] pub(crate) async fn refresh_transition( state: &Arc, desc: &StreamDesc, @@ -955,30 +978,10 @@ pub(crate) async fn refresh_transition( Ok(SourceTransition::RetryLater) } -/// The linearization rule (engine-free, so the mapping itself is -/// unit-testable): a linearized one-past offset maps to the span -/// covering it; the boundary one-past a sealed span's cap belongs to -/// the NEXT span at local 0. -fn locate_in_spans(spans: &[(u32, u64, Option)], logical_after: u64) -> WirePosition { - for (i, (seg, start, cap)) in spans.iter().enumerate() { - let last = i + 1 == spans.len(); - match cap.map(|c| start + c) { - Some(e) if logical_after >= e && !last => continue, - Some(e) if logical_after > e => continue, - _ => { - return WirePosition { - seg_id: *seg, - local_after: logical_after - start, - }; - } - } - } - let (seg_id, start, _) = spans.last().copied().expect("non-empty lineage"); - WirePosition { - seg_id, - local_after: logical_after.saturating_sub(start), - } -} +#[path = "source/spans.rs"] +mod spans; +pub(crate) use spans::FatalSpanCutoff; +use spans::locate_in_spans; #[cfg(test)] #[path = "source/tests.rs"] diff --git a/src/sse/source/spans.rs b/src/sse/source/spans.rs new file mode 100644 index 00000000..fce7246f --- /dev/null +++ b/src/sse/source/spans.rs @@ -0,0 +1,48 @@ +//! The lineage's engine-free pieces: the linearization rule and the fatal +//! cutoff that rides through anyhow. +use super::*; + +/// Round-11.2: a FATAL span error carried through anyhow — the feed +/// downcasts it and turns the source's lifecycle into the typed +/// cutoff instead of retrying forever. +#[derive(Debug, Clone, Copy)] +pub(crate) struct FatalSpanCutoff(pub(crate) crate::sse::feed::SourceCutoff); + +impl std::fmt::Display for FatalSpanCutoff { + fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(f, "fatal span cutoff: {:?}", self.0) + } +} + +impl std::error::Error for FatalSpanCutoff {} + +/// The linearization rule (engine-free, so the mapping itself is +/// unit-testable): a linearized one-past offset maps to the span +/// covering it; the boundary one-past a sealed span's cap belongs to +/// the NEXT span at local 0, and the last span, sealed or live, absorbs +/// everything past its start through the fallback below. +#[expect( + clippy::expect_used, + reason = "locate_in_spans; a lineage is built with at least one span, so the last span exists; a fallible tail would add a branch no lineage reaches" +)] +pub(super) fn locate_in_spans( + spans: &[(u32, u64, Option)], + logical_after: u64, +) -> WirePosition { + for (seg, start, cap) in spans { + match cap.map(|c| start + c) { + Some(e) if logical_after >= e => continue, + _ => { + return WirePosition { + seg_id: *seg, + local_after: logical_after - start, + }; + } + } + } + let (seg_id, start, _) = spans.last().copied().expect("non-empty lineage"); + WirePosition { + seg_id, + local_after: logical_after.saturating_sub(start), + } +} diff --git a/src/sse/source/tests.rs b/src/sse/source/tests.rs index 5d65127b..d764bce0 100644 --- a/src/sse/source/tests.rs +++ b/src/sse/source/tests.rs @@ -40,3 +40,28 @@ fn sig_compatibility_rules() { // Identity. assert!(sig_compatible(&old2, &old2)); } + +/// The fatal cutoff carried through anyhow names the reason the feed +/// downcasts, so a bare error message never hides which cutoff fired. +#[test] +fn a_fatal_span_cutoff_names_its_reason() { + let cutoff = crate::sse::source::FatalSpanCutoff(crate::sse::feed::SourceCutoff::WrongOwner); + assert_eq!(cutoff.to_string(), "fatal span cutoff: WrongOwner"); +} + +/// The linearization rule: a one-past offset maps to the span covering +/// it, the boundary one-past a sealed cap belongs to the next span at +/// local 0, and the live tail absorbs everything past the last cap. +#[test] +fn linearized_offsets_map_to_the_span_that_covers_them() { + let spans = [(1u32, 0u64, Some(10u64)), (2, 10, Some(5)), (3, 15, None)]; + let at = |logical_after: u64| { + let pos = super::spans::locate_in_spans(&spans, logical_after); + (pos.seg_id, pos.local_after) + }; + assert_eq!(at(7), (1, 7), "inside the first sealed span"); + assert_eq!(at(10), (2, 0), "the boundary belongs to the next span"); + assert_eq!(at(12), (2, 2), "inside the second sealed span"); + assert_eq!(at(15), (3, 0), "the second cap hands over to the live tail"); + assert_eq!(at(40), (3, 25), "the live tail is open-ended"); +} diff --git a/src/tasks/shutdown.rs b/src/tasks/shutdown.rs index 917bf0a2..1dc344e5 100644 --- a/src/tasks/shutdown.rs +++ b/src/tasks/shutdown.rs @@ -13,6 +13,10 @@ type Finalizer = ( impl TaskSupervisor { /// A terminal error without proof of resource termination requires the /// owner's replacement fence and readiness failure to remain in place. + #[expect( + clippy::unwrap_used, + reason = "TaskSupervisor::incomplete_shutdown_failure; a poisoned supervisor state may hold a half-recorded phase, task map or report; recovering it could report a shutdown that never completed or hide one that failed" + )] pub(crate) fn incomplete_shutdown_failure(&self) -> Option { let state = self.inner.state.lock().unwrap(); if state.phase != Phase::ShuttingDown { @@ -33,6 +37,22 @@ impl TaskSupervisor { self.launch_shutdown(grace, Some((label, Box::pin(finalizer)))); } + #[expect( + clippy::unwrap_used, + reason = "TaskSupervisor::launch_shutdown; a poisoned supervisor state may hold a half-recorded phase, task map or report; recovering it could report a shutdown that never completed or hide one that failed" + )] + #[expect( + clippy::disallowed_methods, + reason = "TaskSupervisor::launch_shutdown; the shutdown driver outlives the supervised set it joins and publishes the report every observer waits on; a supervised driver would wait on itself" + )] + #[expect( + clippy::excessive_nesting, + reason = "TaskSupervisor::launch_shutdown; the driver nests the phase decision inside the report publication inside the spawned shutdown; flattening it would separate the phase from the report that proves it" + )] + #[expect( + clippy::let_underscore_must_use, + reason = "TaskSupervisor::launch_shutdown; a watch send fails only when every observer is gone and the cancel flag is idempotent; handled results would only restate that nobody is left to inform" + )] fn launch_shutdown(&self, grace: Duration, finalizer: Option) -> Completion { let mut st = self.inner.state.lock().unwrap(); if let Some(rx) = &st.completion { @@ -84,6 +104,10 @@ impl TaskSupervisor { /// Observe an owner-started shutdown without racing it to install a driver /// lacking the owner's resource finalizer. + #[expect( + clippy::unwrap_used, + reason = "TaskSupervisor::observe_shutdown; a poisoned supervisor state may hold a half-recorded phase, task map or report; recovering it could report a shutdown that never completed or hide one that failed" + )] pub(crate) async fn observe_shutdown(&self) -> ShutdownReport { let mut rx = loop { let notified = self.inner.workers_done.notified(); @@ -145,6 +169,10 @@ impl TaskSupervisor { } } /// The one shutdown sequence, owned by the driver task. +#[expect( + clippy::let_underscore_must_use, + reason = "drive_shutdown; the cancel flag is a watch whose send fails only when every worker is gone; a handled result would only restate that there is nobody left to cancel" +)] async fn drive_shutdown( inner: &Arc, tasks: BTreeMap, diff --git a/src/telemetry_batch.rs b/src/telemetry_batch.rs index 0b26a225..94727da8 100644 --- a/src/telemetry_batch.rs +++ b/src/telemetry_batch.rs @@ -47,13 +47,13 @@ pub(crate) fn encode_prefix<'a, T: Serialize + 'a>( overflow: false, }; if let Err(error) = serde_json::to_writer(&mut row, event) { - if row.overflow { - if count == 0 { - return Ok(Selection::Oversized); - } - break; + if !row.overflow { + return Err(error.to_string()); } - return Err(error.to_string()); + if count == 0 { + return Ok(Selection::Oversized); + } + break; } let with_array_end = body .len() diff --git a/src/touch.rs b/src/touch.rs index d352c910..1cda5b29 100644 --- a/src/touch.rs +++ b/src/touch.rs @@ -74,6 +74,14 @@ pub(crate) enum WaitOutcome { } impl TouchJournal { + #[expect( + clippy::disallowed_methods, + reason = "TouchJournal::start; the per-stream flusher is started under the journal map lock, where no supervisor is reachable, and it exits on its own once the journal closes; a supervised flusher would thread the supervisor through every journal creation for a task that ends itself" + )] + #[expect( + clippy::excessive_nesting, + reason = "TouchJournal::start; the flusher nests the close verdict inside the tick loop of the spawned flusher; flattening it would separate the verdict from the tick that produced it" + )] pub(crate) fn start(entropy: &dyn crate::runtime::Entropy) -> Arc { let mut e = [0u8; 8]; entropy.fill(&mut e); @@ -102,6 +110,10 @@ impl TouchJournal { } /// Record touched key IDs (shard acker, post-durability). + #[expect( + clippy::unwrap_used, + reason = "TouchJournal::ingest; a poisoned journal may hold a half-ingested bucket; recovering it could flush or acknowledge touches that were never recorded" + )] pub(crate) fn ingest(&self, key_ids: &[u32], next_offset: u64) { let mut inner = self.inner.lock().unwrap(); if inner.closed { @@ -123,6 +135,10 @@ impl TouchJournal { } } + #[expect( + clippy::unwrap_used, + reason = "TouchJournal::flush_bucket; a poisoned journal may hold a half-ingested bucket; recovering it could flush or acknowledge touches that were never recorded" + )] fn flush_bucket(&self, reap: bool) -> bool { let mut inner = self.inner.lock().unwrap(); if inner.closed { @@ -372,6 +388,10 @@ impl TouchRegistry { } } + #[expect( + clippy::unwrap_used, + reason = "TouchRegistry::journal; a poisoned journal map may hold a half-inserted or half-closed journal; recovering it could revive a journal a fence already closed" + )] pub(crate) fn journal( &self, hash: [u8; 16], @@ -387,6 +407,10 @@ impl TouchRegistry { /// Fence/move of a shard: close + drop every journal whose stream's /// shard ROUTE hash falls in the shard's bit-prefix, waking all /// their waiters with stale. + #[expect( + clippy::unwrap_used, + reason = "TouchRegistry::close_shard; a poisoned journal map may hold a half-inserted or half-closed journal; recovering it could revive a journal a fence already closed" + )] pub(crate) fn close_shard(&self, prefix: &str) { let mut map = self.map.lock().unwrap(); let closing: Vec<[u8; 16]> = map