{
  "ml": {
    "v": "7",
    "eng": "2.12.0-beta.2",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.0057550767,
        "rte": "az",
        "prob": 0.0057550767
      },
      {
        "cls": 0,
        "raw": 0.012732446,
        "rte": "az/tar",
        "prob": 0.012732446
      }
    ],
    "prob": 0.0057550767,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.0057550766505301,
        "type": "crate"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000017096599549404345,
        "type": "json"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000020951032638549805,
        "type": "rust"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-29T10:15:22Z"
  },
  "path": "cljrs-export-macro-0.1.101.crate",
  "raw": {
    "files": [
      {
        "id": 0,
        "mol": "O(S)H(Db)Md",
        "sha": "83dfe2c233e912ca588c705f6d4b125352558a5f5a0cc093cbbbd2878acb972d",
        "path": "/tmp/promoter-1870801103/83dfe2c233e912ca588c705f6d4b125352558a5f5a0cc093cbbbd2878acb972d/cljrs-export-macro-0.1.101.crate",
        "risk": 4,
        "size": 5364,
        "type": "crate",
        "facts": {
          "metrics": {
            "file": {
              "size": 5364,
              "entropy": 7.96
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 5120,
              "peak_region_entropy": 7.82
            }
          }
        },
        "ident": {
          "name": {
            "value": "cljrs-export-macro",
            "source": "crate.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/csm/clojurust",
              "kind": "repository",
              "source": "crate.repository"
            }
          ],
          "trust": "unsigned",
          "version": {
            "value": "0.1.101",
            "source": "crate.version",
            "verified": false
          },
          "identifier": {
            "value": "cljrs-export-macro",
            "source": "crate.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/import/rust/syn/pattype::syn/pattype",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::PatType",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/syn/fnarg::syn/fnarg",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::FnArg",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/proc_macro2/tokenstream::TokenStream2",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports proc_macro2::TokenStream as TokenStream2",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/syn/litint::syn/litint",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::LitInt",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/syn/parse/parsestream::syn/parse/parsestream",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::parse::ParseStream",
            "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/name/convention::cargo-license-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares license"
          },
          {
            "id": "metadata/package/version::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/proc_macro/tokenstream::proc_macro/tokenstream",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports proc_macro::TokenStream",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/import/rust/syn/itemfn::syn/itemfn",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::ItemFn",
            "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/import/rust/syn/litstr::syn/litstr",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::LitStr",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/syn/parse/parse::syn/parse/parse",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::parse::Parse",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/quote/quote::quote/quote",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports quote::quote",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/quote/format_ident::quote/format_ident",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports quote::format_ident",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "objectives/supply-chain/install-hook/build/behavioral::rust-proc-macro-entrypoint",
            "atk": "T1195.002",
            "conf": 0.92,
            "crit": 3,
            "desc": "Rust proc macro entrypoint"
          },
          {
            "id": "metadata/package/name/convention::cargo-repository-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares repository"
          },
          {
            "id": "metadata/import/rust/syn/token::syn/token",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::Token",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/data/string/replace::rust-string-replacement-call",
            "conf": 0.9,
            "crit": 3,
            "desc": "Rust replaces matched string content",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/syn/returntype::syn/returntype",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::ReturnType",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/import/rust/syn/parse_macro_input::syn/parse_macro_input",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::parse_macro_input",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/lang/natural::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "from": [
              {
                "file": 4
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-package-name",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has name"
          },
          {
            "id": "metadata/import/rust/syn/type::syn/type",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::Type",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-readme-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares readme"
          },
          {
            "id": "metadata/file/naming::archive-member-under-10kb",
            "conf": 0.9,
            "crit": 3,
            "desc": "Archive has a sub-10KB member"
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 119,
              "entropy": 4.9
            },
            "json": {
              "parsed_bytes": 119,
              "parse_limit_bytes": 76800
            },
            "binary": {
              "peak_region_bytes": 119,
              "peak_region_entropy": 4.9
            }
          }
        },
        "id": 1,
        "path": "/tmp/promoter-1870801103/83dfe2c233e912ca588c705f6d4b125352558a5f5a0cc093cbbbd2878acb972d/cljrs-export-macro-0.1.101.crate!!cljrs-export-macro-0.1.101/.cargo_vcs_info.json",
        "pid": 0,
        "risk": 1,
        "sha": "c2f02b8e5b9835474d477cc67437f48888dfdf0376302f78ff28804b0cdc9db2",
        "size": 119,
        "traits": [
          {
            "id": "metadata/file/extension/identity::json-txt-md-basename",
            "conf": 1.0,
            "crit": 2,
            "desc": "JSON, text, or markdown filename extension"
          },
          {
            "id": "metadata/file/extension/identity::web-asset-extension",
            "conf": 1.0,
            "crit": 2,
            "desc": "Common web or JSON file extension"
          },
          {
            "id": "metadata/file/format/conformance::json-document-opening",
            "conf": 0.95,
            "crit": 2,
            "desc": "File begins with a JSON document",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "json"
      },
      {
        "ctx": [
          {
            "b": "yi1x5x(n37A=k[Ti+rLPz/P@9u[I^tfcHVQfcIDazY\u0026}oBrCa9AaJ]$aA8cuBzbxfay/C2By=O9x(W={BzMjPaxrF]ayFX}yi1x5x(n37A=k]8azC.mBy!(\u003eiTNI[aQP\u003eQaS$f2u#*yhBs.cszF%Mb3nj4QaA.:pay/k5A=UP4zGGDgz/v-#wQ5fj",
            "ln": 34,
            "col": 35,
            "line": 1
          },
          {
            "b": "wQ5fjA=-ZEB09Q*b5H+gxD!)h3nj4QaAhEjazbHlvpS)%vlbJBhz=%cvMCSChz=\u003c9eJ$pPwPJ0gBuBm}g+o+FBAh8kxfEC+3nj4QarR^HawV=3viv6yvKRTqfcID^3nj4QayFO+3jp]%wGU@jz!0c\u003evpKs@iYZkUyH}xZBAg@3z958EB7DFkA=kC{zdc{{z.:vmrbVL-zC$T$wNPA#vriL\u003cz!\u0026{4q/)4\u003evqN+Y3uZA3aAqKxBy^G]DUdhpzddJ[x\u003eg^)BsXLOB-hwkEld^UB7DFnD2tV7DKp(rarTc\u003el2{P?aw3V^zany]awuG\u003enP5S3awuG\u003eq/)4haw=G*rc-B]efE\u00264BAIRwrc-B]efE]gyH}xmaxiS9wH[fharR!CvrcB2iY.Q:vrcB2efE+$A=U!\u003cBAg@3zg9@xarR^HAa9^dwNxp.v@=G{x(m)jBsW=Ei%(rFfcGnsFz#/zavg9\u003eA+P09By=O6A+xJiwO#PjAa9^dx(mMa\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ}+TFz#/z3jp\u0026@A=\u003e(lavQJ]z/P}=A+xCoDKp(rarUMyiV}jqBzkVhjwoEhq/)4zed9HxarUMgzdL:JpJgz\u0026z/dWhx()o}AY#2YarR^Hfe1$3o\u003e!GVzfoXrvrc77C{3ZqAV/KlA+O@)x\u003e5n$B-7Yhx(v)gasH=iw)]*#BrAm^e^-ZzarU\u0026oA+O@)x\u003e7H!x(k%OpJgz\u0026z/dWhx(({:BuRk.Ef{r}ze:qlp*[x=wGUP6AV^!}AbP=sl2{QVao",
            "ln": 196,
            "col": 7,
            "line": 8
          },
          {
            "b": "BrC:nA+O@)x\u003e7H!x(k%OpJgz\u0026z/dWhx(({:BuQ*gawM\u0026)wJHkaarR^HarR^HCw7YbwGSdgzG6-ue[]xlwO(ydC{\u003e9:DKp(rarR^HarR^HarUGiBrCvgC@^6?D2tV7nN#yIBrAZ?x(m)jBs}JvA=U!udl/)3arR^HarR^HarR^Hx(m)jBs}JvA=U!MiY)",
            "ln": 1089,
            "col": 15,
            "line": 36
          },
          {
            "b": "LZ}+TFz#/z\u0026/[#MLZ}+TFz#/z\u0026/[#MLZ\u003c8Ffe1$3mr\u0026=\u0026B7DF5ax0u6BrCgrzEW^5z/cXaB0a)llU{WQB-IRCBrCEfBzk]fazb+lv@#B6zy#nHfe0U=fe1CExK@r6vpKs@azUL1Ac0dzxK@r8A+Pf2zEEu7w{503BzkVhazC.nvpKy4vqYP#xjU%(A::63B0a[e3nj4=ax@k/zGYPeBz(hBu%K)@BZ/i4B8#5lzxK4mvrrSjwOkZ#By/GlaARpdazb+lv@#B6zxKdpwO}\u0026dfe1CLu$j1/A=UP4zGGDgz/v-#A+e($B97#luUaF3z/P@vu%K)?B0a$3y\u00260V[e^:l+fa6u=fczFZqE%\u0026\u003cx(T",
            "ln": 2250,
            "col": 174,
            "line": 70
          },
          {
            "b": "aAI*BvSc69zEEx[3nj4=arR^PwmYvYB.(dXax0u6BrCgrzEW^5z/cXnvqPM#CwhejayFL:aAz4jy***+wftubayD^edj$@Xfe1C1ayGw3A+O@)x\u003e7H!x(k4RawMq!\u0026^^mow]zYjC42A9vpT7Zazb+lv@#B6zGvuKB7GCoBzbkdze0)4zfoXrvrc77",
            "ln": 2726,
            "col": 55,
            "line": 84
          },
          {
            "b": "arR!4z/fbejW702zEm9*wO#PxBz\u003eJcBAh8kxdbhYA+fiavpJ\u003c%cTOkLar\u0026xYdj+/GarR!Pi%(rqarR^WfcB1#zdN^cvpJ\u003c\u003ex(+zqwPq\u003cbA+e=l3lQDlaz+Rhaz#mcB98B",
            "ln": 4552,
            "col": 6,
            "line": 132
          },
          {
            "b": "avZlmA+vA]qE%uHx)a6dc%[zCjW6#-z/fbq3lQDlarR^HaBLWCarR^HarR^He[n*oy?m9#c[dj+3lQDlatkw\u003cl$HEKv@@\u0026pvrc6\u003cwnbKmaz2!av@#KjaA8deaAg+fvqPN$wPw]qxM4%6aAR)FwGUYdayDK2r://!wNeW@3lQDlaz+RhaA?glx\u003c\u003eK^v\u003c0]S",
            "ln": 5257,
            "col": 12,
            "line": 156
          },
          {
            "b": "arR^HiYZ+!yi1x5x(n37A=k[Ti+-FPwO#QdA^oYbB9g@ex(\u003eHDiYZ+!yi1x5x(n37A=k[TiZ[pjz/P}*zGG]AaBsCrarR^HarR^HarR!DBZY92w[+*!iV]U!BZY92w[.",
            "ln": 6032,
            "col": 5,
            "line": 181
          },
          {
            "b": "B08(vz*2YjB0a\u003c*wPJ0gBuAINavOF4efFtwByWA[A+frmy\u0026?Z0qE%](y\u0026?^sefEwBu[rBiByM{Le^=idazC[7A+frmy\u0026\u003c3aD2NsyBA][\u0026crbnfwHO-Nj%jrMz!{Ly3lQC",
            "ln": 9877,
            "col": 21,
            "line": 283
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "input.is_empty"
            ],
            [
              "",
              "input.parse"
            ],
            [
              "",
              "key.to_string.as_str"
            ],
            [
              "",
              "key.to_string"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "syn::Error::new"
            ],
            [
              "",
              "key.span"
            ],
            [
              "",
              "input.peek"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "export_impl"
            ],
            [
              "",
              "ts.into"
            ],
            [
              "",
              "e.to_compile_error.into"
            ],
            [
              "",
              "e.to_compile_error"
            ],
            [
              "",
              "lit.value"
            ],
            [
              "",
              "fn_ident.to_string.replace"
            ],
            [
              "",
              "fn_ident.to_string"
            ],
            [
              "",
              "lit.value"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "syn::Error::new_spanned"
            ],
            [
              "",
              "func.sig.inputs.iter.filter_map.collect"
            ],
            [
              "",
              "func.sig.inputs.iter.filter_map"
            ],
            [
              "",
              "func.sig.inputs.iter"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "params.len"
            ],
            [
              "",
              "is_slice_of_value"
            ],
            [
              "",
              "lit.base10_parse"
            ],
            [
              "",
              "build_variadic"
            ],
            [
              "",
              "args.variadic_min.is_some"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "syn::Error::new_spanned"
            ],
            [
              "",
              "build_fixed"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "params.len"
            ],
            [
              "",
              "params.iter.map.collect"
            ],
            [
              "",
              "params.iter.map"
            ],
            [
              "",
              "params.iter"
            ],
            [
              "",
              "pt.ty.as_ref"
            ],
            [
              "",
              "build_result_expr"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "build_result_expr"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "is_unit_type"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "is_result_type"
            ],
            [
              "",
              "result_ok_type"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "tr.elem.as_ref"
            ],
            [
              "",
              "ts.elem.as_ref"
            ],
            [
              "",
              "tp.path.segments.last"
            ],
            [
              "",
              "tp.path.segments.last"
            ],
            [
              "",
              "ab.args.len"
            ],
            [
              "",
              "tp.path.segments.last"
            ],
            [
              "",
              "ab.args.first"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "proc_macro::TokenStream"
            ],
            [
              "",
              "proc_macro2::TokenStream"
            ],
            [
              "",
              "quote::format_ident"
            ],
            [
              "",
              "quote::quote"
            ],
            [
              "",
              "syn::FnArg"
            ],
            [
              "",
              "syn::ItemFn"
            ],
            [
              "",
              "syn::LitInt"
            ],
            [
              "",
              "syn::LitStr"
            ],
            [
              "",
              "syn::PatType"
            ],
            [
              "",
              "syn::ReturnType"
            ],
            [
              "",
              "syn::Token"
            ],
            [
              "",
              "syn::Type"
            ],
            [
              "",
              "syn::parse::Parse"
            ],
            [
              "",
              "syn::parse::ParseStream"
            ],
            [
              "",
              "syn::parse_macro_input"
            ]
          ],
          "mbr": [
            "ab.args",
            "ab.args.first",
            "ab.args.len",
            "args.name",
            "args.ns",
            "args.variadic_min",
            "args.variadic_min.is_some",
            "e.to_compile_error",
            "e.to_compile_error.into",
            "fn_ident.to_string",
            "fn_ident.to_string.replace",
            "func.sig",
            "func.sig.ident",
            "func.sig.inputs",
            "func.sig.inputs.iter",
            "func.sig.inputs.iter.filter_map",
            "func.sig.inputs.iter.filter_map.collect",
            "func.sig.output",
            "input.is_empty",
            "input.parse",
            "input.peek",
            "key.span",
            "key.to_string",
            "key.to_string.as_str",
            "lit.base10_parse",
            "lit.value",
            "params.iter",
            "params.iter.map",
            "params.iter.map.collect",
            "params.len",
            "pt.ty",
            "pt.ty.as_ref",
            "seg.arguments",
            "seg.ident",
            "tp.path",
            "tp.path.segments",
            "tp.path.segments.last",
            "tr.elem",
            "tr.elem.as_ref",
            "ts.elem",
            "ts.elem.as_ref",
            "ts.into"
          ],
          "tgt": [
            "Err",
            "Ok",
            "Some",
            "ab.args.first",
            "ab.args.len",
            "args.variadic_min.is_some",
            "build_fixed",
            "build_result_expr",
            "build_variadic",
            "e.to_compile_error",
            "e.to_compile_error.into",
            "export_impl",
            "fn_ident.to_string",
            "fn_ident.to_string.replace",
            "func.sig.inputs.iter",
            "func.sig.inputs.iter.filter_map",
            "func.sig.inputs.iter.filter_map.collect",
            "input.is_empty",
            "input.parse",
            "input.peek",
            "is_result_type",
            "is_slice_of_value",
            "is_unit_type",
            "key.span",
            "key.to_string",
            "key.to_string.as_str",
            "lit.base10_parse",
            "lit.value",
            "params.iter",
            "params.iter.map",
            "params.iter.map.collect",
            "params.len",
            "pt.ty.as_ref",
            "result_ok_type",
            "syn::Error::new",
            "syn::Error::new_spanned",
            "tp.path.segments.last",
            "tr.elem.as_ref",
            "ts.elem.as_ref",
            "ts.into"
          ],
          "funcs": [
            [
              "parse",
              935
            ],
            [
              "export",
              3779
            ],
            [
              "export_impl",
              4283
            ],
            [
              "build_fixed",
              6406
            ],
            [
              "build_variadic",
              7283
            ],
            [
              "build_result_expr",
              7853
            ],
            [
              "is_slice_of_value",
              9490
            ],
            [
              "is_result_type",
              9939
            ],
            [
              "result_ok_type",
              10265
            ],
            [
              "is_unit_type",
              10657
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 4,
              "op.ge": 1,
              "op.land": 1,
              "max_depth": 24,
              "call_count": 68,
              "node_count": 2556,
              "member_count": 42,
              "op_density.eq": 0,
              "op_density.ge": 0,
              "op_density.land": 0,
              "max_member_depth": 6
            },
            "file": {
              "size": 10751,
              "entropy": 4.9
            },
            "text": {
              "lines": 311,
              "top_char": 101,
              "digit_ratio": 0.01,
              "space_count": 2547,
              "char_entropy": 4.9,
              "unique_chars": 86,
              "top_char_null": 0,
              "import_density": 4.82,
              "lines_over_200": 1,
              "string_density": 0.04,
              "top_char_ratio": 0.06,
              "avg_line_length": 33.57,
              "max_line_length": 205,
              "non_ascii_ratio": 0.08,
              "empty_line_ratio": 0.11,
              "last_line_length": 1,
              "long_token_count": 5,
              "whitespace_ratio": 0.27,
              "identifier_density": 1.6,
              "line_length_stddev": 32.82,
              "max_whitespace_run": 5,
              "normalized_import_count": 0.85,
              "normalized_string_count": 0.68,
              "repeated_char_sequences": 72,
              "suspicious_string_ratio": 0.33,
              "suspicious_comment_ratio": 0.05,
              "normalized_function_count": 0.57,
              "imports_to_functions_ratio": 1.5,
              "strings_to_functions_ratio": 1.2,
              "suspicious_identifier_ratio": 0.04,
              "normalized_unique_identifiers": 16.91,
              "identifiers_to_functions_ratio": 14
            },
            "binds": {
              "count": 23
            },
            "binary": {
              "peak_region_bytes": 7679,
              "peak_region_entropy": 5.12
            },
            "source": {
              "class_count": 1,
              "function_count": 10
            },
            "imports": {
              "count": 15,
              "aliased": 1,
              "third_party_count": 15,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 288,
              "count": 12,
              "shell": 3,
              "avg_length": 24,
              "max_length": 102,
              "avg_entropy": 2.64,
              "entropy_stddev": 1.23,
              "embedded_code_candidates": 1
            },
            "comments": {
              "chars": 3509,
              "count": 75,
              "lines": 75,
              "url_count": 1,
              "high_entropy": 4,
              "to_code_ratio": 0.32
            },
            "functions": {
              "count": 11,
              "density": 3.22,
              "avg_params": 1.9,
              "code_ratio": 0.68,
              "max_params": 4,
              "length_stddev": 16.58,
              "avg_name_length": 12.1,
              "avg_length_lines": 21.2,
              "max_length_lines": 61,
              "min_length_lines": 3,
              "avg_param_name_length": 4.47
            },
            "identifiers": {
              "count": 498,
              "unique": 140,
              "avg_length": 6.86,
              "max_length": 20,
              "min_length": 1,
              "avg_entropy": 2.34,
              "reuse_ratio": 0.28,
              "length_stddev": 3.94,
              "has_digit_ratio": 0.02,
              "sequential_names": 5,
              "base64_like_names": 1,
              "single_char_count": 5,
              "single_char_ratio": 0.04,
              "high_entropy_count": 4,
              "high_entropy_ratio": 0.03,
              "all_lowercase_ratio": 0.67,
              "numeric_suffix_count": 2
            }
          }
        },
        "id": 5,
        "mol": "Md(Pt)",
        "path": "/tmp/promoter-1870801103/83dfe2c233e912ca588c705f6d4b125352558a5f5a0cc093cbbbd2878acb972d/cljrs-export-macro-0.1.101.crate!!cljrs-export-macro-0.1.101/src/lib.rs",
        "pid": 1862,
        "risk": 2,
        "sha": "4a8596980e32ff4545fe5bb5639c7c3824fe33cc62203932a7587b0b0b079101",
        "size": 10751,
        "traits": [
          {
            "id": "metadata/lang/source/declaration::rust-proc-macro-entrypoint",
            "conf": 0.92,
            "crit": 3,
            "desc": "Rust procedural-macro entrypoint declaration"
          },
          {
            "id": "metadata/file/comment::source-comment-bytes-over-300",
            "conf": 0.92,
            "crit": 2,
            "desc": "Source has over 300 comment bytes"
          },
          {
            "id": "metadata/import/rust/proc_macro/tokenstream::proc_macro/tokenstream",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports proc_macro::TokenStream",
            "spans": [
              [
                310,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/proc_macro2/tokenstream::TokenStream2",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports proc_macro2::TokenStream as TokenStream2",
            "spans": [
              [
                339,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/quote/format_ident::quote/format_ident",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports quote::format_ident",
            "spans": [
              [
                393,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/quote/quote::quote/quote",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports quote::quote",
            "spans": [
              [
                407,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/syn/fnarg::syn/fnarg",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::FnArg",
            "spans": [
              [
                430,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/syn/itemfn::syn/itemfn",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::ItemFn",
            "spans": [
              [
                437,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/syn/litint::syn/litint",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::LitInt",
            "spans": [
              [
                445,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/syn/litstr::syn/litstr",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::LitStr",
            "spans": [
              [
                453,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/syn/parse/parse::syn/parse/parse",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::parse::Parse",
            "spans": [
              [
                507,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/syn/parse/parsestream::syn/parse/parsestream",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::parse::ParseStream",
            "spans": [
              [
                514,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/syn/parse_macro_input::syn/parse_macro_input",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::parse_macro_input",
            "spans": [
              [
                532,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/syn/pattype::syn/pattype",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::PatType",
            "spans": [
              [
                461,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/syn/returntype::syn/returntype",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::ReturnType",
            "spans": [
              [
                470,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/syn/token::syn/token",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::Token",
            "spans": [
              [
                482,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/syn/type::syn/type",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports syn::Type",
            "spans": [
              [
                489,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/loop::rust-while-loop",
            "conf": 0.75,
            "crit": 2,
            "desc": "Rust while loop",
            "spans": [
              [
                1137,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::data-access-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Data-access verb token",
            "spans": [
              [
                2282,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::data-transfer-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "Data-transfer verb token",
            "spans": [
              [
                6064,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::english-edit-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "English edit-action verb token",
            "spans": [
              [
                228,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                2345,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                2390,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                2436,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                830,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                2774,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                82,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/serialize/envelope::result-assignment-key",
            "conf": 0.4,
            "crit": 1,
            "desc": "Result field or assignment key",
            "spans": [
              [
                9909,
                0
              ]
            ]
          }
        ],
        "type": "rust"
      }
    ],
    "rev": "c1ea9",
    "v": "8"
  }
}