Files
AutopilotMonitor/src/Backend
Oliver Kieselbach ad8dc5f3f6 fix(mcp,backend): correct phase labels, usage timestamps, bad-filter 400
Second batch of pre-release MCP tool audit fixes:

- mcp: get_session_summary phase labels were desynced from the backend
  EnrollmentPhase enum — phases 3-7 were mislabeled (e.g. 7 showed
  "Pre-Provisioning" but is "Complete"; 4 showed "Device ESP" but is
  "Account Setup"). Replaced with the canonical taxonomy (matches the web
  phaseConstants.ts), enrollment-type-aware (phase 3 = Apps (Device) on V1,
  App Installation on V2), plus -1=Unknown / 99=Failed.
- backend: get_usage_metrics reported PlatformStats.lastFullCompute /
  lastUpdated as 0001-01-01 even though the persisted row was fresh -
  UsageMetricsService projected a new PlatformStats and dropped the two
  timestamp fields (defaulted to DateTime.MinValue). Now carried through.
- backend: query_table (TableQueryFunction) now returns 400 with the
  actionable Azure message for an invalid OData filter / bad query input
  (RequestFailedException 400) instead of a generic 500.

Tests: backend targeted suite 31 green; mcp tsc clean + unit suite 52 green.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-27 21:03:34 +02:00
..
2026-03-26 07:02:33 +01:00