fix: resolve TypeScript workspace imports and qualify graph metrics - #42
Draft
tuannx wants to merge 1 commit into
Draft
fix: resolve TypeScript workspace imports and qualify graph metrics#42tuannx wants to merge 1 commit into
tuannx wants to merge 1 commit into
Conversation
Contributor
Architecture Drift ReportAlgorithm: PKG | Entities: 155 | Components: 11 Drift from Baseline
Architectural changes —
|
| Component | Entities | Responsibility |
|---|---|---|
| Algorithms | 48 | Entities in algorithms |
| Parsers | 36 | Entities in parsers |
| Tools | 23 | Entities in tools |
| Exporters | 18 | Entities in exporters |
| Serialization | 8 | Entities in serialization |
| Source | 7 | Entities in source |
| Ci | 5 | Entities in ci |
| Cache | 4 | Entities in cache |
| Budget | 3 | Entities in budget |
| Incremental | 2 | Entities in incremental |
| Display | 1 | Entities in display |
Architecture Diagram
graph LR
Algorithms["Algorithms"]
Budget["Budget"]
Cache["Cache"]
Ci["Ci"]
Display["Display"]
Exporters["Exporters"]
Incremental["Incremental"]
Parsers["Parsers"]
Serialization["Serialization"]
Source["Source"]
Tools["Tools"]
Cache --> Serialization
Ci --> Algorithms
Ci --> Display
Ci --> Exporters
Ci --> Serialization
Ci --> Tools
Exporters --> Algorithms
Serialization --> Algorithms
Serialization --> Parsers
Source --> Cache
Source --> Parsers
Tools --> Algorithms
Tools --> Exporters
Tools --> Source
Smells (1)
- Concern Overload: Tools
- 💡 Split the overloaded component into smaller, focused units. Consider extracting sub-packages or introducing an interface layer.
Generated by arcade-agent
Contributor
🤖 Architecture Analysis SummaryPowered by arcade-agent — automatic architectural self-analysis 📈 Metric EvolutionBaseline commit: Legend: 🟢 better · 🔴 worse · 🟡 low impact · ⚪ no change
🏛️ Current Architecture
🧭 Principle Signals
🎯 Score DriversBiggest risks
Strongest areas
🕸️ High-Level Designgraph TD
Algorithms["Algorithms\n48 entities\n10 classes / 3 methods"]
Budget["Budget\n3 entities\n0 classes / 0 methods"]
Cache["Cache\n4 entities\n0 classes / 0 methods"]
Ci["Ci\n5 entities\n0 classes / 0 methods"]
Display["Display\n1 entities\n0 classes / 0 methods"]
Exporters["Exporters\n18 entities\n2 classes / 0 methods"]
Incremental["Incremental\n2 entities\n1 classes / 2 methods"]
Parsers["Parsers\n36 entities\n26 classes / 51 methods"]
Serialization["Serialization\n8 entities\n0 classes / 0 methods"]
Source["Source\n7 entities\n1 classes / 1 methods"]
Tools["Tools\n23 entities\n3 classes / 1 methods"]
Cache --> Serialization
Ci --> Algorithms
Ci --> Display
Ci --> Exporters
Ci --> Serialization
Ci --> Tools
Exporters --> Algorithms
Serialization --> Algorithms
Serialization --> Parsers
Source --> Cache
Source --> Parsers
Tools --> Algorithms
Tools --> Exporters
Tools --> Source
🏗️ Components breakdown
🚨 Architectural Smells
📈 Evolution vs BaselineBaseline commit: Architecture-to-Architecture (A2A) Comparison
Component matching detailsMatched:
High-level component statistics
Before/After Mermaid diagramsBaseline graph TD
Algorithms["Algorithms\n47 entities\n10 classes / 3 methods"]
Budget["Budget\n3 entities\n0 classes / 0 methods"]
Cache["Cache\n4 entities\n0 classes / 0 methods"]
Ci["Ci\n5 entities\n0 classes / 0 methods"]
Display["Display\n1 entities\n0 classes / 0 methods"]
Exporters["Exporters\n17 entities\n1 classes / 0 methods"]
Incremental["Incremental\n2 entities\n1 classes / 2 methods"]
Parsers["Parsers\n26 entities\n16 classes / 32 methods"]
Serialization["Serialization\n8 entities\n0 classes / 0 methods"]
Source["Source\n7 entities\n1 classes / 1 methods"]
Tools["Tools\n23 entities\n3 classes / 1 methods"]
Cache --> Serialization
Ci --> Algorithms
Ci --> Display
Ci --> Exporters
Ci --> Serialization
Ci --> Tools
Serialization --> Algorithms
Serialization --> Parsers
Source --> Cache
Source --> Parsers
Tools --> Algorithms
Tools --> Exporters
Tools --> Source
Current graph TD
Algorithms["Algorithms\n48 entities\n10 classes / 3 methods"]
Budget["Budget\n3 entities\n0 classes / 0 methods"]
Cache["Cache\n4 entities\n0 classes / 0 methods"]
Ci["Ci\n5 entities\n0 classes / 0 methods"]
Display["Display\n1 entities\n0 classes / 0 methods"]
Exporters["Exporters\n18 entities\n2 classes / 0 methods"]
Incremental["Incremental\n2 entities\n1 classes / 2 methods"]
Parsers["Parsers\n36 entities\n26 classes / 51 methods"]
Serialization["Serialization\n8 entities\n0 classes / 0 methods"]
Source["Source\n7 entities\n1 classes / 1 methods"]
Tools["Tools\n23 entities\n3 classes / 1 methods"]
Cache --> Serialization
Ci --> Algorithms
Ci --> Display
Ci --> Exporters
Ci --> Serialization
Ci --> Tools
Exporters --> Algorithms
Serialization --> Algorithms
Serialization --> Parsers
Source --> Cache
Source --> Parsers
Tools --> Algorithms
Tools --> Exporters
Tools --> Source
Component dependency delta
💡 CI/CD Insights
📄 View HTML reports and artifacts This comment is auto-generated by the self-dogfooding CI job. It updates on every push to this PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tsconfig/jsconfigbaseUrl/pathsconfiguration and npm workspace package manifestsValidation
ruff check src/ tests/pytest -q— 549 passedmain: 16,811 entities, 179 edgesqualifiedmain, ~13.1s on this branchNotes
import(), CommonJSrequire(), package-based configextends, custom resolver plugins, and every conditional-exports mode remains out of scope and is documented.mypy src/still reports existing typing debt outside this change; the new resolver/parser introduce no file-local diagnostics (the focused check reaches the existing rawdictannotation inparsers/graph.py).Fixes #41