# Architecture Fitness Functions

| ID | 자동 검사 | 차단 기준 |
|---|---|---|
| AF-01 | Module project reference graph | 승인되지 않은 역방향 의존 1건 |
| AF-02 | 다른 모듈 schema 직접 SQL 참조 | 1건 |
| AF-03 | Domain project의 Npgsql/Hangfire/HTTP 참조 | 1건 |
| AF-04 | `DateTime.Now/UtcNow` 직접 사용 | 승인 예외 외 1건 |
| AF-05 | `SELECT *` | 1건 |
| AF-06 | Generic Repository/God Service 명명·크기 | 1건 또는 기준 초과 |
| AF-07 | Modules 내부 `AllowAnonymous` | 1건 |
| AF-08 | Evidence/Decision/Audit immutable trigger | 누락 1건 |
| AF-09 | DbUp fresh/upgrade/re-run | 실패 |
| AF-10 | PIT `published_at <= cutoff` contract test | 실패 |
| AF-11 | Dataset+Code+Config 동일 replay hash | 100% 미만 |
| AF-12 | command/job/order duplicate | 0 초과 |
| AF-13 | Outbox/Inbox retry and poison replay | 실패 |
| AF-14 | Algorithm Golden/boundary/property | 실패 |
| AF-15 | Reentry calendar/stage/expiry/new cycle | 실패 |
| AF-16 | FE server state duplicated in Pinia | 탐지 1건 |
| AF-17 | FE ProblemDetails/409/422/429/503 common handling | 누락 |
| AF-18 | Role/state Playwright journeys | 실패 |
| AF-19 | Secret/PII scan | Critical 1건 |
| AF-20 | Release Evidence Pack completeness | 누락 1건 |
