ums

Solution Metrics Dashboard

Language: English | EspaƱol
Last Updated: 2026-05-25 Generated By: Automated Metrics Pipeline
Architecture Index: Architecture Portal


Overview

This document provides a consolidated view of engineering metrics across all UMS solutions, organized by solution type and metric category. Each section uses collapsible tables for fast navigation.

Solution Inventory

Solution Type Technology Status
ums.api API .NET 10, C# Active
ums.web-app Web React 18, TypeScript, Vite Active
shell/* Libs .NET 10, C# (DDD, Factory, AOP, Bootstrapper) Active
tests/load Tests k6 Active
tests/* Tests xUnit, Vitest, Playwright Active

Quick Navigation

1. API Metrics (ums.api) - [1.1 Coding Metrics](#11-coding-metrics) - [1.2 Security Metrics](#12-security-metrics) - [1.3 Quality Metrics](#13-quality-metrics) - [1.4 Test Metrics](#14-test-metrics) - [1.5 AI Usage Metrics](#15-ai-usage-metrics)
2. Web Metrics (ums.web-app) - [2.1 Coding Metrics](#21-coding-metrics) - [2.2 Security Metrics](#22-security-metrics) - [2.3 Quality Metrics](#23-quality-metrics) - [2.4 Test Metrics](#24-test-metrics) - [2.5 AI Usage Metrics](#25-ai-usage-metrics)
3. Library Metrics (shell/*) - [3.1 Coding Metrics](#31-coding-metrics) - [3.2 Security Metrics](#32-security-metrics) - [3.3 Quality Metrics](#33-quality-metrics) - [3.4 Test Metrics](#34-test-metrics)
4. Test Suite Metrics - [4.1 Unit Tests](#41-unit-tests) - [4.2 Integration Tests](#42-integration-tests) - [4.3 Load Tests](#43-load-tests) - [4.4 E2E Tests](#44-e2e-tests)
5. Aggregate Metrics by Category - [5.1 Coding Summary](#51-coding-summary) - [5.2 Security Summary](#52-security-summary) - [5.3 Quality Summary](#53-quality-summary) - [5.4 Test Summary](#54-test-summary) - [5.5 AI Usage Summary](#55-ai-usage-summary)

1. API Metrics (ums.api)

1.1 Coding Metrics

View API Coding Metrics | Metric | Value | Threshold | Status | |--------|-------|-----------|--------| | Total Lines of Code | *auto* | - | - | | C# Source Files | *auto* | - | - | | Cyclomatic Complexity (avg) | *auto* | < 10 | - | | Cyclomatic Complexity (max) | *auto* | < 20 | - | | Maintainability Index | *auto* | > 60 | - | | Technical Debt Ratio | *auto* | < 5% | - | | Domain Purity Violations | *auto* | 0 | - | | Null Reference Warnings | *auto* | 0 | - | **Domain Purity Gate:** `Ums.Domain` project must contain zero NuGet references. Verified by build.

1.2 Security Metrics

View API Security Metrics | Metric | Value | Threshold | Status | |--------|-------|-----------|--------| | NuGet Vulnerabilities (Critical) | *auto* | 0 | - | | NuGet Vulnerabilities (High) | *auto* | 0 | - | | NuGet Vulnerabilities (Medium) | *auto* | < 5 | - | | CodeQL Alerts (Critical) | *auto* | 0 | - | | CodeQL Alerts (High) | *auto* | 0 | - | | Auth Coverage (endpoints) | *auto* | 100% | - | | Tenant Filter Coverage | *auto* | 100% | - | | PII Logging Violations | *auto* | 0 | - | | CSP Violations | *auto* | 0 | - | **Security Gates:** - NuGet audit runs on every build (`dotnet nuget verify`) - CodeQL static analysis runs in CI - ADR-0062 enforces PII-safe Serilog configuration - ADR-0052 enforces immutable audit trail

1.3 Quality Metrics

View API Quality Metrics | Metric | Value | Threshold | Status | |--------|-------|-----------|--------| | Code Coverage - Domain | *auto* | >= 85% | - | | Code Coverage - Application | *auto* | >= 75% | - | | Code Coverage - Combined | *auto* | >= 80% | - | | Build Warnings | *auto* | 0 | - | | Build Errors | *auto* | 0 | - | | SonarQube Quality Gate | *auto* | Passed | - | | Unused Imports | *auto* | 0 | - | | Dead Code Lines | *auto* | 0 | - | **Coverage Tooling:** coverlet.collector + dotnet-reportgenerator-globaltool **Runner:** `./coverage.sh` (local) / `./coverage.sh --ci` (enforces thresholds)

1.4 Test Metrics

View API Test Metrics | Metric | Value | Threshold | Status | |--------|-------|-----------|--------| | Unit Tests - Total | *auto* | - | - | | Unit Tests - Passed | *auto* | 100% | - | | Unit Tests - Failed | *auto* | 0 | - | | Unit Tests - Skipped | *auto* | 0 | - | | Integration Tests - Total | *auto* | - | - | | Integration Tests - Passed | *auto* | 100% | - | | Contract Tests - Total | *auto* | - | - | | Avg Test Execution Time | *auto* | < 5 min | - | | Test Pyramid Ratio (Unit/Int/E2E) | *auto* | 70/20/10 | - | **Test Projects:** - `Ums.Domain.Test` - Domain invariants, state machines, event contracts - `Ums.Application.Test` - Command handlers, auth guards, not-found guards - `Ums.Presentation.IntegrationTest` - API endpoints, EF Core, Testcontainers - `Ums.ContractTest` - API contract validation

1.5 AI Usage Metrics

View AI Usage Metrics (API) | Model | Tool | Usage Count | Lines Generated | Acceptance Rate | |-------|------|-------------|-----------------|-----------------| | *auto* | *auto* | *auto* | *auto* | *auto* | | *auto* | *auto* | *auto* | *auto* | *auto* | **AI Tools Tracked:** - GitHub Copilot - Cursor - Claude Code - opencode **Metrics Collection:** Tracked via commit message tags and AI-assisted code markers.

2. Web Metrics (ums.web-app)

2.1 Coding Metrics

View Web Coding Metrics | Metric | Value | Threshold | Status | |--------|-------|-----------|--------| | Total Lines of Code | *auto* | - | - | | TypeScript Source Files | *auto* | - | - | | React Components | *auto* | - | - | | Cyclomatic Complexity (avg) | *auto* | < 10 | - | | ESLint Errors | *auto* | 0 | - | | ESLint Warnings | *auto* | < 10 | - | | Prettier Violations | *auto* | 0 | - | | Unused Exports | *auto* | 0 | - | | Bundle Size (prod) | *auto* | < 500KB | - | **Linting:** ESLint + TypeScript strict mode + Prettier **Build:** Vite 5 with tree-shaking

2.2 Security Metrics

View Web Security Metrics | Metric | Value | Threshold | Status | |--------|-------|-----------|--------| | npm Audit Vulnerabilities (Critical) | *auto* | 0 | - | | npm Audit Vulnerabilities (High) | *auto* | 0 | - | | npm Audit Vulnerabilities (Medium) | *auto* | < 5 | - | | CSP Violations | *auto* | 0 | - | | XSS Prevention Coverage | *auto* | 100% | - | | CSRF Token Coverage | *auto* | 100% | - | | Dependency Pinning Violations | *auto* | 0 | - | | Secret Leaks | *auto* | 0 | - | **Security Gates:** - `npm audit` runs in CI on every PR - Zod schemas for runtime validation - CSP headers via Nginx configuration

2.3 Quality Metrics

View Web Quality Metrics | Metric | Value | Threshold | Status | |--------|-------|-----------|--------| | Code Coverage - Lines | *auto* | >= 60% | - | | Code Coverage - Branches | *auto* | >= 50% | - | | Code Coverage - Functions | *auto* | >= 60% | - | | Code Coverage - Statements | *auto* | >= 60% | - | | TypeScript Strict Errors | *auto* | 0 | - | | Unused Variables | *auto* | 0 | - | | Component Reuse Ratio | *auto* | > 70% | - | **Testing Tooling:** Vitest + React Testing Library **Coverage Tooling:** Vitest built-in coverage (v8)

2.4 Test Metrics

View Web Test Metrics | Metric | Value | Threshold | Status | |--------|-------|-----------|--------| | Unit Tests - Total | *auto* | - | - | | Unit Tests - Passed | *auto* | 100% | - | | Unit Tests - Failed | *auto* | 0 | - | | E2E Tests - Total | *auto* | - | - | | E2E Tests - Passed | *auto* | 100% | - | | E2E Tests - Failed | *auto* | 0 | - | | Component Tests - Total | *auto* | - | - | | Avg Test Execution Time | *auto* | < 3 min | - | **Test Frameworks:** - Vitest - Unit and component tests - Playwright - E2E tests (planned) - React Testing Library - Component behavior tests

2.5 AI Usage Metrics

View AI Usage Metrics (Web) | Model | Tool | Usage Count | Lines Generated | Acceptance Rate | |-------|------|-------------|-----------------|-----------------| | *auto* | *auto* | *auto* | *auto* | *auto* | | *auto* | *auto* | *auto* | *auto* | *auto* | **AI Tools Tracked:** - GitHub Copilot - Cursor - Claude Code - opencode

3. Library Metrics (shell/*)

3.1 Coding Metrics

View Library Coding Metrics | Library | LOC | Files | Complexity | Maintainability | |---------|-----|-------|------------|-----------------| | Ums.Shell.Ddd | *auto* | *auto* | *auto* | *auto* | | Ums.Shell.Factory | *auto* | *auto* | *auto* | *auto* | | Ums.Shell.Aop | *auto* | *auto* | *auto* | *auto* | | Ums.Shell.Bootstrapper | *auto* | *auto* | *auto* | *auto* | **Library Standards:** - ADR-0054: Shell Library Isolation - Zero external dependencies (pure kernel) - Promoted via NuGet after stability gate

3.2 Security Metrics

View Library Security Metrics | Metric | Value | Threshold | Status | |--------|-------|-----------|--------| | NuGet Vulnerabilities | *auto* | 0 | - | | Unsafe Code Blocks | *auto* | 0 | - | | Reflection Usage | *auto* | Documented | - | | Dynamic Assembly Loading | *auto* | 0 | - |

3.3 Quality Metrics

View Library Quality Metrics | Library | Coverage | Build Warnings | API Stability | |---------|----------|----------------|---------------| | Ums.Shell.Ddd | *auto* | *auto* | *auto* | | Ums.Shell.Factory | *auto* | *auto* | *auto* | | Ums.Shell.Aop | *auto* | *auto* | *auto* | | Ums.Shell.Bootstrapper | *auto* | *auto* | *auto* |

3.4 Test Metrics

View Library Test Metrics | Library | Unit Tests | Integration Tests | Avg Exec Time | |---------|------------|-------------------|---------------| | Ums.Shell.Ddd | *auto* | *auto* | *auto* | | Ums.Shell.Factory | *auto* | *auto* | *auto* | | Ums.Shell.Aop | *auto* | *auto* | *auto* | | Ums.Shell.Bootstrapper | *auto* | *auto* | *auto* |

4. Test Suite Metrics

4.1 Unit Tests

View Unit Test Summary | Solution | Total | Passed | Failed | Skipped | Coverage | |----------|-------|--------|--------|---------|----------| | ums.api (Domain) | *auto* | *auto* | *auto* | *auto* | *auto* | | ums.api (Application) | *auto* | *auto* | *auto* | *auto* | *auto* | | ums.web-app | *auto* | *auto* | *auto* | *auto* | *auto* | | shell/* | *auto* | *auto* | *auto* | *auto* | *auto* |

4.2 Integration Tests

View Integration Test Summary | Solution | Total | Passed | Failed | Testcontainers | Avg Exec Time | |----------|-------|--------|--------|----------------|---------------| | ums.api (Presentation) | *auto* | *auto* | *auto* | Yes | *auto* | | ums.api (Contract) | *auto* | *auto* | *auto* | No | *auto* |

4.3 Load Tests

View Load Test Summary | Endpoint | VUs | Duration | p95 (ms) | p99 (ms) | Failures | RPS | |----------|-----|----------|----------|----------|----------|-----| | *auto* | *auto* | *auto* | *auto* | *auto* | *auto* | *auto* | **Thresholds (from k6 config):** - p95 < 500ms - p99 < 1500ms - Failure rate < 1% - Throughput > 100 RPS **Documentation:** [Load Tests README](../../tests/load/README.md)

4.4 E2E Tests

View E2E Test Summary | Scenario | Browser | Status | Duration | Screenshot | |----------|---------|--------|----------|------------| | *auto* | *auto* | *auto* | *auto* | *auto* | **Framework:** Playwright (planned) **Browsers:** Chromium, Firefox, WebKit

5. Aggregate Metrics by Category

5.1 Coding Summary

View Coding Summary Across All Solutions | Solution | LOC | Files | Avg Complexity | Max Complexity | Tech Debt | |----------|-----|-------|----------------|----------------|-----------| | ums.api | *auto* | *auto* | *auto* | *auto* | *auto* | | ums.web-app | *auto* | *auto* | *auto* | *auto* | *auto* | | shell/* | *auto* | *auto* | *auto* | *auto* | *auto* | | **Total** | **auto** | **auto** | **auto** | **auto** | **auto** |

5.2 Security Summary

View Security Summary Across All Solutions | Solution | Critical Vulns | High Vulns | Medium Vulns | CodeQL Alerts | Auth Coverage | |----------|---------------|------------|--------------|---------------|---------------| | ums.api | *auto* | *auto* | *auto* | *auto* | *auto* | | ums.web-app | *auto* | *auto* | *auto* | *auto* | *auto* | | shell/* | *auto* | *auto* | *auto* | *auto* | N/A | | **Total** | **auto** | **auto** | **auto** | **auto** | **auto** |

5.3 Quality Summary

View Quality Summary Across All Solutions | Solution | Coverage | Build Warnings | Lint Errors | Sonar Gate | |----------|----------|----------------|-------------|------------| | ums.api (Domain) | *auto* | *auto* | N/A | *auto* | | ums.api (Application) | *auto* | *auto* | N/A | *auto* | | ums.web-app | *auto* | *auto* | *auto* | *auto* | | shell/* | *auto* | *auto* | N/A | *auto* |

5.4 Test Summary

View Test Summary Across All Solutions | Solution | Unit | Integration | E2E | Load | Total Coverage | |----------|------|-------------|-----|------|----------------| | ums.api | *auto* | *auto* | N/A | N/A | *auto* | | ums.web-app | *auto* | N/A | *auto* | N/A | *auto* | | shell/* | *auto* | N/A | N/A | N/A | *auto* | | tests/load | N/A | N/A | N/A | *auto* | N/A | | **Total** | **auto** | **auto** | **auto** | **auto** | **auto** |

5.5 AI Usage Summary

View AI Usage Summary Across All Solutions | Model | Total Usage | Lines Generated | Acceptance Rate | Primary Solution | |-------|-------------|-----------------|-----------------|------------------| | *auto* | *auto* | *auto* | *auto* | *auto* | | *auto* | *auto* | *auto* | *auto* | *auto* | **Tool Breakdown:** | Tool | Usage Count | Models Used | Avg Session Length | |------|-------------|-------------|-------------------| | *auto* | *auto* | *auto* | *auto* | | *auto* | *auto* | *auto* | *auto* |

Architecture Traceability

All metrics in this document trace back to the following architecture assets:

Asset Link Relevance
Architecture Portal index.md Primary architecture reference
ADR Registry adrs/index.md Decision traceability
Traceability Matrix traceability-matrix.md FS-to-ADR-to-TE mapping
DDD Design Portal ddd-design/index.md Domain model metrics
API Implementation Tracker api-aggregate-implementation-tracker.md Per-aggregate completion
Coverage Strategy coverage-strategy.md Coverage thresholds

Automation

This document is automatically updated after each commit to main or develop branches. The update process:

  1. Runs static analysis tools (CodeQL, ESLint, dotnet build)
  2. Executes test suites and collects coverage
  3. Aggregates metrics from CI artifacts
  4. Updates this document with current values
  5. Commits changes with [ci skip] tag

Update Script: src/scripts/update-metrics.sh
Workflow: .github/workflows/update-metrics.yml


BMAD Compliance

This document adheres to the following BMAD rules:

Rule Compliance
R-01: Bilingual Documentation Sync Spanish mirror maintained
R-03: UTF-8 Encoding Integrity Validated
R-14: Documentation Professionalism No emojis or decorative characters
R-13: Enterprise Structuring Standard Follows naming taxonomy

Back to Operations Portal Back to Master Index Back to Architecture Portal