{
  "ml": {
    "v": "7",
    "eng": "2.12.0-beta.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.00006233653,
        "rte": "az",
        "prob": 0.00006233653
      },
      {
        "cls": 0,
        "raw": 0.0002289315,
        "rte": "az/tar",
        "prob": 0.0002289315
      }
    ],
    "prob": 0.00006233653,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00006233652675291523,
        "type": "crate"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001755356788635254,
        "type": "rust"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000016897916793823242,
        "type": "rust"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000025192895918735303,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-27T22:45:04Z"
  },
  "path": "cranpose-assets-0.1.171.crate",
  "raw": {
    "files": [
      {
        "id": 0,
        "mol": "H(F)Md(Pa₂)",
        "sha": "d4f08728e1ba286ff3c48e4ea9333d6da9cd3407faadbdab200dea35a22f4efc",
        "path": "cranpose-assets-0.1.171.crate",
        "risk": 3,
        "size": 4197,
        "type": "crate",
        "facts": {
          "metrics": {
            "file": {
              "size": 4197,
              "entropy": 7.95
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 4096,
              "peak_region_entropy": 7.8
            }
          }
        },
        "ident": {
          "name": {
            "value": "cranpose-assets",
            "source": "crate.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/samoylenkodmitry/cranpose",
              "kind": "repository",
              "source": "crate.repository"
            },
            {
              "url": "https://samoylenkodmitry.github.io/cranpose/",
              "kind": "homepage",
              "source": "crate.homepage"
            }
          ],
          "trust": "unsigned",
          "authors": [
            {
              "name": "Dmitry Samoylenko",
              "role": "author",
              "source": "crate.authors"
            }
          ],
          "version": {
            "value": "0.1.171",
            "source": "crate.version",
            "verified": false
          },
          "identifier": {
            "value": "cranpose-assets",
            "source": "crate.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/import/rust/std/path/pathbuf::std/path/pathbuf",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::path::PathBuf",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/version::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          },
          {
            "id": "metadata/import/rust/std/fmt::std/fmt",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::fmt",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-repository-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares repository"
          },
          {
            "id": "metadata/package/name/convention::cargo-package-name",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has name"
          },
          {
            "id": "metadata/import/rust/std/path/path::std/path/path",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::path::Path",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/std/sync/mutexguard::std/sync/mutexguard",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::sync::MutexGuard",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/testing/harness/unit::rust-cfg-test",
            "conf": 0.9,
            "crit": 2,
            "desc": "#[cfg(test)] attribute",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/testing/harness/unit::rust-test-attr",
            "conf": 0.9,
            "crit": 2,
            "desc": "#[test] attribute",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/std/path/component::std/path/component",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::path::Component",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-meaningful-description",
            "conf": 0.78,
            "crit": 2,
            "desc": "Cargo package has meaningful description"
          },
          {
            "id": "metadata/package/testing/harness/unit::rust-test",
            "conf": 0.95,
            "crit": 3,
            "desc": "Rust test marker or harness",
            "from": [
              {
                "file": 5
              },
              {
                "file": 6
              }
            ],
            "uses": [
              8,
              10
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::rust-tests-path-filename",
            "conf": 0.85,
            "crit": 2,
            "desc": "Path or filename indicates Rust tests",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/std/sync/arc::std/sync/arc",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::sync::Arc",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-readme-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares readme"
          },
          {
            "id": "metadata/package/testing/presence/harness::rust-tests-directory-path",
            "conf": 0.9,
            "crit": 2,
            "desc": "Path identifies Rust tests directory",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/package/testing/presence/harness::test-directory-path",
            "conf": 1.0,
            "crit": 2,
            "desc": "File is in common test directory",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/cwd::rust-current-directory",
            "conf": 0.88,
            "crit": 3,
            "desc": "Rust reads current directory",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/super::super",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports super::*",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/import/rust/std/sync/poisonerror::std/sync/poisonerror",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::sync::PoisonError",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/std/collections/hashmap::std/collections/hashmap",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::collections::HashMap",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-license-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares license"
          },
          {
            "id": "metadata/import/rust/std/sync/mutex::std/sync/mutex",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::sync::Mutex",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/testing/presence/path::archive-test-directory-member-path",
            "conf": 0.98,
            "crit": 3,
            "desc": "Archive ships a root-level test tree"
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "fe1E\u003el349UBrCyrvpT7\u0026xcpS2wft.$zEEf?zdNQbaAhvnze19aC4C.qw]zYjlVMQMAbP/ee^.@dB7DFnByWA[DKp(rarUfjy\u00260V)BzkVhB2(uMvrl9Rvq)+8arR^Hw]hSv3lQDlaAg+hxGwh3lVl*Xz/fc7BsXLhvruflaw=G*xHl\u0026NEjLZFarR!FD2vaMi^Tekv\u003en-%B-.htefEVfBy/X!BZYr3efE=cx(!igmriA!A^YFCEld=yfe1$3mriA!AV/ylBAIRwwN(])C{3s0l349UBwlgYvp%d(u%K)\u003ez^^f0z/xodvruj4zGvAqbu[X\u0026A+PYdc}4SQB.rde3ugb%az2Ckz6hb=B7GCZA=M8saBsCrarR^Wfe1CExK@rbwPq\u003c7B97#7ayPtjwPP5lvruf9x(+zdze:Pxe^-ZzarT9\u0026Accw4vrufl3lQDlatkx3avg6\u0026wPP5lvrug7az(mxBrC47aAz4fvrujbwGV8kayMykwOkZ#By+",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "arR^HarR!P3lQDlaBKPB3jnBtfcBhszEWv2z/fGoB0a[jB7GCozddr\u003cxjV9aCwhejaAzysBs*%gB7F(8y\u0026slcB-nEizE:(0D30Quv{@\u003eXx(mMo3l@+=wPzHdwHG@TvS=rjt)+K[vJY-lA=\u003e(lavg6\u0026wPQTPzEEf?AV/YoarR^HA=k(rB2\u003eBAwN^\u00260",
            "ln": 2649,
            "col": 2,
            "line": 81
          },
          {
            "b": "z/PSczF785x(W={Bz(hBe^-ZzarUSCvJYo2az$+mc[cn\u003cj%i^ny?s/p3lQDlarR^Haz+RhaAzysBrAZ?B97}Ni+rhLiYZ+[A=L-eByeM)AWSv?B-8zzvq]N(A:Jx]B7D+EuWJ$)vrufHB.iV}w].*bc)yn/djEs=arR^HarR^Hq!o=SiY.F0Bzb34z/o.CA=k(rdgdguarV7t3lQDlatkx3avyfXvru74ayPdgvrlH3BrCBezEEf?AV/NuBz8!9aAImmxkzc4vrh",
            "ln": 2932,
            "col": 57,
            "line": 93
          },
          {
            "b": "w*/8Skrxh{arR^HarR!vw/$]3BrBI2zdLb8D30RsdiH+@B7Gf1e[ns1xK@Ove[X:qc)\u0026.vC{$vQy\u0026si5wge(HDKp(rarR^HarR^HarUYoBAIRwawV=3vTi6bB16fTarR^HarR^HEf{r7arR^HarR!ywPP5nwPI^aC4ChbjS[/Sy?s1%arR^HarR^Hao",
            "ln": 3826,
            "col": 50,
            "line": 119
          },
          {
            "b": "B1Q%sz/fbmdj+/GarR^HarR^HarR!Pdl/)3arR^HarR^Hy?mYhvTi6bB09Q*B97}Ni+AB]i=X!uwge^BwPI^aC4Chke]t3ouUam#d138OB-H#6D($Z@B7GCZA=M8siYY\u0026JaBsCrarR^HarR^HarR!CvrufzaAz4mz!%PdwgO6garR^HarR^HarR!Fz/{8gwH[fharQ",
            "ln": 4118,
            "col": 33,
            "line": 128
          },
          {
            "b": "aAz4nB-Ivxmriz%l349UBvyj\u003cz/N)1mqW0=C#d{\u003exEM1IarR^HEf}8tarTD}c#J%zzddl{DsZRo3vJl*bu[U\u0026xdd\u003ekB95\u003cp3l@+]vruf9jS\u003e}\u003cwPI%mfjw{ywPS02By/JnB1RGOb3+K)z!6#jwPI%mi%\u003e",
            "ln": 6220,
            "col": 8,
            "line": 200
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "formatter.write_str"
            ],
            [
              "",
              "roots.is_empty"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "std::env::current_dir.unwrap_or_else"
            ],
            [
              "",
              "std::env::current_dir"
            ],
            [
              "",
              "std::path::PathBuf::from"
            ],
            [
              "",
              "Self::with_root"
            ],
            [
              "",
              "std::sync::Mutex::new"
            ],
            [
              "",
              "std::collections::HashMap::new"
            ],
            [
              "",
              "root.into"
            ],
            [
              "",
              "normalize_asset_path"
            ],
            [
              "",
              "path.as_ref"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "key.clone"
            ],
            [
              "",
              "std::fs::read.map_err"
            ],
            [
              "",
              "std::fs::read"
            ],
            [
              "",
              "std::sync::Arc::\u003c[u8]\u003e::from"
            ],
            [
              "",
              "std::sync::Arc::clone"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "normalize_asset_path"
            ],
            [
              "",
              "path.as_ref"
            ],
            [
              "",
              "std::str::from_utf8.map.map_err"
            ],
            [
              "",
              "std::str::from_utf8.map"
            ],
            [
              "",
              "std::str::from_utf8"
            ],
            [
              "",
              "root.join"
            ],
            [
              "",
              "candidate.is_file"
            ],
            [
              "",
              "Self::new"
            ],
            [
              "",
              "path.as_os_str.is_empty"
            ],
            [
              "",
              "path.as_os_str"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "path.is_absolute"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "path.to_path_buf"
            ],
            [
              "",
              "std::path::PathBuf::new"
            ],
            [
              "",
              "path.components"
            ],
            [
              "",
              "normalized.push"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "path.to_path_buf"
            ],
            [
              "",
              "normalized.as_os_str.is_empty"
            ],
            [
              "",
              "normalized.as_os_str"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "std::collections::HashMap"
            ],
            [
              "",
              "std::fmt"
            ],
            [
              "",
              "std::path::Component"
            ],
            [
              "",
              "std::path::Path"
            ],
            [
              "",
              "std::path::PathBuf"
            ],
            [
              "",
              "std::sync::Arc"
            ],
            [
              "",
              "std::sync::Mutex"
            ],
            [
              "",
              "std::sync::MutexGuard"
            ],
            [
              "",
              "std::sync::PoisonError"
            ]
          ],
          "mbr": [
            "candidate.is_file",
            "formatter.write_str",
            "key.clone",
            "normalized.as_os_str",
            "normalized.as_os_str.is_empty",
            "normalized.push",
            "path.as_os_str",
            "path.as_os_str.is_empty",
            "path.as_ref",
            "path.components",
            "path.is_absolute",
            "path.to_path_buf",
            "root.into",
            "root.join",
            "roots.is_empty",
            "std::env::current_dir.unwrap_or_else",
            "std::fs::read.map_err",
            "std::str::from_utf8.map",
            "std::str::from_utf8.map.map_err"
          ],
          "tgt": [
            "Err",
            "Ok",
            "Self::new",
            "Self::with_root",
            "Some",
            "candidate.is_file",
            "formatter.write_str",
            "key.clone",
            "normalize_asset_path",
            "normalized.as_os_str",
            "normalized.as_os_str.is_empty",
            "normalized.push",
            "path.as_os_str",
            "path.as_os_str.is_empty",
            "path.as_ref",
            "path.components",
            "path.is_absolute",
            "path.to_path_buf",
            "root.into",
            "root.join",
            "roots.is_empty",
            "std::collections::HashMap::new",
            "std::env::current_dir",
            "std::env::current_dir.unwrap_or_else",
            "std::fs::read",
            "std::fs::read.map_err",
            "std::path::PathBuf::from",
            "std::path::PathBuf::new",
            "std::str::from_utf8",
            "std::str::from_utf8.map",
            "std::str::from_utf8.map.map_err",
            "std::sync::Arc::\u003c[u8]\u003e::from",
            "std::sync::Arc::clone",
            "std::sync::Mutex::new"
          ],
          "funcs": [
            [
              "fmt",
              932
            ],
            [
              "source",
              2419
            ],
            [
              "new",
              2954
            ],
            [
              "with_root",
              3160
            ],
            [
              "add_root",
              3422
            ],
            [
              "roots",
              3586
            ],
            [
              "load_bytes",
              3693
            ],
            [
              "load_string",
              4449
            ],
            [
              "clear_cache",
              4820
            ],
            [
              "cached_asset_count",
              4934
            ],
            [
              "resolve_existing",
              5016
            ],
            [
              "cache",
              5217
            ],
            [
              "default",
              5393
            ],
            [
              "normalize_asset_path",
              5445
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 21,
              "call_count": 63,
              "node_count": 1855,
              "member_count": 19,
              "member_depth_max": 3
            },
            "file": {
              "size": 6342,
              "entropy": 4.48
            },
            "text": {
              "lines": 207,
              "top_char": 116,
              "max_ws_run": 1,
              "digit_ratio": 0,
              "space_count": 1896,
              "char_entropy": 4.48,
              "unique_chars": 73,
              "top_char_null": 0,
              "string_density": 0.05,
              "top_char_ratio": 0.06,
              "avg_line_length": 29.64,
              "max_line_length": 87,
              "empty_line_ratio": 0.1,
              "last_line_length": 10,
              "whitespace_ratio": 0.33,
              "identifier_density": 1.68,
              "line_length_stddev": 23.21,
              "normalized_string_count": 0.7,
              "repeated_char_sequences": 61,
              "suspicious_identifier_ratio": 0.01,
              "normalized_unique_identifiers": 14.17
            },
            "binds": {
              "count": 8
            },
            "binary": {
              "peak_region_bytes": 5318,
              "peak_region_entropy": 4.65
            },
            "source": {
              "class_count": 2,
              "function_count": 14
            },
            "imports": {
              "count": 9,
              "third_party_count": 9,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 215,
              "count": 10,
              "avg_length": 21.5,
              "max_length": 45,
              "avg_entropy": 2.89,
              "entropy_stddev": 1.22
            },
            "comments": {
              "chars": 829,
              "count": 17,
              "lines": 17,
              "to_code_ratio": 0.09
            },
            "functions": {
              "count": 16,
              "density": 6.76,
              "avg_params": 1.21,
              "code_ratio": 0.65,
              "max_params": 2,
              "length_stddev": 10.83,
              "avg_name_length": 9.43,
              "no_params_count": 2,
              "avg_length_lines": 9.64,
              "max_length_lines": 39,
              "min_length_lines": 3,
              "high_entropy_names": 1,
              "avg_param_name_length": 5.06
            },
            "identifiers": {
              "count": 348,
              "unique": 109,
              "avg_length": 6.61,
              "max_length": 20,
              "min_length": 1,
              "avg_entropy": 2.32,
              "reuse_ratio": 0.31,
              "length_stddev": 3.44,
              "has_digit_ratio": 0.03,
              "base64_like_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.01,
              "high_entropy_count": 1,
              "high_entropy_ratio": 0.01,
              "all_lowercase_ratio": 0.64,
              "all_uppercase_ratio": 0.01,
              "numeric_suffix_count": 2,
              "underscore_prefix_count": 1
            }
          }
        },
        "id": 5,
        "mol": "H(F)Md(Pa)",
        "path": "cranpose-assets-0.1.171.crate!!cranpose-assets-0.1.171/src/lib.rs",
        "pid": 0,
        "risk": 3,
        "sha": "89d77f11674612c292962bb55930a7f9844bcbae8c5e312dee6092086a0efebb",
        "size": 6342,
        "traits": [
          {
            "id": "metadata/import/rust/std/collections/hashmap::std/collections/hashmap",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::collections::HashMap",
            "spans": [
              [
                74,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/fmt::std/fmt",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::fmt",
            "spans": [
              [
                100,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/path/component::std/path/component",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::path::Component",
            "spans": [
              [
                116,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/path/path::std/path/path",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::path::Path",
            "spans": [
              [
                127,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/path/pathbuf::std/path/pathbuf",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::path::PathBuf",
            "spans": [
              [
                133,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/sync/arc::std/sync/arc",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::sync::Arc",
            "spans": [
              [
                154,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/sync/mutex::std/sync/mutex",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::sync::Mutex",
            "spans": [
              [
                159,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/sync/mutexguard::std/sync/mutexguard",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::sync::MutexGuard",
            "spans": [
              [
                166,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/sync/poisonerror::std/sync/poisonerror",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::sync::PoisonError",
            "spans": [
              [
                178,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                299,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                18,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                44,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                2697,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness/unit::rust-cfg-test",
            "conf": 0.9,
            "crit": 2,
            "desc": "#[cfg(test)] attribute",
            "spans": [
              [
                6284,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/directory/cwd::rust-current-directory",
            "conf": 0.88,
            "crit": 3,
            "desc": "Rust reads current directory",
            "spans": [
              [
                2996,
                22
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness/unit::rust-test",
            "conf": 0.95,
            "crit": 3,
            "desc": "Rust test marker or harness",
            "uses": [
              13
            ],
            "spans": [
              [
                6284,
                12
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "ctx": [
          {
            "b": "B-RapB9hCkAYMlhi%(sbzxK4jB97+$B8$]muVH76BsnNXeJ$pNvrufHB.h+y3lQDlaz+RhaAzysBrAZNarR^HarR^Hp*[DVluM)3i+AzJz75$kB%emTlQsQupHu*ZpdW]zq=E9(nM3-Ydk2vNx(ksye?O!fe?.rPA+w%9fly=DBs?ANBz#wAfjP3hzG6JnwI4tiB7GDma$kOXarR^HB97}Ni+AB]i+9hwvru6/wnc6\u003evqG:dcus3yBsw?NCYmk7BsntyA+eW3wGUA5B7GCoBy/JnaA8yAAclmBwnc6}v@#TfC{jX03lQDlaAzysBp9B63l@+%wPI%03tae#vqYB-vrcf#wPzc#z/o-8Cwg@ouVga0A:J:5wNw\u003eRwmYpUy*?A%AWSvVDKp(rarUGiBrC43B7DESaARgoByeD$B7GD2A=k(rc[c=-z!T8qb64QuBs?AKwmY^9dlv\u003eVarR!ywPP5bx(XopauZ\u0026Rvrl0jyhW*7",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "3lQDlaAITniYZ\u003e]iY.F9x()]mw[=pbBs}rDx(ksyB7/05wN)AnCYUbUefFyCw[=pbBrSd^wQ5f9v@%ayCxdztwGUP0A=VsDdlv\u003eVarR!FByWA[w]*0]CxdztwHIRhv@Dl}e[$",
            "ln": 558,
            "col": 60,
            "line": 16
          },
          {
            "b": "uVH76BsnFFx(Xopdlv\u003eVarR!nB8$]mB1Q)iwm6v}z/^xOB7F\u003c1zE+gT3lQDlayPtjwPz)1wPn\u003ewvrlH3BAo6Pz/o-sc[cX\u0026cr\u003e7@A=VsNaAIa7z/f8rv@c73wHG0kdlv\u003ezarR^HvrlH3A=+V1AuM.qarR^HarR^HvrlH3BAo6Jz^^f-vTi6bB0@kNxKL{)wg?%",
            "ln": 833,
            "col": 40,
            "line": 21
          },
          {
            "b": "B7GCqdlv\u003ezarR^HvrlH3A=+V1AuM.SdRrynB95@Qcr\u0026hQatLF\u003cgHhB\u003e3lQDlayPtjwPz(oc{.(-iY.k4A:Jx$c)\u0026LuA=VsNasqevv@Dl}djEs=arR^HvrlH3A=+V1AuM-EvqYH^wPxzkvpJ$Zwm5+^B7GD2v@DHcBsnN?atCrb3vJl*bu]n3B97W{w]n-c",
            "ln": 1540,
            "col": 32,
            "line": 44
          },
          {
            "b": "arR!FByWA[w]*0]CxdztwHIOqz/^QDz!T8qb5H[jB75Y)e{8tWa$k5=b4$L7y\u0026pCaA:-\u003c8z/YFldk2gRAaJK3c)A\u003eQx()]eBy/YsayPtjwPPaBi%)8MarUGiBrCBezEEf?",
            "ln": 1763,
            "col": 2,
            "line": 54
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "PathBuf::from.join"
            ],
            [
              "",
              "PathBuf::from"
            ],
            [
              "",
              "std::fs::create_dir_all.expect"
            ],
            [
              "",
              "std::fs::create_dir_all"
            ],
            [
              "",
              "test_asset_root.join"
            ],
            [
              "",
              "test_asset_root"
            ],
            [
              "",
              "base.join"
            ],
            [
              "",
              "base.join"
            ],
            [
              "",
              "std::fs::create_dir_all.expect"
            ],
            [
              "",
              "std::fs::create_dir_all"
            ],
            [
              "",
              "std::fs::create_dir_all.expect"
            ],
            [
              "",
              "std::fs::create_dir_all"
            ],
            [
              "",
              "std::fs::write.expect"
            ],
            [
              "",
              "std::fs::write"
            ],
            [
              "",
              "first.join"
            ],
            [
              "",
              "std::fs::write.expect"
            ],
            [
              "",
              "std::fs::write"
            ],
            [
              "",
              "second.join"
            ],
            [
              "",
              "std::fs::write.expect"
            ],
            [
              "",
              "std::fs::write"
            ],
            [
              "",
              "second.join"
            ],
            [
              "",
              "AssetManager::with_root"
            ],
            [
              "",
              "assets.add_root"
            ],
            [
              "",
              "test_asset_root"
            ],
            [
              "",
              "std::fs::write.expect"
            ],
            [
              "",
              "std::fs::write"
            ],
            [
              "",
              "root.join"
            ],
            [
              "",
              "AssetManager::with_root"
            ],
            [
              "",
              "manager.load_bytes.expect"
            ],
            [
              "",
              "manager.load_bytes"
            ],
            [
              "",
              "manager.load_bytes.expect"
            ],
            [
              "",
              "manager.load_bytes"
            ],
            [
              "",
              "test_asset_root"
            ],
            [
              "",
              "std::fs::write.expect"
            ],
            [
              "",
              "std::fs::write"
            ],
            [
              "",
              "root.join"
            ],
            [
              "",
              "AssetManager::with_root"
            ],
            [
              "",
              "AssetManager::with_root"
            ],
            [
              "",
              "test_asset_root"
            ],
            [
              "",
              "test_asset_root"
            ],
            [
              "",
              "AssetManager::with_root"
            ],
            [
              "",
              "manager.load_bytes"
            ],
            [
              "",
              "test_asset_root"
            ],
            [
              "",
              "std::fs::write.expect"
            ],
            [
              "",
              "std::fs::write"
            ],
            [
              "",
              "root.join"
            ],
            [
              "",
              "AssetManager::with_root"
            ],
            [
              "",
              "manager.load_bytes.expect"
            ],
            [
              "",
              "manager.load_bytes"
            ],
            [
              "",
              "manager.clear_cache"
            ],
            [
              "",
              "super::*"
            ]
          ],
          "mbr": [
            "PathBuf::from.join",
            "assets.add_root",
            "base.join",
            "first.join",
            "manager.clear_cache",
            "manager.load_bytes",
            "manager.load_bytes.expect",
            "root.join",
            "second.join",
            "std::fs::create_dir_all.expect",
            "std::fs::write.expect",
            "test_asset_root.join"
          ],
          "tgt": [
            "AssetManager::with_root",
            "PathBuf::from",
            "PathBuf::from.join",
            "assets.add_root",
            "base.join",
            "first.join",
            "manager.clear_cache",
            "manager.load_bytes",
            "manager.load_bytes.expect",
            "root.join",
            "second.join",
            "std::fs::create_dir_all",
            "std::fs::create_dir_all.expect",
            "std::fs::write",
            "std::fs::write.expect",
            "test_asset_root",
            "test_asset_root.join"
          ],
          "funcs": [
            [
              "test_asset_root",
              15
            ],
            [
              "an_earlier_root_wins_over_one_added_later",
              265
            ],
            [
              "load_bytes_reads_and_caches_relative_asset",
              1157
            ],
            [
              "load_string_returns_utf8_content",
              1688
            ],
            [
              "load_rejects_paths_that_escape_root",
              2033
            ],
            [
              "load_reports_missing_asset_with_roots",
              2270
            ],
            [
              "clear_cache_removes_cached_assets",
              2693
            ]
          ],
          "metrics": {
            "ast": {
              "max_depth": 13,
              "call_count": 50,
              "node_count": 1120,
              "member_count": 12,
              "max_array_length": 3,
              "max_member_depth": 3,
              "max_numeric_array": 3
            },
            "file": {
              "size": 3082,
              "entropy": 4.79
            },
            "text": {
              "lines": 97,
              "top_char": 116,
              "digit_ratio": 0.01,
              "space_count": 440,
              "char_entropy": 4.79,
              "unique_chars": 68,
              "top_char_null": 0,
              "import_density": 1.03,
              "string_density": 0.44,
              "top_char_ratio": 0.08,
              "avg_line_length": 30.77,
              "max_line_length": 99,
              "empty_line_ratio": 0.15,
              "last_line_length": 1,
              "whitespace_ratio": 0.17,
              "identifier_density": 1.92,
              "line_length_stddev": 26.54,
              "max_whitespace_run": 1,
              "normalized_import_count": 0.1,
              "normalized_string_count": 4.37,
              "repeated_char_sequences": 2,
              "normalized_function_count": 0.71,
              "imports_to_functions_ratio": 0.14,
              "strings_to_functions_ratio": 6.14,
              "normalized_unique_identifiers": 6.97,
              "identifiers_to_functions_ratio": 6.57
            },
            "binds": {
              "count": 16
            },
            "binary": {
              "peak_region_bytes": 3072,
              "peak_region_entropy": 4.8
            },
            "source": {
              "function_count": 7
            },
            "imports": {
              "count": 1,
              "wildcard": 1,
              "third_party_count": 1,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 516,
              "count": 43,
              "avg_length": 12,
              "max_length": 40,
              "path_count": 3,
              "avg_entropy": 2.94,
              "entropy_stddev": 0.45
            },
            "functions": {
              "count": 7,
              "density": 7.22,
              "code_ratio": 0.86,
              "length_stddev": 5.14,
              "avg_name_length": 33.57,
              "no_params_count": 7,
              "avg_length_lines": 11.86,
              "max_length_lines": 23,
              "min_length_lines": 6,
              "high_entropy_names": 4
            },
            "identifiers": {
              "count": 186,
              "unique": 46,
              "avg_length": 10.74,
              "max_length": 42,
              "min_length": 2,
              "avg_entropy": 2.49,
              "reuse_ratio": 0.25,
              "length_stddev": 10.68,
              "has_digit_ratio": 0.02,
              "high_entropy_count": 4,
              "high_entropy_ratio": 0.09,
              "all_lowercase_ratio": 0.83
            }
          }
        },
        "id": 6,
        "mol": "Md(Pa)",
        "path": "cranpose-assets-0.1.171.crate!!cranpose-assets-0.1.171/src/tests/assets_tests.rs",
        "pid": 0,
        "risk": 2,
        "sha": "e5d05c81babec6d245b2d72e60ce935e4c3157fa75213c6e73c205ef4f2685cf",
        "size": 3082,
        "supp": [
          {
            "by": [
              {
                "id": "metadata/package/testing/presence/harness::rust-tests-directory-path"
              },
              {
                "id": "metadata/package/testing/presence/harness::rust-tests-path-filename"
              }
            ],
            "id": "micro-behaviors/fs/write/file/full::fs-write",
            "crit": "notable",
            "kind": "unless"
          }
        ],
        "traits": [
          {
            "id": "metadata/package/testing/harness/unit::rust-test",
            "conf": 0.95,
            "crit": 3,
            "desc": "Rust test marker or harness",
            "uses": [
              2
            ],
            "spans": [
              [
                257,
                7
              ]
            ]
          },
          {
            "id": "metadata/import/rust/super::super",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports super::*",
            "spans": [
              [
                4,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/testing/harness/unit::rust-test-attr",
            "conf": 0.9,
            "crit": 2,
            "desc": "#[test] attribute",
            "spans": [
              [
                257,
                0
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 912,
              "entropy": 4.8
            },
            "binary": {
              "peak_region_bytes": 912,
              "peak_region_entropy": 4.8
            },
            "registry": {
              "age_days": 0,
              "published_at": 1790545227,
              "releases_24h": 6,
              "releases_48h": 7,
              "is_deprecated": 0,
              "release_count": 202,
              "unpacked_size": 4197,
              "downloads_total": 3472,
              "version_removed": 0,
              "downloads_recent": 2612,
              "package_age_days": 252,
              "first_published_at": 1768722792,
              "previous_published_at": 1790539697,
              "days_since_previous_release": 0
            }
          }
        },
        "id": 7,
        "mol": "Md(Re)",
        "path": "cranpose-assets@0.1.171.registry.json",
        "pid": 0,
        "rel": "registry",
        "risk": 1,
        "role": "sidecar",
        "sha": "a089ac15f6e6aa50968be7dbb11ea662c70988937f55d4e7315777587e3d1a9b",
        "size": 912,
        "traits": [
          {
            "id": "metadata/registry::many-releases",
            "conf": 1.0,
            "crit": 3,
            "desc": "Twenty or more releases"
          },
          {
            "id": "metadata/registry::publish-burst-24h",
            "conf": 1.0,
            "crit": 3,
            "desc": "Three releases published within 24 hours"
          },
          {
            "id": "metadata/registry::publish-burst-48h",
            "conf": 1.0,
            "crit": 3,
            "desc": "Three releases published within 48 hours"
          },
          {
            "id": "metadata/registry::freshly-published",
            "conf": 1.0,
            "crit": 3,
            "desc": "Release published within seven days"
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "c1ea9",
    "v": "8"
  }
}