[INFO] fetching crate repotoire 0.9.0...
[INFO] documenting repotoire-0.9.0 against da3f5c31e5535b3dc210067de660a45784ae1e9c for pr-162169
[INFO] extracting crate repotoire 0.9.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate repotoire 0.9.0
[INFO] finished tweaking crates.io crate repotoire 0.9.0
[INFO] tweaked toml for crates.io crate repotoire 0.9.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate repotoire 0.9.0 on toolchain da3f5c31e5535b3dc210067de660a45784ae1e9c
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate repotoire 0.9.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 44eb1e945432dccc83235bb6398eac45489abb87fe2e8bc10686735c7b6bd69f
[INFO] running `Command { std: "docker" "start" "44eb1e945432dccc83235bb6398eac45489abb87fe2e8bc10686735c7b6bd69f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "44eb1e945432dccc83235bb6398eac45489abb87fe2e8bc10686735c7b6bd69f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "44eb1e945432dccc83235bb6398eac45489abb87fe2e8bc10686735c7b6bd69f" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "44eb1e945432dccc83235bb6398eac45489abb87fe2e8bc10686735c7b6bd69f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "44eb1e945432dccc83235bb6398eac45489abb87fe2e8bc10686735c7b6bd69f" "/opt/rustwide/cargo-home/bin/cargo" "+da3f5c31e5535b3dc210067de660a45784ae1e9c" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling tree-sitter-language v0.1.7
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking rustls-pki-types v1.14.1
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking getrandom v0.3.4
[INFO] [stderr]     Checking getrandom v0.2.17
[INFO] [stderr]     Checking inotify-sys v0.1.5
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]     Checking inotify v0.11.1
[INFO] [stderr]     Checking rand_core v0.9.5
[INFO] [stderr]     Checking notify-types v2.1.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking notify v8.2.0
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]     Checking dirs-sys v0.5.0
[INFO] [stderr]     Checking rayon-core v1.13.0
[INFO] [stderr]     Checking console v0.16.3
[INFO] [stderr]    Compiling bitcode_derive v0.6.9
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]     Checking file-id v0.2.3
[INFO] [stderr]     Checking streaming-iterator v0.1.9
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]    Compiling repotoire v0.9.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking unit-prefix v0.5.2
[INFO] [stderr]     Checking bytemuck v1.25.0
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking dashmap v6.1.0
[INFO] [stderr]     Checking notify-debouncer-full v0.5.0
[INFO] [stderr]     Checking indicatif v0.18.4
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]     Checking dirs v6.0.0
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking webpki-roots v1.0.7
[INFO] [stderr]     Checking home v0.5.12
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling tikv-jemalloc-sys v0.6.1+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7
[INFO] [stderr]    Compiling tree-sitter-python v0.25.0
[INFO] [stderr]    Compiling tree-sitter-cpp v0.23.4
[INFO] [stderr]    Compiling tree-sitter-c v0.24.2
[INFO] [stderr]    Compiling tree-sitter-java v0.23.5
[INFO] [stderr]    Compiling tree-sitter-typescript v0.23.2
[INFO] [stderr]    Compiling tree-sitter-rust v0.24.2
[INFO] [stderr]    Compiling tree-sitter-javascript v0.25.0
[INFO] [stderr]    Compiling tree-sitter-go v0.25.0
[INFO] [stderr]    Compiling tree-sitter-c-sharp v0.23.5
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking xxhash-rust v0.8.15
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking rustc-hash v2.1.2
[INFO] [stderr]    Compiling tree-sitter v0.25.10
[INFO] [stderr]     Checking bitcode v0.6.9
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking basic-toml v0.1.10
[INFO] [stderr]     Checking globset v0.4.18
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking ignore v0.4.25
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking rand v0.9.4
[INFO] [stderr]     Checking rustls-webpki v0.103.13
[INFO] [stderr]     Checking tikv-jemallocator v0.6.1
[INFO] [stderr]  Documenting repotoire v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unresolved link to `hidden_size`
[INFO] [stdout]   --> src/classifier/model.rs:26:27
[INFO] [stdout]    |
[INFO] [stdout] 26 |     /// First layer bias [hidden_size]
[INFO] [stdout]    |                           ^^^^^^^^^^^ no item named `hidden_size` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout]    = note: `#[warn(rustdoc::broken_intra_doc_links)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `2`
[INFO] [stdout]   --> src/classifier/model.rs:30:28
[INFO] [stdout]    |
[INFO] [stdout] 30 |     /// Second layer bias [2]
[INFO] [stdout]    |                            ^ no item named `2` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `ValueStore`
[INFO] [stdout]   --> src/cli/analyze/graph/mod.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 | /// Returns a [`ValueStore`] containing all resolved symbolic values extracted
[INFO] [stdout]    |                 ^^^^^^^^^^ no item named `ValueStore` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `ValueStore`
[INFO] [stdout]    --> src/cli/analyze/graph/mod.rs:370:17
[INFO] [stdout]     |
[INFO] [stdout] 370 | /// Returns a [`ValueStore`] containing all resolved symbolic values extracted
[INFO] [stdout]     |                 ^^^^^^^^^^ no item named `ValueStore` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `ValueStore`
[INFO] [stdout]    --> src/cli/analyze/graph/mod.rs:644:15
[INFO] [stdout]     |
[INFO] [stdout] 644 | /// Build a [`ValueStore`] from parse results and the completed graph.
[INFO] [stdout]     |               ^^^^^^^^^^ no item named `ValueStore` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]    --> src/cli/claude_hook/settings.rs:175:45
[INFO] [stdout]     |
[INFO] [stdout] 175 | /// Splits on whitespace and checks: tokens[0] ends with `repotoire` (or `repotoire.exe`),
[INFO] [stdout]     |                                             ^ no item named `0` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `1`
[INFO] [stdout]    --> src/cli/claude_hook/settings.rs:176:12
[INFO] [stdout]     |
[INFO] [stdout] 176 | /// tokens[1] == `claude-hook`, tokens[2] == `run`. Allows future flags after `run`.
[INFO] [stdout]     |            ^ no item named `1` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `2`
[INFO] [stdout]    --> src/cli/claude_hook/settings.rs:176:40
[INFO] [stdout]     |
[INFO] [stdout] 176 | /// tokens[1] == `claude-hook`, tokens[2] == `run`. Allows future flags after `run`.
[INFO] [stdout]     |                                        ^ no item named `2` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `from_git_diff`
[INFO] [stdout]   --> src/cli/diff_hunks.rs:65:16
[INFO] [stdout]    |
[INFO] [stdout] 65 |     /// Like [`from_git_diff`] but against the *working tree*: `git diff -U0 <base_ref>` (ref →
[INFO] [stdout]    |                ^^^^^^^^^^^^^ no item named `from_git_diff` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `DEPRECATED`
[INFO] [stdout]    --> src/cli/mod.rs:176:14
[INFO] [stdout]     |
[INFO] [stdout] 176 | ...   /// [DEPRECATED] External tools now run by default when available. This flag is a no-op and will be removed in a future release.
[INFO] [stdout]     |            ^^^^^^^^^^ no item named `DEPRECATED` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `DEPRECATED`
[INFO] [stdout]    --> src/cli/mod.rs:196:14
[INFO] [stdout]     |
[INFO] [stdout] 196 |         /// [DEPRECATED] Exit with code 1 if findings at this severity or higher exist.
[INFO] [stdout]     |              ^^^^^^^^^^ no item named `DEPRECATED` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `DEPRECATED`
[INFO] [stdout]    --> src/cli/mod.rs:219:14
[INFO] [stdout]     |
[INFO] [stdout] 219 |         /// [DEPRECATED] Use `repotoire diff <ref>` instead. Incremental mode automatically
[INFO] [stdout]     |              ^^^^^^^^^^ no item named `DEPRECATED` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `DEPRECATED`
[INFO] [stdout]    --> src/cli/mod.rs:281:14
[INFO] [stdout]     |
[INFO] [stdout] 281 |         /// [DEPRECATED] Exit with code 1 if new findings at this severity or above. Use --fail-on-tier.
[INFO] [stdout]     |              ^^^^^^^^^^ no item named `DEPRECATED` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]   --> src/detectors/security/command_injection/mod.rs:45:41
[INFO] [stdout]    |
[INFO] [stdout] 45 | //!        recognized by inspecting arg[0] (shell name) + arg[1] (`-c`
[INFO] [stdout]    |                                         ^ no item named `0` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `1`
[INFO] [stdout]   --> src/detectors/security/command_injection/mod.rs:45:63
[INFO] [stdout]    |
[INFO] [stdout] 45 | //!        recognized by inspecting arg[0] (shell name) + arg[1] (`-c`
[INFO] [stdout]    |                                                               ^ no item named `1` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `2`
[INFO] [stdout]   --> src/detectors/security/command_injection/mod.rs:46:26
[INFO] [stdout]    |
[INFO] [stdout] 46 | //!        / `/c`) + arg[2] (variable) and bumped to Critical.
[INFO] [stdout]    |                          ^ no item named `2` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]   --> src/detectors/security/command_injection/mod.rs:51:124
[INFO] [stdout]    |
[INFO] [stdout] 51 | ...Interpolated | UserVariable | MixedList (var argv[0]) | MixedList (literal argv[0]) | Unknown |
[INFO] [stdout]    |                                                      ^ no item named `0` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]   --> src/detectors/security/command_injection/mod.rs:51:154
[INFO] [stdout]    |
[INFO] [stdout] 51 | ...MixedList (var argv[0]) | MixedList (literal argv[0]) | Unknown |
[INFO] [stdout]    |                                                      ^ no item named `0` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]   --> src/detectors/security/command_injection/mod.rs:65:71
[INFO] [stdout]    |
[INFO] [stdout] 65 | //!    `shell=False` rows because with shell=False and a literal argv[0]
[INFO] [stdout]    |                                                                       ^ no item named `0` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]   --> src/detectors/security/command_injection/mod.rs:66:29
[INFO] [stdout]    |
[INFO] [stdout] 66 | //!    the OS executes argv[0] directly via `execve` and passes argv[N>0]
[INFO] [stdout]    |                             ^ no item named `0` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `N>0`
[INFO] [stdout]   --> src/detectors/security/command_injection/mod.rs:66:70
[INFO] [stdout]    |
[INFO] [stdout] 66 | //!    the OS executes argv[0] directly via `execve` and passes argv[N>0]
[INFO] [stdout]    |                                                                      ^^^ unbalanced angle brackets
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]    --> src/detectors/security/command_injection/evidence.rs:243:54
[INFO] [stdout]     |
[INFO] [stdout] 243 | ///   reclassifies the canonical shell-c shape (argv[0] of `sh`/`bash`/
[INFO] [stdout]     |                                                      ^ no item named `0` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `1`
[INFO] [stdout]    --> src/detectors/security/command_injection/evidence.rs:244:18
[INFO] [stdout]     |
[INFO] [stdout] 244 | ///   ... + argv[1] of `-c`) to `PySubprocessShellC` before this point,
[INFO] [stdout]     |                  ^ no item named `1` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]    --> src/detectors/security/command_injection/evidence.rs:246:48
[INFO] [stdout]     |
[INFO] [stdout] 246 | ///   API. The first element here is just argv[0] of an
[INFO] [stdout]     |                                                ^ no item named `0` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]    --> src/detectors/security/command_injection/predict.rs:102:10
[INFO] [stdout]     |
[INFO] [stdout] 102 | /// argv[0] caps damage to argument injection (CWE-88) under
[INFO] [stdout]     |          ^ no item named `0` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]    --> src/detectors/security/command_injection/predict.rs:177:42
[INFO] [stdout]     |
[INFO] [stdout] 177 | /// (the first arg is the **list**; argv[0] is the first ELEMENT of
[INFO] [stdout]     |                                          ^ no item named `0` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]    --> src/detectors/security/command_injection/mod.rs:194:64
[INFO] [stdout]     |
[INFO] [stdout] 194 |     /// List/array with at least one variable element but argv[0] is a
[INFO] [stdout]     |                                                                ^ no item named `0` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]    --> src/detectors/security/command_injection/mod.rs:215:32
[INFO] [stdout]     |
[INFO] [stdout] 215 |     /// `shell=False` but argv[0] is a shell binary and argv[1] is `-c`,
[INFO] [stdout]     |                                ^ no item named `0` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `1`
[INFO] [stdout]    --> src/detectors/security/command_injection/mod.rs:215:62
[INFO] [stdout]     |
[INFO] [stdout] 215 |     /// `shell=False` but argv[0] is a shell binary and argv[1] is `-c`,
[INFO] [stdout]     |                                                              ^ no item named `1` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `2`
[INFO] [stdout]    --> src/detectors/security/command_injection/mod.rs:216:44
[INFO] [stdout]     |
[INFO] [stdout] 216 |     /// so the shell still interprets argv[2] as a command line. The
[INFO] [stdout]     |                                            ^ no item named `2` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]    --> src/detectors/security/command_injection/mod.rs:230:61
[INFO] [stdout]     |
[INFO] [stdout] 230 |     /// JS `child_process.execFile` / `execFileSync` — argv[0] is the
[INFO] [stdout]     |                                                             ^ no item named `0` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]    --> src/detectors/security/command_injection/mod.rs:233:55
[INFO] [stdout]     |
[INFO] [stdout] 233 |     /// JS `child_process.spawn` / `spawnSync` — argv[0] is the binary
[INFO] [stdout]     |                                                       ^ no item named `0` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]    --> src/detectors/security/command_injection/mod.rs:237:33
[INFO] [stdout]     |
[INFO] [stdout] 237 |     /// `shell: false` but argv[0] is a shell binary and the args list
[INFO] [stdout]     |                                 ^ no item named `0` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `1`
[INFO] [stdout]    --> src/detectors/security/command_injection/mod.rs:247:57
[INFO] [stdout]     |
[INFO] [stdout] 247 |     /// `args[0] == "-c"`/`"/c"` and a variable in args[1] — the
[INFO] [stdout]     |                                                         ^ no item named `1` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]    --> src/detectors/security/command_injection/mod.rs:295:47
[INFO] [stdout]     |
[INFO] [stdout] 295 |     /// Is this API "always shell" (i.e. argv[0] is interpreted by /bin/sh)?
[INFO] [stdout]     |                                               ^ no item named `0` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]     --> src/detectors/security/command_injection/mod.rs:1535:50
[INFO] [stdout]      |
[INFO] [stdout] 1535 | /// `PySubprocessNoShell` for the `Unknown` argv[0] kind.
[INFO] [stdout]      |                                                  ^ no item named `0` in scope
[INFO] [stdout]      |
[INFO] [stdout]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]     --> src/detectors/security/command_injection/mod.rs:1545:65
[INFO] [stdout]      |
[INFO] [stdout] 1545 | /// Used by the Python shell-c reclassification to inspect argv[0] for
[INFO] [stdout]      |                                                                 ^ no item named `0` in scope
[INFO] [stdout]      |
[INFO] [stdout]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]     --> src/detectors/security/command_injection/mod.rs:1595:39
[INFO] [stdout]      |
[INFO] [stdout] 1595 | /// list, fewer than 3 elements, argv[0] not a known shell name,
[INFO] [stdout]      |                                       ^ no item named `0` in scope
[INFO] [stdout]      |
[INFO] [stdout]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `1`
[INFO] [stdout]     --> src/detectors/security/command_injection/mod.rs:1596:10
[INFO] [stdout]      |
[INFO] [stdout] 1596 | /// argv[1] not `-c`, or argv[≥2] all literal). Keeping the gate tight
[INFO] [stdout]      |          ^ no item named `1` in scope
[INFO] [stdout]      |
[INFO] [stdout]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]     --> src/detectors/security/command_injection/mod.rs:2352:13
[INFO] [stdout]      |
[INFO] [stdout] 2352 | ///   - arg[0] must be a string-literal shell-binary name
[INFO] [stdout]      |             ^ no item named `0` in scope
[INFO] [stdout]      |
[INFO] [stdout]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `1`
[INFO] [stdout]     --> src/detectors/security/command_injection/mod.rs:2353:13
[INFO] [stdout]      |
[INFO] [stdout] 2353 | ///   - arg[1] must be an array literal whose first element is the
[INFO] [stdout]      |             ^ no item named `1` in scope
[INFO] [stdout]      |
[INFO] [stdout]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]     --> src/detectors/security/command_injection/mod.rs:2580:34
[INFO] [stdout]      |
[INFO] [stdout] 2580 | /// recognized by inspecting arg[0] (literal shell name), arg[1]
[INFO] [stdout]      |                                  ^ no item named `0` in scope
[INFO] [stdout]      |
[INFO] [stdout]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `1`
[INFO] [stdout]     --> src/detectors/security/command_injection/mod.rs:2580:63
[INFO] [stdout]      |
[INFO] [stdout] 2580 | /// recognized by inspecting arg[0] (literal shell name), arg[1]
[INFO] [stdout]      |                                                               ^ no item named `1` in scope
[INFO] [stdout]      |
[INFO] [stdout]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `2`
[INFO] [stdout]     --> src/detectors/security/command_injection/mod.rs:2581:36
[INFO] [stdout]      |
[INFO] [stdout] 2581 | /// (literal `-c` or `/c`) and arg[2] (variable). Detected this way, the
[INFO] [stdout]      |                                    ^ no item named `2` in scope
[INFO] [stdout]      |
[INFO] [stdout]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `0`
[INFO] [stdout]     --> src/detectors/security/command_injection/mod.rs:2582:44
[INFO] [stdout]      |
[INFO] [stdout] 2582 | /// site fires at Critical even though arg[0] is a static literal, because
[INFO] [stdout]      |                                            ^ no item named `0` in scope
[INFO] [stdout]      |
[INFO] [stdout]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `2`
[INFO] [stdout]     --> src/detectors/security/command_injection/mod.rs:2583:31
[INFO] [stdout]      |
[INFO] [stdout] 2583 | /// the dangerous part is arg[2].
[INFO] [stdout]      |                               ^ no item named `2` in scope
[INFO] [stdout]      |
[INFO] [stdout]      = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `PrecomputedAnalysis::to_context`
[INFO] [stdout]    --> src/detectors/analysis_context.rs:109:51
[INFO] [stdout]     |
[INFO] [stdout] 109 |     /// Builder method used by the engine after [`PrecomputedAnalysis::to_context`]
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `PrecomputedAnalysis` in scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `parse_functions`
[INFO] [stdout]  --> src/detectors/ast_fingerprint.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 | //! - [`parse_functions`] — extract function definitions from source code
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^ no item named `parse_functions` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `structural_fingerprint`
[INFO] [stdout]  --> src/detectors/ast_fingerprint.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 | //! - [`structural_fingerprint`] — collect AST node kinds (for boilerplate clustering)
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^^ no item named `structural_fingerprint` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `normalized_fingerprint`
[INFO] [stdout]   --> src/detectors/ast_fingerprint.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | //! - [`normalized_fingerprint`] — structure-preserving bigrams with identifiers replaced (for duplicate detection)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^ no item named `normalized_fingerprint` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `extract_identifiers`
[INFO] [stdout]   --> src/detectors/ast_fingerprint.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | //! - [`extract_identifiers`] — collect all identifier names from a code snippet
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^ no item named `extract_identifiers` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `detect_patterns`
[INFO] [stdout]   --> src/detectors/ast_fingerprint.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | //! - [`detect_patterns`] — detect boilerplate patterns (try/except, validation, etc.)
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ no item named `detect_patterns` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `compute_all_fingerprints`
[INFO] [stdout]   --> src/detectors/ast_fingerprint.rs:39:7
[INFO] [stdout]    |
[INFO] [stdout] 39 | /// [`compute_all_fingerprints`], avoiding redundant tree-sitter parses.
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^^^^^^^ no item named `compute_all_fingerprints` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `detect_patterns`
[INFO] [stdout]    --> src/detectors/ast_fingerprint.rs:884:21
[INFO] [stdout]     |
[INFO] [stdout] 884 | /// Same logic as [`detect_patterns`] but takes pre-computed data instead of
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ no item named `detect_patterns` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `j`
[INFO] [stdout]    --> src/detectors/context_hmm/mod.rs:371:23
[INFO] [stdout]     |
[INFO] [stdout] 371 |     /// transition[i][j] = P(state_j | state_i)
[INFO] [stdout]     |                       ^ no item named `j` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `AnalysisContext`
[INFO] [stdout]    --> src/detectors/engine.rs:143:45
[INFO] [stdout]     |
[INFO] [stdout] 143 |     /// Convert pre-computed data into an [`AnalysisContext`] ready for detector
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^ no item named `AnalysisContext` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `AnalysisContext`
[INFO] [stdout]    --> src/detectors/engine.rs:177:20
[INFO] [stdout]     |
[INFO] [stdout] 177 |     /// Build an [`AnalysisContext`] scoped to a subset of files.
[INFO] [stdout]     |                    ^^^^^^^^^^^^^^^ no item named `AnalysisContext` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `get_or_read`
[INFO] [stdout]   --> src/detectors/file_cache.rs:63:16
[INFO] [stdout]    |
[INFO] [stdout] 63 |     /// Uses [`get_or_read`] for content, then memoizes the parse tree under
[INFO] [stdout]    |                ^^^^^^^^^^^ no item named `get_or_read` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `a-zA-Z0-9_`
[INFO] [stdout]   --> src/detectors/file_index.rs:40:42
[INFO] [stdout]    |
[INFO] [stdout] 40 |     /// Words are sequences of [a-zA-Z_][a-zA-Z0-9_]* -- valid identifiers.
[INFO] [stdout]    |                                          ^^^^^^^^^^ no item named `a-zA-Z0-9_` in scope
[INFO] [stdout]    |
[INFO] [stdout]    = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `'b'`
[INFO] [stdout]    --> src/detectors/ml_smells/data_patterns.rs:153:43
[INFO] [stdout]     |
[INFO] [stdout] 153 | /// Detects pandas chain indexing df['a']['b'] (SettingWithCopyWarning)
[INFO] [stdout]     |                                           ^^^ no item named `'b'` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `BLOCKING_ALLOWLIST`
[INFO] [stdout]  --> src/engine/stages/enforce_blocking_invariant.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | //!    [`BLOCKING_ALLOWLIST`], `evidence.is_some()`, `deterministic`, `confidence >= 0.90`,
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^^ no item named `BLOCKING_ALLOWLIST` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `instrument`
[INFO] [stdout]  --> src/log.rs:5:60
[INFO] [stdout]   |
[INFO] [stdout] 5 | //! Only handles events (no span tracking — we don't use #[instrument]).
[INFO] [stdout]   |                                                            ^^^^^^^^^^ no item named `instrument` in scope
[INFO] [stdout]   |
[INFO] [stdout]   = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `validation_errors`
[INFO] [stdout]    --> src/models.rs:455:38
[INFO] [stdout]     |
[INFO] [stdout] 455 |     /// loaded `Vec<Finding>`. See [`validation_errors`] for an
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^ no item named `validation_errors` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `is_valid`
[INFO] [stdout]    --> src/models.rs:462:11
[INFO] [stdout]     |
[INFO] [stdout] 462 |     /// [`is_valid`]. Empty `Vec` means the finding is valid.
[INFO] [stdout]     |           ^^^^^^^^ no item named `is_valid` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unresolved link to `collect_all_features`
[INFO] [stdout]    --> src/parsers/mod.rs:271:12
[INFO] [stdout]     |
[INFO] [stdout] 271 | /// Uses [`collect_all_features`] from ast_fingerprint to compute structural kinds,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^ no item named `collect_all_features` in scope
[INFO] [stdout]     |
[INFO] [stdout]     = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `repo-hash`
[INFO] [stdout]  --> src/cache/paths.rs:1:52
[INFO] [stdout]   |
[INFO] [stdout] 1 | //! Cache path utilities - uses ~/.cache/repotoire/<repo-hash>/ instead of .repotoire/
[INFO] [stdout]   |                                                    ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `repo-hash`
[INFO] [stdout]  --> src/cache/paths.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 | /// Uses ~/.cache/repotoire/<repo-hash>/ on Unix, %LOCALAPPDATA%/repotoire/<repo-hash>/ on Windows.
[INFO] [stdout]   |                             ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `repo-hash`
[INFO] [stdout]  --> src/cache/paths.rs:6:76
[INFO] [stdout]   |
[INFO] [stdout] 6 | /// Uses ~/.cache/repotoire/<repo-hash>/ on Unix, %LOCALAPPDATA%/repotoire/<repo-hash>/ on Windows.
[INFO] [stdout]   |                                                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `Display`
[INFO] [stdout]    --> src/detectors/ai/ai_duplicate_block.rs:318:26
[INFO] [stdout]     |
[INFO] [stdout] 318 |     /// "src/foo.rs::impl<Display for MyStruct>::fmt:30" -> Some("Display")
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `Display`
[INFO] [stdout]    --> src/detectors/ai/ai_duplicate_block.rs:326:26
[INFO] [stdout]     |
[INFO] [stdout] 326 |     /// "src/foo.rs::impl<Display for MyStruct>::fmt:30" -> Some("MyStruct")
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `MyStruct`
[INFO] [stdout]    --> src/detectors/ai/ai_duplicate_block.rs:327:26
[INFO] [stdout]     |
[INFO] [stdout] 327 |     /// "src/foo.rs::impl<MyStruct>::new:10" -> Some("MyStruct")
[INFO] [stdout]     |                          ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 327 |     /// "src/foo.`rs::impl<MyStruct>::new`:10" -> Some("MyStruct")
[INFO] [stdout]     |                  +                       +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this URL is not a hyperlink
[INFO] [stdout]   --> src/detectors/security/xxe/predict.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     /// https://docs.python.org/3/library/xml.html#xml-vulnerabilities
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: bare URLs are not automatically turned into clickable links
[INFO] [stdout]    = note: `#[warn(rustdoc::bare_urls)]` on by default
[INFO] [stdout] help: use an automatic link instead
[INFO] [stdout]    |
[INFO] [stdout] 86 |     /// <https://docs.python.org/3/library/xml.html#xml-vulnerabilities>
[INFO] [stdout]    |         +                                                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this URL is not a hyperlink
[INFO] [stdout]    --> src/detectors/security/xxe/predict.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 | /// https://docs.python.org/3/library/xml.html#xml-vulnerabilities.
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: bare URLs are not automatically turned into clickable links
[INFO] [stdout] help: use an automatic link instead
[INFO] [stdout]     |
[INFO] [stdout] 183 | /// <https://docs.python.org/3/library/xml.html#xml-vulnerabilities>.
[INFO] [stdout]     |     +                                                              +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `String`
[INFO] [stdout]     --> src/detectors/ast_fingerprint.rs:1013:60
[INFO] [stdout]      |
[INFO] [stdout] 1013 | /// Pattern flags detected during AST walk — avoids HashSet<String> for all_kinds.
[INFO] [stdout]      |                                                            ^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]      |
[INFO] [stdout] 1013 | /// Pattern flags detected during AST walk — avoids `HashSet<String>` for all_kinds.
[INFO] [stdout]      |                                                     +               +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `CodeNode`
[INFO] [stdout]  --> src/detectors/detector_context.rs:4:43
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! Avoids redundant graph queries and Vec<CodeNode> cloning across detectors.
[INFO] [stdout]   |                                           ^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]   |
[INFO] [stdout] 4 | //! Avoids redundant graph queries and `Vec<CodeNode>` cloning across detectors.
[INFO] [stdout]   |                                        +             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `caller`
[INFO] [stdout]    --> src/detectors/detector_context.rs:283:18
[INFO] [stdout]     |
[INFO] [stdout] 283 |     /// QN -> Vec<caller QN> -- avoids Vec<CodeNode> cloning in get_callers()
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `CodeNode`
[INFO] [stdout]    --> src/detectors/detector_context.rs:283:43
[INFO] [stdout]     |
[INFO] [stdout] 283 |     /// QN -> Vec<caller QN> -- avoids Vec<CodeNode> cloning in get_callers()
[INFO] [stdout]     |                                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 283 |     /// QN -> Vec<caller QN> -- avoids `Vec<CodeNode>` cloning in get_callers()
[INFO] [stdout]     |                                        +             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `callee`
[INFO] [stdout]    --> src/detectors/detector_context.rs:285:18
[INFO] [stdout]     |
[INFO] [stdout] 285 |     /// QN -> Vec<callee QN> -- avoids Vec<CodeNode> cloning in get_callees()
[INFO] [stdout]     |                  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `CodeNode`
[INFO] [stdout]    --> src/detectors/detector_context.rs:285:43
[INFO] [stdout]     |
[INFO] [stdout] 285 |     /// QN -> Vec<callee QN> -- avoids Vec<CodeNode> cloning in get_callees()
[INFO] [stdout]     |                                           ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 285 |     /// QN -> Vec<callee QN> -- avoids `Vec<CodeNode>` cloning in get_callees()
[INFO] [stdout]     |                                        +             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `child`
[INFO] [stdout]    --> src/detectors/detector_context.rs:287:31
[INFO] [stdout]     |
[INFO] [stdout] 287 |     /// Parent class QN -> Vec<child class QN>
[INFO] [stdout]     |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `CodeNode`
[INFO] [stdout]    --> src/detectors/detector_context.rs:324:12
[INFO] [stdout]     |
[INFO] [stdout] 324 |     /// Vec<CodeNode> cloning and (StrKey, StrKey) pair allocation.
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 324 |     /// `Vec<CodeNode>` cloning and (StrKey, StrKey) pair allocation.
[INFO] [stdout]     |         +             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `index`
[INFO] [stdout]   --> src/detectors/file_index.rs:73:25
[INFO] [stdout]    |
[INFO] [stdout] 73 |     /// Extension -> Vec<index into entries>
[INFO] [stdout]    |                         ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `CodeNode`
[INFO] [stdout]    --> src/detectors/function_context.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 |     /// avoiding Vec<CodeNode> cloning and the (StrKey, StrKey) call edge scan.
[INFO] [stdout]     |                     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 170 |     /// avoiding `Vec<CodeNode>` cloning and the (StrKey, StrKey) call edge scan.
[INFO] [stdout]     |                  +             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `CodeNode`
[INFO] [stdout]    --> src/detectors/function_context.rs:299:57
[INFO] [stdout]     |
[INFO] [stdout] 299 |     /// NodeIndex-based build path (CodeGraph). Zero Vec<CodeNode> cloning.
[INFO] [stdout]     |                                                         ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 299 |     /// NodeIndex-based build path (CodeGraph). Zero `Vec<CodeNode>` cloning.
[INFO] [stdout]     |                                                      +             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `CodeNode`
[INFO] [stdout]   --> src/detectors/module_metrics.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 | /// Vec<CodeNode> cloning in per-function callee lookups.
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]    |
[INFO] [stdout] 44 | /// `Vec<CodeNode>` cloning in per-function callee lookups.
[INFO] [stdout]    |     +             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `CodeNode`
[INFO] [stdout]    --> src/detectors/module_metrics.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | /// Vec<CodeNode> cloning for both per-file function lookups and
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 186 | /// `Vec<CodeNode>` cloning for both per-file function lookups and
[INFO] [stdout]     |     +             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `CodeNode`
[INFO] [stdout]   --> src/detectors/reachability.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 27 |     /// Vec<CodeNode> cloning in per-function callee lookups.
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]    |
[INFO] [stdout] 27 |     /// `Vec<CodeNode>` cloning in per-function callee lookups.
[INFO] [stdout]    |         +             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `bool`
[INFO] [stdout]   --> src/detectors/rust_smells/mod.rs:69:18
[INFO] [stdout]    |
[INFO] [stdout] 69 | /// Returns a Vec<bool> where `true` means the line is inside a test region.
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]    |
[INFO] [stdout] 69 | /// Returns a `Vec<bool>` where `true` means the line is inside a test region.
[INFO] [stdout]    |               +         +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cli/analyze/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | / pub struct OutputOptions {
[INFO] [stdout] 33 | |     pub format: crate::reporters::OutputFormat,
[INFO] [stdout] 34 | |     pub output_path: Option<PathBuf>,
[INFO] [stdout] 35 | |     pub severity_filter: Option<crate::models::Severity>,
[INFO] [stdout] ...  |
[INFO] [stdout] 47 | |     pub json_sidecar: Option<PathBuf>,
[INFO] [stdout] 48 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Re-exported from `cli::analyze` — presentation options live with their consumers.`
[INFO] [stdout]    = help: ends near `analysis results. No analysis-logic concerns; purely output/filtering.`
[INFO] [stdout]    = note: `#[deny(rustdoc::unportable_markdown)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: markdown element starts on one item and ends on another
[INFO] [stdout]   --> src/cli/analyze/mod.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | / pub struct OutputOptions {
[INFO] [stdout] 33 | |     pub format: crate::reporters::OutputFormat,
[INFO] [stdout] 34 | |     pub output_path: Option<PathBuf>,
[INFO] [stdout] 35 | |     pub severity_filter: Option<crate::models::Severity>,
[INFO] [stdout] ...  |
[INFO] [stdout] 47 | |     pub json_sidecar: Option<PathBuf>,
[INFO] [stdout] 48 | | }
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the way this is parsed might change in the future
[INFO] [stdout]    = help: starts near `Consumer-side presentation options — everything needed to format and display`
[INFO] [stdout]    = help: ends near `Consumer-side presentation options — everything needed to format and display`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `repo`
[INFO] [stdout]   --> src/git/blame.rs:34:55
[INFO] [stdout]    |
[INFO] [stdout] 34 | /// Persistent git cache stored in ~/.cache/repotoire/<repo>/git_cache.json
[INFO] [stdout]    |                                                       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `email`
[INFO] [stdout]   --> src/git/raw/commit.rs:85:17
[INFO] [stdout]    |
[INFO] [stdout] 85 | /// Parse "Name <email> timestamp tz" signature format.
[INFO] [stdout]    |                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `i64`
[INFO] [stdout]    --> src/graph/store_models.rs:233:40
[INFO] [stdout]     |
[INFO] [stdout] 233 |     /// Cyclomatic complexity as Option<i64> (returns None if 0).
[INFO] [stdout]     |                                        ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 233 |     /// Cyclomatic complexity as `Option<i64>` (returns None if 0).
[INFO] [stdout]     |                                  +           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `i64`
[INFO] [stdout]    --> src/graph/store_models.rs:243:34
[INFO] [stdout]     |
[INFO] [stdout] 243 |     /// Parameter count as Option<i64> (returns None if 0).
[INFO] [stdout]     |                                  ^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 243 |     /// Parameter count as `Option<i64>` (returns None if 0).
[INFO] [stdout]     |                            +           +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `CodeNode`
[INFO] [stdout]   --> src/graph/builder.rs:76:35
[INFO] [stdout]    |
[INFO] [stdout] 76 |     /// Nodes stored as Vec<Option<CodeNode>>. None = tombstone (removed).
[INFO] [stdout]    |                                   ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]    |
[INFO] [stdout] 76 |     /// Nodes stored as `Vec<Option<CodeNode>>`. None = tombstone (removed).
[INFO] [stdout]    |                         +                     +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `f64`
[INFO] [stdout]   --> src/quantize/dense_matrix.rs:51:39
[INFO] [stdout]    |
[INFO] [stdout] 51 |     /// Matrix × vector. Returns a Vec<f64> of length self.rows.
[INFO] [stdout]    |                                       ^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]    |
[INFO] [stdout] 51 |     /// Matrix × vector. Returns a `Vec<f64>` of length self.rows.
[INFO] [stdout]    |                                    +        +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: this URL is not a hyperlink
[INFO] [stdout]  --> src/reporters/sarif.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! Reference: https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html
[INFO] [stdout]   |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: bare URLs are not automatically turned into clickable links
[INFO] [stdout] help: use an automatic link instead
[INFO] [stdout]   |
[INFO] [stdout] 6 | //! Reference: <https://docs.oasis-open.org/sarif/sarif/v2.1.0/sarif-v2.1.0.html>
[INFO] [stdout]   |                +                                                                +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unclosed HTML tag `CodeNode`
[INFO] [stdout]    --> src/scoring/graph_scorer.rs:459:12
[INFO] [stdout]     |
[INFO] [stdout] 459 |     /// Vec<CodeNode> cloning and (StrKey, StrKey) pair allocation.
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: try marking as source code
[INFO] [stdout]     |
[INFO] [stdout] 459 |     /// `Vec<CodeNode>` cloning and (StrKey, StrKey) pair allocation.
[INFO] [stdout]     |         +             +
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `repotoire`
[INFO] running `Command { std: "docker" "inspect" "44eb1e945432dccc83235bb6398eac45489abb87fe2e8bc10686735c7b6bd69f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "44eb1e945432dccc83235bb6398eac45489abb87fe2e8bc10686735c7b6bd69f", kill_on_drop: false }`
[INFO] [stdout] 44eb1e945432dccc83235bb6398eac45489abb87fe2e8bc10686735c7b6bd69f
