In short
An 'orphan' is a file nothing imports and that imports nothing — usually dead code. This flags them across the whole project so you can delete them.
Problem
Orphan modules (no incoming or outgoing edges) are usually dead code; flagging them project-wide is a cheap, high-signal check. ArchUnitTS computes orphans only inside slice coherence checks today.
Proposal
Promote orphan detection (currently slice-internal) to a top-level rule paralleling the existing haveNoCycles(), e.g. projectFiles("src").should().haveNoOrphans({ ignore: [...] }), for whole-project dead-code detection.
Acceptance criteria
In short
An 'orphan' is a file nothing imports and that imports nothing — usually dead code. This flags them across the whole project so you can delete them.
Problem
Orphan modules (no incoming or outgoing edges) are usually dead code; flagging them project-wide is a cheap, high-signal check. ArchUnitTS computes orphans only inside slice coherence checks today.
Proposal
Promote orphan detection (currently slice-internal) to a top-level rule paralleling the existing
haveNoCycles(), e.g.projectFiles("src").should().haveNoOrphans({ ignore: [...] }), for whole-project dead-code detection.Acceptance criteria