# Structural Snapshot — 2026-05-13 (end of Cycle 1) Source-of-truth references: - Module layout: `_docs/02_document/module-layout.md` - Solution: `Azaion.AdminApi.sln` ## Component Registry (single deployable boundary) | ID | Name | csproj projects | Public REST surface | |----|------|-----------------|---------------------| | C-ADMIN-API | Admin API | Azaion.AdminApi, Azaion.Common, Azaion.Services, Azaion.Tests, Azaion.E2E | OpenAPI surface in `Azaion.AdminApi/swagger.json` | ## Conceptual Sub-Components (within C-ADMIN-API) | ID | Name | Owning project(s) | Notes | |----|------|-------------------|-------| | SC-DATA | Data Layer | Azaion.Common (Database/, Entities/, Requests/) | linq2db, Postgres | | SC-USER | User Management | Azaion.Services/UserService.cs | RegisterUser, RegisterDevice | | SC-AUTH | Auth & Security | Azaion.Services/JwtService.cs, Authorization.cs, ResourcesService.cs | JWT, role policies, file-resource permission filter | | SC-RES | Resource Management | Azaion.Services/ResourcesService.cs, FilesService.cs | Per-user file resources | | SC-API | Admin API surface | Azaion.AdminApi/Program.cs (Minimal API endpoints) | All HTTP entry points | ## Edge Count Cross-component edges in this workspace: **0** (registry has 1 component). Cross-conceptual-sub-component edges (informational only — these are not deployment boundaries): - SC-API → SC-USER, SC-AUTH, SC-RES - SC-USER → SC-DATA, SC-AUTH - SC-RES → SC-DATA, SC-AUTH - SC-AUTH → SC-DATA No cycles in either graph. ## Architecture Findings This Cycle | Source | Findings flagged "Architecture" | |--------|-------------------------------:| | `batch_05_review.md` | 0 | | `batch_06_review.md` | 0 | | `cumulative_review_batches_*.md` | (file does not exist for cycle 1) | | Security audit (`_docs/05_security/security_report.md`) | 0 in the Architecture category | **Net Architecture delta: 0.** ## Public API Contract Coverage `_docs/02_document/contracts/` directory does **not** exist in this workspace. The OpenAPI surface in `Azaion.AdminApi/swagger.json` is the de-facto contract; consumer-driven contract tests are not yet adopted. If a future cycle introduces a `contracts/` folder, this snapshot will start tracking: - Number of contract files - Endpoints under contract / total endpoints - Coverage percentage - Delta vs previous snapshot