Skip to main content

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.cs
  • microservices/src/asset-service/Domain/Asset/Asset.cs
  • microservices/src/asset-service/Application/Queries/AssetQueries.cs
  • microservices/scripts/smoke-asset.ps1