{
  "ml": {
    "v": "7",
    "eng": "2.12.0-beta.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.06470126,
        "rte": "az",
        "prob": 0.06470126
      },
      {
        "cls": 0,
        "raw": 0.006997049,
        "rte": "az/tar",
        "prob": 0.006997049
      }
    ],
    "prob": 0.06470126,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.06470125913619995,
        "type": "crate"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000022302070647128858,
        "type": "rust"
      },
      {
        "id": 6,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000015050172805786133,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-17T22:01:29Z"
  },
  "path": "smlconv-0.1.9.crate",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZyg000000@)sUy?4y3B$Cy2f!LEsv@=11wDqaC}f9GxW/uobZOjkz2v}q!*82@b:Q)qq?\u0026)BgLf7v#wa%.NKr]@k8Yn68cja7}u)*Hp2N0YJVAN\u003eHU{62#]w3UHq#RHt",
            "ln": 0
          }
        ],
        "mol": "H₂(F₂Po₃)",
        "sha": "05edf0cee67331a301e92db33f342e428ff52f0469fbcbe6b2f5fd30de3f288a",
        "path": "smlconv-0.1.9.crate",
        "risk": 4,
        "size": 14365,
        "type": "crate",
        "facts": {
          "metrics": {
            "file": {
              "size": 14365,
              "entropy": 7.98
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 14336,
              "peak_region_entropy": 7.81
            }
          }
        },
        "ident": {
          "name": {
            "value": "smlconv",
            "source": "crate.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://gitee.com/snoware/sml",
              "kind": "repository",
              "source": "crate.repository"
            },
            {
              "url": "https://sml.swebase.cn",
              "kind": "homepage",
              "source": "crate.homepage"
            }
          ],
          "trust": "unsigned",
          "emails": [
            "dev@mail.swebase.cn"
          ],
          "authors": [
            {
              "name": "SNOWARE",
              "role": "author",
              "email": "dev@mail.swebase.cn",
              "source": "crate.authors"
            }
          ],
          "version": {
            "value": "0.1.9",
            "source": "crate.version",
            "verified": false
          },
          "identifier": {
            "value": "smlconv",
            "source": "crate.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/package/version::cargo-package-version",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package has version"
          },
          {
            "id": "micro-behaviors/fs/write/file/full::fs-write",
            "atk": "T1041",
            "conf": 0.85,
            "crit": 3,
            "desc": "Writes a file with Rust fs::write",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/direct::rust-indirect-command-new",
            "atk": "T1059",
            "mbc": "E1059",
            "conf": 0.9,
            "crit": 3,
            "desc": "Rust launches a variable-selected command",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/direct::rust-command-status-call",
            "atk": "T1059",
            "mbc": "E1059",
            "conf": 0.92,
            "crit": 3,
            "desc": "Rust Command runs child synchronously",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/exec::rust-command-new-call",
            "atk": "T1059",
            "conf": 0.85,
            "crit": 3,
            "desc": "Constructs a Rust process command",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "micro-behaviors/process/create/direct::rust-qualified-process-command",
            "atk": "T1059",
            "mbc": "E1059",
            "conf": 0.95,
            "crit": 3,
            "desc": "Creates Rust command via qualified path",
            "from": [
              {
                "file": 5
              }
            ]
          },
          {
            "id": "metadata/package/name/convention::cargo-readme-field",
            "conf": 0.85,
            "crit": 2,
            "desc": "Cargo package declares readme"
          },
          {
            "id": "micro-behaviors/fs/read/file/full::rust-read-to-string",
            "conf": 0.88,
            "crit": 3,
            "desc": "Reads a file into a Rust string",
            "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": "micro-behaviors/process/create/system::rust-command",
            "atk": "T1059",
            "mbc": "E1059",
            "conf": 0.9,
            "crit": 3,
            "desc": "Executes proc via Rust std::proc::cmd",
            "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"
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "fe1Cnz/x#xx\u003eIa3asGPaax83hs3Y.M3nj4Pq=2\u003e:eLG\u003e*wO#N2eLfF:zGGP8x\u003eqrCawD#{vqX[uoF51LfBxD^aS$flzerZ2zGYzg\u0026^^moq+Y}d\u003c=NmqYqjU:JoE%R\u003e=ZcgNw/O!I0oL\u003c\u003c+OTlwO(d6atj(1MwsQ@QVXXC(6)B\u0026H(?8rIq%br3nj4Q3nj4QaMw\u0026.[3[A3dK%L.P6rnl\u003e76uLc}dlmmn=YKmnu/FoERCv[4taKOu9\u0026yA::63aMZ8r\u003cHZA{u#{KkzerP5\u003cHz/Av@=11wGZb[HujkC\u003cHz!:I(=9xI@*1Z\u003c*Y{Ife1E\u003e[4sFtIhpq:Trp[8e?[$ovdg:+[4sPDoI3w?J?$\u0026#QVw}Baz2z7BrGXbJ{0ED\u003eEVAeKCI#fJPDk8\u003e.3OkNVDS@Soe]B\u003c=tz=RIKDuGxwDa[4sRwNU6RgJPC.W\u003e=.bHXRYBbMi]n#aT2%DV/OuU\u003e76w(InenTY5Or)\u003eAIR1X#jUzV*0ZS\u003e^N+SZj+ZNX8\u0026K.\u003cI4hGWu/{dW=:%g\u003eB]6xP]w6xY6)p\u003c\u003e=.FSG%P{FSoo1[\u003ea5KmKgjkiNc6)B\u003e9I}aZN9#hF^Kd:aQP\u003eQaT2{8Iu",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "A+xCoDKp(rarUxoAclm-awV@#x(v(Kp*[DVluM)7ed9HxarUPBBz#wAiV}jqBzkVhjwYEdxHl\u0026Nj$E3-arR!sz/PY6BugKlz/PY6BsW+warR!swNPX6A+doOpJgz\u0026z/dWrwPz\u003cazV",
            "ln": 5102,
            "col": 9,
            "line": 148
          },
          {
            "b": "c{.(^B0b/parR^HarR^Hx(m)jBugKOy?UIozG6-ued9HxarR^HarUPBBz#wAiV}{Gx!BsDBz#wAed9HxarR^HarUomA=2lbed9HxarR^HarUocvruTjwH[fharR^HarR!uB.tRNay/k4e=",
            "ln": 6124,
            "col": 7,
            "line": 181
          },
          {
            "b": "B.(dZq/)4]zF7Hyq/)4]zF8cQDKp(rarUJfByO#bx(m)jBrC]qarR^HarR^Hq/uI:c#ZQTjW70fByWA[w]*0]A+eV\u0026uVZi[B98CpzF7wpdgdguarR^HarR^HarSpNvq]N+A=JNQwQCRjz/PY6BrJ4RA+eV\u0026aBwI$aBvWFa$K\u003cQe[wWqAbn%dc[cO]ed9HxarR^HarTA$zE\u003c}Nj%kgVarR^HarR^HarR^Hfe1EgVz3AJI6ax:aM/30\u003cHZA{B97@bzxOeDYw[z",
            "ln": 6600,
            "col": 46,
            "line": 199
          },
          {
            "b": "FpXaJarR^HarR^HarR!zvru0)aAzYVA+e:7uVZ10wP8Zkd06GviY.v%zdL:?m0iJUBzkVhiYZ\u003e[z/5\u0026#x(4Q1B0@[1fEXB[DKp(rarR^HarR^HarR^HarTD}c@jRbB15KXjW6#:yBBlMed9HxarR^HarR^HarR^HarTD}c}ee%c$K?Rau.[hmriz%w]zZbvrrUvb64m6wft@nwb",
            "ln": 7513,
            "col": 98,
            "line": 214
          },
          {
            "b": "3nj4=aN2IT\u003eENOMV6BB-FfnllzEWH9wmV(cAa9\u003c4b48JDayEDGzEWH9wmV(cAa9\u003c4b48JDayF]2AbP=sar\u003e=kBz8\u003eaaM!Sr\u003cH.kFFpXaYfe0U=fe1EiX3a]cGY!\u0026m\u003c/=kPFq\u0026PGH2\u0026",
            "ln": 9373,
            "col": 1,
            "line": 256
          },
          {
            "b": "wPP5iB-X:AB-X-?ax9x5x(mMAi=nIMc[dj+arR^Hw]zYjy?W=#azCZoBy/Yse]kltwPGmGaBsCrarR^HarR!ywPP5pA+PxcwN(]Daz++fwIe7Bx(di#Byxiic[dj",
            "ln": 10087,
            "col": 6,
            "line": 270
          },
          {
            "b": "wmoN\u003ec[bGCarR^Qi%)8MarUGiBrC7izGGDcBrAZ?w]zZbvrrUvb70{sEs2Bwwo\u0026OEdlv\u003eVarR!FByWA[w]*0]CxdztwHF)zB-Z#fvruflay/tcBy/uidgdguarR^HarSpNvq]N+A=JNQwQCRjz/PY6BrJ4RCxdztwGVtFiV@=XEiHi+z/{eeAa9\u003c4e[wWqAbn%dc[cO]krxh{arR!rAb]VgBzL?rc)A\u003eQz//LkDWN7?aA8yAuVoB}xF9?fB8R",
            "ln": 14820,
            "col": 14,
            "line": 402
          },
          {
            "b": "ayGIly*!C}B.LV5u)6f3aBwIXefGmSy**WYx(U?px(!lfvr\u003cmIdlv\u003eVarR^HarR!ywPP5oByxolB09Q*B97}Ni=GaTv}x.5iYYSDzeAZ0wi8+?wP]KHDt^RddgdguarR^HarR^HarSpBA+u^AvS=y3wfJDfarR^HarR^HarR^He[o3AA+fcguU0\u003e\u003ed0//Fvp9LVAW.trarR^HarR^HarR^VB97\u0026jB-O@W3lQDlarR^HarR^HatdItA9)f%AWVrDD)03tA=2lbaT!KQzerZ2zGX5-\u003e9I+6VZ6TlUJpUuaBm%xvlbJTwQL:Kdl/)3arR^HarR^Hx\u003ewFhB97\u0026jB-PfRBZ[])B8@-UaBsCrarR^HarR^HarR!EwPS6nzxIw*AWUJ",
            "ln": 16963,
            "col": 27,
            "line": 462
          },
          {
            "b": "Aa9\u003c4iYZ8CBza0-w\u003cdt:3lQDlatkw\u003cf!1kwk#Zw$\u003cHztON6kRkRS-VC\u003eBn\u003cvJ?$%zGxFF$3lQDlazCBgB97}Ni=GaTv}x.5iYYSDzeAZ0wi8+?wP]KDDt^Rda$i\u003cwarR^HarR^Vvrc0ea$Ux\u0026wPz\u003caz/c:F3lQDlarR^Hatd.Swn=Qjd06GviY.k2z!0v1B2(uXByY97iY.e3y?$HGdgdguarR^HarSpTByX%6AWV0Jwi8+\u003cA=kD0B8%x6q/(L:z-P{%B.\u003e\u003exdjCPDarR^HarR^VB97\u0026jB-O@W3lQDlarR^HatdItA439PD)0F.B9g#5wPI]vdjCPDarR^HarR^VB-8zzvq]N(AWUKdy\u0026:ep3lQDlaBsCrarR^HarR!EwPS6nzxI\u003e@zdLbpByWA[Aa9\u003c4iYZ8CBza0-w\u0026.$+A=k!yb6[fzviNcHi%)8MarV7tarR^",
            "ln": 17709,
            "col": 32,
            "line": 479
          },
          {
            "b": "jS[]Ry\u0026%qiDKp(rarR^HarUxgaz+Rhax9h}wHHO/y\u0026%qIi-ycvd03*^auZ\u0026:e[X:qc)A29zEEx[a$jTY3lQDlarR^HarR^HaAz4nB-IvxB1Q%sz/fbmdlv\u003eVarR^HarR!P3lQDlaBKOtarR!vw/$]3BrBI2zdLbmdiH+@x(m)jBrC]qarR^HarR^Hx-",
            "ln": 18765,
            "col": 29,
            "line": 511
          },
          {
            "b": "arR^HarR^HarR^OuNDg6arR^HarR^HarR!P3lQDlarR^HaBLWCarR^HarR^He[n*oy?m9#c[bHK3jnBtfcB\u003eEz/fUtzddKdwPw{PT^wgMWDh}K\u003e!j7UXRYu%F^Kd:fa6u=fcGwqS{4c$\u003cHH9\u0026u%E7Z\u003c=UMBu)n#3\u003e9SvkXq/QCPxzU@[4t8(k$$33noFM-",
            "ln": 19419,
            "col": 6,
            "line": 535
          }
        ],
        "depth": 1,
        "facts": {
          "imp": [
            [
              "",
              "s.to_ascii_lowercase.as_str"
            ],
            [
              "",
              "s.to_ascii_lowercase"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Cli::parse"
            ],
            [
              "",
              "Format::parse.ok_or_else"
            ],
            [
              "",
              "Format::parse"
            ],
            [
              "",
              "cli.feature.as_deref"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "std::fs::read_to_string.map_err"
            ],
            [
              "",
              "std::fs::read_to_string"
            ],
            [
              "",
              "std::thread::spawn"
            ],
            [
              "",
              "String::new"
            ],
            [
              "",
              "std::io::stdin.read_to_string.map"
            ],
            [
              "",
              "std::io::stdin.read_to_string"
            ],
            [
              "",
              "std::io::stdin"
            ],
            [
              "",
              "tx.send"
            ],
            [
              "",
              "rx.recv_timeout"
            ],
            [
              "",
              "std::time::Duration::from_millis"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "p.parent.unwrap_or_else"
            ],
            [
              "",
              "p.parent"
            ],
            [
              "",
              "std::path::Path::new"
            ],
            [
              "",
              "expand_includes"
            ],
            [
              "",
              "sml::parse"
            ],
            [
              "",
              "sml::parse"
            ],
            [
              "",
              "expand_includes_impl"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "String::new"
            ],
            [
              "",
              "text.lines"
            ],
            [
              "",
              "line.trim_start"
            ],
            [
              "",
              "trimmed.strip_prefix.unwrap_or"
            ],
            [
              "",
              "trimmed.strip_prefix"
            ],
            [
              "",
              "core.strip_prefix.or_else"
            ],
            [
              "",
              "core.strip_prefix"
            ],
            [
              "",
              "core.strip_prefix"
            ],
            [
              "",
              "rest.trim"
            ],
            [
              "",
              "path.strip_prefix.and_then"
            ],
            [
              "",
              "path.strip_prefix"
            ],
            [
              "",
              "s.find.map"
            ],
            [
              "",
              "s.find"
            ],
            [
              "",
              "base.join"
            ],
            [
              "",
              "std::fs::read_to_string.map_err"
            ],
            [
              "",
              "std::fs::read_to_string"
            ],
            [
              "",
              "full.parent.unwrap_or"
            ],
            [
              "",
              "full.parent"
            ],
            [
              "",
              "out.push_str"
            ],
            [
              "",
              "expand_includes_impl"
            ],
            [
              "",
              "out.push"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "out.push_str"
            ],
            [
              "",
              "out.push"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "sml::to_sml"
            ],
            [
              "",
              "sml::emit::EmitOptions::default"
            ],
            [
              "",
              "Default::default"
            ],
            [
              "",
              "sml::emit::to_markdown"
            ],
            [
              "",
              "Default::default"
            ],
            [
              "",
              "Default::default"
            ],
            [
              "",
              "sml::emit::to_xml"
            ],
            [
              "",
              "sml::emit::SvgOptions::default"
            ],
            [
              "",
              "sml::emit::to_svg"
            ],
            [
              "",
              "sml::emit::EmitOptions::default"
            ],
            [
              "",
              "Default::default"
            ],
            [
              "",
              "sml::emit::to_latex"
            ],
            [
              "",
              "sml::emit::SlintOptions::default"
            ],
            [
              "",
              "sml::emit::to_slint"
            ],
            [
              "",
              "Default::default"
            ],
            [
              "",
              "Default::default"
            ],
            [
              "",
              "sml::emit::to_lvgl"
            ],
            [
              "",
              "sml::emit::EmitOptions::default"
            ],
            [
              "",
              "Default::default"
            ],
            [
              "",
              "sml::emit::to_html"
            ],
            [
              "",
              "args.custom_rules.as_ref.ok_or_else"
            ],
            [
              "",
              "args.custom_rules.as_ref"
            ],
            [
              "",
              "std::fs::read_to_string.map_err"
            ],
            [
              "",
              "std::fs::read_to_string"
            ],
            [
              "",
              "sml::parse.map_err"
            ],
            [
              "",
              "sml::parse"
            ],
            [
              "",
              "sml::emit::CustomOptions::from_generator.map_err"
            ],
            [
              "",
              "sml::emit::CustomOptions::from_generator"
            ],
            [
              "",
              "sml::emit::to_custom"
            ],
            [
              "",
              "args.hugo.as_ref.ok_or_else"
            ],
            [
              "",
              "args.hugo.as_ref"
            ],
            [
              "",
              "infer_title"
            ],
            [
              "",
              "sanitize_filename"
            ],
            [
              "",
              "hugo_dir.clone"
            ],
            [
              "",
              "dest.join"
            ],
            [
              "",
              "sanitize_section"
            ],
            [
              "",
              "args.hugo_section.is_empty"
            ],
            [
              "",
              "dest.join"
            ],
            [
              "",
              "sanitize_section"
            ],
            [
              "",
              "std::fs::create_dir_all.map_err"
            ],
            [
              "",
              "std::fs::create_dir_all"
            ],
            [
              "",
              "dest.join"
            ],
            [
              "",
              "args.title.clone.unwrap_or_else"
            ],
            [
              "",
              "args.title.clone"
            ],
            [
              "",
              "inferred.clone"
            ],
            [
              "",
              "std::fs::write.map_err"
            ],
            [
              "",
              "std::fs::write"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "args.zola.as_ref.ok_or_else"
            ],
            [
              "",
              "args.zola.as_ref"
            ],
            [
              "",
              "infer_title"
            ],
            [
              "",
              "sanitize_filename"
            ],
            [
              "",
              "zola_dir.clone"
            ],
            [
              "",
              "args.zola_section.is_empty"
            ],
            [
              "",
              "dest.join"
            ],
            [
              "",
              "sanitize_section"
            ],
            [
              "",
              "std::fs::create_dir_all.map_err"
            ],
            [
              "",
              "std::fs::create_dir_all"
            ],
            [
              "",
              "dest.join"
            ],
            [
              "",
              "args.title.clone.unwrap_or_else"
            ],
            [
              "",
              "args.title.clone"
            ],
            [
              "",
              "inferred.clone"
            ],
            [
              "",
              "std::fs::write.map_err"
            ],
            [
              "",
              "std::fs::write"
            ],
            [
              "",
              "which_zola"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "std::process::Command::new.arg.current_dir.status.map_err"
            ],
            [
              "",
              "std::process::Command::new.arg.current_dir.status"
            ],
            [
              "",
              "std::process::Command::new.arg.current_dir"
            ],
            [
              "",
              "std::process::Command::new.arg"
            ],
            [
              "",
              "std::process::Command::new"
            ],
            [
              "",
              "status.success"
            ],
            [
              "",
              "Err"
            ],
            [
              "",
              "Ok"
            ],
            [
              "",
              "std::process::Command::new.arg.stdout.stderr.status.map.unwrap_or"
            ],
            [
              "",
              "std::process::Command::new.arg.stdout.stderr.status.map"
            ],
            [
              "",
              "std::process::Command::new.arg.stdout.stderr.status"
            ],
            [
              "",
              "std::process::Command::new.arg.stdout.stderr"
            ],
            [
              "",
              "std::process::Command::new.arg.stdout"
            ],
            [
              "",
              "std::process::Command::new.arg"
            ],
            [
              "",
              "std::process::Command::new"
            ],
            [
              "",
              "std::process::Stdio::null"
            ],
            [
              "",
              "std::process::Stdio::null"
            ],
            [
              "",
              "s.success"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "std::path::PathBuf::from"
            ],
            [
              "",
              "std::path::PathBuf::from"
            ],
            [
              "",
              "p.exists"
            ],
            [
              "",
              "Some"
            ],
            [
              "",
              "t.clone"
            ],
            [
              "",
              "m.get"
            ],
            [
              "",
              "s.clone"
            ],
            [
              "",
              "p.file_stem.and_then"
            ],
            [
              "",
              "p.file_stem"
            ],
            [
              "",
              "s.to_str"
            ],
            [
              "",
              "stem.to_string"
            ],
            [
              "",
              "s.trim"
            ],
            [
              "",
              "s.is_empty"
            ],
            [
              "",
              "s.chars.map.collect"
            ],
            [
              "",
              "s.chars.map"
            ],
            [
              "",
              "s.chars"
            ],
            [
              "",
              "c.is_ascii_alphanumeric"
            ],
            [
              "",
              "String::with_capacity"
            ],
            [
              "",
              "s.len"
            ],
            [
              "",
              "s.chars"
            ],
            [
              "",
              "out.push_str"
            ],
            [
              "",
              "out.push_str"
            ],
            [
              "",
              "out.push_str"
            ],
            [
              "",
              "out.push_str"
            ],
            [
              "",
              "out.push_str"
            ],
            [
              "",
              "c.is_control"
            ],
            [
              "",
              "out.push_str"
            ],
            [
              "",
              "out.push"
            ],
            [
              "",
              "s.chars.map.collect"
            ],
            [
              "",
              "s.chars.map"
            ],
            [
              "",
              "s.chars"
            ],
            [
              "",
              "c.is_ascii_alphanumeric"
            ],
            [
              "",
              "cleaned.trim_matches.to_string"
            ],
            [
              "",
              "cleaned.trim_matches"
            ],
            [
              "",
              "cleaned.is_empty"
            ],
            [
              "",
              "parse_args"
            ],
            [
              "",
              "std::process::ExitCode::from"
            ],
            [
              "",
              "args.zola.is_none"
            ],
            [
              "",
              "std::process::ExitCode::from"
            ],
            [
              "",
              "args.hugo.is_some"
            ],
            [
              "",
              "args.zola.is_some"
            ],
            [
              "",
              "std::process::ExitCode::from"
            ],
            [
              "",
              "read_input"
            ],
            [
              "",
              "std::process::ExitCode::from"
            ],
            [
              "",
              "parse_with"
            ],
            [
              "",
              "std::process::ExitCode::from"
            ],
            [
              "",
              "emit"
            ],
            [
              "",
              "std::process::ExitCode::from"
            ],
            [
              "",
              "args.hugo.is_some"
            ],
            [
              "",
              "write_hugo"
            ],
            [
              "",
              "std::process::ExitCode::from"
            ],
            [
              "",
              "args.zola.is_some"
            ],
            [
              "",
              "write_zola"
            ],
            [
              "",
              "std::process::ExitCode::from"
            ],
            [
              "",
              "std::fs::write"
            ],
            [
              "",
              "std::process::ExitCode::from"
            ],
            [
              "",
              "std::io::stdout.lock"
            ],
            [
              "",
              "std::io::stdout"
            ],
            [
              "",
              "o.write_all"
            ],
            [
              "",
              "rendered.as_bytes"
            ],
            [
              "",
              "o.write_all"
            ],
            [
              "",
              "std::io::Read"
            ],
            [
              "",
              "std::io::Write"
            ],
            [
              "",
              "std::path::PathBuf"
            ],
            [
              "",
              "std::process::ExitCode"
            ],
            [
              "",
              "sml::emit::CustomOptions"
            ],
            [
              "",
              "sml::emit::EmitOptions"
            ],
            [
              "",
              "sml::emit::HtmlOptions"
            ],
            [
              "",
              "sml::emit::LatexOptions"
            ],
            [
              "",
              "sml::emit::MarkdownOptions"
            ],
            [
              "",
              "sml::emit::SlintOptions"
            ],
            [
              "",
              "sml::emit::SvgOptions"
            ],
            [
              "",
              "sml::emit::XmlOptions"
            ],
            [
              "",
              "sml::emit::to_custom"
            ],
            [
              "",
              "sml::emit::to_html"
            ],
            [
              "",
              "sml::emit::to_lvgl"
            ],
            [
              "",
              "clap::Parser"
            ],
            [
              "",
              "std::io::IsTerminal"
            ],
            [
              "",
              "sml::parse"
            ],
            [
              "",
              "sml::to_sml"
            ],
            [
              "",
              "sml::Value"
            ],
            [
              "",
              "sml::Version"
            ],
            [
              "",
              "std::path::Path"
            ]
          ],
          "mbr": [
            "CustomOptions::from_generator.map_err",
            "Format::parse.ok_or_else",
            "args.custom_rules",
            "args.custom_rules.as_ref",
            "args.custom_rules.as_ref.ok_or_else",
            "args.feature",
            "args.format",
            "args.hugo",
            "args.hugo.as_ref",
            "args.hugo.as_ref.ok_or_else",
            "args.hugo.is_some",
            "args.hugo_lang",
            "args.hugo_section",
            "args.hugo_section.is_empty",
            "args.input",
            "args.math",
            "args.output",
            "args.title",
            "args.title.clone",
            "args.title.clone.unwrap_or_else",
            "args.zola",
            "args.zola.as_ref",
            "args.zola.as_ref.ok_or_else",
            "args.zola.is_none",
            "args.zola.is_some",
            "args.zola_build",
            "args.zola_section",
            "args.zola_section.is_empty",
            "base.join",
            "c.is_ascii_alphanumeric",
            "c.is_control",
            "cleaned.is_empty",
            "cleaned.trim_matches",
            "cleaned.trim_matches.to_string",
            "cli.custom_rules",
            "cli.feature",
            "cli.feature.as_deref",
            "cli.format",
            "cli.hugo",
            "cli.hugo_lang",
            "cli.hugo_section",
            "cli.input",
            "cli.math",
            "cli.output",
            "cli.title",
            "cli.zola",
            "cli.zola_build",
            "cli.zola_section",
            "core.strip_prefix",
            "core.strip_prefix.or_else",
            "dest.join",
            "full.parent",
            "full.parent.unwrap_or",
            "hugo_dir.clone",
            "inferred.clone",
            "line.trim_start",
            "m.get",
            "o.write_all",
            "out.push",
            "out.push_str",
            "p.exists",
            "p.file_stem",
            "p.file_stem.and_then",
            "p.parent",
            "p.parent.unwrap_or_else",
            "parse.map_err",
            "path.strip_prefix",
            "path.strip_prefix.and_then",
            "rendered.as_bytes",
            "rest.trim",
            "rx.recv_timeout",
            "s.chars",
            "s.chars.map",
            "s.chars.map.collect",
            "s.clone",
            "s.find",
            "s.find.map",
            "s.is_empty",
            "s.len",
            "s.success",
            "s.to_ascii_lowercase",
            "s.to_ascii_lowercase.as_str",
            "s.to_str",
            "s.trim",
            "status.success",
            "std::fs::create_dir_all.map_err",
            "std::fs::read_to_string.map_err",
            "std::fs::write.map_err",
            "std::io::stdin.read_to_string",
            "std::io::stdin.read_to_string.map",
            "std::io::stdout.lock",
            "std::process::Command::new.arg",
            "std::process::Command::new.arg.current_dir",
            "std::process::Command::new.arg.current_dir.status",
            "std::process::Command::new.arg.current_dir.status.map_err",
            "std::process::Command::new.arg.stdout",
            "std::process::Command::new.arg.stdout.stderr",
            "std::process::Command::new.arg.stdout.stderr.status",
            "std::process::Command::new.arg.stdout.stderr.status.map",
            "std::process::Command::new.arg.stdout.stderr.status.map.unwrap_or",
            "stem.to_string",
            "t.clone",
            "text.lines",
            "trimmed.strip_prefix",
            "trimmed.strip_prefix.unwrap_or",
            "tx.send",
            "zola_dir.clone"
          ],
          "tgt": [
            "Cli::parse",
            "Default::default",
            "Err",
            "Format::parse",
            "Format::parse.ok_or_else",
            "Ok",
            "Some",
            "String::new",
            "String::with_capacity",
            "args.custom_rules.as_ref",
            "args.custom_rules.as_ref.ok_or_else",
            "args.hugo.as_ref",
            "args.hugo.as_ref.ok_or_else",
            "args.hugo.is_some",
            "args.hugo_section.is_empty",
            "args.title.clone",
            "args.title.clone.unwrap_or_else",
            "args.zola.as_ref",
            "args.zola.as_ref.ok_or_else",
            "args.zola.is_none",
            "args.zola.is_some",
            "args.zola_section.is_empty",
            "base.join",
            "c.is_ascii_alphanumeric",
            "c.is_control",
            "cleaned.is_empty",
            "cleaned.trim_matches",
            "cleaned.trim_matches.to_string",
            "cli.feature.as_deref",
            "core.strip_prefix",
            "core.strip_prefix.or_else",
            "dest.join",
            "emit",
            "expand_includes",
            "expand_includes_impl",
            "full.parent",
            "full.parent.unwrap_or",
            "hugo_dir.clone",
            "infer_title",
            "inferred.clone",
            "line.trim_start",
            "m.get",
            "o.write_all",
            "out.push",
            "out.push_str",
            "p.exists",
            "p.file_stem",
            "p.file_stem.and_then",
            "p.parent",
            "p.parent.unwrap_or_else",
            "parse_args",
            "parse_with",
            "path.strip_prefix",
            "path.strip_prefix.and_then",
            "read_input",
            "rendered.as_bytes",
            "rest.trim",
            "rx.recv_timeout",
            "s.chars",
            "s.chars.map",
            "s.chars.map.collect",
            "s.clone",
            "s.find",
            "s.find.map",
            "s.is_empty",
            "s.len",
            "s.success",
            "s.to_ascii_lowercase",
            "s.to_ascii_lowercase.as_str",
            "s.to_str",
            "s.trim",
            "sanitize_filename",
            "sanitize_section",
            "sml::emit::CustomOptions::from_generator",
            "sml::emit::CustomOptions::from_generator.map_err",
            "sml::emit::EmitOptions::default",
            "sml::emit::SlintOptions::default",
            "sml::emit::SvgOptions::default",
            "sml::emit::to_custom",
            "sml::emit::to_html",
            "sml::emit::to_latex",
            "sml::emit::to_lvgl",
            "sml::emit::to_markdown",
            "sml::emit::to_slint",
            "sml::emit::to_svg",
            "sml::emit::to_xml",
            "sml::parse",
            "sml::parse.map_err",
            "sml::to_sml",
            "status.success",
            "std::fs::create_dir_all",
            "std::fs::create_dir_all.map_err",
            "std::fs::read_to_string",
            "std::fs::read_to_string.map_err",
            "std::fs::write",
            "std::fs::write.map_err",
            "std::io::stdin",
            "std::io::stdin.read_to_string",
            "std::io::stdin.read_to_string.map",
            "std::io::stdout",
            "std::io::stdout.lock",
            "std::path::Path::new",
            "std::path::PathBuf::from",
            "std::process::Command::new",
            "std::process::Command::new.arg",
            "std::process::Command::new.arg.current_dir",
            "std::process::Command::new.arg.current_dir.status",
            "std::process::Command::new.arg.current_dir.status.map_err",
            "std::process::Command::new.arg.stdout",
            "std::process::Command::new.arg.stdout.stderr",
            "std::process::Command::new.arg.stdout.stderr.status",
            "std::process::Command::new.arg.stdout.stderr.status.map",
            "std::process::Command::new.arg.stdout.stderr.status.map.unwrap_or",
            "std::process::ExitCode::from",
            "std::process::Stdio::null",
            "std::thread::spawn",
            "std::time::Duration::from_millis",
            "stem.to_string",
            "t.clone",
            "text.lines",
            "trimmed.strip_prefix",
            "trimmed.strip_prefix.unwrap_or",
            "tx.send",
            "which_zola",
            "write_hugo",
            "write_zola",
            "zola_dir.clone"
          ],
          "funcs": [
            [
              "parse",
              1813
            ],
            [
              "name",
              2354
            ],
            [
              "parse_args",
              5455
            ],
            [
              "read_input",
              6555
            ],
            [
              "parse_with",
              8778
            ],
            [
              "expand_includes",
              9783
            ],
            [
              "expand_includes_impl",
              9898
            ],
            [
              "emit",
              11200
            ],
            [
              "write_hugo",
              13728
            ],
            [
              "write_zola",
              15437
            ],
            [
              "which_zola",
              17678
            ],
            [
              "infer_title",
              18509
            ],
            [
              "sanitize_filename",
              19141
            ],
            [
              "escape_front_matter",
              19945
            ],
            [
              "sanitize_section",
              20704
            ],
            [
              "hugo_date",
              21241
            ],
            [
              "main",
              21310
            ]
          ],
          "metrics": {
            "ast": {
              "op.gt": 1,
              "op.ne": 1,
              "op.add": 2,
              "op.lor": 2,
              "op.land": 2,
              "max_depth": 21,
              "call_count": 224,
              "node_count": 6247,
              "member_count": 107,
              "max_array_len": 3,
              "op_density.gt": 0,
              "op_density.ne": 0,
              "op_density.add": 0,
              "op_density.lor": 0,
              "op_density.land": 0,
              "max_concat_chain": 2,
              "member_depth_max": 7
            },
            "file": {
              "size": 23775,
              "entropy": 5.52
            },
            "text": {
              "lines": 672,
              "top_char": 116,
              "max_ws_run": 12,
              "digit_ratio": 0.01,
              "space_count": 5864,
              "char_entropy": 5.52,
              "unique_chars": 162,
              "top_char_null": 0,
              "escape_density": 0.01,
              "string_density": 0.17,
              "top_char_ratio": 0.04,
              "avg_line_length": 34.38,
              "invisible_chars": 1,
              "max_line_length": 136,
              "non_ascii_ratio": 0.19,
              "empty_line_ratio": 0.07,
              "last_line_length": 1,
              "long_token_count": 1,
              "whitespace_ratio": 0.27,
              "identifier_density": 1.71,
              "line_length_stddev": 28.26,
              "octal_escape_count": 1,
              "unicode_escape_count": 1,
              "normalized_string_count": 4.36,
              "repeated_char_sequences": 190,
              "suspicious_string_ratio": 0.07,
              "suspicious_comment_ratio": 0.53,
              "suspicious_identifier_ratio": 0.06,
              "normalized_unique_identifiers": 24.7
            },
            "binds": {
              "count": 58
            },
            "binary": {
              "peak_region_bytes": 7168,
              "peak_region_entropy": 6.13
            },
            "source": {
              "class_count": 3,
              "function_count": 17
            },
            "imports": {
              "count": 22,
              "third_party_count": 22,
              "third_party_ratio": 1
            },
            "strings": {
              "bytes": 1922,
              "count": 113,
              "shell": 7,
              "avg_length": 17.01,
              "max_length": 163,
              "path_count": 3,
              "avg_entropy": 2.68,
              "entropy_stddev": 1.35,
              "high_entropy_count": 6,
              "embedded_code_candidates": 1
            },
            "comments": {
              "chars": 1671,
              "count": 30,
              "lines": 30,
              "high_entropy": 16,
              "to_code_ratio": 0.05
            },
            "functions": {
              "count": 20,
              "density": 2.53,
              "avg_params": 1.53,
              "code_ratio": 0.72,
              "max_params": 3,
              "length_stddev": 21.66,
              "avg_name_length": 10.82,
              "no_params_count": 4,
              "avg_length_lines": 28.59,
              "max_length_lines": 82,
              "min_length_lines": 3,
              "high_entropy_names": 2,
              "single_char_params": 4,
              "avg_param_name_length": 4.69
            },
            "identifiers": {
              "count": 1147,
              "unique": 232,
              "avg_length": 6.56,
              "max_length": 21,
              "min_length": 1,
              "avg_entropy": 2.28,
              "reuse_ratio": 0.2,
              "length_stddev": 3.78,
              "has_digit_ratio": 0.02,
              "sequential_names": 15,
              "single_char_count": 11,
              "single_char_ratio": 0.05,
              "high_entropy_count": 3,
              "high_entropy_ratio": 0.01,
              "all_lowercase_ratio": 0.76,
              "all_uppercase_ratio": 0,
              "numeric_suffix_count": 4
            }
          }
        },
        "id": 5,
        "mol": "H₂(F₂Po₃)",
        "path": "smlconv-0.1.9.crate!!smlconv-0.1.9/src/main.rs",
        "pid": 0,
        "risk": 3,
        "sha": "b7747cbe191731a5d472f362d1f8e5e1ede8566030683fd5eaca640bad464463",
        "size": 23775,
        "traits": [
          {
            "id": "micro-behaviors/process/create/direct::rust-command-status-call",
            "atk": "T1059",
            "mbc": "E1059",
            "conf": 0.92,
            "crit": 3,
            "desc": "Rust Command runs child synchronously",
            "spans": [
              [
                17041,
                101
              ],
              [
                17787,
                153
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/direct::rust-indirect-command-new",
            "atk": "T1059",
            "mbc": "E1059",
            "conf": 0.9,
            "crit": 3,
            "desc": "Rust launches a variable-selected command",
            "spans": [
              [
                17041,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/direct::rust-qualified-process-command",
            "atk": "T1059",
            "mbc": "E1059",
            "conf": 0.95,
            "crit": 3,
            "desc": "Creates Rust command via qualified path",
            "spans": [
              [
                17027,
                27
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/exec::rust-command-new-call",
            "atk": "T1059",
            "conf": 0.85,
            "crit": 3,
            "desc": "Constructs a Rust process command",
            "spans": [
              [
                17041,
                13
              ]
            ]
          },
          {
            "id": "micro-behaviors/process/create/system::rust-command",
            "atk": "T1059",
            "mbc": "E1059",
            "conf": 0.9,
            "crit": 3,
            "desc": "Executes proc via Rust std::proc::cmd",
            "spans": [
              [
                17027,
                42
              ],
              [
                17773,
                51
              ]
            ]
          },
          {
            "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": [
              [
                6664,
                19
              ]
            ]
          },
          {
            "id": "micro-behaviors/fs/write/file/full::fs-write",
            "atk": "T1041",
            "conf": 0.85,
            "crit": 3,
            "desc": "Writes a file with Rust fs::write",
            "spans": [
              [
                14884,
                10
              ]
            ]
          }
        ],
        "type": "rust"
      },
      {
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 940,
              "entropy": 4.81
            },
            "binary": {
              "peak_region_bytes": 940,
              "peak_region_entropy": 4.81
            },
            "registry": {
              "age_days": 0,
              "published_at": 1789675648,
              "is_deprecated": 0,
              "downloads_total": 47,
              "downloads_recent": 47
            }
          }
        },
        "id": 6,
        "mol": "O(S)Md(Re)",
        "path": "smlconv@0.1.9.registry.json",
        "pid": 0,
        "rel": "registry",
        "risk": 2,
        "role": "sidecar",
        "sha": "976ff5db357fda0133ad14f9e8cff289ef66b49ae65a8a139607f0d50f134f5e",
        "size": 940,
        "traits": [
          {
            "id": "metadata/registry::low-adoption",
            "conf": 1.0,
            "crit": 3,
            "desc": "Near-zero recent downloads for registry package"
          },
          {
            "id": "metadata/registry::freshly-published",
            "conf": 1.0,
            "crit": 3,
            "desc": "Release published within seven days"
          },
          {
            "id": "objectives/supply-chain/impersonation/registry/publish::freshly-published-unestablished-package",
            "conf": 0.7,
            "crit": 3,
            "desc": "Fresh low-adoption registry release",
            "uses": [
              0,
              1
            ]
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "e86a6",
    "v": "8"
  }
}