Conversation
There was a problem hiding this comment.
Pull request overview
This PR introduces a new internal-dependencies domain under domains/ to generate internal dependency analysis outputs (CSV, SVG charts, GraphViz visualizations, and a Markdown summary report) from Neo4j/GDS data, following the repository’s domain “vertical slice” pattern.
Changes:
- Adds domain entry points for CSV export, Python chart generation, GraphViz visualizations, and Markdown report assembly.
- Adds/copies Cypher query sets for internal dependencies, cyclic dependencies, path finding, and topological sort, plus exploration queries and notebooks.
- Adds a Python chart generator to produce SVGs from path-finding CSV outputs and integrates them into the Markdown summary.
Reviewed changes
Copilot reviewed 60 out of 60 changed files in this pull request and generated 8 comments.
Show a summary per file
| File | Description |
|---|---|
| domains/internal-dependencies/README.md | Documents the new domain, entry points, structure, prerequisites, and produced outputs. |
| domains/internal-dependencies/PREREQUISITES.md | Details required upstream pipeline/enrichment steps (Neo4j, weights, projections, TypeScript enrichment, etc.). |
| domains/internal-dependencies/COPIED_FILES.md | Tracks original→copied file mappings for later deprecation/migration work. |
| domains/internal-dependencies/internalDependenciesCsv.sh | New CSV pipeline entry point orchestrating internal deps, cycles, path finding, and topological sort into reports/internal-dependencies/. |
| domains/internal-dependencies/internalDependenciesPython.sh | Runs the Python SVG chart generator for path finding outputs. |
| domains/internal-dependencies/internalDependenciesVisualization.sh | Entry-point delegator to GraphViz orchestration script. |
| domains/internal-dependencies/internalDependenciesMarkdown.sh | Entry-point delegator to Markdown summary assembly script. |
| domains/internal-dependencies/pathFindingCharts.py | Generates SVG charts from path finding CSVs across abstraction levels. |
| domains/internal-dependencies/graphs/internalDependenciesGraphs.sh | Orchestrates GraphViz visualizations (build levels + longest paths) for Java artifacts, TS modules, and NPM packages. |
| domains/internal-dependencies/summary/internalDependenciesSummary.sh | Assembles the final Markdown report by running Cypher queries + embedding includes and SVG references. |
| domains/internal-dependencies/summary/report.template.md | Markdown report template describing interpretation and embedding query/chart/graph outputs. |
| domains/internal-dependencies/queries/internal-dependencies/Candidates_for_Interface_Segregation.cypher | Cypher: interface segregation candidates table. |
| domains/internal-dependencies/queries/internal-dependencies/Get_file_distance_as_shortest_contains_path_for_dependencies.cypher | Cypher: reads file-distance distribution from relationship property. |
| domains/internal-dependencies/queries/internal-dependencies/How_many_classes_compared_to_all_existing_in_the_same_package_are_used_by_dependent_packages_across_different_artifacts.cypher | Cypher: cross-artifact class usage ratios. |
| domains/internal-dependencies/queries/internal-dependencies/How_many_elements_compared_to_all_existing_are_used_by_dependent_modules_for_Typescript.cypher | Cypher: TS element usage ratios by dependent modules. |
| domains/internal-dependencies/queries/internal-dependencies/How_many_packages_compared_to_all_existing_are_used_by_dependent_artifacts.cypher | Cypher: artifact package usage ratios. |
| domains/internal-dependencies/queries/internal-dependencies/Inter_scan_and_project_dependencies_of_Typescript_modules.cypher | Cypher: exploration query for inter-scan/project module deps. |
| domains/internal-dependencies/queries/internal-dependencies/Java_Artifact_build_levels_for_graphviz.cypher | Cypher: Java artifact edges annotated with build levels for GraphViz. |
| domains/internal-dependencies/queries/internal-dependencies/List_all_Java_artifacts.cypher | Cypher: artifact listing with dependency counts and sizes. |
| domains/internal-dependencies/queries/internal-dependencies/List_all_Typescript_modules.cypher | Cypher: TS module listing with dependency counts and element counts. |
| domains/internal-dependencies/queries/internal-dependencies/List_elements_that_are_used_by_many_different_modules_for_Typescript.cypher | Cypher: widely used TS elements. |
| domains/internal-dependencies/queries/internal-dependencies/List_types_that_are_used_by_many_different_packages.cypher | Cypher: widely used Java types. |
| domains/internal-dependencies/queries/internal-dependencies/NPM_Package_build_levels_for_graphviz.cypher | Cypher: NPM package edges annotated with build levels for GraphViz. |
| domains/internal-dependencies/queries/internal-dependencies/Set_file_distance_as_shortest_contains_path_for_dependencies.cypher | Cypher: computes and writes file-distance property on DEPENDS_ON relationships. |
| domains/internal-dependencies/queries/internal-dependencies/Typescript_Module_build_levels_for_graphviz.cypher | Cypher: TS module edges annotated with build levels for GraphViz. |
| domains/internal-dependencies/queries/cyclic-dependencies/Cyclic_Dependencies.cypher | Cypher: Java package cyclic dependency overview. |
| domains/internal-dependencies/queries/cyclic-dependencies/Cyclic_Dependencies_Breakdown.cypher | Cypher: Java package cyclic dependency breakdown (all edges). |
| domains/internal-dependencies/queries/cyclic-dependencies/Cyclic_Dependencies_Breakdown_Backward_Only.cypher | Cypher: Java package cyclic dependency backward edges only. |
| domains/internal-dependencies/queries/cyclic-dependencies/Cyclic_Dependencies_between_Artifacts_as_unwinded_List.cypher | Cypher: cyclic deps between artifacts (edge list). |
| domains/internal-dependencies/queries/cyclic-dependencies/Cyclic_Dependencies_for_Typescript.cypher | Cypher: TypeScript module cyclic dependency overview. |
| domains/internal-dependencies/queries/cyclic-dependencies/Cyclic_Dependencies_Breakdown_for_Typescript.cypher | Cypher: TypeScript cyclic dependency breakdown (all edges). |
| domains/internal-dependencies/queries/cyclic-dependencies/Cyclic_Dependencies_Breakdown_Backward_Only_for_Typescript.cypher | Cypher: TypeScript cyclic dependency backward edges only. |
| domains/internal-dependencies/queries/path-finding/Path_Finding_1_Create_Projection.cypher | Cypher: example projection creation (exploration). |
| domains/internal-dependencies/queries/path-finding/Path_Finding_2_Estimate_Memory.cypher | Cypher: example memory estimation (exploration). |
| domains/internal-dependencies/queries/path-finding/Path_Finding_3_Depth_First_Search_Path.cypher | Cypher: example DFS path query (exploration). |
| domains/internal-dependencies/queries/path-finding/Path_Finding_4_Breadth_First_Search_Path.cypher | Cypher: example BFS path query (exploration). |
| domains/internal-dependencies/queries/path-finding/Path_Finding_5_All_pairs_shortest_path_distribution_overall.cypher | Cypher: APSP overall distribution. |
| domains/internal-dependencies/queries/path-finding/Path_Finding_5_All_pairs_shortest_path_distribution_per_project.cypher | Cypher: APSP distribution per project with examples. |
| domains/internal-dependencies/queries/path-finding/Path_Finding_5_All_pairs_shortest_path_examples.cypher | Cypher: APSP example paths (top longest shortest paths). |
| domains/internal-dependencies/queries/path-finding/Path_Finding_6_Longest_paths_distribution_overall.cypher | Cypher: longest path overall distribution. |
| domains/internal-dependencies/queries/path-finding/Path_Finding_6_Longest_paths_distribution_per_project.cypher | Cypher: longest path distribution per project with examples. |
| domains/internal-dependencies/queries/path-finding/Path_Finding_6_Longest_paths_examples.cypher | Cypher: example longest paths. |
| domains/internal-dependencies/queries/path-finding/Path_Finding_6_Longest_paths_for_graphviz.cypher | Cypher: DOT edges for isolated longest paths graph. |
| domains/internal-dependencies/queries/path-finding/Path_Finding_6_Longest_paths_contributors_for_graphviz.cypher | Cypher: DOT edges highlighting longest-path contributors. |
| domains/internal-dependencies/queries/path-finding/Set_Parameters.cypher | Cypher Browser :params example for packages. |
| domains/internal-dependencies/queries/path-finding/Set_Parameters_Typescript_Module.cypher | Cypher Browser :params example for TS modules. |
| domains/internal-dependencies/queries/path-finding/Set_Parameters_NonDevNpmPackage.cypher | Cypher Browser :params example for NPM non-dev packages. |
| domains/internal-dependencies/queries/topological-sort/Topological_Sort_Write.cypher | Cypher: writes topological sort properties to nodes. |
| domains/internal-dependencies/queries/topological-sort/Topological_Sort_Query.cypher | Cypher: queries topological sort properties to CSV. |
| domains/internal-dependencies/queries/topological-sort/Topological_Sort_List.cypher | Cypher: lists topological sort results and overall levels. |
| domains/internal-dependencies/queries/topological-sort/Topological_Sort_Exists.cypher | Cypher: checks whether topological sort properties exist. |
| domains/internal-dependencies/queries/topological-sort/Set_Parameters.cypher | Cypher Browser :params example for topological sort. |
| domains/internal-dependencies/queries/exploration/Artifacts_with_duplicate_packages.cypher | Exploration query used by notebooks (duplicate packages). |
| domains/internal-dependencies/queries/exploration/Annotated_code_elements.cypher | Exploration query used by notebooks (annotation usage). |
| domains/internal-dependencies/explore/InternalDependenciesJava.ipynb | Copied exploration notebook with validation disabled. |
| domains/internal-dependencies/explore/InternalDependenciesTypescript.ipynb | Copied exploration notebook with validation disabled. |
| domains/internal-dependencies/explore/PathFindingJava.ipynb | Copied exploration notebook with validation disabled. |
| domains/internal-dependencies/explore/PathFindingTypescript.ipynb | Copied exploration notebook with validation disabled. |
| .github/prompts/plan-internal_dependencies_domain.prompt.md | Adds the detailed planning prompt used to create this domain. |
| .github/prompts/plan-external_dependencies_domain.prompt.md | Updates/introduces the external-dependencies planning prompt reference. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
ce7ea70 to
eaf0970
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 66 out of 66 changed files in this pull request and generated 2 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
eaf0970 to
6dcf9d2
Compare
319788e to
c89eecd
Compare
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 53 out of 83 changed files in this pull request and generated 3 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
c89eecd to
14558cd
Compare
🚀 Feature
⚙️ Optimization