Search docs
Docs searchValidation rules
Rule Catalog
Look up ArchPilot validation rules by ID, category, severity, and fix path.
Start with the rule ID from a local validation report, CI output, VS Code finding, or Cloud finding. Each rule page explains what the finding means and the safest next fix to try.
Application Layering
5 rulesAP-APP-001warningFlags controllers that contain business decisions instead of delegating to application services.
AP-APP-002warningFlags repository/data-access code that contains domain or workflow decisions.
AP-APP-003warningFlags application services that directly reach persistence APIs where a repository boundary is expected.
AP-APP-004warningFlags files whose responsibilities do not match the package or module they live in.
AP-APP-005warningFlags services that appear to own too many workflows or responsibilities.
Architecture
11 rulesAP-ARCH-001errorChecks that the configured module root exists and contains the expected module directories.
AP-ARCH-002infoReports when ArchPilot falls back from a specific implementation profile to default validation behavior.
AP-ARCH-003errorChecks that the architecture overview document exists.
AP-ARCH-004warningChecks that expected module baseline artifacts are present.
AP-ARCH-005errorChecks that registered module paths exist as directories.
AP-ARCH-006errorChecks that every registered module contract file resolves.
AP-ARCH-007errorChecks that module contract identity and field shape align with the registry.
AP-ARCH-008errorChecks that registered module public entrypoints match the public surfaces declared in module contracts.
AP-ARCH-009errorChecks that the project rule configuration file can be parsed and used.
AP-ARCH-010errorChecks that the ArchPilot project configuration is valid JSON.
AP-ARCH-011errorChecks that project identity fields are present and usable.
Dependency
11 rulesAP-DEP-001errorFlags direct circular dependencies between modules.
AP-DEP-002errorFlags dependencies blocked by dependency rule configuration.
AP-DEP-003errorFlags cross-module imports that do not use a public module entrypoint.
AP-DEP-004errorFlags an actual cross-module import that is not declared in the source module contract.
AP-DEP-005errorFlags imports that reach into another module's internals instead of its public entrypoint.
AP-DEP-006warningFlags a module contract dependency that no longer appears in implementation imports.
AP-DEP-007warningFlags modules with no declared or actual inbound/outbound module dependencies.
AP-DEP-008errorFlags dependency cycles that emerge through multiple module hops.
AP-DEP-009warningFlags modules with a high number of inbound dependencies.
AP-DEP-010errorFlags dependencies that point against the configured architecture layer direction.
AP-DEP-011errorFlags dependencies between components that violate the configured cross-component policy.
API
2 rulesAPI Design
6 rulesAP-API-010warningFlags collection endpoints that do not expose clear pagination or bounded result controls.
AP-API-011warningFlags bulk API operations that lack clear safeguards.
AP-API-012warningFlags APIs that expose persistence entities or internal DTOs across the external boundary.
AP-API-013warningFlags REST resources that use inconsistent naming, shape, or operation patterns.
AP-API-014warningFlags API routes or contracts that do not follow the repository's versioning strategy.
AP-API-015warningFlags API behavior whose implementation and contract appear to have drifted apart.
Authorization
3 rulesAP-AUTH-001warningFlags protected operations without clear authorization enforcement evidence.
AP-AUTH-002warningFlags resource endpoints that enforce authorization inconsistently across operations.
AP-AUTH-003warningFlags authorization logic placed in a layer that makes enforcement hard to reuse or audit.
Database
2 rulesDomain Model Quality
5 rulesAP-DOM-001warningFlags domain objects that appear to expose data without owning behavior or invariants.
AP-DOM-002warningFlags code that reaches across aggregate boundaries instead of using the owning boundary.
AP-DOM-003warningFlags domain or service boundaries that appear too broad for one aggregate responsibility.
AP-DOM-004warningFlags business rules repeated across controllers, services, repositories, or UI code.
AP-DOM-005warningFlags workflows that modify multiple aggregates without clear coordination.
Documentation
11 rulesAP-ADR-001warningChecks that the configured ADR directory exists.
AP-ADR-002warningChecks that ADR files include a top-level title.
AP-ADR-003warningChecks that ADR files include a recognized decision status.
AP-ADR-004warningChecks that key architecture topics have ADR coverage.
AP-DOC-001warningChecks that different-schema tenant modeling decisions are captured in an ADR.
AP-DOC-002warningChecks that architecture overview documentation mentions RBAC or role-based access control where expected.
AP-SUP-001warningChecks that suppression entries include a reason.
AP-SUP-002warningFlags suppression entries whose expiry date has passed.
AP-SUP-003infoReports suppression entries that no longer match an active finding.
AP-SUP-004warningFlags duplicate suppression entries.
AP-SUP-005warningChecks that suppression expiry dates use a valid format.
Event Architecture
4 rulesAP-EVT-001warningFlags events that appear to be published without any subscribed handler.
AP-EVT-002warningFlags event chains that may loop back to their starting workflow.
AP-EVT-003warningFlags events used like immediate synchronous calls between modules.
AP-EVT-004warningFlags event names that do not follow the repository's event naming convention.
Data / Query Risk
8 rulesAP-DQR-001warningFlags query paths where multi-tenant SQL lacks clear tenant-filter evidence.
AP-DQR-002warningFlags broad SELECT * usage in paths where explicit projection is safer.
AP-DQR-003warningFlags list/query paths without obvious limit or pagination controls.
AP-DQR-004warningFlags database access that reaches into another module's owned data boundary directly.
AP-DQR-005warningFlags collection workflows that appear to query inside a loop.
AP-DQR-006warningFlags query flows that load broad collections and filter or aggregate them in memory.
AP-DQR-007warningFlags queries that load full entities when only a small subset of fields is used.
AP-DQR-008warningFlags request flows that repeat the same or similar query multiple times.
Safety Controls
3 rulesAP-SAFE-001warningFlags risky architecture changes that lack ADR evidence.
AP-SAFE-002warningFlags risky changes without rollback plan evidence.
AP-SAFE-003warningFlags risky changes without staged rollout or feature-flag evidence.
Tenant Isolation
4 rulesAP-TEN-001warningFlags request or workflow paths where tenant context is not clearly propagated.
AP-TEN-002warningFlags data access without clear tenant-scoping enforcement.
AP-TEN-003warningFlags flows that may combine or expose data across tenant boundaries.
AP-TEN-004infoReports missing or inconsistent documentation for the tenant isolation model.
Transaction Boundaries
4 rulesAP-TXN-001warningFlags transactions that appear to wrap more work than necessary.
AP-TXN-002warningFlags transactions initiated from transport-layer code.
AP-TXN-003warningFlags workflows where transactions may be nested or composed unsafely.
AP-TXN-004warningFlags transactions that include slow external or asynchronous work.