This section contains comprehensive architecture documentation including system design and architectural decisions.
- Architecture Overview - High-level system design, component relationships, and data flow
Architecture Decision Records (ADRs) document the key decisions made during the development of this system:
- ADR-0001: Runtime Snapshot Approach - Decision to analyze running environments rather than source files
- ADR-0002: Modular Detector Architecture - Pluggable detector design with abstract interfaces
- ADR-0003: Read-Only Operations - Constraint to never modify target environments
- ADR-0004: Unix-Only Support - Platform support scope and rationale
- ADR-0005: Dependency Hash Strategy - Multi-tiered approach to change detection and integrity verification
- Runtime Snapshot Approach - Analyze actual installed packages rather than configuration files
- Modular Design - Package manager detectors as independent, pluggable components
- Environment Abstraction - Support multiple execution environments (host, Docker) through unified interface
- Read-Only Constraint - Never modify the target environment during analysis
- Graceful Degradation - Failed detectors don't prevent other detectors from working
- Multi-Tiered Integrity - Use best available hash strategy for each package manager