The pipeline in the core README and in lib.rs is:
scanner ──► index ──► dedup ──► graph ──► rules + risk ──► report
The graph stage isn't in it. report::build calls rules.classify and risk::assess and stops there — it never constructs an ImpactGraph, and risk::downgrade (the function that takes referenced_by and makes a verdict more cautious) has no callers anywhere in the workspace. graph.rs compiles and is never used.
The user-visible consequence is that a node_modules referenced by three live projects gets the same verdict and the same reasons as an abandoned one. The "referenced by 3 projects" evidence in the README is the thing that makes Diskern different from every other disk cleaner, and right now it doesn't reach the report.
Roughly what's needed:
- detect project roots during (or after) the walk —
Cargo.toml, package.json, pyproject.toml
- add
References edges from those roots to the dependency stores they point at
- call
graph.referencing_projects(path) in report::build, feed it through risk::downgrade, and push a reason like referenced by 3 projects
Bigger than a first issue, but it's the core of the project.
crates/diskern-core/src/report.rs:26
The pipeline in the core README and in
lib.rsis:The graph stage isn't in it.
report::buildcallsrules.classifyandrisk::assessand stops there — it never constructs anImpactGraph, andrisk::downgrade(the function that takesreferenced_byand makes a verdict more cautious) has no callers anywhere in the workspace.graph.rscompiles and is never used.The user-visible consequence is that a
node_modulesreferenced by three live projects gets the same verdict and the same reasons as an abandoned one. The "referenced by 3 projects" evidence in the README is the thing that makes Diskern different from every other disk cleaner, and right now it doesn't reach the report.Roughly what's needed:
Cargo.toml,package.json,pyproject.tomlReferencesedges from those roots to the dependency stores they point atgraph.referencing_projects(path)inreport::build, feed it throughrisk::downgrade, and push a reason likereferenced by 3 projectsBigger than a first issue, but it's the core of the project.
crates/diskern-core/src/report.rs:26