symfonic.devtools.archgate.sourcefacts¶
sourcefacts ¶
Extra static facts the DRY rules need, in one AST pass per module.
symfonic.devtools.archcheck.scan records imports, sizes, and export
surfaces — everything the T1.2.4 rules ask of a module. The DRY rules ask two
more questions: what does this module define at top level (so a second copy
of the normalizer is visible) and what does it rebind at runtime (so
process-global mutable state is visible). Both are answered here, from the
paths scan_source_tree already resolved, so a module is parsed once.