How maheesh09/archguard works
Archguard accepts analysis-job requests, queues them for asynchronous processing, parses a Python file, checks view-layer imports against an architectural rule, and stores job status and violations. The sampled worker uses a fixed test-file path and does not show repository cloning or a results-query endpoint, so the graph does not imply either capability. The source supports the queue, persistence, sidecar, and rule-evaluation connections shown; no README was provided.
Main entry points: JobWorker.java Job worker · AnalysisController.java Job API · parser.py Python parser · SidecarExecutor.java Sidecar executor
Components 12
Job intake
- Job API
src/main/java/com/archguard/AnalysisController.java - Queue config
src/main/java/com/archguard/RabbitMQConfig.java
Analysis
- Job worker
src/main/java/com/archguard/JobWorker.java - Sidecar executor
src/main/java/com/archguard/SidecarExecutor.java - Python parser
sidecars/python/parser.py - Boundary rules
src/main/java/com/archguard/RuleEngine.java
Persistence
- Job repository
src/main/java/com/archguard/repositories/AnalysisJobRepository.java - Violation repository
src/main/java/com/archguard/repositories/ViolationRepository.java
Other components
- API client
- RabbitMQ
- Target Python file
- PostgreSQL
Connections 14
- API client → Job API: submits job
- Job API → Job repository: saves job
- Job API → RabbitMQ: publishes job ID
- Queue config → RabbitMQ: declares queue
- RabbitMQ → Job worker: dispatches job ID
- Job worker → Job repository: loads and updates
- Job worker → Sidecar executor: requests parsing
- Sidecar executor → Python parser: runs script
- Python parser → Target Python file: reads source
- Python parser → Sidecar executor: returns AST JSON
- Job worker → Boundary rules: evaluates AST
- Job worker → Violation repository: saves violations
- Job repository → PostgreSQL: reads and writes jobs
- Violation repository → PostgreSQL: writes violations