{
"adjudication": {
"criterion": "A finding is a true positive when the flagged site should actually be changed, judged at the pinned revision under the published scope of the rule; it is a false positive when the flagged construct is correct as written, when its safety is established by the surrounding code, or when the context makes the flagged behaviour the intended one. Confirming that the rule's pattern is present is a separate, mechanical check: it proves the span is not corrupted, never that the site is a defect. For structural findings the value question is stated separately. A duplication family is a true positive when its members repeat a nontrivial shared scaffold that one definition, parameter or macro could serve without changing behavior; it is a false positive when the shared body is a short delegation whose entire difference lives in the erased names, when the members mirror each other by design, as benchmark or test comparison pairs and replays under a different harness do, or when separate trait impls the language forces apart leave nothing to factor. A complexity or size hotspot is a true positive when decomposition is feasible and would plausibly be accepted, a false positive when the measured branch count or length is the clearest available form or is forced by a trait contract. An unreasoned allow or an unreferenced feature is a false positive when the surrounding code or manifest already documents the intent the detector could not read.",
"provenance": "Who produced each verdict. \"human\" names a site a person read and judged. \"agent\" names a site adjudicated by an agent under the published protocol: the site read in the pinned source with its surrounding code, blind to any prior verdict, with a disagreement between independent passes escalated rather than settled by the agent. \"unrecorded\" names the sites judged before this field existed, whose author is not established; they are published as they were measured rather than reattributed after the fact. A rate mixing provenances is worth its weakest one, and no verdict, whoever produced it, is certified beyond the agreement two trained reviewers reach with each other.",
"reviewed": [
{
"context": "production",
"justification": "src-tauri produces the application binary and no Cargo.lock is committed anywhere in the checkout.",
"line": 0,
"path": "src-tauri/Cargo.toml",
"population": "agent",
"provenance": "agent",
"repository": "artifexprocal",
"rule": "rust_doctor::cargo::missing_lockfile",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "the package has a src/main.rs producing a compiler binary and no Cargo.lock exists anywhere in the repository.",
"line": 0,
"path": "Cargo.toml",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::cargo::missing_lockfile",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "the package has a src/main.rs producing a binary and no Cargo.lock exists anywhere in the repository.",
"line": 0,
"path": "Cargo.toml",
"population": "agent",
"provenance": "agent",
"repository": "mdr",
"rule": "rust_doctor::cargo::missing_lockfile",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "calibration-storage sits in the dependencies of hal_meters but its only reference is an integration test, so moving it to dev-dependencies would work.",
"line": 0,
"path": "crates/hal_meters/Cargo.toml",
"population": "agent",
"provenance": "agent",
"repository": "artifexprocal",
"rule": "rust_doctor::cargo::test_only_dependency",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "tauri_specta is used only inside a test that exports bindings, but src-tauri is the application binary package with no library consumer, so the section distinction costs nothing.",
"line": 0,
"path": "src-tauri/Cargo.toml",
"population": "agent",
"provenance": "agent",
"repository": "artifexprocal",
"rule": "rust_doctor::cargo::test_only_dependency",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "hal appears only on the declaration line of calibration-core's manifest with no reference anywhere in the package, and a local path crate has no linking or macro excuse.",
"line": 0,
"path": "crates/calibration-core/Cargo.toml",
"population": "agent",
"provenance": "agent",
"repository": "artifexprocal",
"rule": "rust_doctor::cargo::unused_dependency",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "uuid appears only in calibration-engine's manifest; no source in the package mentions it at all.",
"line": 0,
"path": "crates/calibration-engine/Cargo.toml",
"population": "agent",
"provenance": "agent",
"repository": "artifexprocal",
"rule": "rust_doctor::cargo::unused_dependency",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "thiserror appears only in hal-displays' manifest; no use or derive site references it in the package.",
"line": 0,
"path": "crates/hal-displays/Cargo.toml",
"population": "agent",
"provenance": "agent",
"repository": "artifexprocal",
"rule": "rust_doctor::cargo::unused_dependency",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "hal_meters declares serde with derive but no source contains serde, Serialize or Deserialize; chrono's serde feature pulls its own and does not need this declaration.",
"line": 0,
"path": "crates/hal_meters/Cargo.toml",
"population": "agent",
"provenance": "agent",
"repository": "artifexprocal",
"rule": "rust_doctor::cargo::unused_dependency",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The 2x2x2 block-averaging nested loops over voxel coordinates are the clearest form of a downsampling kernel; splitting the inner accumulation would scatter one arithmetic decision.",
"line": 238,
"path": "crates/calibration-autocal/src/lut3d.rs",
"population": "agent",
"provenance": "agent",
"repository": "artifexprocal",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The .rept, .irp and .irpc arms each carry fifteen or more lines of argument splitting and body substitution alongside label-position tracking; lifting expand_irp and expand_irpc helpers would be accepted without dispersing the directive dispatch.",
"line": 357,
"path": "src/backend/arm/assembler/parser.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The nested conditions all test one peephole pattern, so the nesting is one pattern-match decision that splitting would scatter.",
"line": 689,
"path": "src/backend/arm/codegen/peephole.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A character-dispatch tokenizer match is the clearest available form; the branch count is the token grammar itself.",
"line": 208,
"path": "src/backend/elf_writer_common.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A single match over the closed IntrinsicOp enum whose arms already delegate to emit helpers; the branches are the instruction set, not mixed responsibilities.",
"line": 22,
"path": "src/backend/i686/codegen/intrinsics.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The clobber loop mixes ARM64 register aliasing, r-alias parsing, floating-point register view expansion and x86 normalization as four independent nested blocks; an aliases_of helper would be accepted.",
"line": 629,
"path": "src/backend/inline_asm.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "A flat match mapping vtypei field names to bit encodings is a dispatch table in its clearest form.",
"line": 5,
"path": "src/backend/riscv/assembler/encoder/vector.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A match over the closed Instruction enum with one-line escape marking per arm; splitting would scatter the single escape-classification decision.",
"line": 124,
"path": "src/backend/stack_layout/alloca_coalescing.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The typed source-register match and the push, store, pop scratch sequence are repeated four times nearly verbatim across the x87, condition-code, xmm and general-purpose paths; a typed-store-through-slot helper would plausibly be accepted.",
"line": 522,
"path": "src/backend/x86/codegen/asm_emitter.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "A deliberately inlined byte-level dispatch table over register spellings; the branch count is the register name space and is its clearest form.",
"line": 1034,
"path": "src/backend/x86/codegen/peephole/types.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A flat while-match over independent command-line flags is the canonical hand-rolled argument parser; splitting flags into helpers would scatter one dispatch across files.",
"line": 231,
"path": "src/driver/cli.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A loop-match over trailing qualifier token kinds with one-line attribute setters per arm is the clearest form.",
"line": 548,
"path": "src/frontend/parser/types.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A match over the closed Expr enum where per-arm typing rules already delegate to infer_field_ctype and infer_binop_ctype; the branches are the expression grammar.",
"line": 75,
"path": "src/frontend/sema/type_checker.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A dispatch match over the closed BuiltinIntrinsic enum whose arms delegate to lowering helpers; the width is the builtin catalog, not mixed logic.",
"line": 258,
"path": "src/ir/lowering/expr_builtins.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The store-scalar block is repeated three times at different nesting depths and recursion is faked with a dummy field designator; extracting a store-value-at-offset helper would clearly be accepted.",
"line": 313,
"path": "src/ir/lowering/global_init_bytes.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The per-output loop body mixes constraint rewriting for register variables, lvalue lowering with two placeholder fallbacks, and four-way input synthesis; lifting an output-operand helper would be accepted without dispersing any single decision.",
"line": 25,
"path": "src/ir/lowering/stmt_asm.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The I8 and I16 arms duplicate the same const-map cast-origin lookup block differing only by the compared type; a came-from-signed-cast helper would be trivially accepted.",
"line": 405,
"path": "src/passes/constant_fold.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The GVN, LICM and induction-variable blocks repeat the same timing, counting and changed-flag scaffolding differing only by the pass function and label; a run-one-pass helper would be accepted.",
"line": 65,
"path": "src/passes/mod.rs",
"population": "agent",
"provenance": "agent",
"repository": "claudes-c-compiler",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "A straight-line stats loop plus a report printer where each accumulator is trivial; splitting scan from print would scatter a dozen accumulators across a helper boundary for no clarity gain.",
"line": 2373,
"path": "src/main.rs",
"population": "agent",
"provenance": "agent",
"repository": "coda",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The measured complexity is largely feature-gated profiling scaffolding around a documented three-step bitboard walk that shares hot-path state; extracting steps with ten parameters each would plausibly be rejected.",
"line": 1188,
"path": "src/threats.rs",
"population": "agent",
"provenance": "agent",
"repository": "coda",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The constructor mixes theme color resolution, terminal capability queries, saved-state restore, per-slide font offsets, image preloading and a background decoding thread; each is a liftable named helper with no shared decision.",
"line": 366,
"path": "src/render/engine/mod.rs",
"population": "agent",
"provenance": "agent",
"repository": "ostendo",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "A mirror-conversion match over the closed arena Expression enum with cognitive complexity 3; the arm count is the syntax tree itself.",
"line": 100,
"path": "crates/vibesql-ast/src/arena/convert.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A match over the closed InsertSource enum where each arm is one freezing policy; the nested arm is a single vacate-or-append decision per column that splitting would scatter.",
"line": 535,
"path": "crates/vibesql-consensus/src/freeze.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A From impl matching a closed error enum with one mapping per variant and cognitive complexity 1; a trait-contract conversion in its clearest form.",
"line": 1502,
"path": "crates/vibesql-executor/src/errors.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Two cases duplicate the identical eight-arm numeric-to-text match verbatim with sides swapped; a numeric-value-to-text helper would be trivially accepted.",
"line": 262,
"path": "crates/vibesql-executor/src/evaluator/expressions/eval.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "A sequential number lexer covering sign, infinity, hex, integer, fraction, exponent and mantissa is the clearest form of the token grammar it implements.",
"line": 662,
"path": "crates/vibesql-executor/src/evaluator/functions/sqlite_compat/json_funcs.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A recursive match over the closed Expression enum with one recursion call per structural variant; the branch count is the syntax tree.",
"line": 331,
"path": "crates/vibesql-executor/src/index_ddl/validation.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The try-left-side and try-right-side blocks of the And arm are near-verbatim duplicates differing only in which child is rebuilt; a shared try-convert-child helper would be accepted.",
"line": 152,
"path": "crates/vibesql-executor/src/optimizer/subquery_to_join/mod.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "A match over the closed AggregateOp enum where each arm is one distinct accumulation loop; the arms belong together as one operator dispatch.",
"line": 328,
"path": "crates/vibesql-executor/src/select/columnar/executor/aggregate.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A recursive scope-walk match over the Expression enum; the branch count is the recursion sites of the syntax tree, and the outer-inner test is one collapse decision.",
"line": 384,
"path": "crates/vibesql-executor/src/select/executor/aggregation/detection.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A naming match over the closed Expression enum where each arm is one mode-dependent formatting rule, including an inline operator-to-symbol table that is a dispatch table in its clearest form.",
"line": 350,
"path": "crates/vibesql-executor/src/select/executor/columns.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A numbered flat sequence of recursion entry points over the statement's clauses; each block is one recursion site and splitting would scatter the single validation walk.",
"line": 1755,
"path": "crates/vibesql-executor/src/select/executor/validation/aggregates.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A hand-rolled iterator state machine whose arms belong together as one loop.",
"line": 215,
"path": "crates/vibesql-executor/src/select/join/hash_join_iterator.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A match over the two index predicate variants where the bound coercions and per-value handling are one coercion decision driven by closed outcomes.",
"line": 196,
"path": "crates/vibesql-executor/src/select/scan/index_scan/predicate/temporal_coercion.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A flat setup pipeline of name check, arity check, evaluator selection and root decoding where the cyclomatic count comes from error branches; splitting would just relocate error paths.",
"line": 66,
"path": "crates/vibesql-executor/src/select/scan/table_function.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Already decomposed via three closures implementing one vacate-before-occupy algorithm; the nesting is that single algorithm's clearest form.",
"line": 988,
"path": "crates/vibesql-executor/src/update/index_sync.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The hex-literal and binary-literal decoding blocks are thirty-five-line near-duplicates differing only by radix and validation rule, embedded inside identifier parsing; two parse helpers would be accepted.",
"line": 4,
"path": "crates/vibesql-parser/src/parser/expressions/identifiers.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The unsubscribe-and-decrement-metrics block appears twice verbatim, in the terminate arm and in the post-loop cleanup; lifting a cleanup helper would be accepted without touching the event loop.",
"line": 313,
"path": "crates/vibesql-server/src/connection/mod.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "A B+ tree leaf-chain scan whose branches are the inclusive and exclusive bound checks of the range contract; the loop is the algorithm's clearest form.",
"line": 98,
"path": "crates/vibesql-storage/src/btree/node/btree_index/query.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A string-to-type dispatch table over a closed set of SQL type spellings with parameterized suffix cases; splitting would scatter one parsing decision.",
"line": 1119,
"path": "crates/vibesql-storage/src/persistence/binary/catalog.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "src/code/mod.rs declares only executor and highlight while its doc comment promises PTY support, so pty.rs was meant to be wired in and is not.",
"line": 1,
"path": "src/code/pty.rs",
"population": "agent",
"provenance": "agent",
"repository": "ostendo",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "src/markdown/parser.rs reaches the file with a #[path = \"parser_tests.rs\"] attribute, a route the detector cannot see.",
"line": 1,
"path": "src/markdown/parser_tests.rs",
"population": "agent",
"provenance": "agent",
"repository": "ostendo",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "index_optimization/mod.rs declares only mod spatial, and the only mod order_by in the crate is in select/window/mod.rs, so this file is dead.",
"line": 1,
"path": "crates/vibesql-executor/src/select/executor/index_optimization/order_by.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "tests/grant_tests.rs declares an inline mod grant_tests block loading its siblings directly, so grant_tests/mod.rs is a leftover nothing loads.",
"line": 1,
"path": "crates/vibesql-executor/tests/grant_tests/mod.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "arena_parser/mod.rs declares ddl, delete, expression, insert, select and update but no mod dml, and no other declaration reaches the file.",
"line": 1,
"path": "crates/vibesql-parser/src/arena_parser/dml.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "parser/mod.rs lists twenty-four submodules with no mod type_def, and the only similar declaration is in the separate vibesql-catalog crate.",
"line": 1,
"path": "crates/vibesql-parser/src/parser/type_def.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "vibesql-storage/src/lib.rs opens an inline mod tests block rather than a file declaration, so src/tests/mod.rs is never loaded.",
"line": 1,
"path": "crates/vibesql-storage/src/tests/mod.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "lib.rs declares no mod modules, so modules/mod.rs is unreachable and database.rs under it is dead.",
"line": 1,
"path": "crates/vibesql-wasm-bindings/src/modules/database.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "lib.rs declares pub mod examples resolving to the top-level src/examples.rs, leaving the parallel modules/examples.rs unreachable.",
"line": 1,
"path": "crates/vibesql-wasm-bindings/src/modules/examples.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "lib.rs resolves pub mod execute to src/execute.rs, and no declaration reaches modules/execute.rs.",
"line": 1,
"path": "crates/vibesql-wasm-bindings/src/modules/execute.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "no file in the crate declares mod modules, so modules/mod.rs itself is compiled by nothing.",
"line": 1,
"path": "crates/vibesql-wasm-bindings/src/modules/mod.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "lib.rs resolves pub mod query to src/query.rs, and no declaration reaches modules/query.rs.",
"line": 1,
"path": "crates/vibesql-wasm-bindings/src/modules/query.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "lib.rs resolves pub mod schema to src/schema.rs, and no declaration reaches modules/schema.rs.",
"line": 1,
"path": "crates/vibesql-wasm-bindings/src/modules/schema.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "the only path to modules/tests.rs is the orphaned modules/mod.rs; the crate's cfg(test) mod tests resolves to src/tests/mod.rs instead.",
"line": 1,
"path": "crates/vibesql-wasm-bindings/src/modules/tests.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "modules/types.rs is reachable only through the orphaned modules/mod.rs, so nothing compiles it.",
"line": 1,
"path": "crates/vibesql-wasm-bindings/src/modules/types.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "the root manifest enumerates every regression test as an explicit test target but omits issue_4436.rs, so it was meant to be wired in and is not.",
"line": 1,
"path": "tests/regression/issue_4436.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::orphan_module_file",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "both allows carry inline comments stating their reason, one pending a parallel aggregation integration and one for a type complexity inherent to the pattern.",
"line": 81,
"path": "crates/vibesql-executor/src/select/grouping/parallel_sink.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::stacked_allow_attribute",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "the allows for private_interfaces and too_many_arguments carry no comment, and the doc block above documents scan semantics rather than why either suppression is needed.",
"line": 790,
"path": "crates/vibesql-executor/src/select/scan/index_scan/execution.rs",
"population": "agent",
"provenance": "agent",
"repository": "vibesql",
"rule": "rust_doctor::structure::stacked_allow_attribute",
"verdict": "true_positive"
},
{
"context": "build_script",
"justification": "A build script has no caller to return an error to: its main returns unit, and terminating the process is how Cargo is told the build failed.",
"line": 106,
"path": "build.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "clippy::exit",
"verdict": "false_positive"
},
{
"context": "build_script",
"justification": "cargo_env_var is written to diverge when a Cargo-provided variable is missing, inside a build script that exposes no Result surface to propagate through.",
"line": 192,
"path": "build.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "clippy::exit",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Reached only when writing to stderr itself failed, inside the binary's own message macro: no channel remains to report an error through, and the two codes separate a broken pipe from a real failure.",
"line": 54,
"path": "crates/core/messages.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::exit",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Same macro, writeln branch: the condition being handled is the loss of stderr, so returning an error would have nowhere to surface.",
"line": 61,
"path": "crates/core/messages.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::exit",
"verdict": "false_positive"
},
{
"context": "build_script",
"justification": "Cleanup failure of the probe directory in a build script; exiting is the sanctioned way for a build script to fail.",
"line": 172,
"path": "build.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "thiserror",
"rule": "clippy::exit",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The backtrace is captured when the Error is built and the accessor returns a reference, so there is no error value to propagate; the comment bounds the residual risk to a nondeterministic Error impl.",
"line": 963,
"path": "src/error.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "clippy::expect_used",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "path_absolute_form calls env::current_dir, which fails at runtime when the working directory is removed or unreadable; the closure can already report through print_error and return WalkState::Continue instead of aborting the walk.",
"line": 528,
"path": "src/walk.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "fd",
"rule": "clippy::expect_used",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The closure runs only on the branch where to_str returned None, so the lossy conversion necessarily contains a replacement codepoint.",
"line": 53,
"path": "crates/cli/src/pattern.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::expect_used",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The count is the size of an ngram set built from the compile-time flag table, which cannot approach u32::MAX.",
"line": 455,
"path": "crates/core/flags/parse.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::expect_used",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "SummaryBuilder::build allocates Stats whenever kind.requires_stats(), which holds for CountMatches, so the option is Some by construction of this sink.",
"line": 767,
"path": "crates/printer/src/summary.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::expect_used",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "slice_at comes from SIZE.checked_sub on the line above, whose None arm diverges, and buf is [0; SIZE], so the range is in bounds.",
"line": 67,
"path": "src/buf/buf_impl.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "chunk()[0] follows the remaining()<1 early return and Buf's contract makes chunk non-empty while remaining()>0.",
"line": 1216,
"path": "src/buf/buf_impl.rs",
"population": "healthy",
"provenance": "agent",
"repository": "bytes",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "cnt is usize::min(src.len(), dst.len()), so dst[..cnt] and src[cnt..] are bounded by construction.",
"line": 258,
"path": "src/buf/buf_mut.rs",
"population": "healthy",
"provenance": "agent",
"repository": "bytes",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "chunk()[0] is guarded by the has_remaining() early return and the Buf contract that chunk is non-empty then.",
"line": 115,
"path": "src/buf/iter.rs",
"population": "healthy",
"provenance": "agent",
"repository": "bytes",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "this is the Index/IndexMut implementation for UninitSlice, where panicking on an out-of-range index is the documented contract of the trait.",
"line": 243,
"path": "src/buf/uninit_slice.rs",
"population": "healthy",
"provenance": "agent",
"repository": "bytes",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "pre_args[1..] runs after Command::new(&pre_args[0]) already established the slice is non-empty.",
"line": 172,
"path": "src/exec/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "CP1047 and CP437 are 256-entry codepage tables indexed by a u8 widened to usize, so the index cannot exceed 255.",
"line": 114,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "agent",
"repository": "hexyl",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "byte_hex_panel is a 256-entry per-byte table indexed by b as usize with b: u8, structurally in range.",
"line": 558,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "agent",
"repository": "hexyl",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "idx iterates 0..LOG_LEVEL_NAMES.len(), so the index is in bounds by construction of the loop.",
"line": 670,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "log",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "HiArgs maintains the invariant that paths is non-empty, a default search path being inserted during construction, so paths[0] is established by the module.",
"line": 875,
"path": "crates/core/flags/hiargs.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "slice[0] and slice[1] sit in the match arm for slice.len() == 2, which fixes the bound.",
"line": 472,
"path": "crates/core/flags/parse.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "the identical slice self.tokens[start..] was already iterated earlier in the same function, so the range is established by the surrounding code.",
"line": 551,
"path": "crates/globset/src/glob.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "i comes from the pattern set produced over the regexes built from map, whose lengths the MultiStrategyBuilder keeps in lockstep as a module invariant.",
"line": 1009,
"path": "crates/globset/src/lib.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "i comes from matches_candidate_into over the same glob set, whose indices are glob indices by the builder's invariant.",
"line": 272,
"path": "crates/ignore/src/gitignore.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "path[0] is short-circuited behind path.len() == 1 in the same condition.",
"line": 122,
"path": "crates/ignore/src/pathutil.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "parts[0] and parts[1] are inside the match arm for parts.len() == 2.",
"line": 447,
"path": "crates/ignore/src/types.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "i is the offset memchr just returned for this slice, so it is a valid index into it.",
"line": 28,
"path": "crates/matcher/src/interpolate.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "cap_end starts at i and is only advanced while replacement.get(cap_end) succeeds, so i..cap_end is within bounds by construction.",
"line": 119,
"path": "crates/matcher/src/interpolate.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "the trait documentation states haystack must be the same slice searched to produce the capture ranges, an explicit API invariant.",
"line": 454,
"path": "crates/matcher/src/lib.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "pieces[1] is guarded by the pieces.len() <= 1 early return above it.",
"line": 320,
"path": "crates/printer/src/color.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "HEX has 16 entries and the index is byte >> 4, which is at most 15.",
"line": 921,
"path": "crates/printer/src/hyperlink/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "rmatches is the replacement match list constructed parallel to matches by the caller, an invariant this module maintains for SubMatches::new.",
"line": 876,
"path": "crates/printer/src/json.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "ALPHABET has 64 entries and the index is masked with & 0b111_111, capping it at 63.",
"line": 247,
"path": "crates/printer/src/jsont.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "same masked & 0b111_111 index into the 64-entry ALPHABET table.",
"line": 268,
"path": "crates/printer/src/jsont.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "midx advances only while midx + 1 < matches.len(), and the sink_slow_multi_line family already indexes matches[0] unguarded because this path runs only for a sunk line that carries matches.",
"line": 1085,
"path": "crates/printer/src/standard.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "line is a sunk line range within bytes and upto is min(line.end(), m.end()), so the slice stays inside the established range.",
"line": 1153,
"path": "crates/printer/src/standard.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "line.with_end(upto) uses upto = min(line.end(), m.start()) on a line range the sink guarantees lies within bytes.",
"line": 1276,
"path": "crates/printer/src/standard.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "buf has MAX_U64_LEN cells and a u64 has at most that many decimal digits, so i cannot underflow before n reaches 0.",
"line": 433,
"path": "crates/printer/src/util.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "the documented contract is that line is a bounds range into buf, and every caller passes searcher-produced line ranges over that buf.",
"line": 541,
"path": "crates/printer/src/util.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "self.end <= buf.len() is a struct invariant of the line buffer, reasserted after every resize.",
"line": 368,
"path": "crates/searcher/src/line_buffer.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "bytes[0] is guarded by the immediately preceding while bytes.get(0) == Some(&src) check.",
"line": 547,
"path": "crates/searcher/src/line_buffer.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "locate's contract is that range addresses bytes, and bytes[..range.start()] is bounded by that documented caller invariant.",
"line": 137,
"path": "crates/searcher/src/lines.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The range is bounded by the searcher's line-visiting invariant, last_line_visited <= upto <= buf.len(), which the same function relies on a few lines above; get would create an error path for a state only a bug can produce.",
"line": 254,
"path": "crates/searcher/src/searcher/core.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "line comes from lines::locate over buf, which clamps its end to buf.len(), so buf[line] is in range.",
"line": 511,
"path": "crates/searcher/src/searcher/core.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "core.pos() <= buffer().len() is the searcher-core invariant this assert exists to state, maintained by roll and consume.",
"line": 59,
"path": "crates/searcher/src/searcher/glue.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "position_of_index receives i derived from self.index, which the parser keeps at or below slice.len() throughout.",
"line": 422,
"path": "src/read.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "start is a snapshot of self.index which only grows, and index < slice.len() is checked before the slice.",
"line": 517,
"path": "src/read.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "self.index <= slice.len() is the parser invariant, skip_to_escape capping it at len, so the RangeFrom slice is valid and the slice pattern handles the short case.",
"line": 622,
"path": "src/read.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "HEX0 and HEX1 are [i16; 256] indexed by a u8 widened to usize.",
"line": 1079,
"path": "src/read.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "the field indices in display_implied_bounds were recorded from this same input's fields during attribute parsing, and the transparent branch's fields[0] is validated to exist by thiserror's valid pass.",
"line": 149,
"path": "impl/src/expand.rs",
"population": "healthy",
"provenance": "agent",
"repository": "thiserror",
"rule": "clippy::indexing_slicing",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The compare-exchange lost the race, so the buffer now belongs to the winning Shared; forgetting the moved-out value suppresses Shared::drop, which would dealloc a buffer this thread no longer owns, while the Box still frees its own allocation.",
"line": 1532,
"path": "src/bytes.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "clippy::mem_forget",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The trait is unsafe because an implementor must guarantee that chunk_mut exposes writable capacity and that remaining_mut does not overstate it, and the trait documentation never states that obligation: the only # Safety section of the file sits on advance_mut, which binds the caller rather than the implementor.",
"line": 30,
"path": "src/buf/buf_mut.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "clippy::missing_safety_doc",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The prose states one of the two obligations, that the caller initialize the data, and omits the other: len <= cap is only debug_assert!ed, so a release caller can set a length past the capacity and expose uninitialized memory through the slice. The contract is both unsectioned and partial.",
"line": 544,
"path": "src/bytes_mut.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "clippy::missing_safety_doc",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "reserve mirrors Vec::reserve, whose documented contract is to panic on capacity overflow; the non-allocating path one line above already returns false instead.",
"line": 700,
"path": "src/bytes_mut.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "clippy::panic",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "panic_advance is a cold diverging helper whose only purpose is to format the message of the panicking API; the fallible twin is published next to it as try_get with TryGetError.",
"line": 207,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "clippy::panic",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Reports a build configuration mistake, key-values passed without the kv feature; nothing here is an input the caller can recover from at runtime.",
"line": 67,
"path": "src/__private_api.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "log",
"rule": "clippy::panic",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "NoError is the error type of infallible matchers and its Display is documented, three lines above, as panicking.",
"line": 507,
"path": "crates/matcher/src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::panic",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "std::ops::Index requires panicking on an absent index, and serde_json publishes Value::get for the fallible path.",
"line": 72,
"path": "src/value/index.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "clippy::panic",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The assertion states the parser contract that a switch flag receives a switch value; reporting it as Err would surface an internal bug as a user-facing error.",
"line": 669,
"path": "crates/core/flags/defs.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::panic_in_result_fn",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Same shape as the rest of the flag table: the assertion guards the parser contract, not the argument being parsed.",
"line": 3629,
"path": "crates/core/flags/defs.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::panic_in_result_fn",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "assert! rules out an affirmative switch that this flag definition never declares; the value branch below is the only reachable user input path.",
"line": 5530,
"path": "crates/core/flags/defs.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::panic_in_result_fn",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The assertion restates that --vimgrep declares no negation, a property of the flag table rather than of the parsed argument.",
"line": 7387,
"path": "crates/core/flags/defs.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::panic_in_result_fn",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Display for NoError returns fmt::Result only because the trait demands it; the type is documented as never being formatted.",
"line": 506,
"path": "crates/matcher/src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::panic_in_result_fn",
"verdict": "false_positive"
},
{
"context": "build_script",
"justification": "stderr is the channel Cargo reads build script diagnostics from, and a build script has no caller-provided writer.",
"line": 105,
"path": "build.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "clippy::print_stderr",
"verdict": "false_positive"
},
{
"context": "build_script",
"justification": "Cleanup diagnostic of a build script, emitted on the only channel Cargo offers it.",
"line": 167,
"path": "build.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "clippy::print_stderr",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "This is fd's single centralised error printer in a binary crate: hard-wiring stderr in one named function is the abstraction the rule asks for, not the absence of one.",
"line": 2,
"path": "src/error.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "fd",
"rule": "clippy::print_stderr",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Emitted from fn main immediately before exit(1); the entry point is exactly where a binary is expected to choose the output channel.",
"line": 461,
"path": "src/main.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "hexyl",
"rule": "clippy::print_stderr",
"verdict": "false_positive"
},
{
"context": "build_script",
"justification": "Cleanup diagnostic of a build script, on Cargo's channel.",
"line": 171,
"path": "build.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "thiserror",
"rule": "clippy::print_stderr",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The body only calls len and reverses a subrange, both available on a mutable slice, and the single caller passes &mut buf on a local Vec, which coerces without a change at the call site. Taking &mut [u8] widens the signature at no cost.",
"line": 588,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "hexyl",
"rule": "clippy::ptr_arg",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "Arc<PathBuf> costs two indirections to reach the path bytes; the field is set once at construction, so Arc<Path> applies directly.",
"line": 111,
"path": "crates/ignore/src/dir.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::rc_buffer",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "explicit_ignores is filled by the builder and only read afterwards, so Arc<[Gitignore]> removes the Vec header and one dereference per access.",
"line": 149,
"path": "crates/ignore/src/dir.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::rc_buffer",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "custom_ignore_filenames is never mutated behind the Arc, so Arc<[OsString]> applies without changing the sharing model.",
"line": 151,
"path": "crates/ignore/src/dir.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::rc_buffer",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The separator is assembled once in the builder and shared read-only across printers; Arc<[u8]> avoids one allocation and one indirection on a per-match path.",
"line": 53,
"path": "crates/printer/src/standard.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::rc_buffer",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "Same field family as separator_field_match, built once and read on every context line; Arc<[u8]> applies identically.",
"line": 54,
"path": "crates/printer/src/standard.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::rc_buffer",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The vector holds usize indices and is deduplicated on the next line, so stability carries no meaning; sort_unstable drops the auxiliary allocation on a per-candidate path.",
"line": 454,
"path": "crates/globset/src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::stable_sort_primitive",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "other[..] is the full range of the String, which cannot fall inside a UTF-8 character.",
"line": 862,
"path": "src/bytes.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "other[..] is a full-range slice of the String and can never split a character.",
"line": 1745,
"path": "src/bytes_mut.rs",
"population": "healthy",
"provenance": "agent",
"repository": "bytes",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "&s[1..] follows starts_with('!'), a one-byte ASCII prefix, so index 1 is a boundary.",
"line": 91,
"path": "src/filter/owner.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "[..] is a full-range slice used only to coerce the lowercased String to &str.",
"line": 46,
"path": "src/filter/size.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "m.start() plus BRACE_LEN comes from an AhoCorasick match of ASCII patterns over the same string.",
"line": 73,
"path": "src/fmt/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "m.end() is an AhoCorasick match boundary on the same string.",
"line": 74,
"path": "src/fmt/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "m.end() is an AhoCorasick match boundary on the same string.",
"line": 76,
"path": "src/fmt/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "m.start() is an AhoCorasick match boundary on the same string.",
"line": 77,
"path": "src/fmt/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "m is an aho-corasick match over the same string whose patterns are all ASCII braces, so its end offset is a character boundary.",
"line": 82,
"path": "src/fmt/mod.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "m.end() is an AhoCorasick match boundary on the same string.",
"line": 88,
"path": "src/fmt/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "m.end() plus BRACE_LEN steps past the one-byte ASCII closing brace at the match end.",
"line": 89,
"path": "src/fmt/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "offset starts as the byte length of the parent prefix of the same lossy string and advances by c.len_utf8() per char.",
"line": 96,
"path": "src/output.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "the same offset, a prefix length advanced by len_utf8, so it sits on a character boundary.",
"line": 106,
"path": "src/output.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "the same boundary-maintained offset as the two slices above it.",
"line": 122,
"path": "src/output.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "digits_end counts leading ASCII digit bytes, so it lands on a character boundary.",
"line": 82,
"path": "crates/cli/src/human.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "digits_end is the same ASCII-digit prefix length as the slice above it.",
"line": 89,
"path": "crates/cli/src/human.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "offset comes from str::find on the same string, which returns a character boundary.",
"line": 26,
"path": "crates/core/flags/doc/mod.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "offset comes from doc.find(&tag_prefix) on the same string.",
"line": 29,
"path": "crates/core/flags/doc/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "start is a find result plus the byte length of the found ASCII tag prefix, and end is a find result for the closing brace.",
"line": 32,
"path": "crates/core/flags/doc/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "start and end both derive from find results over the same string.",
"line": 34,
"path": "crates/core/flags/doc/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "a component suffix starts with the ASCII slash by MatchStrategy's documented invariant, so suffix[1..] is boundary-safe.",
"line": 498,
"path": "crates/globset/src/lib.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "the slice starts at the length of the ASCII literal the preceding starts_with(\"gitdir: \") confirmed.",
"line": 1081,
"path": "crates/ignore/src/dir.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "line[1..] follows starts_with of a two-ASCII-byte escape, skipping the one-byte backslash.",
"line": 483,
"path": "crates/ignore/src/gitignore.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "line[1..] follows starts_with(\"!\"), a one-byte ASCII prefix.",
"line": 488,
"path": "crates/ignore/src/gitignore.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The slice skips a leading '/' whose presence was checked with starts_with on the line above, so index 1 is a boundary.",
"line": 495,
"path": "crates/ignore/src/gitignore.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "len minus one is a boundary because the preceding check saw the last byte is the ASCII slash.",
"line": 503,
"path": "crates/ignore/src/gitignore.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "len minus one is a boundary because the preceding check saw the last byte is the ASCII backslash.",
"line": 507,
"path": "crates/ignore/src/gitignore.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "this Index<Match> impl deliberately mirrors std slice indexing, where panicking on an invalid range is the operator's contract and the Match offsets come from matchers over the same haystack.",
"line": 179,
"path": "crates/matcher/src/lib.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "end_of_line starts at an rfind result plus an ASCII literal length and advances one byte only while the next byte is an ASCII digit.",
"line": 503,
"path": "src/error.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "end_of_line was advanced byte by byte only across ASCII digits from an rfind-derived boundary.",
"line": 507,
"path": "src/error.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "end_of_column advances one byte per confirmed ASCII digit from a boundary fixed by the starts_with check on the column literal.",
"line": 514,
"path": "src/error.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "start_of_line and end_of_line both sit on boundaries established by rfind, ASCII literal lengths and digit checks.",
"line": 523,
"path": "src/error.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The offsets were produced by scanning the ASCII digits of a message this module formatted itself.",
"line": 527,
"path": "src/error.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "self[..] is a full-range slice of the String used only for deref to &str.",
"line": 109,
"path": "src/value/index.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "self[..] is a full-range slice and cannot split a character.",
"line": 112,
"path": "src/value/index.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "self[..] is a full-range slice and cannot split a character.",
"line": 115,
"path": "src/value/index.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "brace plus one steps past the one-byte ASCII opening brace located by read.find.",
"line": 44,
"path": "impl/src/fmt.rs",
"population": "healthy",
"provenance": "agent",
"repository": "thiserror",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "read[brace+1..] uses the same find boundary plus one ASCII byte.",
"line": 45,
"path": "impl/src/fmt.rs",
"population": "healthy",
"provenance": "agent",
"repository": "thiserror",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "read[1..] follows starts_with of the opening brace, a one-byte ASCII prefix.",
"line": 48,
"path": "impl/src/fmt.rs",
"population": "healthy",
"provenance": "agent",
"repository": "thiserror",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "end_spec comes from read.find for the closing brace on the same string.",
"line": 94,
"path": "impl/src/fmt.rs",
"population": "healthy",
"provenance": "agent",
"repository": "thiserror",
"rule": "clippy::string_slice",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "PrinterBuilder already is the configuration struct the lint asks for: it holds the same ten options and build() is the single caller of this private constructor, which the scan sees because the three other call sites are tests. The public boundary never exposes the eleven positions.",
"line": 320,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "hexyl",
"rule": "clippy::too_many_arguments",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A bare unreachable! with no message, enumerating the ids of a pattern list built 140 lines away; adding a placeholder to that list turns a compile-time omission into a runtime abort.",
"line": 209,
"path": "src/fmt/mod.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "fd",
"rule": "clippy::unreachable",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The flag declares that it takes a value, so the parser never hands it an affirmative switch, and the message states that invariant.",
"line": 1634,
"path": "crates/core/flags/defs.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::unreachable",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The man page generator is documented as required to panic on malformed markup; its input is ripgrep's own source, not user data.",
"line": 80,
"path": "crates/core/flags/doc/man.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::unreachable",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "unwrap_value documents four lines above that calling it on a switch is a bug and that panicking is the intended response.",
"line": 297,
"path": "crates/core/flags/mod.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::unreachable",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The Io code was destructured away by the if let three lines above, so classify cannot return the Io category in this branch.",
"line": 222,
"path": "src/error.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "clippy::unreachable",
"verdict": "false_positive"
},
{
"context": "build_script",
"justification": "The iterator ends with chain(iter::once(rustc)) on the line above, so next() always yields a value.",
"line": 117,
"path": "build.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "clippy::unwrap_used",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Every Level discriminant is a valid LevelFilter, so from_usize is total over the values this method can pass it.",
"line": 555,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "log",
"rule": "clippy::unwrap_used",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The branch is entered only when branches is neither empty nor longer than one, so pop yields the single element.",
"line": 602,
"path": "crates/globset/src/glob.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::unwrap_used",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Match::offset carries a Panics section stating that an overflowing offset panics; the behaviour is the published contract of the method.",
"line": 140,
"path": "crates/matcher/src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::unwrap_used",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Both sequences were shown finite by the two min_literal_len guards above, as the comment on the previous line states.",
"line": 613,
"path": "crates/regex/src/literal.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "clippy::unwrap_used",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The lockfile resolves bitflags 1.3.2 and 2.11.0 side by side; both are compiled into the binary and their types do not interoperate.",
"line": 0,
"path": "Cargo.lock",
"population": "healthy",
"provenance": "unrecorded",
"repository": "fd",
"rule": "rust_doctor::cargo::duplicate_major_versions",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "fd tunes its release profile for the shipped binary, setting lto, strip and codegen-units, and leaves overflow checks at Cargo's default of false. Nothing in the manifest states the omission as a decision, the tool spends its time in directory traversal rather than in integer arithmetic, and a wrap in a size or depth computation would be silent, so enabling the check is the change the finding asks for.",
"line": 89,
"path": "Cargo.toml",
"population": "healthy",
"provenance": "unrecorded",
"repository": "fd",
"rule": "rust_doctor::cargo::unchecked_release_overflow",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "hexyl computes byte offsets, column widths and group boundaries from the size of the input it is given, and its release profile sets only lto and codegen-units. A wrap there corrupts the rendering rather than failing, and the profile carries no sign that the absence of the check was weighed, so the one-line change stands.",
"line": 32,
"path": "Cargo.toml",
"population": "healthy",
"provenance": "unrecorded",
"repository": "hexyl",
"rule": "rust_doctor::cargo::unchecked_release_overflow",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "ripgrep's own manifest sets overflow-checks = false in [profile.release-lto], the profile its distributed binaries are built with, so the absence under [profile.release] is a decision the project already took knowingly for a search tool whose hot loops are index arithmetic. The rule restates a tradeoff its reader has settled, which is the case its help text asks the reader to decline.",
"line": 74,
"path": "Cargo.toml",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::cargo::unchecked_release_overflow",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A flat boolean filter enumeration; the branch count is the clause count and the flat chain is the clearest available form.",
"line": 21,
"path": "src/filetypes.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "fd",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "construct_config is a flat derivation of independent Config fields feeding one struct literal, with time constraints and command already extracted into helpers, so the remaining branch count is the clearest form.",
"line": 195,
"path": "src/main.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "poll is a state machine over the receiver result and buffering mode whose arms belong together; splitting would scatter one drain decision.",
"line": 197,
"path": "src/walk.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "the spawn_senders closure mixes entry error normalization with a flat run of independent filters (pattern, extension, file type, owner, size, time) that could each be lifted into a named predicate without dispersing any single decision.",
"line": 442,
"path": "src/walk.rs",
"population": "healthy",
"provenance": "agent",
"repository": "fd",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "print_byte dispatches over the Squeezer state plus panel-boundary separators as one layout decision; splitting would scatter the column formatting.",
"line": 529,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "agent",
"repository": "hexyl",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "print_all mixes a nested read-refill loop, squeeze detection, line printing, the empty-input ending, and the incomplete-last-line ending, each a separable concern with clean inputs.",
"line": 613,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "agent",
"repository": "hexyl",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "A 211-line run function at cyclomatic 52 parsing options, opening inputs and configuring output in one body; decomposition is feasible and would be accepted.",
"line": 240,
"path": "src/main.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "hexyl",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "from_low_args is already decomposed into Patterns, Paths and glob helpers, and what remains is flat derivation of independent HiArgs fields feeding one constructor.",
"line": 109,
"path": "crates/core/flags/hiargs.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "search_parallel is one linear orchestration of setup, a worker closure whose branches are per-file error handling, and final stats; splitting would scatter the single search flow.",
"line": 153,
"path": "crates/core/main.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "tokens_to_regex is an exhaustive match over the closed Token enum, a compiler dispatch that is the clearest form.",
"line": 692,
"path": "crates/globset/src/glob.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "parse_star is one lookahead case analysis deciding how a double-star token folds; the branches are a single parsing decision that would be scattered by splitting.",
"line": 901,
"path": "crates/globset/src/glob.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "GlobSet::new is a match over the closed MatchStrategy enum plus a flat run of is-empty checks populating strategies, both the clearest form.",
"line": 458,
"path": "crates/globset/src/lib.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Cognitive complexity 47 from nested matcher-precedence loops; naming the precedence stages would genuinely help a reader.",
"line": 546,
"path": "crates/ignore/src/dir.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "Walk::next is an iterator state machine over WalkEvent variants whose Exit, Dir and File arms belong together around the shared ignore stack.",
"line": 1135,
"path": "crates/ignore/src/walk.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "visit is linear orchestration where the branch count comes from per-root-path error reporting forced by the visitor protocol, not from mixed responsibilities.",
"line": 1376,
"path": "crates/ignore/src/walk.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "run_one is an ordered traversal protocol of visit check, same-filesystem, readdir and descend, where each branch feeds the next; extraction would disperse one decision.",
"line": 1703,
"path": "crates/ignore/src/walk.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "from_str is a character-level state machine over a local four-state enum, and the arms are the state machine itself.",
"line": 102,
"path": "crates/printer/src/hyperlink/mod.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "finish is a match over the closed SummaryKind enum plus one documented binary-quit special case, the clearest form for the sink contract.",
"line": 710,
"path": "crates/printer/src/summary.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "check is a recursive exhaustive match over the closed HirKind enum, a canonical AST walk.",
"line": 7,
"path": "crates/regex/src/ban.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "An exhaustive match over HirKind; the branch count is the case analysis the domain requires and cognitive complexity stays low.",
"line": 51,
"path": "crates/regex/src/strip.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "match_by_line_slow is one line loop whose matched, after-context and passthru branches are a single sink decision per line, coupled by shared position state.",
"line": 330,
"path": "crates/searcher/src/searcher/core.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "match_by_line_fast is a tight search loop whose invert, context and stop branches share position and match state; splitting would scatter the fast-path decision.",
"line": 385,
"path": "crates/searcher/src/searcher/core.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "MultiLine::run chains begin, binary detection, the sink loop and trailing context through one keepgoing flag; the branches are one sequential protocol.",
"line": 166,
"path": "crates/searcher/src/searcher/glue.rs",
"population": "healthy",
"provenance": "agent",
"repository": "ripgrep",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "ignore_value is a hand-rolled stack machine skipping a JSON value, where the byte dispatch and frame handling are one inseparable parsing decision.",
"line": 1100,
"path": "src/de.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "deserialize_any is a parser dispatch table over the first byte of a JSON value, the clearest form.",
"line": 1390,
"path": "src/de.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "ErrorCode fmt is a flat exhaustive Display match over a closed enum with cognitive complexity 1.",
"line": 350,
"path": "src/error.rs",
"population": "healthy",
"provenance": "agent",
"repository": "serde_json",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "UTF-16 surrogate pairing is essential complexity in a tight documented loop; splitting it would obscure the algorithm.",
"line": 897,
"path": "src/read.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "parse_token_expr's branches enumerate token kinds in one lookahead decision inherent to the token stream grammar.",
"line": 196,
"path": "impl/src/attr.rs",
"population": "healthy",
"provenance": "agent",
"repository": "thiserror",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "expand_shorthand is a single-pass scanner where member parsing, trait-suffix mapping and binding synthesis share the read cursor and per-placeholder state, so splitting would scatter one lexing decision across helpers threaded with mutable state.",
"line": 16,
"path": "impl/src/fmt.rs",
"population": "healthy",
"provenance": "agent",
"repository": "thiserror",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "scan_expr is the interpreter of a table-driven state machine whose match over the closed Input and Action enums is the table itself, the clearest available form.",
"line": 192,
"path": "impl/src/scan_expr.rs",
"population": "healthy",
"provenance": "agent",
"repository": "thiserror",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "check_field_attrs is a flat sequence of independent validation cases, each already minimal, so extraction would only rename the cases.",
"line": 151,
"path": "impl/src/valid.rs",
"population": "healthy",
"provenance": "agent",
"repository": "thiserror",
"rule": "rust_doctor::structure::complex_function",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The anchor is the build script's own file-wide allow of one pedantic formatting lint, and the family also names tests/test_ffi.rs. Neither file is shipped, but the two members disagree on their Cargo target kind so no unanimous context is stamped and the family weighs on the score. The exemption is right where it sits, and its scope is the file because the file is one hundred lines of build probe.",
"line": 1,
"path": "build.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "rust_doctor::structure::crate_level_allow",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "#![allow(unknown_lints, mismatched_lifetime_syntaxes)] is a toolchain-compatibility pair, not a judgment about a call site: it silences a rustc lint that does not exist on the older compilers the crate supports, and unknown_lints is what keeps those compilers from rejecting the name. It has no item to be scoped to, and narrowing it is not a change anyone would make.",
"line": 237,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "rust_doctor::structure::crate_level_allow",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The block is serde_json's documented pedantic policy: its groups carry the reason inline, 'integer and float ser/de requires these sorts of casts', 'correctly used', 'things are often more readable this way'. The intent is written where no detector reads it, and scoping the cast exemptions to items would repeat them across the whole serializer.",
"line": 327,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::crate_level_allow",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The same unknown_lints and mismatched_lifetime_syntaxes compatibility pair as anyhow's, at the root of a no_std library that supports older compilers. It is about the toolchain rather than about any item of the crate.",
"line": 370,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::crate_level_allow",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The same compatibility pair again, at the root of the procedural macro crate. Three of the five sampled sites are this one line, which is what a rule judging scope rather than justification finds on healthy public code.",
"line": 19,
"path": "impl/src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "thiserror",
"rule": "rust_doctor::structure::crate_level_allow",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "put_uint_le and put_int_le carry byte-identical four-statement bodies; a private helper over the eight-byte array serves both without touching the public trait methods.",
"line": 971,
"path": "src/buf/buf_mut.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "advance_mut is copied verbatim, explanatory comment included, into the BufMut impls for &mut [u8] and &mut [MaybeUninit<u8>]; take and split_at_mut are generic, so one helper serves both.",
"line": 1496,
"path": "src/buf/buf_mut.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "release_shared is duplicated between bytes.rs and bytes_mut.rs down to its twenty-line memory-ordering comment, differing only in the counter field name; the reference-counting invariant belongs in one place.",
"line": 1541,
"path": "src/bytes.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "Parallel Visitor impls for Level and LevelFilter over a three-statement body whose only difference is the seed type; the crate writes its serde surface out for both enums deliberately.",
"line": 95,
"path": "src/serde.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "log",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Four Flag trait impls of the declarative flag table; the search mode is the erased difference and one explicit type per flag is the file's design.",
"line": 1294,
"path": "crates/core/flags/defs.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Five flag impls assigning a different field from a switch; the flag table is deliberately explicit and the impls cannot merge.",
"line": 1484,
"path": "crates/core/flags/defs.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Two separator flags parsing through their own type; the erased type alias is the whole difference.",
"line": 1812,
"path": "crates/core/flags/defs.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Three glob-collecting flags pushing onto different fields; same flag-table pattern.",
"line": 2554,
"path": "crates/core/flags/defs.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Five boolean switch flags; the assigned field is erased and the table is the design.",
"line": 4302,
"path": "crates/core/flags/defs.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "--sort and --sortr repeat the entire ten-line sort-kind parse table to differ in one boolean; a helper taking that boolean removes the copy and keeps the two flags in step.",
"line": 6358,
"path": "crates/core/flags/defs.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The Match and Context serializers list the same five fields in the same order, differing only in the struct-name literal; one macro or shared function serves both wire messages.",
"line": 95,
"path": "crates/printer/src/jsont.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "extract_class_unicode and extract_class_bytes walk sibling class types that share no trait; the eight-line repetition is what the type system leaves behind.",
"line": 317,
"path": "crates/regex/src/literal.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "sink_before_context and sink_other_context repeat a twenty-five-line scaffold differing only in SinkContextKind; a kind parameter removes the second copy.",
"line": 556,
"path": "crates/searcher/src/searcher/core.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "deserialize_seq and deserialize_map repeat a twenty-five-line peek, recurse and end scaffold differing in one byte literal and the visitor call; the crate already macros comparable families.",
"line": 1735,
"path": "src/de.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "Two visitor impls over a three-statement body whose only difference is the seed type; parallel impls for the borrowed and boxed forms.",
"line": 326,
"path": "src/raw.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Eleven serialize_* methods repeat the same begin_string, write, end_string scaffold; a macro parameterized on the writer call serves all eleven.",
"line": 834,
"path": "src/ser.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "Twelve write_i* and write_u* formatter methods repeat the same three-statement itoa scaffold; this is the canonical macro family.",
"line": 1565,
"path": "src/ser.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "end_array and end_object repeat a four-statement scaffold differing in one byte literal.",
"line": 1984,
"path": "src/ser.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "to_string and to_string_pretty repeat the same body including the unsafe from_utf8_unchecked block and its justification comment; a shared helper keeps that unsafe reasoning in one place.",
"line": 2238,
"path": "src/ser.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The same twenty-five-line deserialize_enum body in the owned and borrowed map deserializers; a generic helper removes the copy without touching the impls.",
"line": 234,
"path": "src/value/de.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "The Sender and Receiver Clone impls repeat the same overflow guard around a relaxed fetch_add, comment included; a helper keeps that safety-relevant invariant in one place.",
"line": 569,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "async-channel",
"rule": "rust_doctor::structure::near_duplicate_function_body",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "Two cfg-gated implementations of ptr_map, one for miri and one for the rest; only one ever compiles and the pair is the configuration, not a clone.",
"line": 1573,
"path": "src/bytes.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "rust_doctor::structure::near_duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Prefix and suffix matching strategies whose differing predicate is the entire semantics of each.",
"line": 825,
"path": "crates/globset/src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::near_duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "is_good and is_really_good share three guard lines then diverge; the second is a stricter variant, not a copy.",
"line": 550,
"path": "crates/regex/src/literal.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::near_duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Shift helpers differing in direction and in overflow handling; the operator is the meaning.",
"line": 8,
"path": "src/lexical/shift.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::near_duplicate_function_body",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A cohesive 1060-line file holding one type's implementation, deliberately organized as a single unit just past the threshold.",
"line": 1,
"path": "src/error.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "rust_doctor::structure::oversized_unit",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A single 183-line function whose two allocation-kind branches are independent; the inlining comment justifies its separation from reserve, not its internal length.",
"line": 624,
"path": "src/bytes_mut.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "bytes",
"rule": "rust_doctor::structure::oversized_unit",
"verdict": "true_positive"
},
{
"context": "production",
"justification": "A cohesive module whose length is dominated by its own test module, in the maintainer's deliberate single-file style.",
"line": 1,
"path": "crates/globset/src/glob.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::oversized_unit",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "An impl block's length is its method count; splitting one type's impl into several blocks moves lines without reducing anything.",
"line": 884,
"path": "crates/printer/src/standard.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::oversized_unit",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A 529-line impl block whose size is the Deserializer trait's method count, which the implementer does not choose.",
"line": 1387,
"path": "src/de.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::oversized_unit",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "A deliberate opt-out of a widely disputed style lint, in a build script and a test file; the maintainer's position is public and a reason string would add nothing.",
"line": 1,
"path": "build.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "rust_doctor::structure::unreasoned_allow_attribute",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The capitalized Ok constructor deliberately mirrors Result::Ok for the documented inference case; the allow is the intended construct.",
"line": 648,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "rust_doctor::structure::unreasoned_allow_attribute",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Withholding Copy is an API-stability choice, and the crate's minimum supported Rust predates the reason argument, so the intent cannot be stated inline.",
"line": 1573,
"path": "src/lib.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "log",
"rule": "rust_doctor::structure::unreasoned_allow_attribute",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The conditional alloc import is used under some feature combinations and not others; the allow is the standard idiom for that.",
"line": 6,
"path": "src/lexical/bignum.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "serde_json",
"rule": "rust_doctor::structure::unreasoned_allow_attribute",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The Result return keeps this parser uniform with the siblings it is selected among; the wrap is deliberate.",
"line": 171,
"path": "impl/src/fmt.rs",
"population": "healthy",
"provenance": "unrecorded",
"repository": "thiserror",
"rule": "rust_doctor::structure::unreasoned_allow_attribute",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The manifest comment above the feature states it is kept as a compatibility no-op; removing it would break downstream activations.",
"line": 19,
"path": "Cargo.toml",
"population": "healthy",
"provenance": "unrecorded",
"repository": "anyhow",
"rule": "rust_doctor::structure::unreferenced_feature",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "Documented in the manifest as deprecated and a no-op kept for compatibility.",
"line": 48,
"path": "crates/globset/Cargo.toml",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::unreferenced_feature",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The manifest comment marks the feature deprecated and kept as a no-op.",
"line": 32,
"path": "crates/grep/Cargo.toml",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::unreferenced_feature",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The manifest comment marks the feature deprecated and kept as a no-op.",
"line": 44,
"path": "crates/ignore/Cargo.toml",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::unreferenced_feature",
"verdict": "false_positive"
},
{
"context": "production",
"justification": "The manifest comment marks the feature deprecated and kept as a no-op.",
"line": 31,
"path": "crates/searcher/Cargo.toml",
"population": "healthy",
"provenance": "unrecorded",
"repository": "ripgrep",
"rule": "rust_doctor::structure::unreferenced_feature",
"verdict": "false_positive"
}
],
"sampling": "Deterministic sample of up to 5 sites per rule. The population of a rule is the set of its corpus findings ordered canonically by (repository, path, line); sites sharing that identity are collapsed once. From a population of n such sites the sample takes k = min(5, n) of them, at the indices floor(i * n / k) for i in [0, k), a regular stride from the first site, so the sample follows the same distribution as the findings a user actually receives. Every sampled site was read in the pinned source with its surrounding code. The published rate is the rate of that sample, never of the unreviewed population; at k = 5 the sample resolves steps of 20 points, so it separates a rule with no observed false positive from one that has some, and cannot place a rule precisely against the 5 % threshold. Structural rules sample their production-context subpopulation, with the same stride: a family marked as a test, benchmark, example or build-script context does not weigh on the score, so the rate that decides what a structural rule costs is the rate of the families that do. rust_doctor::structure::duplicate_function_body samples k = min(20, n) of that subpopulation, because its published target is a rate at or under 5 percent and a five-site sample cannot resolve that threshold; the other structural rules sample five. The unit of a structural sample is the family or unit the diagnostic reports, read at its anchor together with its related sites. The all-context measurement of 2026-08-09, which this replaced, is recorded in docs/structural-precision-2026-08.md with its composition. Three rules were deepened on 2026-08-11, past the five-site default, because five sites resolve steps of twenty points and cannot place a rule against the threshold. clippy::indexing_slicing takes k = 40 of its 241 sites by the same stride, which contains the k = 5 stride it replaces. clippy::string_slice reviews its whole population of 40, so its rate is exact rather than sampled. rust_doctor::structure::complex_function reviews 31 of the 34 production families it observes. Every added site was judged twice by independent passes blind to each other, and the three sites where the passes disagreed are excluded from the sample and left to a human verdict rather than settled by the agent that produced them, which is why complex_function reviews 31 and not 34. Observed agreement was 35 of 35 on both Clippy rules, where the absence of variance leaves Cohen's kappa undefined and the agreement therefore says less than it appears to, and 26 of 29 on complex_function, for a kappa of 0.53.",
"trigger_verification": {
"confirmed": 575,
"findings": 575,
"method": "Mechanical: the rule's trigger is searched inside the reported span at the pinned revision. This is a guard against corrupted spans only. It cannot measure precision, because the lint that looks for a pattern always finds that pattern.",
"triggers": [
{
"evidence": "process::exit(",
"rule": "clippy::exit"
},
{
"evidence": ".expect(",
"rule": "clippy::expect_used"
},
{
"evidence": "[",
"rule": "clippy::indexing_slicing"
},
{
"evidence": "mem::forget(",
"rule": "clippy::mem_forget"
},
{
"evidence": "unsafe",
"rule": "clippy::missing_safety_doc"
},
{
"evidence": "panic!",
"rule": "clippy::panic"
},
{
"evidence": "fn ",
"rule": "clippy::panic_in_result_fn"
},
{
"evidence": "eprintln!",
"rule": "clippy::print_stderr"
},
{
"evidence": "&mut Vec<",
"rule": "clippy::ptr_arg"
},
{
"evidence": "Arc<",
"rule": "clippy::rc_buffer"
},
{
"evidence": ".sort()",
"rule": "clippy::stable_sort_primitive"
},
{
"evidence": "[",
"rule": "clippy::string_slice"
},
{
"evidence": "fn new(",
"rule": "clippy::too_many_arguments"
},
{
"evidence": "unreachable!",
"rule": "clippy::unreachable"
},
{
"evidence": ".unwrap",
"rule": "clippy::unwrap_used"
},
{
"evidence": "bitflags",
"rule": "rust_doctor::cargo::duplicate_major_versions"
},
{
"evidence": "release",
"rule": "rust_doctor::cargo::unchecked_release_overflow"
},
{
"evidence": "allow(",
"rule": "rust_doctor::structure::crate_level_allow"
},
{
"evidence": "allow(",
"rule": "rust_doctor::structure::stacked_allow_attribute"
}
]
}
},
"agent_population": {
"observations": [
{
"authoritative": true,
"commit": "6f1b99acb2f4ec2414592136c2009fe7713deec3",
"distinct": 1201,
"exit_code": 0,
"findings_digest": "a5f89be201fb1c54060a3c9ea3cb39135006079c85952857569a4690a59a0bff",
"name": "claudes-c-compiler",
"occurrences": 1741,
"outcome": "processed",
"rules": [
{
"distinct": 1,
"id": "rust_doctor::cargo::missing_lockfile",
"occurrences": 1
},
{
"distinct": 1,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"occurrences": 1
},
{
"distinct": 661,
"id": "rust_doctor::structure::complex_function",
"occurrences": 661
},
{
"distinct": 1,
"id": "rust_doctor::structure::crate_level_allow",
"occurrences": 6
},
{
"distinct": 130,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 368
},
{
"distinct": 122,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 358
},
{
"distinct": 279,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 279
},
{
"distinct": 6,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 67
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 88,
"worst_tier": "P2"
},
"status": "complete"
},
{
"authoritative": false,
"commit": "0284e33b45a69921fac85fcb95c7a1bf8759f936",
"distinct": 88,
"exit_code": 1,
"findings_digest": "bde7017f48f9f57f8611725e3af5883d58eea6eb716e94f45d1f5cce93e4f61e",
"name": "ostendo",
"occurrences": 149,
"outcome": "processed",
"rules": [
{
"distinct": 4,
"id": "rust_doctor::cargo::duplicate_major_versions",
"occurrences": 4
},
{
"distinct": 1,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"occurrences": 1
},
{
"distinct": 32,
"id": "rust_doctor::structure::complex_function",
"occurrences": 32
},
{
"distinct": 16,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 39
},
{
"distinct": 15,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 43
},
{
"distinct": 2,
"id": "rust_doctor::structure::orphan_module_file",
"occurrences": 2
},
{
"distinct": 16,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 16
},
{
"distinct": 2,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 12
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 94,
"worst_tier": "P2"
},
"status": "incomplete"
},
{
"authoritative": true,
"commit": "2be33f74d64a536ceca06deaacae11d71309474f",
"distinct": 75,
"exit_code": 0,
"findings_digest": "e0ec04d578584026fd59b77e5164083272b1eef317bd75f99636fa7db823bc12",
"name": "artifexprocal",
"occurrences": 156,
"outcome": "processed",
"rules": [
{
"distinct": 1,
"id": "rust_doctor::cargo::missing_lockfile",
"occurrences": 1
},
{
"distinct": 3,
"id": "rust_doctor::cargo::test_only_dependency",
"occurrences": 3
},
{
"distinct": 1,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"occurrences": 1
},
{
"distinct": 5,
"id": "rust_doctor::cargo::unused_dependency",
"occurrences": 5
},
{
"distinct": 9,
"id": "rust_doctor::structure::complex_function",
"occurrences": 9
},
{
"distinct": 28,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 71
},
{
"distinct": 21,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 57
},
{
"distinct": 3,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 3
},
{
"distinct": 4,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 6
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 94,
"worst_tier": "P2"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "26e92506e9e6113f233b65ff1ea1894d9efb11ea",
"distinct": 36,
"exit_code": 0,
"findings_digest": "de07826a76d10c253da936ec7eeda0d5fa397c448898359bbd9a68b498221f27",
"name": "mdr",
"occurrences": 62,
"outcome": "processed",
"rules": [
{
"distinct": 1,
"id": "rust_doctor::cargo::missing_lockfile",
"occurrences": 1
},
{
"distinct": 1,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"occurrences": 1
},
{
"distinct": 9,
"id": "rust_doctor::structure::complex_function",
"occurrences": 9
},
{
"distinct": 11,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 28
},
{
"distinct": 6,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 15
},
{
"distinct": 8,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 8
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 95,
"worst_tier": "P2"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "cd6dac93028460d761e3c5e67aaadc23c4a24af2",
"distinct": 38,
"exit_code": 0,
"findings_digest": "8c15dfcb809e5512db64659452ca558f2dd7491d4701f932451c63ce1e0d9cd2",
"name": "ralph-os",
"occurrences": 49,
"outcome": "processed",
"rules": [
{
"distinct": 1,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"occurrences": 1
},
{
"distinct": 16,
"id": "rust_doctor::structure::complex_function",
"occurrences": 16
},
{
"distinct": 2,
"id": "rust_doctor::structure::crate_level_allow",
"occurrences": 2
},
{
"distinct": 7,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 14
},
{
"distinct": 3,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 6
},
{
"distinct": 6,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 6
},
{
"distinct": 3,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 4
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 93,
"worst_tier": "P2"
},
"status": "complete"
},
{
"authoritative": false,
"commit": "4d9b33d9ab5a379425db3807d7e66c000b3a4bc6",
"distinct": 3650,
"exit_code": 1,
"findings_digest": "9e2496bd0c32880f2e3644fc98656429551f51ae90113f516e09ccd909b4f7e9",
"name": "vibesql",
"occurrences": 9984,
"outcome": "processed",
"rules": [
{
"distinct": 19,
"id": "rust_doctor::cargo::duplicate_major_versions",
"occurrences": 19
},
{
"distinct": 1,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"occurrences": 1
},
{
"distinct": 784,
"id": "rust_doctor::structure::complex_function",
"occurrences": 784
},
{
"distinct": 27,
"id": "rust_doctor::structure::crate_level_allow",
"occurrences": 79
},
{
"distinct": 1251,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 4472
},
{
"distinct": 924,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 3532
},
{
"distinct": 14,
"id": "rust_doctor::structure::orphan_module_file",
"occurrences": 14
},
{
"distinct": 580,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 580
},
{
"distinct": 2,
"id": "rust_doctor::structure::stacked_allow_attribute",
"occurrences": 4
},
{
"distinct": 46,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 497
},
{
"distinct": 2,
"id": "rust_doctor::structure::unreferenced_feature",
"occurrences": 2
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 87,
"worst_tier": "P2"
},
"status": "incomplete"
},
{
"authoritative": true,
"commit": "ff10443c652324c38d8af390e7af29d8e6560c14",
"distinct": 57,
"exit_code": 0,
"findings_digest": "2a4e73049682337f1725883c6424ec204d6664034ca3e94316ccb04d0d9def21",
"name": "syncvibe",
"occurrences": 103,
"outcome": "processed",
"rules": [
{
"distinct": 5,
"id": "rust_doctor::cargo::duplicate_major_versions",
"occurrences": 5
},
{
"distinct": 1,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"occurrences": 1
},
{
"distinct": 16,
"id": "rust_doctor::structure::complex_function",
"occurrences": 16
},
{
"distinct": 1,
"id": "rust_doctor::structure::crate_level_allow",
"occurrences": 4
},
{
"distinct": 12,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 34
},
{
"distinct": 10,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 25
},
{
"distinct": 9,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 9
},
{
"distinct": 3,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 9
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 89,
"worst_tier": "P2"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "cf32fbe5f2adee8e3d36312bbdc41f8c6c3209e8",
"distinct": 198,
"exit_code": 0,
"findings_digest": "1527fe8497c0347a1ccf72bbfd13e927b878a1a1266b6379eb7529389351d424",
"name": "coda",
"occurrences": 271,
"outcome": "processed",
"rules": [
{
"distinct": 1,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"occurrences": 1
},
{
"distinct": 82,
"id": "rust_doctor::structure::complex_function",
"occurrences": 82
},
{
"distinct": 12,
"id": "rust_doctor::structure::crate_level_allow",
"occurrences": 13
},
{
"distinct": 21,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 59
},
{
"distinct": 19,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 48
},
{
"distinct": 47,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 47
},
{
"distinct": 16,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 21
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 92,
"worst_tier": "P2"
},
"status": "complete"
}
],
"precision": [
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::arc_with_non_send_sync",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::await_holding_lock",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::await_holding_refcell_ref",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::dbg_macro",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::exit",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::expect_used",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::format_collect",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::indexing_slicing",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::large_types_passed_by_value",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::manual_memcpy",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::mem_forget",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::missing_safety_doc",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::mut_mutex_lock",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::non_send_fields_in_send_ty",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::panic",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::panic_in_result_fn",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::permissions_set_readonly_false",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::print_stderr",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::print_stdout",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::ptr_arg",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::rc_buffer",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::rc_mutex",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::redundant_allocation",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::stable_sort_primitive",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::string_slice",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::suspicious_command_arg_space",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::todo",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::too_many_arguments",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::type_complexity",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::unimplemented",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::unnecessary_to_owned",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::unreachable",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::unused_async",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::unwrap_used",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::useless_vec",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::vec_init_then_push",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::zombie_processes",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 28,
"id": "rust_doctor::cargo::duplicate_major_versions",
"provenance": [],
"reviewed": 0,
"status": "incomplete",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": 0,
"false_positives": 0,
"findings": 3,
"id": "rust_doctor::cargo::missing_lockfile",
"provenance": [
"agent"
],
"reviewed": 3,
"status": "measured",
"tier": "P2",
"true_positives": 3
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::path_dependency_outside_workspace",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::permissive_lint_table",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::permissive_rustflags",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::release_debug_symbols",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 3,
"id": "rust_doctor::cargo::test_only_dependency",
"provenance": [],
"reviewed": 2,
"status": "incomplete",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::unbounded_registry_dependency",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 8,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"provenance": [],
"reviewed": 0,
"status": "incomplete",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::unpinned_git_dependency",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 5,
"id": "rust_doctor::cargo::unused_dependency",
"provenance": [],
"reviewed": 4,
"status": "incomplete",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::repo::hardcoded_credential",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::repo::tracked_secret_file",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::repo::unignored_build_output",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::source::disabled_tls_verification",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P0",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::source::dynamic_shell_command",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P0",
"true_positives": null
},
{
"false_positive_rate_basis_points": 7000,
"false_positives": 28,
"findings": 1609,
"id": "rust_doctor::structure::complex_function",
"provenance": [
"agent"
],
"reviewed": 40,
"status": "measured",
"tier": "P3",
"true_positives": 12
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 43,
"id": "rust_doctor::structure::crate_level_allow",
"provenance": [],
"reviewed": 0,
"status": "incomplete",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 1476,
"id": "rust_doctor::structure::duplicate_function_body",
"provenance": [],
"reviewed": 0,
"status": "incomplete",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 1120,
"id": "rust_doctor::structure::near_duplicate_function_body",
"provenance": [],
"reviewed": 0,
"status": "incomplete",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": 625,
"false_positives": 1,
"findings": 16,
"id": "rust_doctor::structure::orphan_module_file",
"provenance": [
"agent"
],
"reviewed": 16,
"status": "measured",
"tier": "P3",
"true_positives": 15
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 948,
"id": "rust_doctor::structure::oversized_unit",
"provenance": [],
"reviewed": 0,
"status": "incomplete",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": 5000,
"false_positives": 1,
"findings": 2,
"id": "rust_doctor::structure::stacked_allow_attribute",
"provenance": [
"agent"
],
"reviewed": 2,
"status": "measured",
"tier": "P3",
"true_positives": 1
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 80,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"provenance": [],
"reviewed": 0,
"status": "incomplete",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 2,
"id": "rust_doctor::structure::unreferenced_feature",
"provenance": [],
"reviewed": 0,
"status": "incomplete",
"tier": "P3",
"true_positives": null
}
],
"repositories": [
{
"commit": "6f1b99acb2f4ec2414592136c2009fe7713deec3",
"marked_commits": 2575,
"marker": "Co-Authored-By: Claude",
"name": "claudes-c-compiler",
"rationale": "Anthropic's demonstration C compiler, authored by Claude Opus 4.6 with the trailer on 64 percent of 3982 commits.",
"total_commits": 3982,
"url": "https://github.com/anthropics/claudes-c-compiler.git"
},
{
"commit": "0284e33b45a69921fac85fcb95c7a1bf8759f936",
"marked_commits": 59,
"marker": "Co-Authored-By: Claude",
"name": "ostendo",
"rationale": "A display-control tool whose README and commit trailers document Claude Code authorship.",
"total_commits": 100,
"url": "https://github.com/ZoneMix/ostendo.git"
},
{
"commit": "2be33f74d64a536ceca06deaacae11d71309474f",
"marked_commits": 126,
"marker": "Co-Authored-By: Claude",
"name": "artifexprocal",
"rationale": "A generative-art project with 72 percent of its commits carrying the Claude trailer.",
"total_commits": 175,
"url": "https://github.com/danielwlee312/artifexprocal.git"
},
{
"commit": "26e92506e9e6113f233b65ff1ea1894d9efb11ea",
"marked_commits": 43,
"marker": "Co-Authored-By: Claude",
"name": "mdr",
"rationale": "A CleverCloud terminal markdown renderer built with Claude, model names in the trailers.",
"total_commits": 70,
"url": "https://github.com/CleverCloud/mdr.git"
},
{
"commit": "cd6dac93028460d761e3c5e67aaadc23c4a24af2",
"marked_commits": 56,
"marker": "Co-Authored-By: Claude",
"name": "ralph-os",
"rationale": "An operating-system experiment driven by an autonomous agent loop, attribution in every generated commit.",
"total_commits": 83,
"url": "https://github.com/schani/ralph-os.git"
},
{
"commit": "4d9b33d9ab5a379425db3807d7e66c000b3a4bc6",
"marked_commits": 3209,
"marker": "Generated with [Claude Code]",
"name": "vibesql",
"rationale": "A SQL engine grown to 700k lines by an agent, the largest agent-authored Rust tree found.",
"total_commits": 4460,
"url": "https://github.com/rjwalters/vibesql.git"
},
{
"commit": "ff10443c652324c38d8af390e7af29d8e6560c14",
"marked_commits": 142,
"marker": "Co-Authored-By: Claude",
"name": "syncvibe",
"rationale": "A sync tool with 74 percent of its commits carrying the Claude trailer.",
"total_commits": 191,
"url": "https://github.com/Curious1008/syncvibe.git"
},
{
"commit": "cf32fbe5f2adee8e3d36312bbdc41f8c6c3209e8",
"marked_commits": 1295,
"marker": "Co-Authored-By: Claude",
"name": "coda",
"rationale": "A long-running agent-built project, 2528 commits of which 1295 carry the Claude trailer.",
"total_commits": 2528,
"url": "https://github.com/adamtwiss/coda.git"
}
],
"scan_arguments": [
"--json",
"--yes",
"--rule",
"clippy::arc_with_non_send_sync=off",
"--rule",
"clippy::await_holding_lock=off",
"--rule",
"clippy::await_holding_refcell_ref=off",
"--rule",
"clippy::dbg_macro=off",
"--rule",
"clippy::exit=off",
"--rule",
"clippy::expect_used=off",
"--rule",
"clippy::format_collect=off",
"--rule",
"clippy::indexing_slicing=off",
"--rule",
"clippy::large_types_passed_by_value=off",
"--rule",
"clippy::manual_memcpy=off",
"--rule",
"clippy::mem_forget=off",
"--rule",
"clippy::missing_safety_doc=off",
"--rule",
"clippy::mut_mutex_lock=off",
"--rule",
"clippy::non_send_fields_in_send_ty=off",
"--rule",
"clippy::panic=off",
"--rule",
"clippy::panic_in_result_fn=off",
"--rule",
"clippy::permissions_set_readonly_false=off",
"--rule",
"clippy::print_stderr=off",
"--rule",
"clippy::print_stdout=off",
"--rule",
"clippy::ptr_arg=off",
"--rule",
"clippy::rc_buffer=off",
"--rule",
"clippy::rc_mutex=off",
"--rule",
"clippy::redundant_allocation=off",
"--rule",
"clippy::stable_sort_primitive=off",
"--rule",
"clippy::string_slice=off",
"--rule",
"clippy::suspicious_command_arg_space=off",
"--rule",
"clippy::todo=off",
"--rule",
"clippy::too_many_arguments=off",
"--rule",
"clippy::type_complexity=off",
"--rule",
"clippy::unimplemented=off",
"--rule",
"clippy::unnecessary_to_owned=off",
"--rule",
"clippy::unreachable=off",
"--rule",
"clippy::unused_async=off",
"--rule",
"clippy::unwrap_used=off",
"--rule",
"clippy::useless_vec=off",
"--rule",
"clippy::vec_init_then_push=off",
"--rule",
"clippy::zombie_processes=off"
],
"selection_criterion": "A repository qualifies when at least half of the commit messages reachable from its pinned revision contain its recorded marker, an exact substring such as 'Co-Authored-By: Claude' or 'Generated with [Claude Code]' that coding agents append to the commits they author. The criterion reads the git history alone, never code style, README claims or popularity, and marked_commits and total_commits are recounted mechanically from git log at the pinned revision when the corpus is replayed. The population is scanned with every Clippy rule off, because its build scripts and proc-macros are untrusted: the native detectors parse source text and compile nothing.",
"structural_density": {
"agent": {
"findings": 5296,
"lines": 988872,
"per_thousand_lines_milli": 5355
},
"healthy": {
"findings": 433,
"lines": 122044,
"per_thousand_lines_milli": 3547
},
"ratio_milli": 1509,
"refutes_density_assumption": false
}
},
"artifact": "rust-doctor-score-credibility-corpus",
"catalog": [
{
"default_level": "warn",
"id": "clippy::arc_with_non_send_sync",
"tier": "P1"
},
{
"default_level": "warn",
"id": "clippy::await_holding_lock",
"tier": "P1"
},
{
"default_level": "warn",
"id": "clippy::await_holding_refcell_ref",
"tier": "P1"
},
{
"default_level": "warn",
"id": "clippy::dbg_macro",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::exit",
"tier": "P2"
},
{
"default_level": "warn",
"id": "clippy::expect_used",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::format_collect",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::indexing_slicing",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::large_types_passed_by_value",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::manual_memcpy",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::mem_forget",
"tier": "P2"
},
{
"default_level": "warn",
"id": "clippy::missing_safety_doc",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::mut_mutex_lock",
"tier": "P2"
},
{
"default_level": "warn",
"id": "clippy::non_send_fields_in_send_ty",
"tier": "P1"
},
{
"default_level": "warn",
"id": "clippy::panic",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::panic_in_result_fn",
"tier": "P2"
},
{
"default_level": "warn",
"id": "clippy::permissions_set_readonly_false",
"tier": "P1"
},
{
"default_level": "warn",
"id": "clippy::print_stderr",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::print_stdout",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::ptr_arg",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::rc_buffer",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::rc_mutex",
"tier": "P2"
},
{
"default_level": "warn",
"id": "clippy::redundant_allocation",
"tier": "P2"
},
{
"default_level": "warn",
"id": "clippy::stable_sort_primitive",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::string_slice",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::suspicious_command_arg_space",
"tier": "P2"
},
{
"default_level": "warn",
"id": "clippy::todo",
"tier": "P2"
},
{
"default_level": "warn",
"id": "clippy::too_many_arguments",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::type_complexity",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::unimplemented",
"tier": "P1"
},
{
"default_level": "warn",
"id": "clippy::unnecessary_to_owned",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::unreachable",
"tier": "P2"
},
{
"default_level": "warn",
"id": "clippy::unused_async",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::unwrap_used",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::useless_vec",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::vec_init_then_push",
"tier": "P3"
},
{
"default_level": "warn",
"id": "clippy::zombie_processes",
"tier": "P2"
},
{
"default_level": "warn",
"id": "rust_doctor::cargo::duplicate_major_versions",
"tier": "P2"
},
{
"default_level": "warn",
"id": "rust_doctor::cargo::missing_lockfile",
"tier": "P2"
},
{
"default_level": "warn",
"id": "rust_doctor::cargo::path_dependency_outside_workspace",
"tier": "P1"
},
{
"default_level": "warn",
"id": "rust_doctor::cargo::permissive_lint_table",
"tier": "P2"
},
{
"default_level": "warn",
"id": "rust_doctor::cargo::permissive_rustflags",
"tier": "P2"
},
{
"default_level": "warn",
"id": "rust_doctor::cargo::release_debug_symbols",
"tier": "P3"
},
{
"default_level": "warn",
"id": "rust_doctor::cargo::test_only_dependency",
"tier": "P2"
},
{
"default_level": "warn",
"id": "rust_doctor::cargo::unbounded_registry_dependency",
"tier": "P3"
},
{
"default_level": "warn",
"id": "rust_doctor::cargo::unchecked_release_overflow",
"tier": "P3"
},
{
"default_level": "warn",
"id": "rust_doctor::cargo::unpinned_git_dependency",
"tier": "P1"
},
{
"default_level": "warn",
"id": "rust_doctor::cargo::unused_dependency",
"tier": "P2"
},
{
"default_level": "warn",
"id": "rust_doctor::repo::hardcoded_credential",
"tier": "P1"
},
{
"default_level": "warn",
"id": "rust_doctor::repo::tracked_secret_file",
"tier": "P1"
},
{
"default_level": "warn",
"id": "rust_doctor::repo::unignored_build_output",
"tier": "P3"
},
{
"default_level": "warn",
"id": "rust_doctor::source::disabled_tls_verification",
"tier": "P0"
},
{
"default_level": "warn",
"id": "rust_doctor::source::dynamic_shell_command",
"tier": "P0"
},
{
"default_level": "warn",
"id": "rust_doctor::structure::complex_function",
"tier": "P3"
},
{
"default_level": "warn",
"id": "rust_doctor::structure::crate_level_allow",
"tier": "P2"
},
{
"default_level": "warn",
"id": "rust_doctor::structure::duplicate_function_body",
"tier": "P3"
},
{
"default_level": "warn",
"id": "rust_doctor::structure::near_duplicate_function_body",
"tier": "P3"
},
{
"default_level": "warn",
"id": "rust_doctor::structure::orphan_module_file",
"tier": "P3"
},
{
"default_level": "warn",
"id": "rust_doctor::structure::oversized_unit",
"tier": "P3"
},
{
"default_level": "warn",
"id": "rust_doctor::structure::stacked_allow_attribute",
"tier": "P3"
},
{
"default_level": "warn",
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"tier": "P3"
},
{
"default_level": "warn",
"id": "rust_doctor::structure::unreferenced_feature",
"tier": "P3"
}
],
"epic": "EP-005 of the suppression, dependency and hygiene PRD",
"gate": {
"admitted": [
"clippy::arc_with_non_send_sync",
"clippy::await_holding_lock",
"clippy::await_holding_refcell_ref",
"clippy::dbg_macro",
"clippy::exit",
"clippy::expect_used",
"clippy::format_collect",
"clippy::indexing_slicing",
"clippy::large_types_passed_by_value",
"clippy::manual_memcpy",
"clippy::mem_forget",
"clippy::missing_safety_doc",
"clippy::mut_mutex_lock",
"clippy::non_send_fields_in_send_ty",
"clippy::panic",
"clippy::panic_in_result_fn",
"clippy::permissions_set_readonly_false",
"clippy::print_stderr",
"clippy::print_stdout",
"clippy::ptr_arg",
"clippy::rc_buffer",
"clippy::rc_mutex",
"clippy::redundant_allocation",
"clippy::stable_sort_primitive",
"clippy::string_slice",
"clippy::suspicious_command_arg_space",
"clippy::todo",
"clippy::too_many_arguments",
"clippy::type_complexity",
"clippy::unimplemented",
"clippy::unnecessary_to_owned",
"clippy::unreachable",
"clippy::unused_async",
"clippy::unwrap_used",
"clippy::useless_vec",
"clippy::vec_init_then_push",
"clippy::zombie_processes",
"rust_doctor::cargo::duplicate_major_versions",
"rust_doctor::cargo::missing_lockfile",
"rust_doctor::cargo::path_dependency_outside_workspace",
"rust_doctor::cargo::permissive_lint_table",
"rust_doctor::cargo::permissive_rustflags",
"rust_doctor::cargo::release_debug_symbols",
"rust_doctor::cargo::test_only_dependency",
"rust_doctor::cargo::unbounded_registry_dependency",
"rust_doctor::cargo::unchecked_release_overflow",
"rust_doctor::cargo::unpinned_git_dependency",
"rust_doctor::cargo::unused_dependency",
"rust_doctor::repo::hardcoded_credential",
"rust_doctor::repo::tracked_secret_file",
"rust_doctor::repo::unignored_build_output",
"rust_doctor::source::disabled_tls_verification",
"rust_doctor::source::dynamic_shell_command",
"rust_doctor::structure::complex_function",
"rust_doctor::structure::crate_level_allow",
"rust_doctor::structure::duplicate_function_body",
"rust_doctor::structure::near_duplicate_function_body",
"rust_doctor::structure::orphan_module_file",
"rust_doctor::structure::oversized_unit",
"rust_doctor::structure::stacked_allow_attribute",
"rust_doctor::structure::unreasoned_allow_attribute",
"rust_doctor::structure::unreferenced_feature"
],
"noisy_on_healthy_code": [
"clippy::exit",
"clippy::expect_used",
"clippy::indexing_slicing",
"clippy::mem_forget",
"clippy::panic",
"clippy::panic_in_result_fn",
"clippy::print_stderr",
"clippy::string_slice",
"clippy::too_many_arguments",
"clippy::unreachable",
"clippy::unwrap_used",
"rust_doctor::cargo::unchecked_release_overflow",
"rust_doctor::structure::complex_function",
"rust_doctor::structure::crate_level_allow",
"rust_doctor::structure::duplicate_function_body",
"rust_doctor::structure::near_duplicate_function_body",
"rust_doctor::structure::oversized_unit",
"rust_doctor::structure::unreasoned_allow_attribute",
"rust_doctor::structure::unreferenced_feature"
],
"refused": [],
"threshold_basis_points": 500,
"unproven": [
"clippy::arc_with_non_send_sync",
"clippy::await_holding_lock",
"clippy::await_holding_refcell_ref",
"clippy::dbg_macro",
"clippy::format_collect",
"clippy::large_types_passed_by_value",
"clippy::manual_memcpy",
"clippy::mut_mutex_lock",
"clippy::non_send_fields_in_send_ty",
"clippy::permissions_set_readonly_false",
"clippy::print_stdout",
"clippy::rc_mutex",
"clippy::redundant_allocation",
"clippy::suspicious_command_arg_space",
"clippy::todo",
"clippy::type_complexity",
"clippy::unimplemented",
"clippy::unnecessary_to_owned",
"clippy::unused_async",
"clippy::useless_vec",
"clippy::vec_init_then_push",
"clippy::zombie_processes",
"rust_doctor::cargo::missing_lockfile",
"rust_doctor::cargo::path_dependency_outside_workspace",
"rust_doctor::cargo::permissive_lint_table",
"rust_doctor::cargo::permissive_rustflags",
"rust_doctor::cargo::release_debug_symbols",
"rust_doctor::cargo::test_only_dependency",
"rust_doctor::cargo::unbounded_registry_dependency",
"rust_doctor::cargo::unpinned_git_dependency",
"rust_doctor::cargo::unused_dependency",
"rust_doctor::repo::hardcoded_credential",
"rust_doctor::repo::tracked_secret_file",
"rust_doctor::repo::unignored_build_output",
"rust_doctor::source::disabled_tls_verification",
"rust_doctor::source::dynamic_shell_command",
"rust_doctor::structure::orphan_module_file",
"rust_doctor::structure::stacked_allow_attribute"
],
"verdict": "passed"
},
"generated_at": "2026-08-10",
"harness": {
"artifacts_directory_env": "RUST_DOCTOR_CORPUS_ARTIFACTS",
"cache_directory_env": "RUST_DOCTOR_CORPUS_DIR",
"failed": 0,
"processed": 10,
"scan_arguments": [
"--json",
"--yes"
],
"skipped": 0
},
"manifest": {
"repositories": [
{
"commit": "1dbe1862aae650423e3361fbd20b7d17c5109cc3",
"name": "anyhow",
"rationale": "Narrowly scoped error-handling library from the dtolnay organization, carried by a build script and a large trait-heavy test suite: it exercises the panic pack outside any binary entry point.",
"shape": {
"asynchronous": false,
"binary": false,
"library": true,
"proc_macro": false,
"workspace_members": 1
},
"tag": "1.0.104",
"url": "https://github.com/dtolnay/anyhow.git"
},
{
"commit": "35a63c456aaa1906015f5a825e7e35505a749afa",
"name": "async-channel",
"rationale": "Asynchronous channel primitive from the smol-rs organization, built on futures-core: it is the smallest corpus entry able to reach the await-holding rules of the correctness dimension.",
"shape": {
"asynchronous": true,
"binary": false,
"library": true,
"proc_macro": false,
"workspace_members": 1
},
"tag": "v2.5.0",
"url": "https://github.com/smol-rs/async-channel.git"
},
{
"commit": "76c0fbb54ed4336caf9d2311658a2f4a5627c21d",
"name": "bytes",
"rationale": "Buffer library from the tokio-rs organization, unsafe-heavy and indexing-heavy: it stresses the reliability pack on code whose slicing is deliberate rather than accidental.",
"shape": {
"asynchronous": false,
"binary": false,
"library": true,
"proc_macro": false,
"workspace_members": 1
},
"tag": "v1.12.1",
"url": "https://github.com/tokio-rs/bytes.git"
},
{
"commit": "7027d45303b412be6fa9c09d689cc6276748fb38",
"name": "fd",
"rationale": "Command-line binary from the sharkdp organization with a wide dependency graph: it is the corpus entry able to observe the dependency dimension on a real resolved graph.",
"shape": {
"asynchronous": false,
"binary": true,
"library": false,
"proc_macro": false,
"workspace_members": 1
},
"tag": "v10.4.2",
"url": "https://github.com/sharkdp/fd.git"
},
{
"commit": "abc20a380c8c2d9d76c1976222725d3211cef809",
"name": "hexyl",
"rationale": "Small binary carrying its own library from the sharkdp organization: it exercises the terminal-output rules on a program whose printing is its purpose.",
"shape": {
"asynchronous": false,
"binary": true,
"library": true,
"proc_macro": false,
"workspace_members": 1
},
"tag": "v0.16.0",
"url": "https://github.com/sharkdp/hexyl.git"
},
{
"commit": "f405739f3a15a3f00680c793e1e1fa7e57d26ba4",
"name": "log",
"rationale": "Logging facade maintained by the rust-lang organization, dependency-free and macro-heavy: it is the lowest-noise reference of the corpus and its findings are the hardest to dismiss as incidental.",
"shape": {
"asynchronous": false,
"binary": false,
"library": true,
"proc_macro": false,
"workspace_members": 1
},
"tag": "0.4.33",
"url": "https://github.com/rust-lang/log.git"
},
{
"commit": "e89fff89ac9af12e8d4ce9d5fd07beb408ca730f",
"name": "ripgrep",
"rationale": "Ten-member workspace from the BurntSushi organization mixing a binary and eight libraries: it is the corpus entry that proves the scan holds across a real multi-member workspace, and its nightly benches make it the entry whose scan legitimately stays incomplete.",
"shape": {
"asynchronous": false,
"binary": true,
"library": true,
"proc_macro": false,
"workspace_members": 10
},
"tag": "15.2.0",
"url": "https://github.com/BurntSushi/ripgrep.git"
},
{
"commit": "efa66e3a1d61459ab2d325f92ebe3acbd6ca18b1",
"name": "serde_json",
"rationale": "Serialization library from the serde-rs organization whose test suite is larger than its source: it is the corpus entry that measures how the panic pack behaves on deliberate test-target panics.",
"shape": {
"asynchronous": false,
"binary": false,
"library": true,
"proc_macro": false,
"workspace_members": 1
},
"tag": "v1.0.145",
"url": "https://github.com/serde-rs/json.git"
},
{
"commit": "a1e642196803fc5dff56f1e04e867bfc024966bd",
"name": "smol",
"rationale": "Asynchronous runtime from the smol-rs organization composing eight async crates: it is the corpus entry whose execution model is asynchronous from end to end.",
"shape": {
"asynchronous": true,
"binary": false,
"library": true,
"proc_macro": false,
"workspace_members": 1
},
"tag": "v2.0.2",
"url": "https://github.com/smol-rs/smol.git"
},
{
"commit": "e13a7854338e446f184725fc8b9c9e86a0a537d2",
"name": "thiserror",
"rationale": "Three-member workspace from the dtolnay organization carrying a procedural macro crate: it is the corpus entry that proves generated code does not leak spurious findings into the catalog.",
"shape": {
"asynchronous": false,
"binary": false,
"library": true,
"proc_macro": true,
"workspace_members": 3
},
"tag": "2.0.19",
"url": "https://github.com/dtolnay/thiserror.git"
}
]
},
"network_in_automated_tests": false,
"observations": [
{
"authoritative": true,
"commit": "1dbe1862aae650423e3361fbd20b7d17c5109cc3",
"distinct": 50,
"exit_code": 0,
"findings_digest": "d6c1760436de858e4aff577c3c2c0b89675c611dc1e74a416f78d70b3c2e0e11",
"name": "anyhow",
"occurrences": 69,
"outcome": "processed",
"rules": [
{
"distinct": 3,
"id": "clippy::exit",
"occurrences": 3
},
{
"distinct": 1,
"id": "clippy::expect_used",
"occurrences": 1
},
{
"distinct": 3,
"id": "clippy::print_stderr",
"occurrences": 3
},
{
"distinct": 2,
"id": "clippy::unwrap_used",
"occurrences": 2
},
{
"distinct": 11,
"id": "rust_doctor::structure::crate_level_allow",
"occurrences": 14
},
{
"distinct": 3,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 7
},
{
"distinct": 5,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 11
},
{
"distinct": 3,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 3
},
{
"distinct": 18,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 24
},
{
"distinct": 1,
"id": "rust_doctor::structure::unreferenced_feature",
"occurrences": 1
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 94,
"worst_tier": "P2"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "35a63c456aaa1906015f5a825e7e35505a749afa",
"distinct": 13,
"exit_code": 0,
"findings_digest": "98398adcfe5838d88fb1e544725d904f11614182a5683d8a2c89c853db22db1f",
"name": "async-channel",
"occurrences": 30,
"outcome": "processed",
"rules": [
{
"distinct": 1,
"id": "clippy::unwrap_used",
"occurrences": 1
},
{
"distinct": 1,
"id": "rust_doctor::structure::crate_level_allow",
"occurrences": 2
},
{
"distinct": 1,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 2
},
{
"distinct": 8,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 22
},
{
"distinct": 1,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 1
},
{
"distinct": 1,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 2
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 99,
"worst_tier": "P3"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "76c0fbb54ed4336caf9d2311658a2f4a5627c21d",
"distinct": 94,
"exit_code": 0,
"findings_digest": "9444d29bc7bf04ce1e95cc3858e9c4865f3dee4eaedb91a922797e4246373031",
"name": "bytes",
"occurrences": 152,
"outcome": "processed",
"rules": [
{
"distinct": 3,
"id": "clippy::expect_used",
"occurrences": 3
},
{
"distinct": 29,
"id": "clippy::indexing_slicing",
"occurrences": 41
},
{
"distinct": 1,
"id": "clippy::mem_forget",
"occurrences": 1
},
{
"distinct": 2,
"id": "clippy::missing_safety_doc",
"occurrences": 2
},
{
"distinct": 4,
"id": "clippy::panic",
"occurrences": 4
},
{
"distinct": 2,
"id": "clippy::string_slice",
"occurrences": 2
},
{
"distinct": 2,
"id": "clippy::unwrap_used",
"occurrences": 2
},
{
"distinct": 24,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 49
},
{
"distinct": 17,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 36
},
{
"distinct": 8,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 8
},
{
"distinct": 2,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 4
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 93,
"worst_tier": "P2"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "7027d45303b412be6fa9c09d689cc6276748fb38",
"distinct": 59,
"exit_code": 0,
"findings_digest": "b6fb1b6fab32976d34bea9d463e8f267f3bb09e5d6d86c9e475f0c199c4e4f28",
"name": "fd",
"occurrences": 75,
"outcome": "processed",
"rules": [
{
"distinct": 1,
"id": "clippy::expect_used",
"occurrences": 1
},
{
"distinct": 8,
"id": "clippy::indexing_slicing",
"occurrences": 8
},
{
"distinct": 2,
"id": "clippy::print_stderr",
"occurrences": 2
},
{
"distinct": 12,
"id": "clippy::string_slice",
"occurrences": 12
},
{
"distinct": 2,
"id": "clippy::unreachable",
"occurrences": 2
},
{
"distinct": 14,
"id": "clippy::unwrap_used",
"occurrences": 14
},
{
"distinct": 1,
"id": "rust_doctor::cargo::duplicate_major_versions",
"occurrences": 1
},
{
"distinct": 1,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"occurrences": 1
},
{
"distinct": 4,
"id": "rust_doctor::structure::complex_function",
"occurrences": 4
},
{
"distinct": 2,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 4
},
{
"distinct": 7,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 21
},
{
"distinct": 2,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 2
},
{
"distinct": 3,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 3
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 90,
"worst_tier": "P2"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "abc20a380c8c2d9d76c1976222725d3211cef809",
"distinct": 29,
"exit_code": 0,
"findings_digest": "f7c4ce68e303ef04b01f74ecaf9a1fd3497e65ad994b5478fe831374ec56dd32",
"name": "hexyl",
"occurrences": 34,
"outcome": "processed",
"rules": [
{
"distinct": 3,
"id": "clippy::expect_used",
"occurrences": 3
},
{
"distinct": 10,
"id": "clippy::indexing_slicing",
"occurrences": 10
},
{
"distinct": 1,
"id": "clippy::print_stderr",
"occurrences": 1
},
{
"distinct": 1,
"id": "clippy::ptr_arg",
"occurrences": 1
},
{
"distinct": 1,
"id": "clippy::too_many_arguments",
"occurrences": 1
},
{
"distinct": 4,
"id": "clippy::unwrap_used",
"occurrences": 4
},
{
"distinct": 1,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"occurrences": 1
},
{
"distinct": 3,
"id": "rust_doctor::structure::complex_function",
"occurrences": 3
},
{
"distinct": 3,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 7
},
{
"distinct": 1,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 2
},
{
"distinct": 1,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 1
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 98,
"worst_tier": "P3"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "f405739f3a15a3f00680c793e1e1fa7e57d26ba4",
"distinct": 32,
"exit_code": 0,
"findings_digest": "9e13145966a2d1454c6937184421b9016fa6c4bd5e9acf4a2920e9655140458b",
"name": "log",
"occurrences": 49,
"outcome": "processed",
"rules": [
{
"distinct": 4,
"id": "clippy::indexing_slicing",
"occurrences": 4
},
{
"distinct": 1,
"id": "clippy::panic",
"occurrences": 1
},
{
"distinct": 1,
"id": "clippy::unreachable",
"occurrences": 1
},
{
"distinct": 5,
"id": "clippy::unwrap_used",
"occurrences": 5
},
{
"distinct": 1,
"id": "rust_doctor::structure::crate_level_allow",
"occurrences": 1
},
{
"distinct": 8,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 18
},
{
"distinct": 4,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 9
},
{
"distinct": 2,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 2
},
{
"distinct": 6,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 8
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 94,
"worst_tier": "P2"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "e89fff89ac9af12e8d4ce9d5fd07beb408ca730f",
"distinct": 499,
"exit_code": 0,
"findings_digest": "f948c12d12a97aefc943ae7045d7ec160455c51e2bee77e122766ceed6a7747b",
"name": "ripgrep",
"occurrences": 812,
"outcome": "processed",
"rules": [
{
"distinct": 4,
"id": "clippy::exit",
"occurrences": 24
},
{
"distinct": 11,
"id": "clippy::expect_used",
"occurrences": 11
},
{
"distinct": 164,
"id": "clippy::indexing_slicing",
"occurrences": 164
},
{
"distinct": 3,
"id": "clippy::panic",
"occurrences": 3
},
{
"distinct": 46,
"id": "clippy::panic_in_result_fn",
"occurrences": 46
},
{
"distinct": 6,
"id": "clippy::rc_buffer",
"occurrences": 6
},
{
"distinct": 1,
"id": "clippy::stable_sort_primitive",
"occurrences": 1
},
{
"distinct": 14,
"id": "clippy::string_slice",
"occurrences": 14
},
{
"distinct": 2,
"id": "clippy::type_complexity",
"occurrences": 2
},
{
"distinct": 13,
"id": "clippy::unreachable",
"occurrences": 13
},
{
"distinct": 67,
"id": "clippy::unwrap_used",
"occurrences": 67
},
{
"distinct": 1,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"occurrences": 1
},
{
"distinct": 17,
"id": "rust_doctor::structure::complex_function",
"occurrences": 17
},
{
"distinct": 74,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 229
},
{
"distinct": 39,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 164
},
{
"distinct": 27,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 27
},
{
"distinct": 4,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 17
},
{
"distinct": 6,
"id": "rust_doctor::structure::unreferenced_feature",
"occurrences": 6
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 91,
"worst_tier": "P2"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "efa66e3a1d61459ab2d325f92ebe3acbd6ca18b1",
"distinct": 122,
"exit_code": 0,
"findings_digest": "2f21de96c43e64668185a9509cdffac03d62a65a284877630fb30d14c77576a3",
"name": "serde_json",
"occurrences": 175,
"outcome": "processed",
"rules": [
{
"distinct": 3,
"id": "clippy::expect_used",
"occurrences": 3
},
{
"distinct": 22,
"id": "clippy::indexing_slicing",
"occurrences": 22
},
{
"distinct": 3,
"id": "clippy::panic",
"occurrences": 3
},
{
"distinct": 8,
"id": "clippy::string_slice",
"occurrences": 8
},
{
"distinct": 5,
"id": "clippy::unreachable",
"occurrences": 5
},
{
"distinct": 4,
"id": "clippy::unwrap_used",
"occurrences": 4
},
{
"distinct": 4,
"id": "rust_doctor::structure::complex_function",
"occurrences": 4
},
{
"distinct": 10,
"id": "rust_doctor::structure::crate_level_allow",
"occurrences": 10
},
{
"distinct": 17,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 53
},
{
"distinct": 16,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 33
},
{
"distinct": 12,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 12
},
{
"distinct": 1,
"id": "rust_doctor::structure::stacked_allow_attribute",
"occurrences": 1
},
{
"distinct": 17,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 17
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 93,
"worst_tier": "P2"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "a1e642196803fc5dff56f1e04e867bfc024966bd",
"distinct": 2,
"exit_code": 0,
"findings_digest": "dcf4fcd7b41198677df74137a5afbaa2abc63365d7e39495bdb995f768108635",
"name": "smol",
"occurrences": 4,
"outcome": "processed",
"rules": [
{
"distinct": 1,
"id": "clippy::expect_used",
"occurrences": 1
},
{
"distinct": 1,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 3
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 100,
"worst_tier": "P3"
},
"status": "complete"
},
{
"authoritative": true,
"commit": "e13a7854338e446f184725fc8b9c9e86a0a537d2",
"distinct": 76,
"exit_code": 0,
"findings_digest": "67e589c6bcec3dac1cb391d4b2f3299382a9e91b34cbac7ca24aa972afc66e3c",
"name": "thiserror",
"occurrences": 113,
"outcome": "processed",
"rules": [
{
"distinct": 3,
"id": "clippy::exit",
"occurrences": 3
},
{
"distinct": 9,
"id": "clippy::indexing_slicing",
"occurrences": 18
},
{
"distinct": 3,
"id": "clippy::print_stderr",
"occurrences": 3
},
{
"distinct": 4,
"id": "clippy::string_slice",
"occurrences": 8
},
{
"distinct": 2,
"id": "clippy::unreachable",
"occurrences": 4
},
{
"distinct": 18,
"id": "clippy::unwrap_used",
"occurrences": 32
},
{
"distinct": 6,
"id": "rust_doctor::structure::complex_function",
"occurrences": 6
},
{
"distinct": 10,
"id": "rust_doctor::structure::crate_level_allow",
"occurrences": 10
},
{
"distinct": 1,
"id": "rust_doctor::structure::duplicate_function_body",
"occurrences": 2
},
{
"distinct": 1,
"id": "rust_doctor::structure::near_duplicate_function_body",
"occurrences": 2
},
{
"distinct": 2,
"id": "rust_doctor::structure::oversized_unit",
"occurrences": 2
},
{
"distinct": 17,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"occurrences": 23
}
],
"score": {
"applied_ceiling": null,
"label": "Great",
"value": 93,
"worst_tier": "P2"
},
"status": "complete"
}
],
"precision": [
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::arc_with_non_send_sync",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::await_holding_lock",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::await_holding_refcell_ref",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::dbg_macro",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 5,
"findings": 10,
"id": "clippy::exit",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P2",
"true_positives": 0
},
{
"false_positive_rate_basis_points": 8000,
"false_positives": 4,
"findings": 23,
"id": "clippy::expect_used",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P3",
"true_positives": 1
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::format_collect",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 40,
"findings": 246,
"id": "clippy::indexing_slicing",
"provenance": [
"agent",
"unrecorded"
],
"reviewed": 40,
"status": "measured",
"tier": "P3",
"true_positives": 0
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::large_types_passed_by_value",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::manual_memcpy",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 1,
"findings": 1,
"id": "clippy::mem_forget",
"provenance": [
"unrecorded"
],
"reviewed": 1,
"status": "measured",
"tier": "P2",
"true_positives": 0
},
{
"false_positive_rate_basis_points": 0,
"false_positives": 0,
"findings": 2,
"id": "clippy::missing_safety_doc",
"provenance": [
"unrecorded"
],
"reviewed": 2,
"status": "measured",
"tier": "P3",
"true_positives": 2
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::mut_mutex_lock",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::non_send_fields_in_send_ty",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 5,
"findings": 11,
"id": "clippy::panic",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P3",
"true_positives": 0
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 5,
"findings": 46,
"id": "clippy::panic_in_result_fn",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P2",
"true_positives": 0
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::permissions_set_readonly_false",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 5,
"findings": 9,
"id": "clippy::print_stderr",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P3",
"true_positives": 0
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::print_stdout",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": 0,
"false_positives": 0,
"findings": 1,
"id": "clippy::ptr_arg",
"provenance": [
"unrecorded"
],
"reviewed": 1,
"status": "measured",
"tier": "P3",
"true_positives": 1
},
{
"false_positive_rate_basis_points": 0,
"false_positives": 0,
"findings": 6,
"id": "clippy::rc_buffer",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P3",
"true_positives": 5
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::rc_mutex",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::redundant_allocation",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": 0,
"false_positives": 0,
"findings": 1,
"id": "clippy::stable_sort_primitive",
"provenance": [
"unrecorded"
],
"reviewed": 1,
"status": "measured",
"tier": "P3",
"true_positives": 1
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 40,
"findings": 40,
"id": "clippy::string_slice",
"provenance": [
"agent",
"unrecorded"
],
"reviewed": 40,
"status": "measured",
"tier": "P3",
"true_positives": 0
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::suspicious_command_arg_space",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::todo",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 1,
"findings": 1,
"id": "clippy::too_many_arguments",
"provenance": [
"unrecorded"
],
"reviewed": 1,
"status": "measured",
"tier": "P3",
"true_positives": 0
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 2,
"id": "clippy::type_complexity",
"provenance": [],
"reviewed": 0,
"status": "incomplete",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::unimplemented",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::unnecessary_to_owned",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": 8000,
"false_positives": 4,
"findings": 23,
"id": "clippy::unreachable",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P2",
"true_positives": 1
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::unused_async",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 5,
"findings": 117,
"id": "clippy::unwrap_used",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P3",
"true_positives": 0
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::useless_vec",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::vec_init_then_push",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "clippy::zombie_processes",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": 0,
"false_positives": 0,
"findings": 1,
"id": "rust_doctor::cargo::duplicate_major_versions",
"provenance": [
"unrecorded"
],
"reviewed": 1,
"status": "measured",
"tier": "P2",
"true_positives": 1
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::missing_lockfile",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::path_dependency_outside_workspace",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::permissive_lint_table",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::permissive_rustflags",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::release_debug_symbols",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::test_only_dependency",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::unbounded_registry_dependency",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": 3333,
"false_positives": 1,
"findings": 3,
"id": "rust_doctor::cargo::unchecked_release_overflow",
"provenance": [
"unrecorded"
],
"reviewed": 3,
"status": "measured",
"tier": "P3",
"true_positives": 2
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::unpinned_git_dependency",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::cargo::unused_dependency",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P2",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::repo::hardcoded_credential",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::repo::tracked_secret_file",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P1",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::repo::unignored_build_output",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::source::disabled_tls_verification",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P0",
"true_positives": null
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::source::dynamic_shell_command",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P0",
"true_positives": null
},
{
"false_positive_rate_basis_points": 8709,
"false_positives": 27,
"findings": 34,
"id": "rust_doctor::structure::complex_function",
"provenance": [
"agent",
"unrecorded"
],
"reviewed": 31,
"status": "measured",
"tier": "P3",
"true_positives": 4
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 5,
"findings": 33,
"id": "rust_doctor::structure::crate_level_allow",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P2",
"true_positives": 0
},
{
"false_positive_rate_basis_points": 4000,
"false_positives": 8,
"findings": 134,
"id": "rust_doctor::structure::duplicate_function_body",
"provenance": [
"unrecorded"
],
"reviewed": 20,
"status": "measured",
"tier": "P3",
"true_positives": 12
},
{
"false_positive_rate_basis_points": 8000,
"false_positives": 4,
"findings": 98,
"id": "rust_doctor::structure::near_duplicate_function_body",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P3",
"true_positives": 1
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 0,
"id": "rust_doctor::structure::orphan_module_file",
"provenance": [],
"reviewed": 0,
"status": "unobserved",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": 8000,
"false_positives": 4,
"findings": 58,
"id": "rust_doctor::structure::oversized_unit",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P3",
"true_positives": 1
},
{
"false_positive_rate_basis_points": null,
"false_positives": null,
"findings": 1,
"id": "rust_doctor::structure::stacked_allow_attribute",
"provenance": [],
"reviewed": 0,
"status": "incomplete",
"tier": "P3",
"true_positives": null
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 5,
"findings": 68,
"id": "rust_doctor::structure::unreasoned_allow_attribute",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P3",
"true_positives": 0
},
{
"false_positive_rate_basis_points": 10000,
"false_positives": 5,
"findings": 7,
"id": "rust_doctor::structure::unreferenced_feature",
"provenance": [
"unrecorded"
],
"reviewed": 5,
"status": "measured",
"tier": "P3",
"true_positives": 0
}
],
"schema_version": 2,
"score_distribution": {
"bands": [
{
"label": "Great",
"repositories": 10
}
],
"ceilings_applied": 0,
"collapsed_into_one_band": true,
"collapsed_into_one_value": false,
"maximum": 100,
"minimum": 90,
"values": [
{
"label": "Great",
"name": "anyhow",
"value": 94
},
{
"label": "Great",
"name": "async-channel",
"value": 99
},
{
"label": "Great",
"name": "bytes",
"value": 93
},
{
"label": "Great",
"name": "fd",
"value": 90
},
{
"label": "Great",
"name": "hexyl",
"value": 98
},
{
"label": "Great",
"name": "log",
"value": 94
},
{
"label": "Great",
"name": "ripgrep",
"value": 91
},
{
"label": "Great",
"name": "serde_json",
"value": 93
},
{
"label": "Great",
"name": "smol",
"value": 100
},
{
"label": "Great",
"name": "thiserror",
"value": 93
}
]
},
"toolchain": {
"cargo": "cargo 1.97.1 (c980f4866 2026-06-30)",
"clippy": "clippy 0.1.97 (8bab26f4f6 2026-07-14)",
"rustc": "rustc 1.97.1 (8bab26f4f 2026-07-14)"
},
"trust_boundary": {
"clippy_executes_corpus_build_code": true,
"corpus_materialised_outside_repository": true,
"native_detectors_compile_corpus_code": false,
"rationale": "Cargo runs build scripts and procedural macros, so the Clippy leg of every corpus scan is an explicit trusted boundary: only mature, widely reviewed repositories are pinned. The native detectors parse source text and never compile or execute corpus code, which the harness proves by replaying the corpus with every Clippy rule switched off."
}
}