-
Notifications
You must be signed in to change notification settings - Fork 0
Detector: Architecture Drift
Jacob Centner edited this page Apr 13, 2026
·
1 revision
Enforces import-graph layer boundaries declared in sentinel.toml.
| Property | Value |
|---|---|
| Name | architecture-drift |
| Tier | DETERMINISTIC |
| Languages | Python |
| External tool | None |
| LLM required | No |
| Confidence | 0.95 (forbidden), 0.90 (layer violation) |
Import statements that violate declared architecture boundary rules:
- Layer violations: a lower layer importing from a higher layer
- Forbidden imports: explicitly prohibited cross-module imports
- Reads architecture rules from
[sentinel.architecture]insentinel.toml - Builds a layer rank map from the
layerslist (ordered highest → lowest) - Parses
forbiddenrules (e.g."myapp.store -> myapp.web") - Walks all
.pyfiles, parses AST, extracts import edges - Checks each import against forbidden rules (HIGH severity) and layer ordering (MEDIUM severity)
- Imports targeting
sharedmodules are exempt from layer checks
Requires architecture rules in sentinel.toml:
[sentinel.architecture]
layers = ["myapp.web", "myapp.core", "myapp.store"] # highest → lowest
shared = ["myapp.models", "myapp.utils"] # exempt from layer checks
forbidden = [
"myapp.store -> myapp.web",
"myapp.core -> myapp.cli",
]Produces no findings if [sentinel.architecture] is not configured.
| Type | Severity | Confidence |
|---|---|---|
| Forbidden import | HIGH | 0.95 |
| Layer violation | MEDIUM | 0.90 |
[ARCHITECTURE-DRIFT] src/myapp/store/db.py
Module myapp.store.db (layer myapp.store, rank 2) imports from
myapp.web.routes (layer myapp.web, rank 0). Lower layers should
not import from higher layers.
Severity: MEDIUM, Confidence: 0.90
Local Repo Sentinel · MIT License
Getting Started
Reference
Detectors
- Detector: Todo Scanner
- Detector: Complexity
- Detector: Dead Code
- Detector: Dep Audit
- Detector: Docs Drift
- Detector: Unused Deps
- Detector: Lint Runner
- Detector: ESLint Runner
- Detector: Go Linter
- Detector: Rust Clippy
- Detector: Git Hotspots
- Detector: Stale Env
- Detector: Semantic Drift
- Detector: Test Coherence
- Detector: CI/CD Drift
- Detector: Architecture Drift
- Detector: Inline Comment Drift
- Detector: Intent Comparison
Advanced
Workflow