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.

Terminal
fehm architecture propose
# Review .fehm/architecture.proposed.json
fehm architecture approve

Engineering-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.

Terminal
fehm practices audit
fehm practices propose --profile auto
# Review and edit .fehm/practices.proposed.json
fehm practices approve
fehm practices baseline

Choose what to enforce

ModeBehavior
warnReport evidence gaps without making them mandatory.
requireRequire a detected signal after policy approval.
offRecord 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.