Asset Service Technical Limitations
Consolidated limitations
- Architecture: one assembly provides folder separation but no compile-time layer enforcement; select API projections use DbContext directly; IQueryable leaks provider semantics through the repository.
- Authorization: authentication and authorization are registered, but asset routes have no required policies. Header trust, ownership, callback authentication, document access, and fine-grained roles are missing.
- Domain: employee existence, serial uniqueness, reservation, transfer, maintenance, warranty, vendor/purchase, disposal, and document-version invariants are absent. Repair has no native command.
- Persistence: asset-code uniqueness is application-only; no explicit optimistic-concurrency marker or transaction retry was verified.
- Consistency: workflow start and document storage cross process boundaries outside the local transaction. Failed local saves can leave remote artifacts; no reconciliation worker was found.
- Queries: fixed caps replace pagination; no full-text search, totals, flexible sorting, cache, or server-side reporting API.
- Messaging: no local consumer, dead-letter governance, retention, publisher monitoring, or documented delivery objective. Processed-event storage is Foundation for future inbound use.
- Observability: tracing and JSON logs exist, but metrics, dependency readiness, alerts, dashboards, sampling/redaction policy, and service objectives are absent.
- Compatibility: feature-controlled cutover, compatibility identity/status mapping, shared workspace ownership, and legacy labor references remain Transitional.
- Testing: one broad smoke harness exists; dedicated unit, integration, contract, UI, load, and security suites were not found.
Not implemented versus Requires confirmation
The absent mechanisms above are Not implemented when source types/registrations do not exist. Production policies, ownership, retention, service objectives, route retirement, and test governance Require confirmation.
Requires confirmation
Production ownership, authorization governance, operational policy, and future architecture require confirmation where the source does not enforce them.
Source References
microservices/src/asset-service/Program.csmicroservices/src/asset-service/Domain/Asset/Asset.csmicroservices/src/asset-service/Application/Queries/AssetQueries.csmicroservices/scripts/smoke-asset.ps1