Follow-up to #56 (853e75f): program discovery produces a file→program config map (BuiltProgram.configPath), but the L3 dataflow workers (src/dataflow/worker.ts) still construct per-file Projects from the root tsconfig. At -a≥3 with >1 program the analyzer logs a warning and nested-program files may under-resolve in CFG/DFG extraction. Thread the owning program's configPath per file into the worker pool. Also from the #56 review: add a stable tiebreak to the program sort for cross-machine determinism, and note root-level solution-style tsconfigs (Nx-style) are not decomposed.
Follow-up to #56 (853e75f): program discovery produces a file→program config map (BuiltProgram.configPath), but the L3 dataflow workers (src/dataflow/worker.ts) still construct per-file Projects from the root tsconfig. At -a≥3 with >1 program the analyzer logs a warning and nested-program files may under-resolve in CFG/DFG extraction. Thread the owning program's configPath per file into the worker pool. Also from the #56 review: add a stable tiebreak to the program sort for cross-machine determinism, and note root-level solution-style tsconfigs (Nx-style) are not decomposed.