37 Commits

Author SHA1 Message Date
Archlens Bot
cab8d9d784 docs: update architecture diagrams 2026-06-17 11:49:45 +00:00
009c821f48 style: cargo fmt
All checks were successful
CI / Check / Test (push) Successful in 3m1s
Architecture Docs / Generate diagrams (push) Successful in 2m43s
2026-06-17 13:44:22 +02:00
a24dc572bd fix: clippy — collapse nested if, remove useless .into() 2026-06-17 13:44:22 +02:00
682a64354f fix: remove std::path from application layer, document merge error behavior 2026-06-17 13:44:22 +02:00
04da26beba refactor: LanguageExtractor gains explicit 3-phase trait + run_extraction pipeline 2026-06-17 13:44:22 +02:00
8b20bf3874 fix: remove unused FilePath import, mark Import arm unreachable in ascii 2026-06-17 13:44:22 +02:00
97c7268661 feat: add rendering-primitives crate, share non_import_rels across renderers 2026-06-17 13:44:22 +02:00
7487cea0e2 feat: add BuildCodeGraph use case, sink orchestration out of presentation 2026-06-17 13:44:22 +02:00
8f68714977 refactor: CheckFreshness and DiffDiagram take &str instead of &Path 2026-06-17 13:44:22 +02:00
692a64a622 refactor: make GenerateDiagram pure — return RenderOutput instead of writing files 2026-06-17 13:44:22 +02:00
Archlens Bot
a700fc6160 docs: update architecture diagrams 2026-06-17 09:39:41 +00:00
75c0b5c5c9 perf: release profile — opt-level=z, lto, strip, panic=abort (7.8→4.2 MB)
All checks were successful
CI / Check / Test (push) Successful in 2m54s
Architecture Docs / Generate diagrams (push) Successful in 2m38s
2026-06-17 11:34:21 +02:00
a7e466011b clean up
Some checks failed
CI / Check / Test (push) Successful in 3m6s
Architecture Docs / Generate diagrams (push) Has been cancelled
2026-06-17 11:29:06 +02:00
Archlens Bot
0e77ee623a docs: update architecture diagrams 2026-06-17 09:28:02 +00:00
fc8ad0ebc0 refactor: five architectural deepening improvements
Some checks failed
CI / Check / Test (push) Failing after 43s
Architecture Docs / Generate diagrams (push) Successful in 3m20s
Candidate 1 (NormalizedGraph): qualify→resolve→filter is now a single
named operation returning a distinct type; raw CodeGraph cannot call
module_edges/subgraph_by_module — pipeline order enforced at compile time.

Candidate 2 (Use cases): GenerateDiagram, CheckFreshness, DiffDiagram
extracted to application/src/use_cases/; presentation is now a thin CLI
dispatcher (~100 lines less, three fewer local functions).

Candidate 3 (ExtractionContext): shared accumulator for both Rust and
Python extractors replaces parallel Vec<> + 4-arg passing chains.

Candidate 4 (ModuleAssignment): ModuleName::assign() returns
ModuleAssignment { Explicit | Inferred | Unresolved } instead of Option,
callers can distinguish resolution strategies.

