{
  "ml": {
    "v": "7",
    "eng": "2.9.1",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.000012665987,
        "rte": "az",
        "prob": 0.000012665987
      },
      {
        "cls": 0,
        "raw": 0.0005193651,
        "rte": "az/crate",
        "prob": 0.0005193651
      }
    ],
    "prob": 0.000012665987,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012665987014770508,
        "type": "crate"
      },
      {
        "id": 1,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000009397665962751489,
        "type": "json"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000011285145774309058,
        "type": "rust"
      },
      {
        "id": 7,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000010033448234025855,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-13T01:27:36Z"
  },
  "path": "membrane_macro-0.7.1.crate",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZyg000000@)aGzdmJ]zE)f(vpKs@eIF!oe?[$*A::630pq{+CIt3Y@J6vS^c4i7seLvwK1N0k/gzH-CBMTf?qbAT(MYmvbY=Xxt9uhKB[BOWjN:K-:XFpnz[Bzhv*JnxZ*H+dgNFivAYL+Co.LwYt\u0026U",
            "ln": 0
          }
        ],
        "mol": "H₂(FOs)",
        "sha": "6d7ed24caece5123a09bc87f310485630c1d45af6a954b8db85403de7863ac36",
        "path": "membrane_macro-0.7.1.crate",
        "risk": 2,
        "size": 9020,
        "type": "crate",
        "facts": {
          "metrics": {
            "file": {
              "size": 9020,
              "entropy": 7.98
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 9020,
              "peak_region_entropy": 7.82
            }
          }
        },
        "ident": {
          "name": {
            "value": "membrane_macro",
            "source": "crate.name",
            "verified": false
          },
          "trust": "unsigned",
          "emails": [
            "mail@unruhdesigns.com"
          ],
          "authors": [
            {
              "name": "Jerel Unruh",
              "role": "author",
              "email": "mail@unruhdesigns.com",
              "source": "crate.authors"
            }
          ],
          "version": {
            "value": "0.7.1",
            "source": "crate.version",
            "verified": false
          },
          "identifier": {
            "value": "membrane_macro",
            "source": "crate.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/package/manifest/name::cargo-license-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares license"
          },
          {
            "id": "micro-behaviors/os/env/access::rust-env-module-var",
            "conf": 0.86,
            "crit": 3,
            "desc": "Rust reads an environment variable",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/package/manifest/name::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          },
          {
            "id": "micro-behaviors/fs/file/read::rust-read-to-string",
            "conf": 0.88,
            "crit": 3,
            "desc": "Reads a file into a Rust string",
            "from": [
              {
                "file": 6
              }
            ]
          },
          {
            "id": "metadata/package/manifest/name::cargo-meaningful-description",
            "conf": 0.78,
            "crit": 2,
            "desc": "Cargo package has meaningful description"
          },
          {
            "id": "metadata/package/manifest/name::cargo-package-name",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has name"
          }
        ]
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 108,
              "entropy": 4.73
            },
            "json": {
              "parsed_bytes": 108,
              "parse_limit_bytes": 76800
            },
            "binary": {
              "peak_region_bytes": 108,
              "peak_region_entropy": 4.73
            }
          }
        },
        "id": 1,
        "path": "membrane_macro-0.7.1.crate!!membrane_macro-0.7.1/.cargo_vcs_info.json",
        "pid": 0,
        "risk": 1,
        "sha": "fdf5c604a6627a4e0406c1ab669ef505b66789226019d06ad8e61a350af2eb15",
        "size": 108,
        "traits": [
          {
            "id": "metadata/file/extension/identity::web-asset-extension",
            "conf": 1.0,
            "crit": 1,
            "desc": "Common web or JSON file extension",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/format/conformance::json-document-opening",
            "conf": 0.95,
            "crit": 2,
            "desc": "File begins with a JSON document",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/file/format/structured::valid",
            "conf": 0.6,
            "crit": 2,
            "desc": "File contains valid JSON data",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "json"
      },
      {
        "ctx": [
          {
            "b": "B-Rapv@=11wJz\u003e(B-hwkiY.n6z//LL3uZA3aA8dcwNw}Uy?#c[B9RUkiYZ5Ov}w2sy?#fuB-RapAb](buU%jYA=j01rbVL-zC$T$wNPBq3uZA3aAITniYZ?\u0026B#{4NB7DFnByWA[Aa9\u003c4iYZ8CBza0-w\u0026*uxB7DFoz/6qKi-YW9B.9Sw3uHq$BzkkclqHxRq=DTXp/6OGiV}jov}w2sy?#jyz/oCQauZ\u0026yzEWlBwO=fzi=nIMc[dj+3nj4tfe1CqwPRA}aARpday/C2By=OpD2Nsqw].*baARpdavxNTxkYzAz/6qkz!pblxK@q@B-IIlzGGYueN@ZoAa%c5zF784A::633nj4tAckRrv@=11wHO:lzxJUmuT)R(y?WubdiHiaayYncy-[6iarUGiBrCWzzepsTaAITniYZ\u003e]iY.p)vpS.!z^NNcA+PA7c\u003c?7tarTG?Bza0-w\u0026.$+A=k!ywO#VLi^a}Lc)z2AqB:I\u0026o*IJCmNZlPuQNE-a$kc!zG*bfA40d:e]2rszyuX@vrc10e{82Gy:7qV3lQDu3lQDzB-8zzvq)Rzi%(rqaz\u003eLev}W0bz/6qKi+AzJzc}vaAYMlzr://!wJ?H?Bz(2jdiJ%AarR^HpIRvVvqH6$iYZkGvR/Q7BywS{wHP5JjW709vru0)aAR43y?kkiwPPsAy?Wu5diJ%AarR^HarTQ3zdLa@vqH6$iYZkGvR/Q7y?WucdiH=qaz\u003eLev}W03x\u003c@YcwPPsAv@=11wI51HAaHjxaBsCrarR^HarR!9z/65lr://!wJz\u003erA=LPlc$vpaBy!*3D2NszdiH=qay/C2By!*3D2NsEx(){bc[c=SzH0TTCZHSJvru0)aB22Q3lQDlarR^HarR!cvqH6$iYZhYA+PA7d0x3ndiH=qaA?gfau.\u003egb4Ceey?Wu5ed9HxarR^HarR^HuM.G}azb4#B7D)farR^HarQ",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "BAhIndk2:XCxdbhc[dj+3lQDlatkw\u003cCv.[nzFTOvvpS)\u003eBzbkdzdN/$wmoN*aA8dcwGUA0wft/dy\u003cvdBxK#67Cw7M9aA}xAA+cw4ay/C2By=OpxKM09Ab](cBZ]07ayMy6D2dh7efF\u003eMxK#jdx(^?)arR^Hfe1C(wGV2ozxK4mwGV2cB88[pw/$.$zE)\u0026%BzkS9ay]Rly?Wx/By=ObB-7Yhx(v)gaA}KwxLzubB7/05wN({cz/PSmAa9l/ay/C2By/IoBzb98ayP85aA.:paARphB0bsdv@=F{arR^Hx\u003ewG4B6\u0026A/D2dh7c[co=3lQDlarR!Gz!\u0026{4uVQsfwNPBdwQ5rdzE+^?jxclmwO$B*A+eV@j$3:XarR^HarR^HaAqKxBy=QrDKp(rarR^Hao",
            "ln": 990,
            "col": 22,
            "line": 36
          },
          {
            "b": "C4CGdAaK5jBz\u0026puC4CYmx\u003eg=$BzbkdwO\u003e)/wmPmZaA?spB7]MgaAITBx(mMaCwhejaA8deaA7\u003cmBzbl1AV/pAzxJC5z/oYhzF6q0arR^HarR^HarR^Hay/tcB95J#nKu=+mn^5QpFJ}[pJgz\u0026z/dV:B98B^auZ\u0026=Acb/jzEl%)B%emTo*}=yqBa5D",
            "ln": 1837,
            "col": 30,
            "line": 55
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "once_cell::sync::OnceCell::new"
            ],
            [
              "",
              "std::fs::read_to_string.unwrap"
            ],
            [
              "",
              "std::fs::read_to_string"
            ],
            [
              "",
              "std::path::PathBuf::from.join"
            ],
            [
              "",
              "std::path::PathBuf::from"
            ],
            [
              "",
              "std::env::var.unwrap"
            ],
            [
              "",
              "std::env::var"
            ],
            [
              "",
              "table.get"
            ],
            [
              "",
              "lib.get"
            ],
            [
              "",
              "crate_type.iter.any"
            ],
            [
              "",
              "crate_type.iter"
            ],
            [
              "",
              "BOOTSTRAPPED.get.is_none"
            ],
            [
              "",
              "BOOTSTRAPPED.get"
            ],
            [
              "",
              "BOOTSTRAPPED.set.unwrap"
            ],
            [
              "",
              "BOOTSTRAPPED.set"
            ],
            [
              "",
              "is_cdylib"
            ],
            [
              "",
              "crate::quote::quote"
            ],
            [
              "",
              "once_cell::sync::OnceCell"
            ],
            [
              "",
              "proc_macro::TokenStream"
            ],
            [
              "",
              "std::env"
            ],
            [
              "",
              "std::path::PathBuf"
            ],
            [
              "",
              "toml::Value"
            ]
          ],
          "mbr": [
            "BOOTSTRAPPED.get",
            "BOOTSTRAPPED.get.is_none",
            "BOOTSTRAPPED.set",
            "BOOTSTRAPPED.set.unwrap",
            "PathBuf::from.join",
            "crate_type.iter",
            "crate_type.iter.any",
            "env::var.unwrap",
            "lib.get",
            "std::fs::read_to_string.unwrap",
            "table.get",
            "token_stream.extend"
          ],
          "tgt": [
            "BOOTSTRAPPED.get",
            "BOOTSTRAPPED.get.is_none",
            "BOOTSTRAPPED.set",
            "BOOTSTRAPPED.set.unwrap",
            "crate_type.iter",
            "crate_type.iter.any",
            "is_cdylib",
            "lib.get",
            "once_cell::sync::OnceCell::new",
            "std::env::var",
            "std::env::var.unwrap",
            "std::fs::read_to_string",
            "std::fs::read_to_string.unwrap",
            "std::path::PathBuf::from",
            "std::path::PathBuf::from.join",
            "table.get"
          ],
          "funcs": [
            [
              "is_cdylib",
              280
            ],
            [
              "maybe_inject_metadata",
              849
            ]
          ],
          "metrics": {
            "ast": {
              "op.eq": 1,
              "max_depth": 22,
              "call_count": 19,
              "node_count": 800,
              "member_count": 12,
              "op_density.eq": 0,
              "max_member_depth": 3
            },
            "file": {
              "size": 3066,
              "entropy": 4.81
            },
            "text": {
              "lines": 82,
              "top_char": 101,
              "space_count": 727,
              "char_entropy": 4.81,
              "unique_chars": 70,
              "top_char_null": 0,
              "import_density": 7.32,
              "string_density": 0.2,
              "top_char_ratio": 0.07,
              "avg_line_length": 36.39,
              "max_line_length": 146,
              "empty_line_ratio": 0.12,
              "last_line_length": 1,
              "whitespace_ratio": 0.26,
              "identifier_density": 1.98,
              "line_length_stddev": 36.36,
              "max_whitespace_run": 1,
              "normalized_import_count": 0.66,
              "normalized_string_count": 1.77,
              "repeated_char_sequences": 33,
              "normalized_function_count": 0.22,
              "imports_to_functions_ratio": 3,
              "strings_to_functions_ratio": 8,
              "suspicious_identifier_ratio": 0.01,
              "normalized_unique_identifiers": 11.8,
              "identifiers_to_functions_ratio": 37.5
            },
            "binds": {
              "count": 1
            },
            "binary": {
              "peak_region_bytes": 3066,
              "peak_region_entropy": 5.03
            },
            "source": {
              "function_count": 2
            },
            "imports": {
              "count": 6,
              "third_party_count": 6,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 197,
              "count": 16,
              "avg_length": 12.31,
              "max_length": 31,
              "avg_entropy": 2.45,
              "entropy_stddev": 1.35
            },
            "comments": {
              "chars": 366,
              "count": 6,
              "empty": 2,
              "lines": 4,
              "to_code_ratio": 0.05
            },
            "functions": {
              "count": 2,
              "density": 2.44,
              "avg_params": 0.5,
              "code_ratio": 0.84,
              "max_params": 1,
              "length_stddev": 14.5,
              "avg_name_length": 15,
              "no_params_count": 1,
              "avg_length_lines": 34.5,
              "max_length_lines": 49,
              "min_length_lines": 20,
              "avg_param_name_length": 12
            },
            "identifiers": {
              "count": 162,
              "unique": 75,
              "avg_length": 7.87,
              "max_length": 34,
              "min_length": 1,
              "avg_entropy": 2.38,
              "reuse_ratio": 0.46,
              "length_stddev": 6.08,
              "sequential_names": 1,
              "single_char_count": 1,
              "single_char_ratio": 0.01,
              "high_entropy_count": 2,
              "high_entropy_ratio": 0.03,
              "all_lowercase_ratio": 0.75,
              "all_uppercase_ratio": 0.05
            }
          }
        },
        "id": 6,
        "mol": "H₂(FOs)",
        "path": "membrane_macro-0.7.1.crate!!membrane_macro-0.7.1/src/utils.rs",
        "pid": 0,
        "risk": 3,
        "sha": "b015b71bd85f198a63a06ca9ed32b91b9a65916a95fb538191a1c80cc148b2dc",
        "size": 3066,
        "traits": [
          {
            "id": "micro-behaviors/fs/read/file/full::rust-read-to-string",
            "conf": 0.88,
            "crit": 3,
            "desc": "Reads a file into a Rust string",
            "spans": [
              [
                334,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/os/env/read::rust-env-module-var",
            "conf": 0.86,
            "crit": 3,
            "desc": "Rust reads an environment variable",
            "spans": [
              [
                371,
                10
              ]
            ]
          },
          {
            "id": "metadata/file/comment::source-comment-bytes-over-300",
            "conf": 0.92,
            "crit": 2,
            "desc": "Source has over 300 comment bytes"
          },
          {
            "id": "metadata/file/extension/identity::rust-source-extension",
            "conf": 0.98,
            "crit": 2,
            "desc": "Rust source filename extension"
          },
          {
            "id": "metadata/file/string/file::quoted-lib-path-component",
            "conf": 0.8,
            "crit": 2,
            "desc": "Quoted lib directory path component",
            "spans": [
              [
                539,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/crate/quote/quote::crate/quote/quote",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports crate::quote::quote",
            "spans": [
              [
                4,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/once_cell/sync/oncecell::once_cell/sync/oncecell",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports once_cell::sync::OnceCell",
            "spans": [
              [
                29,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/proc_macro/tokenstream::proc_macro/tokenstream",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports proc_macro::TokenStream",
            "spans": [
              [
                60,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/env::std/env",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::env",
            "spans": [
              [
                89,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/std/path/pathbuf::std/path/pathbuf",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports std::path::PathBuf",
            "spans": [
              [
                103,
                0
              ]
            ]
          },
          {
            "id": "metadata/import/rust/toml/value::toml/value",
            "conf": 0.95,
            "crit": 2,
            "desc": "imports toml::Value",
            "spans": [
              [
                127,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english",
            "conf": 0.8,
            "crit": 2,
            "desc": "Contains common English function words",
            "uses": [
              15,
              16,
              17,
              18,
              19
            ],
            "spans": [
              [
                209,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/dispatch::rust-get-accessor-call",
            "conf": 0.85,
            "crit": 2,
            "desc": "Rust calls a .get() accessor",
            "spans": [
              [
                534,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/control-flow/loop::rust-iter-call",
            "conf": 0.85,
            "crit": 2,
            "desc": "Rust creates an iterator with .iter()",
            "spans": [
              [
                663,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/content-word::english-edit-verb-token",
            "conf": 0.88,
            "crit": 1,
            "desc": "English edit-action verb token",
            "spans": [
              [
                1022,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                209,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                1044,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                1077,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-6",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"with\"",
            "spans": [
              [
                1885,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-7",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"this\"",
            "spans": [
              [
                1211,
                0
              ]
            ]
          },
          {
            "id": "micro-behaviors/data/llm/repository-directive::control-action-prose-fragment",
            "conf": 0.88,
            "crit": 1,
            "desc": "Control-action verb followed by prose",
            "spans": [
              [
                1120,
                0
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 790,
              "entropy": 4.62
            },
            "binary": {
              "peak_region_bytes": 790,
              "peak_region_entropy": 4.62
            },
            "registry": {
              "age_days": 1150,
              "published_at": 1689899460,
              "is_deprecated": 0,
              "downloads_total": 1545642,
              "downloads_recent": 981
            }
          }
        },
        "id": 7,
        "path": "membrane_macro@0.7.1.registry.json",
        "pid": 0,
        "rel": "registry",
        "role": "sidecar",
        "sha": "fb7d67191a4143f993a887145d79b438196407ae7d9e8e249e3c62f7448c6e9e",
        "size": 790,
        "type": "registry"
      }
    ],
    "rev": "c7f7e",
    "v": "8"
  }
}