Architecture and practice drift
Compare changes with the boundaries and controls your project has chosen.
Architecture drift
An approved architecture defines allowed dependencies. If your project requires controllers to use a service layer, a new direct database import can violate that contract. New violations are reported even if the same change resolves an older one.
fehm architecture propose
# Review .fehm/architecture.proposed.json
fehm architecture approveEngineering-practice drift
The practice catalog checks for 31 signals across development, testing, delivery, security, reliability, operations, accessibility, and AI. A saved baseline can reveal a previously detected signal that has disappeared.
fehm practices audit
fehm practices propose --profile auto
# Review and edit .fehm/practices.proposed.json
fehm practices approve
fehm practices baselineChoose what to enforce
| Mode | Behavior |
|---|---|
| warn | Report evidence gaps without making them mandatory. |
| require | Require a detected signal after policy approval. |
| off | Record an exemption with a non-empty reason. |
Profiles are auto, library, service, and ai-service. Review applicability before approval.
Interpret the result
A matching artifact does not prove a control works. Fehm does not prescribe one universal architecture or intercept editor keystrokes. Keep formatting, language-specific linting, runtime checks, and human review in the workflow.