Candidate 5 (SplitRenderer): append_cross_module_deps removed from
DiagramRenderer port; replaced by render_for_module() default impl —
port interface now reflects what all renderers actually share.
2026-06-17 11:24:22 +02:00
Archlens Bot
b159cafc9d docs: update architecture diagrams 2026-06-17 09:02:28 +00:00
e26151b4a1 refactor: move scattered business logic into domain
Some checks failed
CI / Check / Test (push) Failing after 44s
Architecture Docs / Generate diagrams (push) Successful in 3m21s
- CodeGraph::merge_project_edges() replaces presentation-layer function
- Language::is_test_file() centralises test file detection (was in walkdir)
- AnalysisConfig::is_standard_excluded() centralises default dir exclusions (was in walkdir)
- normalize_cargo_package() / normalize_python_package() in domain replace duplicated normalisers in each adapter
- walkdir, cargo-workspace, python-project updated to call domain methods
2026-06-17 10:58:46 +02:00
Archlens Bot
428faa957c docs: update architecture diagrams 2026-06-17 08:52:47 +00:00
1447dc74bb refactor: extract module_edges() to CodeGraph domain — removes duplication from Mermaid and D2 renderers
Some checks failed
CI / Check / Test (push) Failing after 42s
Architecture Docs / Generate diagrams (push) Successful in 3m20s
2026-06-17 10:48:59 +02:00
11a5656efc fix: D2 module renderer missing direct module-to-module edges from project deps
Some checks failed
CI / Check / Test (push) Successful in 2m53s
Architecture Docs / Generate diagrams (push) Has been cancelled
2026-06-17 10:43:28 +02:00
Archlens Bot
f671cdacf8 docs: update architecture diagrams 2026-06-17 08:41:00 +00:00
c4fb1ed699 fix: remove unused assignment and import warnings in tests
All checks were successful
CI / Check / Test (push) Successful in 2m51s
Architecture Docs / Generate diagrams (push) Successful in 3m36s
2026-06-17 10:34:56 +02:00
Archlens Bot
f780a66c3a docs: update architecture diagrams 2026-06-17 08:27:43 +00:00
84e5cc4f7e fix: sanitize mermaid member syntax (colons, angle brackets, refs)
Some checks failed
CI / Check / Test (push) Failing after 1m32s
Architecture Docs / Generate diagrams (push) Successful in 3m19s
2026-06-17 10:23:15 +02:00
Archlens Bot
e93c8c8f9b docs: update architecture diagrams 2026-06-17 08:14:54 +00:00
134c46da43 fix: correct mermaid flowchart edge label syntax (-->|label| not --|"label"|)
Some checks failed
CI / Check / Test (push) Failing after 1m40s
Architecture Docs / Generate diagrams (push) Successful in 3m51s
2026-06-17 10:09:50 +02:00
Archlens Bot
b2ce4b4ee9 docs: update architecture diagrams 2026-06-17 07:56:20 +00:00
fdd85011a4 feat: implement all P1/P2/P3/P4 improvements from issue backlog
Some checks failed
CI / Check / Test (push) Failing after 1m33s
Architecture Docs / Generate diagrams (push) Successful in 3m21s
P1 correctness:
- filter test files by default (--include-tests to opt in)
- per-module diagrams show cross-module dependency arrows
- qualified type names (Module::TypeName) fix false edges from duplicate names

P2 output richness:
- method parameter types and return types in class diagrams (Rust + Python)
- Python pyproject.toml project analyzer (--level project for monorepos)

P3 unique value:
- boundary rules in archlens.toml ([rules] allow/deny, --strict enforcement)

P4 nice to have:
- dependency weight labels on module arrows (--no-weights to disable)
- --watch mode with 500ms debounce
- D2 renderer adapter (--format d2)
- interactive self-contained HTML viewer (--format html)
- git-aware incremental analysis (--since <ref>)
2026-06-17 09:51:45 +02:00
Archlens Bot
27197062eb docs: update architecture diagrams 2026-06-16 14:56:03 +00:00
4f6fa6feff fix: move class members outside mermaid namespace blocks (parse error fix)
All checks were successful
CI / Check / Test (push) Successful in 2m41s
Architecture Docs / Generate diagrams (push) Successful in 3m4s
2026-06-16 16:50:36 +02:00
Archlens Bot
39a87520a1 docs: update architecture diagrams 2026-06-16 14:46:17 +00:00
55a723d192 docs: add generated architecture diagrams
All checks were successful
CI / Check / Test (push) Successful in 3m3s
Architecture Docs / Generate diagrams (push) Successful in 3m19s
2026-06-16 16:40:09 +02:00
100b014ff6 fix: canonicalize root path for module inference, fix crate-to-module mapping 2026-06-16 16:40:02 +02:00
ae241aacac ci: add architecture docs generation on master push
Some checks failed
CI / Check / Test (push) Successful in 2m48s
Architecture Docs / Generate diagrams (push) Has been cancelled
2026-06-16 16:36:28 +02:00
d28b00c697 refactor: deepen modules, consolidate inference, delete dead code
- Extract build_graph/load_config/create_renderer in presentation (393→~250 lines)
- Move module inference into ModuleName::from_path(), delete 3 scattered copies
- Move resolve_relationships/filter_external_imports into CodeGraph
- Add LanguageExtractor trait in tree-sitter adapter
- Add CodeGraph::elements_by_module(), replace 6 identical grouping loops
- Delete dead RenderDiagrams query
2026-06-16 16:34:41 +02:00
dc8ecd983a fix: allow unused in test fakes module for clippy
All checks were successful
CI / Check / Test (push) Successful in 2m43s
2026-06-16 16:15:48 +02:00
35f27d00b0 init: archlens — architecture diagram generator
Some checks failed
CI / Check / Test (push) Failing after 1m24s
Hex arch + DDD, tree-sitter parsing, Mermaid/ASCII output.
Supports Rust + Python. 92 tests. CI, diff, --check for staleness detection.
2026-06-16 16:13:04 +02:00