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:
Automation
This document is automatically updated after each commit to main or develop branches. The update process:
- Runs static analysis tools (CodeQL, ESLint, dotnet build)
- Executes test suites and collects coverage
- Aggregates metrics from CI artifacts
- Updates this document with current values
- 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 |