{
  "baseline": "57cfc40423f60ac87e66988fb8e82169c5de7d90",
  "verification": "Static code inspection; application tests and live journeys not executed.",
  "counts": {
    "workflows": 97,
    "expressRegistrations": 458,
    "tenantRouteDefinitions": 70,
    "documentedUiEntries": 78,
    "expandedApiEntries": 504
  },
  "api": [
    {
      "method": "GET",
      "path": "/api/v1/alerts",
      "workflow": "INS-05",
      "access": "alerts:read; contextual checks",
      "source": "services/api/src/alerts/routes.ts",
      "line": 15,
      "factory": "createAlertsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/alerts/:alertId",
      "workflow": "INS-05",
      "access": "alerts:read; contextual checks",
      "source": "services/api/src/alerts/routes.ts",
      "line": 16,
      "factory": "createAlertsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/alerts/:alertId",
      "workflow": "INS-05",
      "access": "alerts:manage; contextual checks",
      "source": "services/api/src/alerts/routes.ts",
      "line": 17,
      "factory": "createAlertsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/performance",
      "workflow": "INS-04",
      "access": "alerts:read; contextual checks",
      "source": "services/api/src/alerts/routes.ts",
      "line": 73,
      "factory": "createPerformanceRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ai-learning/evaluations/cases",
      "workflow": "ASK-05",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-evaluation/routes.ts",
      "line": 40,
      "factory": "createAiEvaluationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-learning/evaluations/cases",
      "workflow": "ASK-05",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-evaluation/routes.ts",
      "line": 46,
      "factory": "createAiEvaluationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ai-learning/evaluations/runs",
      "workflow": "ASK-05",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-evaluation/routes.ts",
      "line": 62,
      "factory": "createAiEvaluationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ai-learning/evaluations/release",
      "workflow": "ASK-05",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-evaluation/routes.ts",
      "line": 68,
      "factory": "createAiEvaluationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-learning/evaluations/release/approve",
      "workflow": "ASK-05",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-evaluation/routes.ts",
      "line": 75,
      "factory": "createAiEvaluationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-learning/evaluations/release/rollback",
      "workflow": "ASK-05",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-evaluation/routes.ts",
      "line": 88,
      "factory": "createAiEvaluationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-learning/evaluations/runs",
      "workflow": "ASK-05",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-evaluation/routes.ts",
      "line": 96,
      "factory": "createAiEvaluationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ai-learning",
      "workflow": "ASK-04",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-learning/routes.ts",
      "line": 68,
      "factory": "createAiLearningRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ai-learning/signals",
      "workflow": "ASK-04",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-learning/routes.ts",
      "line": 75,
      "factory": "createAiLearningRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-learning",
      "workflow": "ASK-04",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-learning/routes.ts",
      "line": 144,
      "factory": "createAiLearningRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-learning/:id/versions",
      "workflow": "ASK-04",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-learning/routes.ts",
      "line": 159,
      "factory": "createAiLearningRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-learning/:id/activate",
      "workflow": "ASK-04",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-learning/routes.ts",
      "line": 175,
      "factory": "createAiLearningRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-learning/:id/rollback",
      "workflow": "ASK-04",
      "access": "ask:quality:review OR audits:manage OR platform override",
      "source": "services/api/src/ai-learning/routes.ts",
      "line": 191,
      "factory": "createAiLearningRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/adjudications",
      "workflow": "QMS-09",
      "access": "calibrations:adjudicate; contextual checks",
      "source": "services/api/src/adjudications/routes.ts",
      "line": 70,
      "factory": "createAdjudicationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/adjudications",
      "workflow": "QMS-09",
      "access": "calibrations:adjudicate; contextual checks",
      "source": "services/api/src/adjudications/routes.ts",
      "line": 250,
      "factory": "createAdjudicationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/adjudications/:adjudicationId",
      "workflow": "QMS-09",
      "access": "calibrations:adjudicate; contextual checks",
      "source": "services/api/src/adjudications/routes.ts",
      "line": 276,
      "factory": "createAdjudicationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/alert-rules",
      "workflow": "INS-06",
      "access": "alerts:read; contextual checks",
      "source": "services/api/src/alert-rules/routes.ts",
      "line": 23,
      "factory": "createAlertRulesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/alert-rules",
      "workflow": "INS-06",
      "access": "alerts:manage; contextual checks",
      "source": "services/api/src/alert-rules/routes.ts",
      "line": 37,
      "factory": "createAlertRulesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/alert-rules/:ruleId",
      "workflow": "INS-06",
      "access": "alerts:read; contextual checks",
      "source": "services/api/src/alert-rules/routes.ts",
      "line": 55,
      "factory": "createAlertRulesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/alert-rules/:ruleId",
      "workflow": "INS-06",
      "access": "alerts:manage; contextual checks",
      "source": "services/api/src/alert-rules/routes.ts",
      "line": 64,
      "factory": "createAlertRulesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/interactions/:interactionId/artifacts/:artifactId/content",
      "workflow": "INT-06",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/artifacts/routes.ts",
      "line": 72,
      "factory": "createArtifactsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interactions/:interactionId/artifacts/uploads",
      "workflow": "INT-06",
      "access": "artifacts:write; contextual checks",
      "source": "services/api/src/artifacts/routes.ts",
      "line": 100,
      "factory": "createArtifactsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interactions/:interactionId/artifacts/:artifactId/complete",
      "workflow": "INT-06",
      "access": "artifacts:write; contextual checks",
      "source": "services/api/src/artifacts/routes.ts",
      "line": 211,
      "factory": "createArtifactsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/interactions/:interactionId/artifacts",
      "workflow": "INT-06",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/artifacts/routes.ts",
      "line": 361,
      "factory": "createArtifactsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/internal/ai-suggestions/results",
      "workflow": "OPS-10",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/ai-suggestions/routes.ts",
      "line": 146,
      "factory": "createAiSuggestionInternalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/internal/ai-suggestions/context/:auditId",
      "workflow": "OPS-10",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/ai-suggestions/routes.ts",
      "line": 164,
      "factory": "createAiSuggestionInternalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/internal/ai-suggestions/started",
      "workflow": "OPS-10",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/ai-suggestions/routes.ts",
      "line": 209,
      "factory": "createAiSuggestionInternalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/internal/ai-suggestions/batch",
      "workflow": "OPS-10",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/ai-suggestions/routes.ts",
      "line": 216,
      "factory": "createAiSuggestionInternalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/internal/ai-suggestions/failed",
      "workflow": "OPS-10",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/ai-suggestions/routes.ts",
      "line": 233,
      "factory": "createAiSuggestionInternalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ai-review-queue",
      "workflow": "QMS-03",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/ai-suggestions/routes.ts",
      "line": 251,
      "factory": "createAiSuggestionQueueRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-review-queue/:auditId/retry",
      "workflow": "QMS-03",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/ai-suggestions/routes.ts",
      "line": 261,
      "factory": "createAiSuggestionQueueRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/audits/:auditId/ai-summary",
      "workflow": "QMS-03",
      "access": "audits:review; contextual checks",
      "source": "services/api/src/ai-suggestions/routes.ts",
      "line": 274,
      "factory": "createAiSuggestionAuditRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/audits/:auditId/ai-suggestions/adopt",
      "workflow": "QMS-03",
      "access": "audits:review; contextual checks",
      "source": "services/api/src/ai-suggestions/routes.ts",
      "line": 307,
      "factory": "createAiSuggestionAuditRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/audits/:auditId/ai-suggestions/:atomId/adopt",
      "workflow": "QMS-03",
      "access": "audits:review; contextual checks",
      "source": "services/api/src/ai-suggestions/routes.ts",
      "line": 337,
      "factory": "createAiSuggestionAuditRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/audits/:auditId/ai-suggestions/:atomId/reject",
      "workflow": "QMS-03",
      "access": "audits:review; contextual checks",
      "source": "services/api/src/ai-suggestions/routes.ts",
      "line": 337,
      "factory": "createAiSuggestionAuditRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/health/live",
      "workflow": "OPS-10",
      "access": "Public supporting read",
      "source": "services/api/src/app.ts",
      "line": 607,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/health/ready",
      "workflow": "OPS-10",
      "access": "Public supporting read",
      "source": "services/api/src/app.ts",
      "line": 611,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/health/metrics",
      "workflow": "OPS-10",
      "access": "Public supporting read",
      "source": "services/api/src/app.ts",
      "line": 620,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/openapi.json",
      "workflow": "OPS-10",
      "access": "Public supporting read",
      "source": "services/api/src/app.ts",
      "line": 624,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/tenant-profile",
      "workflow": "ACC-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/app.ts",
      "line": 734,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interactions/:interactionId/audit",
      "workflow": "QMS-01",
      "access": "audits:review; contextual checks",
      "source": "services/api/src/app.ts",
      "line": 792,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/interactions/:interactionId/review-status",
      "workflow": "INT-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/app.ts",
      "line": 819,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/tenant-settings",
      "workflow": "ACC-09",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/app.ts",
      "line": 867,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/tenant-settings",
      "workflow": "ACC-09",
      "access": "Owner or platform override",
      "source": "services/api/src/app.ts",
      "line": 875,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/tenant-settings/timezone",
      "workflow": "ACC-09",
      "access": "Owner or platform override",
      "source": "services/api/src/app.ts",
      "line": 883,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/tenant-settings/journey-coaching",
      "workflow": "ACC-09",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/app.ts",
      "line": 890,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/tenant-settings/journey-coaching",
      "workflow": "ACC-09",
      "access": "Owner or platform override",
      "source": "services/api/src/app.ts",
      "line": 894,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/tenant-settings/ai-enrichments",
      "workflow": "ACC-09",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/app.ts",
      "line": 903,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/tenant-settings/ai-enrichments",
      "workflow": "ACC-09",
      "access": "Owner or platform override",
      "source": "services/api/src/app.ts",
      "line": 907,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/tenant-settings/interaction-display",
      "workflow": "ACC-09",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/app.ts",
      "line": 915,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/tenant-settings/interaction-display",
      "workflow": "ACC-09",
      "access": "Owner or platform override",
      "source": "services/api/src/app.ts",
      "line": 919,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/tenant-settings/review-assignment",
      "workflow": "ACC-09",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/app.ts",
      "line": 927,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/tenant-settings/review-assignment",
      "workflow": "ACC-09",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/app.ts",
      "line": 931,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/tenant-settings/transcription",
      "workflow": "ACC-09",
      "access": "Owner or platform override",
      "source": "services/api/src/app.ts",
      "line": 944,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/tenant-settings/transcription/vocabulary-profiles",
      "workflow": "ACC-09",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/app.ts",
      "line": 951,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/tenant-settings/transcription",
      "workflow": "ACC-09",
      "access": "Owner or platform override",
      "source": "services/api/src/app.ts",
      "line": 956,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/command-centre",
      "workflow": "INS-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/app.ts",
      "line": 1006,
      "factory": "createApp",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/.*/",
      "workflow": "EX-01",
      "access": "Static SPA fallback",
      "source": "services/api/src/app.ts",
      "line": 1368,
      "factory": "createApp",
      "disposition": "excluded",
      "note": "EX-01: serves the client application; not a separate domain workflow."
    },
    {
      "method": "GET",
      "path": "/api/v1/coaching-plans/for-agent/:agentAccountId/active",
      "workflow": "LRN-06",
      "access": "Management scope or own assigned/coach records",
      "source": "services/api/src/coaching-plans/routes.ts",
      "line": 108,
      "factory": "createCoachingPlansRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/coaching-plans",
      "workflow": "LRN-06",
      "access": "Management scope or own assigned/coach records",
      "source": "services/api/src/coaching-plans/routes.ts",
      "line": 120,
      "factory": "createCoachingPlansRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/coaching-plans/:id",
      "workflow": "LRN-06",
      "access": "Management scope or own assigned/coach records",
      "source": "services/api/src/coaching-plans/routes.ts",
      "line": 160,
      "factory": "createCoachingPlansRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/coaching-plans",
      "workflow": "LRN-05",
      "access": "operations:manage",
      "source": "services/api/src/coaching-plans/routes.ts",
      "line": 169,
      "factory": "createCoachingPlansRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/coaching-plans/:id/duplicate",
      "workflow": "LRN-05",
      "access": "operations:manage",
      "source": "services/api/src/coaching-plans/routes.ts",
      "line": 185,
      "factory": "createCoachingPlansRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/coaching-plans/:id",
      "workflow": "LRN-06",
      "access": "operations:manage or assigned coach; state checks",
      "source": "services/api/src/coaching-plans/routes.ts",
      "line": 216,
      "factory": "createCoachingPlansRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/coaching-plans/:id/milestones/:milestoneId/complete",
      "workflow": "LRN-07",
      "access": "Assigned agent; active plan",
      "source": "services/api/src/coaching-plans/routes.ts",
      "line": 271,
      "factory": "createCoachingPlansRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/live-chat/conversations",
      "workflow": "INT-03",
      "access": "Integration/provider authentication; tenant/channel binding",
      "source": "services/api/src/conversations/routes.ts",
      "line": 71,
      "factory": "createConversationIntegrationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/email/threads",
      "workflow": "INT-03",
      "access": "Integration/provider authentication; tenant/channel binding",
      "source": "services/api/src/conversations/routes.ts",
      "line": 72,
      "factory": "createConversationIntegrationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/conversations",
      "workflow": "INT-03",
      "access": "Integration/provider authentication; tenant/channel binding",
      "source": "services/api/src/conversations/routes.ts",
      "line": 73,
      "factory": "createConversationIntegrationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/interactions/:interactionId/conversation",
      "workflow": "INT-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/conversations/routes.ts",
      "line": 79,
      "factory": "createConversationReadRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/zendesk/oauth/authorize",
      "workflow": "OPS-02",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 411,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/integrations/connectors/zendesk/oauth/callback",
      "workflow": "OPS-02",
      "access": "OAuth callback state validation",
      "source": "services/api/src/connectors/routes.ts",
      "line": 459,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/intercom/oauth/authorize",
      "workflow": "OPS-02",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 497,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/integrations/connectors/intercom/oauth/callback",
      "workflow": "OPS-02",
      "access": "OAuth callback state validation",
      "source": "services/api/src/connectors/routes.ts",
      "line": 533,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/intercom/webhook",
      "workflow": "OPS-03",
      "access": "Provider signature/state validation",
      "source": "services/api/src/connectors/routes.ts",
      "line": 568,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/zendesk/webhook/:id",
      "workflow": "OPS-03",
      "access": "Provider signature/state validation",
      "source": "services/api/src/connectors/routes.ts",
      "line": 592,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/integrations/connectors/powerbi/feed",
      "workflow": "OPS-04",
      "access": "Dedicated reporting key",
      "source": "services/api/src/connectors/routes.ts",
      "line": 621,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/salesforce/:id/sync",
      "workflow": "OPS-03",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 642,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/intercom/:id/import",
      "workflow": "OPS-03",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 670,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/powerbi/:id/rotate",
      "workflow": "OPS-04",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 681,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/integrations/connectors",
      "workflow": "OPS-02",
      "access": "integrations:manage; contextual checks",
      "source": "services/api/src/connectors/routes.ts",
      "line": 690,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/integrations/connectors/:id/attribution",
      "workflow": "OPS-02",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 712,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/integrations/connectors/:id/attribution",
      "workflow": "OPS-02",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 739,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/zendesk/:id/import",
      "workflow": "OPS-03",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 762,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/freshdesk/:id/import",
      "workflow": "OPS-03",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 779,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/aircall/:id/import",
      "workflow": "OPS-03",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 796,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/:provider",
      "workflow": "OPS-02",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 813,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/:id/test",
      "workflow": "OPS-02",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 879,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/:id/test-message",
      "workflow": "OPS-04",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 902,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/connectors/:id/disconnect",
      "workflow": "OPS-02",
      "access": "Owner or platform override (also connector access)",
      "source": "services/api/src/connectors/routes.ts",
      "line": 937,
      "factory": "createConnectorRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/corrections",
      "workflow": "QMS-05",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/corrections/routes.ts",
      "line": 66,
      "factory": "createCorrectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/corrections",
      "workflow": "QMS-05",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/corrections/routes.ts",
      "line": 199,
      "factory": "createCorrectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/corrections/:correctionId",
      "workflow": "QMS-05",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/corrections/routes.ts",
      "line": 222,
      "factory": "createCorrectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/atoms",
      "workflow": "EVA-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/atoms/routes.ts",
      "line": 37,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/atoms/:id/usage",
      "workflow": "EVA-02",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/atoms/routes.ts",
      "line": 53,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/atoms/:id",
      "workflow": "EVA-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/atoms/routes.ts",
      "line": 63,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/atoms/bulk",
      "workflow": "EVA-02",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 69,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/atoms",
      "workflow": "EVA-01",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 98,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/atoms/:id/archive",
      "workflow": "EVA-02",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 107,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/atoms/:id/restore",
      "workflow": "EVA-02",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 110,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/atoms/:id/versions/:versionId",
      "workflow": "EVA-02",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 113,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/atoms/:id",
      "workflow": "EVA-02",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 125,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/atoms/:id/revisions",
      "workflow": "EVA-02",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 138,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/atoms/:id/versions/:versionId",
      "workflow": "EVA-02",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 148,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/atoms/:id/versions/:version/publish",
      "workflow": "EVA-02",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 159,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/atoms/:id/versions/:version/retire",
      "workflow": "EVA-02",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 172,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/atoms/suggestions",
      "workflow": "EVA-09",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 184,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/atoms/suggestions/:setId",
      "workflow": "EVA-09",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 196,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/atoms/suggestions/:setId/:candidateId/save",
      "workflow": "EVA-09",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/atoms/routes.ts",
      "line": 206,
      "factory": "createAtomsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/calibrations",
      "workflow": "QMS-07",
      "access": "calibrations:review; contextual checks",
      "source": "services/api/src/calibrations/routes.ts",
      "line": 111,
      "factory": "createCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/calibrations",
      "workflow": "QMS-07",
      "access": "calibrations:review; contextual checks",
      "source": "services/api/src/calibrations/routes.ts",
      "line": 187,
      "factory": "createCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/calibrations/adjudication-queue",
      "workflow": "QMS-07",
      "access": "calibrations:adjudicate; contextual checks",
      "source": "services/api/src/calibrations/routes.ts",
      "line": 224,
      "factory": "createCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/calibrations/:calibrationId",
      "workflow": "QMS-07",
      "access": "calibrations:review; contextual checks",
      "source": "services/api/src/calibrations/routes.ts",
      "line": 269,
      "factory": "createCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/calibrations/:calibrationId/draft",
      "workflow": "QMS-07",
      "access": "calibrations:review; contextual checks",
      "source": "services/api/src/calibrations/routes.ts",
      "line": 321,
      "factory": "createCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/calibrations/:calibrationId/submit",
      "workflow": "QMS-07",
      "access": "calibrations:review; contextual checks",
      "source": "services/api/src/calibrations/routes.ts",
      "line": 435,
      "factory": "createCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/members",
      "workflow": "ACC-04",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 462,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/members",
      "workflow": "ACC-05",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 490,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/members/directory",
      "workflow": "ACC-04",
      "access": "members:read; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 525,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/members/eligible-reviewers",
      "workflow": "ACC-04",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 554,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/members/invitations",
      "workflow": "ACC-02",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 567,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/members/invitations",
      "workflow": "ACC-02",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 585,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/members/invitations/:invitationId/revoke",
      "workflow": "ACC-02",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 616,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/members/export.csv",
      "workflow": "ACC-06",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 638,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/members/import",
      "workflow": "ACC-06",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 670,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/members/bulk",
      "workflow": "ACC-06",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 721,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/members/:memberId",
      "workflow": "ACC-04",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 830,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/members/:memberId",
      "workflow": "ACC-05",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 850,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/members/:memberId/status",
      "workflow": "ACC-05",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 927,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/members/:memberId/deactivate",
      "workflow": "ACC-05",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 962,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/members/:memberId/password-reset",
      "workflow": "ACC-03",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/identity/member-routes.ts",
      "line": 994,
      "factory": "createMemberRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/candidate-reviews",
      "workflow": "JNY-03",
      "access": "qms:read",
      "source": "services/api/src/candidate-reviews/routes.ts",
      "line": 120,
      "factory": "createCandidateReviewRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/candidate-reviews/:id",
      "workflow": "JNY-03",
      "access": "qms:read",
      "source": "services/api/src/candidate-reviews/routes.ts",
      "line": 136,
      "factory": "createCandidateReviewRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/candidate-reviews/:id/approve",
      "workflow": "JNY-03",
      "access": "molecules:manage",
      "source": "services/api/src/candidate-reviews/routes.ts",
      "line": 161,
      "factory": "createCandidateReviewRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/candidate-reviews/:id/dismiss",
      "workflow": "JNY-03",
      "access": "molecules:manage",
      "source": "services/api/src/candidate-reviews/routes.ts",
      "line": 186,
      "factory": "createCandidateReviewRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/candidate-reviews/:id/merge",
      "workflow": "JNY-03",
      "access": "molecules:manage",
      "source": "services/api/src/candidate-reviews/routes.ts",
      "line": 187,
      "factory": "createCandidateReviewRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/companies",
      "workflow": "ACC-08",
      "access": "teams:read; contextual checks",
      "source": "services/api/src/companies/routes.ts",
      "line": 10,
      "factory": "createCompaniesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/companies",
      "workflow": "ACC-08",
      "access": "teams:manage; contextual checks",
      "source": "services/api/src/companies/routes.ts",
      "line": 14,
      "factory": "createCompaniesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/companies/:companyId",
      "workflow": "ACC-08",
      "access": "teams:manage; contextual checks",
      "source": "services/api/src/companies/routes.ts",
      "line": 23,
      "factory": "createCompaniesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/audits",
      "workflow": "QMS-01",
      "access": "audits:review; contextual checks",
      "source": "services/api/src/audits/routes.ts",
      "line": 127,
      "factory": "createAuditsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/audits",
      "workflow": "QMS-01",
      "access": "audits:review; contextual checks",
      "source": "services/api/src/audits/routes.ts",
      "line": 264,
      "factory": "createAuditsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/audits/:auditId",
      "workflow": "QMS-01",
      "access": "audits:review; contextual checks",
      "source": "services/api/src/audits/routes.ts",
      "line": 331,
      "factory": "createAuditsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/audits/:auditId/assign",
      "workflow": "QMS-01",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/audits/routes.ts",
      "line": 377,
      "factory": "createAuditsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/audits/:auditId/draft",
      "workflow": "QMS-02",
      "access": "audits:review; contextual checks",
      "source": "services/api/src/audits/routes.ts",
      "line": 462,
      "factory": "createAuditsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/audits/:auditId/submit",
      "workflow": "QMS-04",
      "access": "audits:review; contextual checks",
      "source": "services/api/src/audits/routes.ts",
      "line": 639,
      "factory": "createAuditsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ask-sentinel/quality/feedback",
      "workflow": "ASK-03",
      "access": "Current owner; Ask gate; tool/action permission checks",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 61,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ask-sentinel/quality/tenant",
      "workflow": "ASK-03",
      "access": "ask:quality:review or platform override",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 84,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ask-sentinel/quality/platform",
      "workflow": "ASK-03",
      "access": "platform:admin",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 91,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ask-sentinel/quality/:id/evaluations",
      "workflow": "ASK-03",
      "access": "ask:quality:review or platform override",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 98,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ask-sentinel/conversations",
      "workflow": "ASK-01",
      "access": "Current owner; Ask gate; tool/action permission checks",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 127,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ask-sentinel/conversations",
      "workflow": "ASK-01",
      "access": "Current owner; Ask gate; tool/action permission checks",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 137,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ask-sentinel/conversations/:id",
      "workflow": "ASK-01",
      "access": "Current owner; Ask gate; tool/action permission checks",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 144,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/ask-sentinel/conversations/:id",
      "workflow": "ASK-01",
      "access": "Current owner; Ask gate; tool/action permission checks",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 152,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ask-sentinel/conversations/:id/turns",
      "workflow": "ASK-01",
      "access": "Current owner; Ask gate; tool/action permission checks",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 158,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ask-sentinel/runs/:id",
      "workflow": "ASK-01",
      "access": "Current owner; Ask gate; tool/action permission checks",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 176,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ask-sentinel/runs/:id/retry",
      "workflow": "ASK-01",
      "access": "Current owner; Ask gate; tool/action permission checks",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 189,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ask-sentinel/actions/:id/confirm",
      "workflow": "ASK-02",
      "access": "Current owner; Ask gate; tool/action permission checks",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 203,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ask-sentinel/actions/:id/cancel",
      "workflow": "ASK-02",
      "access": "Current owner; Ask gate; tool/action permission checks",
      "source": "services/api/src/ask-sentinel/routes.ts",
      "line": 222,
      "factory": "createAskSentinelRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/calibration-sampling",
      "workflow": "QMS-08",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/calibration-sampling/routes.ts",
      "line": 57,
      "factory": "createCalibrationSamplingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/calibration-sampling",
      "workflow": "QMS-08",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/calibration-sampling/routes.ts",
      "line": 102,
      "factory": "createCalibrationSamplingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/calibration-sampling/:samplingId",
      "workflow": "QMS-08",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/calibration-sampling/routes.ts",
      "line": 118,
      "factory": "createCalibrationSamplingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/calibration-sampling/:samplingId",
      "workflow": "QMS-08",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/calibration-sampling/routes.ts",
      "line": 175,
      "factory": "createCalibrationSamplingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/learning/progress",
      "workflow": "LRN-01",
      "access": "qms:read; own progress",
      "source": "services/api/src/learning/routes.ts",
      "line": 14,
      "factory": "createLearningRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/learning/progress/:articleId",
      "workflow": "LRN-01",
      "access": "qms:read; own progress",
      "source": "services/api/src/learning/routes.ts",
      "line": 21,
      "factory": "createLearningRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/live-assist/sessions/:id/events",
      "workflow": "ASK-06",
      "access": "Integration/provider authentication; tenant/channel binding",
      "source": "services/api/src/live-assist/integration-routes.ts",
      "line": 13,
      "factory": "createLiveAssistIntegrationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interactions",
      "workflow": "INT-12",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/interactions/routes.ts",
      "line": 97,
      "factory": "createInteractionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/interactions",
      "workflow": "INT-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/interactions/routes.ts",
      "line": 143,
      "factory": "createInteractionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interactions/bulk",
      "workflow": "INT-10",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/interactions/routes.ts",
      "line": 229,
      "factory": "createInteractionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/interactions/:interactionId",
      "workflow": "INT-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/interactions/routes.ts",
      "line": 320,
      "factory": "createInteractionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/interactions/:interactionId",
      "workflow": "INT-10",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/interactions/routes.ts",
      "line": 345,
      "factory": "createInteractionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/interactions/:interactionId/status",
      "workflow": "INT-10",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/interactions/routes.ts",
      "line": 445,
      "factory": "createInteractionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interactions/:interactionId/assign",
      "workflow": "INT-09",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/interactions/routes.ts",
      "line": 460,
      "factory": "createInteractionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interactions/:interactionId/unassign",
      "workflow": "INT-09",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/interactions/routes.ts",
      "line": 486,
      "factory": "createInteractionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ai-jobs",
      "workflow": "OPS-10",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/jobs/routes.ts",
      "line": 33,
      "factory": "createAiJobsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/journeys/coaching-suggestions",
      "workflow": "JNY-07",
      "access": "operations:manage; contextual checks",
      "source": "services/api/src/journeys/routes.ts",
      "line": 525,
      "factory": "createJourneysRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/journeys/analytics",
      "workflow": "JNY-04",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/journeys/routes.ts",
      "line": 566,
      "factory": "createJourneysRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/journeys",
      "workflow": "JNY-04",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/journeys/routes.ts",
      "line": 586,
      "factory": "createJourneysRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/interactions/:interactionId/analysis",
      "workflow": "INT-11",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/interaction-analyses/routes.ts",
      "line": 136,
      "factory": "createInteractionAnalysisReadRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/internal/interaction-analyses/context/:interactionId",
      "workflow": "OPS-10",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/interaction-analyses/routes.ts",
      "line": 148,
      "factory": "createInteractionAnalysisInternalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/internal/interaction-analyses/results",
      "workflow": "OPS-10",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/interaction-analyses/routes.ts",
      "line": 215,
      "factory": "createInteractionAnalysisInternalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/auth/login",
      "workflow": "ACC-01",
      "access": "Local identity/session or single-use token; see workflow",
      "source": "services/api/src/identity/routes.ts",
      "line": 45,
      "factory": "createLocalAuthRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/auth/logout",
      "workflow": "ACC-01",
      "access": "Local identity/session or single-use token; see workflow",
      "source": "services/api/src/identity/routes.ts",
      "line": 103,
      "factory": "createLocalAuthRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/auth/session",
      "workflow": "ACC-01",
      "access": "Local identity/session or single-use token; see workflow",
      "source": "services/api/src/identity/routes.ts",
      "line": 120,
      "factory": "createLocalAuthRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/auth/accept-invitation",
      "workflow": "ACC-02",
      "access": "Local identity/session or single-use token; see workflow",
      "source": "services/api/src/identity/routes.ts",
      "line": 132,
      "factory": "createLocalAuthRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/auth/password-reset/request",
      "workflow": "ACC-03",
      "access": "Local identity/session or single-use token; see workflow",
      "source": "services/api/src/identity/routes.ts",
      "line": 139,
      "factory": "createLocalAuthRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/auth/password-reset/complete",
      "workflow": "ACC-03",
      "access": "Local identity/session or single-use token; see workflow",
      "source": "services/api/src/identity/routes.ts",
      "line": 149,
      "factory": "createLocalAuthRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/integrations/management",
      "workflow": "OPS-01",
      "access": "integrations:manage (router middleware)",
      "source": "services/api/src/integrations/management-routes.ts",
      "line": 36,
      "factory": "createIntegrationManagementRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/management",
      "workflow": "OPS-01",
      "access": "Owner or platform override",
      "source": "services/api/src/integrations/management-routes.ts",
      "line": 41,
      "factory": "createIntegrationManagementRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/management/validate",
      "workflow": "OPS-01",
      "access": "integrations:manage (router middleware)",
      "source": "services/api/src/integrations/management-routes.ts",
      "line": 53,
      "factory": "createIntegrationManagementRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/management/:publicId/rotate",
      "workflow": "OPS-01",
      "access": "Owner or platform override",
      "source": "services/api/src/integrations/management-routes.ts",
      "line": 99,
      "factory": "createIntegrationManagementRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/management/:publicId/deactivate",
      "workflow": "OPS-01",
      "access": "Owner or platform override",
      "source": "services/api/src/integrations/management-routes.ts",
      "line": 108,
      "factory": "createIntegrationManagementRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/case-reason-taxonomies/enrich-item",
      "workflow": "JNY-02",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 77,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/troubleshooting-processes/enrich-item",
      "workflow": "JNY-02",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 77,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/action-catalogs/enrich-item",
      "workflow": "JNY-02",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 77,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/case-reason-taxonomies",
      "workflow": "JNY-01",
      "access": "qms:read",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 176,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/troubleshooting-processes",
      "workflow": "JNY-01",
      "access": "qms:read",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 176,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/action-catalogs",
      "workflow": "JNY-01",
      "access": "qms:read",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 176,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/case-reason-taxonomies/:id",
      "workflow": "JNY-01",
      "access": "qms:read",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 190,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/troubleshooting-processes/:id",
      "workflow": "JNY-01",
      "access": "qms:read",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 190,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/action-catalogs/:id",
      "workflow": "JNY-01",
      "access": "qms:read",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 190,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/case-reason-taxonomies",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 198,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/troubleshooting-processes",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 198,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/action-catalogs",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 198,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/case-reason-taxonomies/:id",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 211,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/troubleshooting-processes/:id",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 211,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/action-catalogs/:id",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 211,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/case-reason-taxonomies/:id/publish",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 227,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/troubleshooting-processes/:id/publish",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 227,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/action-catalogs/:id/publish",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 227,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/case-reason-taxonomies/:id/retire",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 249,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/troubleshooting-processes/:id/retire",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 249,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/action-catalogs/:id/retire",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 249,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/case-reason-taxonomies/:id/archive",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 263,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/troubleshooting-processes/:id/archive",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 263,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/action-catalogs/:id/archive",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 263,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/case-reason-taxonomies/:id/restore",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 278,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/troubleshooting-processes/:id/restore",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 278,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/action-catalogs/:id/restore",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 278,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/case-reason-taxonomies/:id",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 294,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/troubleshooting-processes/:id",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 294,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/action-catalogs/:id",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 294,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/case-reason-taxonomies/:id/revisions",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 307,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/troubleshooting-processes/:id/revisions",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 307,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/action-catalogs/:id/revisions",
      "workflow": "JNY-01",
      "access": "molecules:manage",
      "source": "services/api/src/journey-config/routes.ts",
      "line": 307,
      "factory": "createJourneyConfigRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/live-assist/sessions",
      "workflow": "ASK-06",
      "access": "qms:read; session ownership",
      "source": "services/api/src/live-assist/routes.ts",
      "line": 64,
      "factory": "createLiveAssistRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/live-assist/sessions/:id",
      "workflow": "ASK-06",
      "access": "qms:read; session ownership",
      "source": "services/api/src/live-assist/routes.ts",
      "line": 74,
      "factory": "createLiveAssistRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/live-assist/sessions/:id/suggestions",
      "workflow": "ASK-06",
      "access": "qms:read; session ownership",
      "source": "services/api/src/live-assist/routes.ts",
      "line": 82,
      "factory": "createLiveAssistRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/live-assist/sessions/:id/metrics",
      "workflow": "ASK-06",
      "access": "qms:read; session ownership",
      "source": "services/api/src/live-assist/routes.ts",
      "line": 90,
      "factory": "createLiveAssistRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/live-assist/sessions/:id/events",
      "workflow": "ASK-06",
      "access": "qms:read; session ownership",
      "source": "services/api/src/live-assist/routes.ts",
      "line": 100,
      "factory": "createLiveAssistRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/live-assist/sessions/:id/audio",
      "workflow": "ASK-06",
      "access": "qms:read; session ownership",
      "source": "services/api/src/live-assist/routes.ts",
      "line": 118,
      "factory": "createLiveAssistRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/live-assist/sessions/:id/feedback",
      "workflow": "ASK-06",
      "access": "qms:read; session ownership",
      "source": "services/api/src/live-assist/routes.ts",
      "line": 142,
      "factory": "createLiveAssistRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/live-assist/sessions/:id/close",
      "workflow": "ASK-06",
      "access": "qms:read; session ownership",
      "source": "services/api/src/live-assist/routes.ts",
      "line": 158,
      "factory": "createLiveAssistRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/interaction-imports/profiles",
      "workflow": "INT-04",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/interaction-imports/routes.ts",
      "line": 24,
      "factory": "createInteractionImportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interaction-imports/profiles",
      "workflow": "INT-04",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/interaction-imports/routes.ts",
      "line": 25,
      "factory": "createInteractionImportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/interaction-imports/profiles/:id",
      "workflow": "INT-04",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/interaction-imports/routes.ts",
      "line": 31,
      "factory": "createInteractionImportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/interaction-imports/profiles/:id",
      "workflow": "INT-04",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/interaction-imports/routes.ts",
      "line": 39,
      "factory": "createInteractionImportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interaction-imports/batches",
      "workflow": "INT-04",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/interaction-imports/routes.ts",
      "line": 40,
      "factory": "createInteractionImportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interaction-imports/voice-batches",
      "workflow": "INT-05",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/interaction-imports/routes.ts",
      "line": 50,
      "factory": "createInteractionImportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interaction-imports/voice-media",
      "workflow": "INT-05",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/interaction-imports/routes.ts",
      "line": 60,
      "factory": "createInteractionImportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge",
      "workflow": "KNO-02",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 188,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/drafts",
      "workflow": "KNO-02",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 231,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/workspace",
      "workflow": "KNO-02",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 242,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge",
      "workflow": "KNO-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 266,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/search",
      "workflow": "KNO-02",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 287,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/:articleId/usage",
      "workflow": "KNO-03",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 333,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/:articleId/sections/:sectionKey",
      "workflow": "KNO-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 351,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/:articleId/retrieve",
      "workflow": "KNO-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 365,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/:articleId/related",
      "workflow": "KNO-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 378,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/categories",
      "workflow": "KNO-05",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 389,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/tags",
      "workflow": "KNO-05",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 390,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/categories",
      "workflow": "KNO-05",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 401,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/tags",
      "workflow": "KNO-05",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 402,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/knowledge/categories/:taxonomyId",
      "workflow": "KNO-05",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 423,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/knowledge/tags/:taxonomyId",
      "workflow": "KNO-05",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 424,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/knowledge/categories/:taxonomyId",
      "workflow": "KNO-05",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 438,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/knowledge/tags/:taxonomyId",
      "workflow": "KNO-05",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 439,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/content",
      "workflow": "KNO-04",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 441,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/:articleId/enrich",
      "workflow": "KNO-06",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 456,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/:articleId/enrich/:jobId",
      "workflow": "KNO-06",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 471,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/:articleId/enrich/apply",
      "workflow": "KNO-06",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 486,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/drafts/:articleId",
      "workflow": "KNO-02",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 514,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/:articleId/archive",
      "workflow": "KNO-03",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 542,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/:articleId/draft",
      "workflow": "KNO-03",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 543,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/:articleId/assets",
      "workflow": "KNO-04",
      "access": "Article reader/author visibility checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 545,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/:articleId/assets/uploads",
      "workflow": "KNO-04",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 555,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/:articleId/assets/:attachmentId/complete",
      "workflow": "KNO-04",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 575,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/:articleId/assets/:attachmentId/content",
      "workflow": "KNO-04",
      "access": "Article reader/author visibility checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 592,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/knowledge/:articleId/assets/:attachmentId",
      "workflow": "KNO-04",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 614,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/knowledge/:articleId",
      "workflow": "KNO-03",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 628,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/:articleId/revisions",
      "workflow": "KNO-03",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 660,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/:articleId/announcements",
      "workflow": "KNO-07",
      "access": "knowledge:publish; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 668,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/:articleId/announcements",
      "workflow": "KNO-07",
      "access": "knowledge:publish; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 676,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/:articleId/announcements/:campaignId/remind",
      "workflow": "KNO-07",
      "access": "knowledge:publish; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 750,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/knowledge/:articleId",
      "workflow": "KNO-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 806,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/knowledge/:articleId",
      "workflow": "KNO-02",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 836,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/:articleId/revisions/:revision/restore",
      "workflow": "KNO-03",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 866,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/:articleId/publish",
      "workflow": "KNO-03",
      "access": "knowledge:publish; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 883,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/knowledge/:articleId/owner",
      "workflow": "KNO-05",
      "access": "knowledge:write; contextual checks",
      "source": "services/api/src/knowledge/routes.ts",
      "line": 918,
      "factory": "createKnowledgeRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/internal/llm-connections/:provider/:model",
      "workflow": "OPS-10",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/llm-connections/internal-routes.ts",
      "line": 20,
      "factory": "createLlmConnectionsInternalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/internal/llm-connections/:id",
      "workflow": "OPS-10",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/llm-connections/internal-routes.ts",
      "line": 35,
      "factory": "createLlmConnectionsInternalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/notifications/stream",
      "workflow": "INS-07",
      "access": "Tenant-authenticated current recipient/user",
      "source": "services/api/src/notifications/routes.ts",
      "line": 26,
      "factory": "createNotificationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/notifications",
      "workflow": "INS-07",
      "access": "Tenant-authenticated current recipient/user",
      "source": "services/api/src/notifications/routes.ts",
      "line": 52,
      "factory": "createNotificationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/notifications/:notificationId/read",
      "workflow": "INS-07",
      "access": "Tenant-authenticated current recipient/user",
      "source": "services/api/src/notifications/routes.ts",
      "line": 80,
      "factory": "createNotificationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/notifications/read-all",
      "workflow": "INS-07",
      "access": "Tenant-authenticated current recipient/user",
      "source": "services/api/src/notifications/routes.ts",
      "line": 88,
      "factory": "createNotificationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/retrieval/rebuild",
      "workflow": "OPS-12",
      "access": "Owner or platform override",
      "source": "services/api/src/retrieval/routes.ts",
      "line": 10,
      "factory": "createRetrievalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/re-reviews",
      "workflow": "QMS-06",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/re-reviews/routes.ts",
      "line": 100,
      "factory": "createReReviewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/re-reviews",
      "workflow": "QMS-06",
      "access": "re_reviews:review; audits:manage for managed scope",
      "source": "services/api/src/re-reviews/routes.ts",
      "line": 184,
      "factory": "createReReviewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/re-reviews/:reReviewId",
      "workflow": "QMS-06",
      "access": "re_reviews:review; contextual checks",
      "source": "services/api/src/re-reviews/routes.ts",
      "line": 210,
      "factory": "createReReviewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/re-reviews/:reReviewId/draft",
      "workflow": "QMS-06",
      "access": "re_reviews:review; contextual checks",
      "source": "services/api/src/re-reviews/routes.ts",
      "line": 251,
      "factory": "createReReviewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/re-reviews/:reReviewId/submit",
      "workflow": "QMS-06",
      "access": "re_reviews:review; contextual checks",
      "source": "services/api/src/re-reviews/routes.ts",
      "line": 359,
      "factory": "createReReviewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/internal/llm-usage",
      "workflow": "OPS-10",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/llm-usage/routes.ts",
      "line": 24,
      "factory": "createLlmUsageInternalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/llm-usage/limits",
      "workflow": "OPS-06",
      "access": "usage:read; contextual checks",
      "source": "services/api/src/llm-usage/routes.ts",
      "line": 52,
      "factory": "createLlmUsageRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/llm-usage",
      "workflow": "OPS-06",
      "access": "usage:read; contextual checks",
      "source": "services/api/src/llm-usage/routes.ts",
      "line": 58,
      "factory": "createLlmUsageRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/llm-usage/summary",
      "workflow": "OPS-06",
      "access": "usage:read; contextual checks",
      "source": "services/api/src/llm-usage/routes.ts",
      "line": 69,
      "factory": "createLlmUsageRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/manual-calibrations",
      "workflow": "QMS-10",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 54,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/manual-calibrations",
      "workflow": "QMS-10",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 72,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/manual-calibrations/mine",
      "workflow": "QMS-11",
      "access": "calibrations:review; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 86,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/manual-calibrations/assignments/:assignmentId",
      "workflow": "QMS-11",
      "access": "calibrations:review; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 105,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/manual-calibrations/assignments/:assignmentId/draft",
      "workflow": "QMS-11",
      "access": "calibrations:review; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 124,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/manual-calibrations/assignments/:assignmentId/submit",
      "workflow": "QMS-11",
      "access": "calibrations:review; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 146,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/manual-calibrations/:sessionId",
      "workflow": "QMS-10",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 168,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/manual-calibrations/:sessionId/assignments",
      "workflow": "QMS-10",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 181,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/manual-calibrations/:sessionId/reference",
      "workflow": "QMS-10",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 193,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/manual-calibrations/:sessionId/distribute",
      "workflow": "QMS-10",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 211,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/manual-calibrations/:sessionId/finalize",
      "workflow": "QMS-12",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 231,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/manual-calibrations/:sessionId/publish",
      "workflow": "QMS-12",
      "access": "calibrations:manage; contextual checks",
      "source": "services/api/src/manual-calibrations/routes.ts",
      "line": 255,
      "factory": "createManualCalibrationsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/mutation-events",
      "workflow": "INS-08",
      "access": "audit-trail:read; contextual checks",
      "source": "services/api/src/mutation-events/routes.ts",
      "line": 15,
      "factory": "createMutationEventsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/llm-connections",
      "workflow": "OPS-05",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/llm-connections/routes.ts",
      "line": 123,
      "factory": "createLlmConnectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/llm-connections",
      "workflow": "OPS-05",
      "access": "Owner or platform override",
      "source": "services/api/src/llm-connections/routes.ts",
      "line": 129,
      "factory": "createLlmConnectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/llm-connections/:id",
      "workflow": "OPS-05",
      "access": "Owner or platform override",
      "source": "services/api/src/llm-connections/routes.ts",
      "line": 173,
      "factory": "createLlmConnectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/llm-connections/:id",
      "workflow": "OPS-05",
      "access": "Owner or platform override",
      "source": "services/api/src/llm-connections/routes.ts",
      "line": 232,
      "factory": "createLlmConnectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/llm-connections/:id/default",
      "workflow": "OPS-05",
      "access": "Owner or platform override",
      "source": "services/api/src/llm-connections/routes.ts",
      "line": 257,
      "factory": "createLlmConnectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/llm-connections/chat",
      "workflow": "OPS-05",
      "access": "Owner or platform override",
      "source": "services/api/src/llm-connections/routes.ts",
      "line": 285,
      "factory": "createLlmConnectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/llm-connections/:id/test",
      "workflow": "OPS-05",
      "access": "Owner or platform override",
      "source": "services/api/src/llm-connections/routes.ts",
      "line": 325,
      "factory": "createLlmConnectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/llm-connections/chat/jobs",
      "workflow": "OPS-05",
      "access": "Owner or platform override",
      "source": "services/api/src/llm-connections/routes.ts",
      "line": 370,
      "factory": "createLlmConnectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/llm-connections/:id/test/jobs",
      "workflow": "OPS-05",
      "access": "Owner or platform override",
      "source": "services/api/src/llm-connections/routes.ts",
      "line": 394,
      "factory": "createLlmConnectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/llm-connections/jobs",
      "workflow": "OPS-05",
      "access": "Owner or platform override",
      "source": "services/api/src/llm-connections/routes.ts",
      "line": 422,
      "factory": "createLlmConnectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/llm-connections/jobs/:jobId",
      "workflow": "OPS-05",
      "access": "Owner or platform override",
      "source": "services/api/src/llm-connections/routes.ts",
      "line": 440,
      "factory": "createLlmConnectionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/llm-prices",
      "workflow": "OPS-06",
      "access": "usage:read; contextual checks",
      "source": "services/api/src/llm-prices/routes.ts",
      "line": 13,
      "factory": "createLlmPricesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/platform/auth/login",
      "workflow": "OPS-07",
      "access": "Operator credentials; throttled",
      "source": "services/api/src/platform/routes.ts",
      "line": 129,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/platform/auth/logout",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 131,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/auth/session",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 136,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/llm-models",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 137,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/platform/llm-models",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 142,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/platform/llm-models",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 160,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/transcriber-policy",
      "workflow": "OPS-09",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 169,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/platform/transcriber-policy",
      "workflow": "OPS-09",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 173,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/tenants/:tenantId/transcriber-policy",
      "workflow": "OPS-09",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 182,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/platform/tenants/:tenantId/transcriber-policy",
      "workflow": "OPS-09",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 194,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/platform/tenants/:tenantId/transcriber-policy",
      "workflow": "OPS-09",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 208,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/platform/tenants/:tenantId/transcriber-policy/:field",
      "workflow": "OPS-09",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 220,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/ask-sentinel-quality",
      "workflow": "ASK-03",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 234,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/platform/ask-sentinel-quality/:id/evaluations",
      "workflow": "ASK-03",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 245,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/tenants",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 262,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/tenants/:tenantId",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 263,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/tenants/:tenantId/members",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 264,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/platform/tenants/:tenantId/members",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 265,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/platform/tenants/:tenantId/members/:memberId/status",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 266,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/platform/tenants/:tenantId/members/:memberId/password",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 267,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/platform/tenants/:tenantId/members/:memberId",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 268,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/platform/tenants",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 269,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/platform/tenants/:tenantId",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 270,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/audit-events",
      "workflow": "OPS-07",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 271,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/llm-usage",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 274,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/llm-usage/export.csv",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 275,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/tenants/:tenantId/llm-usage",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 277,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/llm-prices",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 282,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/platform/llm-prices",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 292,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/platform/llm-prices",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 303,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/platform/tenants/:tenantId/llm-usage-limit",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 317,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/platform/tenants/:tenantId/llm-usage-limit",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 321,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/platform/tenants/:tenantId/llm-usage-limit/reset",
      "workflow": "OPS-08",
      "access": "Platform operator session",
      "source": "services/api/src/platform/routes.ts",
      "line": 331,
      "factory": "createPlatformRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/reports/pilot-analytics",
      "workflow": "INS-02",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/reports/routes.ts",
      "line": 471,
      "factory": "createReportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/reports/knowledge-adherence",
      "workflow": "INS-02",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/reports/routes.ts",
      "line": 576,
      "factory": "createReportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/reports/knowledge-adherence/export.csv",
      "workflow": "INS-02",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/reports/routes.ts",
      "line": 583,
      "factory": "createReportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/reports/audit-reports/filter-options",
      "workflow": "INS-02",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/reports/routes.ts",
      "line": 817,
      "factory": "createReportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/reports/audit-reports/export.csv",
      "workflow": "INS-02",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/reports/routes.ts",
      "line": 822,
      "factory": "createReportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/reports/audit-reports",
      "workflow": "INS-02",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/reports/routes.ts",
      "line": 853,
      "factory": "createReportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/reports",
      "workflow": "INS-02",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/reports/routes.ts",
      "line": 1039,
      "factory": "createReportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/reports/filter-options",
      "workflow": "INS-02",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/reports/routes.ts",
      "line": 1053,
      "factory": "createReportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/reports/export.csv",
      "workflow": "INS-02",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/reports/routes.ts",
      "line": 1058,
      "factory": "createReportsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/molecules",
      "workflow": "EVA-03",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/molecules/routes.ts",
      "line": 49,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/molecules/:id/usage",
      "workflow": "EVA-03",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/molecules/routes.ts",
      "line": 68,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/molecules/:id",
      "workflow": "EVA-03",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/molecules/routes.ts",
      "line": 76,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/molecules/bulk",
      "workflow": "EVA-04",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/molecules/routes.ts",
      "line": 83,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/molecules",
      "workflow": "EVA-03",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/molecules/routes.ts",
      "line": 115,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/molecules/:id",
      "workflow": "EVA-03",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/molecules/routes.ts",
      "line": 128,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/molecules/:id/archive",
      "workflow": "EVA-04",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/molecules/routes.ts",
      "line": 141,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/molecules/:id/restore",
      "workflow": "EVA-04",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/molecules/routes.ts",
      "line": 142,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/molecules/:id/versions/:versionId",
      "workflow": "EVA-04",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/molecules/routes.ts",
      "line": 143,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/molecules/:id",
      "workflow": "EVA-04",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/molecules/routes.ts",
      "line": 156,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/molecules/:id/versions/:versionId",
      "workflow": "EVA-03",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/molecules/routes.ts",
      "line": 171,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/molecules/:id/revisions",
      "workflow": "EVA-04",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/molecules/routes.ts",
      "line": 185,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/molecules/:id/versions/:version/publish",
      "workflow": "EVA-04",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/molecules/routes.ts",
      "line": 197,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/molecules/:id/versions/:version/retire",
      "workflow": "EVA-04",
      "access": "molecules:manage (manage middleware)",
      "source": "services/api/src/molecules/routes.ts",
      "line": 198,
      "factory": "createMoleculesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/my-work/summary",
      "workflow": "INS-07",
      "access": "Tenant-authenticated current recipient/user",
      "source": "services/api/src/work/my-work-routes.ts",
      "line": 29,
      "factory": "createMyWorkRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/search",
      "workflow": "INT-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/search/routes.ts",
      "line": 38,
      "factory": "createSearchRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/transcription-results/audio",
      "workflow": "OPS-01",
      "access": "Integration/provider authentication; tenant/channel binding",
      "source": "services/api/src/transcription-results/routes.ts",
      "line": 84,
      "factory": "createTranscriptionIntegrationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/transcription-results/source-audio",
      "workflow": "OPS-01",
      "access": "Integration/provider authentication; tenant/channel binding",
      "source": "services/api/src/transcription-results/routes.ts",
      "line": 148,
      "factory": "createTranscriptionIntegrationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/integrations/transcription-results",
      "workflow": "OPS-01",
      "access": "Integration/provider authentication; tenant/channel binding",
      "source": "services/api/src/transcription-results/routes.ts",
      "line": 202,
      "factory": "createTranscriptionIntegrationRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/interactions/:interactionId/transcription-result",
      "workflow": "INT-01",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/transcription-results/routes.ts",
      "line": 324,
      "factory": "createTranscriptionResultReadRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/teams",
      "workflow": "ACC-07",
      "access": "teams:read; contextual checks",
      "source": "services/api/src/teams/routes.ts",
      "line": 27,
      "factory": "createTeamsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/teams",
      "workflow": "ACC-07",
      "access": "teams:manage; contextual checks",
      "source": "services/api/src/teams/routes.ts",
      "line": 32,
      "factory": "createTeamsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/teams/:teamId",
      "workflow": "ACC-07",
      "access": "teams:read; contextual checks",
      "source": "services/api/src/teams/routes.ts",
      "line": 81,
      "factory": "createTeamsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/teams/:teamId",
      "workflow": "ACC-07",
      "access": "teams:manage; contextual checks",
      "source": "services/api/src/teams/routes.ts",
      "line": 89,
      "factory": "createTeamsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/teams/:teamId/members",
      "workflow": "ACC-07",
      "access": "teams:manage; contextual checks",
      "source": "services/api/src/teams/routes.ts",
      "line": 133,
      "factory": "createTeamsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/teams/:teamId/members/:accountId",
      "workflow": "ACC-07",
      "access": "teams:manage; contextual checks",
      "source": "services/api/src/teams/routes.ts",
      "line": 148,
      "factory": "createTeamsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/training/programs",
      "workflow": "LRN-04",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 28,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/training/manage/programs",
      "workflow": "LRN-02",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 31,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/training/manage/assignments",
      "workflow": "LRN-03",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 34,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/training/programs",
      "workflow": "LRN-02",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 72,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/training/programs/:programId",
      "workflow": "LRN-02",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 83,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/training/programs/:programId",
      "workflow": "LRN-02",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 86,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/training/programs/:programId/publish",
      "workflow": "LRN-02",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 98,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/training/programs/:programId/revise",
      "workflow": "LRN-02",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 111,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/training/programs/:programId/archive",
      "workflow": "LRN-02",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 122,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/training/programs/:programId/assign",
      "workflow": "LRN-03",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 125,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/training/programs/:programId/assignments",
      "workflow": "LRN-03",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 144,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/training/me/assignments",
      "workflow": "LRN-04",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 147,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/training/me/assignments/:assignmentId",
      "workflow": "LRN-04",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 150,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/training/me/assignments/:assignmentId/steps/:stepId/acknowledge",
      "workflow": "LRN-04",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 153,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/training/me/assignments/:assignmentId/quizzes/:stepId/attempts",
      "workflow": "LRN-04",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/training/routes.ts",
      "line": 163,
      "factory": "createTrainingRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/scorecards",
      "workflow": "EVA-05",
      "access": "scorecards:write; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 113,
      "factory": "createScorecardsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/scorecards",
      "workflow": "EVA-05",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 168,
      "factory": "createScorecardsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/scorecards/:scorecardId",
      "workflow": "EVA-06",
      "access": "scorecards:write; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 183,
      "factory": "createScorecardsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/scorecards/:scorecardId/versions/:version",
      "workflow": "EVA-05",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 248,
      "factory": "createScorecardsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/scorecards/:scorecardId/versions",
      "workflow": "EVA-06",
      "access": "scorecards:write; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 278,
      "factory": "createScorecardsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/scorecards/:scorecardId/versions/:version/publish",
      "workflow": "EVA-06",
      "access": "scorecards:publish; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 367,
      "factory": "createScorecardsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/scorecards/:scorecardId/versions/:version",
      "workflow": "EVA-05",
      "access": "scorecards:write; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 444,
      "factory": "createScorecardsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/scorecards/:scorecardId/feedback",
      "workflow": "EVA-06",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 466,
      "factory": "createScorecardsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/scorecard-assignments",
      "workflow": "EVA-07",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 499,
      "factory": "createScorecardAssignmentsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/scorecard-assignments",
      "workflow": "EVA-07",
      "access": "scorecards:assign; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 508,
      "factory": "createScorecardAssignmentsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/scorecard-assignments/resolve",
      "workflow": "EVA-07",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 566,
      "factory": "createScorecardAssignmentsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/scorecard-assignments/:assignmentId",
      "workflow": "EVA-07",
      "access": "scorecards:assign; contextual checks",
      "source": "services/api/src/scorecards/routes.ts",
      "line": 603,
      "factory": "createScorecardAssignmentsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/tenant-llm-settings",
      "workflow": "OPS-05",
      "access": "members:manage; contextual checks",
      "source": "services/api/src/tenant-llm-settings/routes.ts",
      "line": 35,
      "factory": "createTenantLlmSettingsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/tenant-llm-settings",
      "workflow": "OPS-05",
      "access": "Owner or platform override",
      "source": "services/api/src/tenant-llm-settings/routes.ts",
      "line": 41,
      "factory": "createTenantLlmSettingsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/internal/transcription-results/results",
      "workflow": "INT-08",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/transcription-jobs/routes-review.ts",
      "line": 74,
      "factory": "createTranscriptionInternalCallbackRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/internal/transcription-results/audio",
      "workflow": "INT-08",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/transcription-jobs/routes-review.ts",
      "line": 154,
      "factory": "createTranscriptionInternalCallbackRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/transcription-review",
      "workflow": "INT-08",
      "access": "transcriptions:manage; contextual checks",
      "source": "services/api/src/transcription-jobs/routes-review.ts",
      "line": 212,
      "factory": "createTranscriptionReviewRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/transcription-review/:transcriptId",
      "workflow": "INT-08",
      "access": "transcriptions:manage; contextual checks",
      "source": "services/api/src/transcription-jobs/routes-review.ts",
      "line": 223,
      "factory": "createTranscriptionReviewRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/transcription-review/:transcriptId/approve",
      "workflow": "INT-08",
      "access": "transcriptions:manage; contextual checks",
      "source": "services/api/src/transcription-jobs/routes-review.ts",
      "line": 243,
      "factory": "createTranscriptionReviewRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/scorecard-suggestions",
      "workflow": "EVA-08",
      "access": "scorecards:write; contextual checks",
      "source": "services/api/src/scorecard-suggestions/routes.ts",
      "line": 75,
      "factory": "createScorecardSuggestionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/scorecard-suggestions/:suggestionId",
      "workflow": "EVA-08",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/scorecard-suggestions/routes.ts",
      "line": 128,
      "factory": "createScorecardSuggestionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/scorecard-suggestions/:suggestionId/create-draft",
      "workflow": "EVA-08",
      "access": "scorecards:write; contextual checks",
      "source": "services/api/src/scorecard-suggestions/routes.ts",
      "line": 135,
      "factory": "createScorecardSuggestionsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/internal/scorecard-suggestions/results",
      "workflow": "OPS-10",
      "access": "Service authentication; tenant/job binding",
      "source": "services/api/src/scorecard-suggestions/routes.ts",
      "line": 151,
      "factory": "createScorecardSuggestionsInternalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/preferences/me/principal",
      "workflow": "ACC-10",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/user-preferences/routes.ts",
      "line": 15,
      "factory": "createUserPreferencesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/preferences/me",
      "workflow": "ACC-10",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/user-preferences/routes.ts",
      "line": 20,
      "factory": "createUserPreferencesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PUT",
      "path": "/api/v1/preferences/me",
      "workflow": "ACC-10",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/user-preferences/routes.ts",
      "line": 32,
      "factory": "createUserPreferencesRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/saved-views/filters",
      "workflow": "INS-03",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/saved-views/routes.ts",
      "line": 22,
      "factory": "createSavedViewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/saved-views/filters",
      "workflow": "INS-03",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/saved-views/routes.ts",
      "line": 27,
      "factory": "createSavedViewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/saved-views/filters/:filterId",
      "workflow": "INS-03",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/saved-views/routes.ts",
      "line": 40,
      "factory": "createSavedViewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/saved-views/report-views",
      "workflow": "INS-03",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/saved-views/routes.ts",
      "line": 49,
      "factory": "createSavedViewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/saved-views/report-views",
      "workflow": "INS-03",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/saved-views/routes.ts",
      "line": 54,
      "factory": "createSavedViewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/saved-views/report-views/:viewId",
      "workflow": "INS-03",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/saved-views/routes.ts",
      "line": 67,
      "factory": "createSavedViewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "DELETE",
      "path": "/api/v1/saved-views/report-views/:viewId",
      "workflow": "INS-03",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/saved-views/routes.ts",
      "line": 78,
      "factory": "createSavedViewsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/transcription-jobs/:transcriptId",
      "workflow": "INT-07",
      "access": "qms:read; contextual checks",
      "source": "services/api/src/transcription-jobs/routes.ts",
      "line": 65,
      "factory": "createTranscriptionJobsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/transcription-jobs",
      "workflow": "INT-07",
      "access": "transcriptions:manage; contextual checks",
      "source": "services/api/src/transcription-jobs/routes.ts",
      "line": 98,
      "factory": "createTranscriptionJobsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/transcription-jobs/:transcriptId/cancel",
      "workflow": "INT-07",
      "access": "transcriptions:manage; contextual checks",
      "source": "services/api/src/transcription-jobs/routes.ts",
      "line": 161,
      "factory": "createTranscriptionJobsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/improvements",
      "workflow": "JNY-05",
      "access": "operations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 122,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "GET",
      "path": "/api/v1/report-templates",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 122,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "GET",
      "path": "/api/v1/report-schedules",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 122,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "GET",
      "path": "/api/v1/report-runs",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 122,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "GET",
      "path": "/api/v1/surveys",
      "workflow": "JNY-08",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 122,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "GET",
      "path": "/api/v1/case-reason-taxonomies",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 122,
      "factory": "createWorkspaceRouter",
      "disposition": "shadowed",
      "note": "Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path."
    },
    {
      "method": "GET",
      "path": "/api/v1/troubleshooting-processes",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 122,
      "factory": "createWorkspaceRouter",
      "disposition": "shadowed",
      "note": "Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path."
    },
    {
      "method": "GET",
      "path": "/api/v1/action-catalog",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 122,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Legacy singular resource alias; dedicated editor uses action-catalogs."
    },
    {
      "method": "GET",
      "path": "/api/v1/candidate-reviews",
      "workflow": "OPS-13",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 122,
      "factory": "createWorkspaceRouter",
      "disposition": "shadowed",
      "note": "Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path."
    },
    {
      "method": "GET",
      "path": "/api/v1/journeys",
      "workflow": "OPS-13",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 122,
      "factory": "createWorkspaceRouter",
      "disposition": "shadowed",
      "note": "Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path."
    },
    {
      "method": "GET",
      "path": "/api/v1/integration-health",
      "workflow": "OPS-13",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 122,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "POST",
      "path": "/api/v1/improvements",
      "workflow": "JNY-05",
      "access": "operations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 134,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "POST",
      "path": "/api/v1/report-templates",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 134,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "POST",
      "path": "/api/v1/report-schedules",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 134,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "POST",
      "path": "/api/v1/report-runs",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 134,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "POST",
      "path": "/api/v1/surveys",
      "workflow": "JNY-08",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 134,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "POST",
      "path": "/api/v1/case-reason-taxonomies",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 134,
      "factory": "createWorkspaceRouter",
      "disposition": "shadowed",
      "note": "Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path."
    },
    {
      "method": "POST",
      "path": "/api/v1/troubleshooting-processes",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 134,
      "factory": "createWorkspaceRouter",
      "disposition": "shadowed",
      "note": "Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path."
    },
    {
      "method": "POST",
      "path": "/api/v1/action-catalog",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 134,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Legacy singular resource alias; dedicated editor uses action-catalogs."
    },
    {
      "method": "POST",
      "path": "/api/v1/candidate-reviews",
      "workflow": "OPS-13",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 134,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "POST",
      "path": "/api/v1/journeys",
      "workflow": "OPS-13",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 134,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "POST",
      "path": "/api/v1/integration-health",
      "workflow": "OPS-13",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 134,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "POST",
      "path": "/api/v1/improvements/:id/revisions",
      "workflow": "JNY-05",
      "access": "operations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 162,
      "factory": "createWorkspaceRouter",
      "disposition": "unsupported",
      "note": "Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions."
    },
    {
      "method": "POST",
      "path": "/api/v1/report-templates/:id/revisions",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 162,
      "factory": "createWorkspaceRouter",
      "disposition": "unsupported",
      "note": "Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions."
    },
    {
      "method": "POST",
      "path": "/api/v1/report-schedules/:id/revisions",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 162,
      "factory": "createWorkspaceRouter",
      "disposition": "unsupported",
      "note": "Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions."
    },
    {
      "method": "POST",
      "path": "/api/v1/report-runs/:id/revisions",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 162,
      "factory": "createWorkspaceRouter",
      "disposition": "unsupported",
      "note": "Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions."
    },
    {
      "method": "POST",
      "path": "/api/v1/surveys/:id/revisions",
      "workflow": "JNY-08",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 162,
      "factory": "createWorkspaceRouter",
      "disposition": "unsupported",
      "note": "Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions."
    },
    {
      "method": "POST",
      "path": "/api/v1/case-reason-taxonomies/:id/revisions",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 162,
      "factory": "createWorkspaceRouter",
      "disposition": "shadowed",
      "note": "Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path."
    },
    {
      "method": "POST",
      "path": "/api/v1/troubleshooting-processes/:id/revisions",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 162,
      "factory": "createWorkspaceRouter",
      "disposition": "shadowed",
      "note": "Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path."
    },
    {
      "method": "POST",
      "path": "/api/v1/action-catalog/:id/revisions",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 162,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Legacy singular resource alias; dedicated editor uses action-catalogs."
    },
    {
      "method": "POST",
      "path": "/api/v1/candidate-reviews/:id/revisions",
      "workflow": "OPS-13",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 162,
      "factory": "createWorkspaceRouter",
      "disposition": "unsupported",
      "note": "Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions."
    },
    {
      "method": "POST",
      "path": "/api/v1/journeys/:id/revisions",
      "workflow": "OPS-13",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 162,
      "factory": "createWorkspaceRouter",
      "disposition": "unsupported",
      "note": "Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions."
    },
    {
      "method": "POST",
      "path": "/api/v1/integration-health/:id/revisions",
      "workflow": "OPS-13",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 162,
      "factory": "createWorkspaceRouter",
      "disposition": "unsupported",
      "note": "Explicit 404 RESOURCE_NOT_VERSIONED; only the three configuration resources support generic revisions."
    },
    {
      "method": "POST",
      "path": "/api/v1/improvements/:id/transition",
      "workflow": "JNY-05",
      "access": "operations:manage; contextual checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 179,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/improvements/:id/measurements/baseline",
      "workflow": "JNY-06",
      "access": "operations:manage; contextual checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 195,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/improvements/:id/measurements/pilot",
      "workflow": "JNY-06",
      "access": "operations:manage; contextual checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 195,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "PATCH",
      "path": "/api/v1/improvements/:id",
      "workflow": "JNY-05",
      "access": "operations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 241,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "PATCH",
      "path": "/api/v1/report-templates/:id",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 241,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "PATCH",
      "path": "/api/v1/report-schedules/:id",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 241,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "PATCH",
      "path": "/api/v1/report-runs/:id",
      "workflow": "OPS-13",
      "access": "reports:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 241,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "PATCH",
      "path": "/api/v1/surveys/:id",
      "workflow": "JNY-08",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 241,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "PATCH",
      "path": "/api/v1/case-reason-taxonomies/:id",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 241,
      "factory": "createWorkspaceRouter",
      "disposition": "shadowed",
      "note": "Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path."
    },
    {
      "method": "PATCH",
      "path": "/api/v1/troubleshooting-processes/:id",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 241,
      "factory": "createWorkspaceRouter",
      "disposition": "shadowed",
      "note": "Earlier dedicated handler takes this exact request; generic registration is unreachable for this method/path."
    },
    {
      "method": "PATCH",
      "path": "/api/v1/action-catalog/:id",
      "workflow": "JNY-01",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 241,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Legacy singular resource alias; dedicated editor uses action-catalogs."
    },
    {
      "method": "PATCH",
      "path": "/api/v1/candidate-reviews/:id",
      "workflow": "OPS-13",
      "access": "molecules:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 241,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "PATCH",
      "path": "/api/v1/journeys/:id",
      "workflow": "OPS-13",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 241,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "PATCH",
      "path": "/api/v1/integration-health/:id",
      "workflow": "OPS-13",
      "access": "integrations:manage; generic resource checks",
      "source": "services/api/src/workspace/routes.ts",
      "line": 241,
      "factory": "createWorkspaceRouter",
      "disposition": "mapped",
      "note": "Generic storage operation; capability limits in the linked workflow."
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-enrichments",
      "workflow": "EVA-11",
      "access": "Per-kind feature permission and enablement",
      "source": "services/api/src/ai-enrichments/service.ts",
      "line": 122,
      "factory": "createAiEnrichmentsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ai-enrichments",
      "workflow": "EVA-11",
      "access": "Per-kind feature permission and enablement",
      "source": "services/api/src/ai-enrichments/service.ts",
      "line": 147,
      "factory": "createAiEnrichmentsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/ai-enrichments/:proposalId",
      "workflow": "EVA-11",
      "access": "Per-kind feature permission and enablement",
      "source": "services/api/src/ai-enrichments/service.ts",
      "line": 157,
      "factory": "createAiEnrichmentsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-enrichments/:proposalId/apply",
      "workflow": "EVA-11",
      "access": "Per-kind feature permission and enablement",
      "source": "services/api/src/ai-enrichments/service.ts",
      "line": 174,
      "factory": "createAiEnrichmentsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-enrichments/:proposalId/retry",
      "workflow": "EVA-11",
      "access": "Per-kind feature permission and enablement",
      "source": "services/api/src/ai-enrichments/service.ts",
      "line": 188,
      "factory": "createAiEnrichmentsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/ai-enrichments/:proposalId/discard",
      "workflow": "EVA-11",
      "access": "Per-kind feature permission and enablement",
      "source": "services/api/src/ai-enrichments/service.ts",
      "line": 204,
      "factory": "createAiEnrichmentsRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/interaction-analyses/operations",
      "workflow": "INT-11",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/interaction-analyses/reanalysis.ts",
      "line": 46,
      "factory": "createReanalysisRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interaction-analyses/reanalysis",
      "workflow": "INT-11",
      "access": "audits:manage; contextual checks",
      "source": "services/api/src/interaction-analyses/reanalysis.ts",
      "line": 77,
      "factory": "createReanalysisRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/molecule-proposals/tags",
      "workflow": "EVA-10",
      "access": "molecules:manage; contextual checks",
      "source": "services/api/src/molecules/proposals.ts",
      "line": 156,
      "factory": "createMoleculeProposalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/molecule-proposals/proposals",
      "workflow": "EVA-10",
      "access": "molecules:manage; contextual checks",
      "source": "services/api/src/molecules/proposals.ts",
      "line": 172,
      "factory": "createMoleculeProposalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/api/v1/molecule-proposals/proposals/:proposalId",
      "workflow": "EVA-10",
      "access": "molecules:manage; contextual checks",
      "source": "services/api/src/molecules/proposals.ts",
      "line": 185,
      "factory": "createMoleculeProposalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/molecule-proposals/draft",
      "workflow": "EVA-10",
      "access": "molecules:manage; contextual checks",
      "source": "services/api/src/molecules/proposals.ts",
      "line": 196,
      "factory": "createMoleculeProposalRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "POST",
      "path": "/api/v1/interactions/:interactionId/transcription",
      "workflow": "INT-02",
      "access": "interactions:write; contextual checks",
      "source": "services/api/src/transcription-jobs/upload-route.ts",
      "line": 30,
      "factory": "createTranscriptionUploadRouter",
      "disposition": "mapped",
      "note": ""
    },
    {
      "method": "GET",
      "path": "/health/live",
      "workflow": "OPS-10",
      "access": "Public service health",
      "source": "services/ai-runtime/src/sentinel_ai/main.py",
      "line": 99,
      "factory": "FastAPI",
      "disposition": "mapped",
      "note": "Internal AI runtime service, separate origin from the Node API."
    },
    {
      "method": "GET",
      "path": "/health/ready",
      "workflow": "OPS-10",
      "access": "Public service health",
      "source": "services/ai-runtime/src/sentinel_ai/main.py",
      "line": 103,
      "factory": "FastAPI",
      "disposition": "mapped",
      "note": "Internal AI runtime service, separate origin from the Node API."
    },
    {
      "method": "POST",
      "path": "/internal/v1/jobs",
      "workflow": "OPS-10",
      "access": "X-Service-Token; versioned job validation",
      "source": "services/ai-runtime/src/sentinel_ai/main.py",
      "line": 112,
      "factory": "FastAPI",
      "disposition": "mapped",
      "note": "Internal AI runtime service, separate origin from the Node API."
    },
    {
      "method": "GET",
      "path": "/api/docs",
      "workflow": "OPS-10",
      "access": "Public supporting API documentation",
      "source": "services/api/src/app.ts",
      "line": 627,
      "factory": "Swagger middleware",
      "disposition": "supporting",
      "note": "Mounted middleware, not an Express router.get registration."
    }
  ],
  "ui": [
    {
      "path": "/^\\/manual-calibrations\\/assignments\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 269,
      "workflow": "QMS-11"
    },
    {
      "path": "/^\\/manual-calibrations\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 270,
      "workflow": "QMS-10"
    },
    {
      "path": "/^\\/calibrations\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 271,
      "workflow": "QMS-07"
    },
    {
      "path": "/^\\/reviews\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 272,
      "workflow": "QMS-02"
    },
    {
      "path": "/^\\/re-reviews\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 273,
      "workflow": "QMS-06"
    },
    {
      "path": "\"/re-reviews\"",
      "source": "apps/web/src/app.tsx",
      "line": 274,
      "workflow": "QMS-06"
    },
    {
      "path": "\"/reviews\"",
      "source": "apps/web/src/app.tsx",
      "line": 275,
      "workflow": "QMS-02"
    },
    {
      "path": "\"/administration\"",
      "source": "apps/web/src/app.tsx",
      "line": 276,
      "workflow": "QMS-01"
    },
    {
      "path": "\"/transcription-jobs\"",
      "source": "apps/web/src/app.tsx",
      "line": 277,
      "workflow": "INT-07"
    },
    {
      "path": "/^\\/transcription-review\\/([^/]+)$/",
      "source": "apps/web/src/app.tsx",
      "line": 278,
      "workflow": "INT-08"
    },
    {
      "path": "\"/transcription-review\"",
      "source": "apps/web/src/app.tsx",
      "line": 285,
      "workflow": "INT-08"
    },
    {
      "path": "\"/ai-jobs\"",
      "source": "apps/web/src/app.tsx",
      "line": 286,
      "workflow": "OPS-10"
    },
    {
      "path": "\"/adjudications\"",
      "source": "apps/web/src/app.tsx",
      "line": 287,
      "workflow": "QMS-09"
    },
    {
      "path": "\"/labs/llm-testing\"",
      "source": "apps/web/src/app.tsx",
      "line": 288,
      "workflow": "OPS-05"
    },
    {
      "path": "\"/labs\"",
      "source": "apps/web/src/app.tsx",
      "line": 289,
      "workflow": "OPS-05"
    },
    {
      "path": "\"/intelligence/alerts\"",
      "source": "apps/web/src/app.tsx",
      "line": 290,
      "workflow": "INS-05"
    },
    {
      "path": "\"/ask-sentinel\"",
      "source": "apps/web/src/app.tsx",
      "line": 291,
      "workflow": "ASK-01"
    },
    {
      "path": "\"/ask-sentinel/quality-review\"",
      "source": "apps/web/src/app.tsx",
      "line": 292,
      "workflow": "ASK-03"
    },
    {
      "path": "\"/ai-learning\"",
      "source": "apps/web/src/app.tsx",
      "line": 293,
      "workflow": "ASK-04"
    },
    {
      "path": "\"/live-assist\"",
      "source": "apps/web/src/app.tsx",
      "line": 294,
      "workflow": "ASK-06"
    },
    {
      "path": "\"/intelligence/performance\"",
      "source": "apps/web/src/app.tsx",
      "line": 295,
      "workflow": "INS-04"
    },
    {
      "path": "\"/intelligence/alert-rules\"",
      "source": "apps/web/src/app.tsx",
      "line": 296,
      "workflow": "INS-06"
    },
    {
      "path": "\"/preferences\"",
      "source": "apps/web/src/app.tsx",
      "line": 297,
      "workflow": "ACC-10"
    },
    {
      "path": "\"/improvements\"",
      "source": "apps/web/src/app.tsx",
      "line": 298,
      "workflow": "JNY-05"
    },
    {
      "path": "\"/surveys\"",
      "source": "apps/web/src/app.tsx",
      "line": 299,
      "workflow": "JNY-08"
    },
    {
      "path": "/^\\/molecules\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 300,
      "workflow": "EVA-03"
    },
    {
      "path": "/^\\/molecule-versions\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 301,
      "workflow": "EVA-03"
    },
    {
      "path": "\"/molecules\"",
      "source": "apps/web/src/app.tsx",
      "line": 302,
      "workflow": "EVA-03"
    },
    {
      "path": "/^\\/atoms\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 303,
      "workflow": "EVA-01"
    },
    {
      "path": "\"/atoms\"",
      "source": "apps/web/src/app.tsx",
      "line": 304,
      "workflow": "EVA-01"
    },
    {
      "path": "\"/report-templates\"",
      "source": "apps/web/src/app.tsx",
      "line": 305,
      "workflow": "OPS-13"
    },
    {
      "path": "\"/journeys\"",
      "source": "apps/web/src/app.tsx",
      "line": 306,
      "workflow": "JNY-04"
    },
    {
      "path": "\"/journey-configuration\"",
      "source": "apps/web/src/app.tsx",
      "line": 307,
      "workflow": "JNY-01"
    },
    {
      "path": "\"/integration-operations\"",
      "source": "apps/web/src/app.tsx",
      "line": 308,
      "workflow": "OPS-13"
    },
    {
      "path": "\"/interactions/import\"",
      "source": "apps/web/src/app.tsx",
      "line": 309,
      "workflow": "INT-04"
    },
    {
      "path": "\"/interactions/import/calls\"",
      "source": "apps/web/src/app.tsx",
      "line": 310,
      "workflow": "INT-05"
    },
    {
      "path": "/^\\/interactions\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 311,
      "workflow": "INT-01"
    },
    {
      "path": "\"/interactions\"",
      "source": "apps/web/src/app.tsx",
      "line": 312,
      "workflow": "INT-01"
    },
    {
      "path": "\"/scorecards/new\"",
      "source": "apps/web/src/app.tsx",
      "line": 313,
      "workflow": "EVA-05"
    },
    {
      "path": "/^\\/scorecard-suggestions\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 314,
      "workflow": "EVA-08"
    },
    {
      "path": "/^\\/scorecards\\/([0-9a-f-]{36})\\/edit$/i",
      "source": "apps/web/src/app.tsx",
      "line": 315,
      "workflow": "EVA-05"
    },
    {
      "path": "/^\\/scorecards\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 316,
      "workflow": "EVA-06"
    },
    {
      "path": "\"/scorecards\"",
      "source": "apps/web/src/app.tsx",
      "line": 317,
      "workflow": "EVA-06"
    },
    {
      "path": "\"/activity\"",
      "source": "apps/web/src/app.tsx",
      "line": 318,
      "workflow": "INS-08"
    },
    {
      "path": "\"/notifications\"",
      "source": "apps/web/src/app.tsx",
      "line": 319,
      "workflow": "INS-07"
    },
    {
      "path": "\"/coaching\"",
      "source": "apps/web/src/app.tsx",
      "line": 320,
      "workflow": "LRN-05"
    },
    {
      "path": "\"/reports-insights\"",
      "source": "apps/web/src/app.tsx",
      "line": 321,
      "workflow": "INS-02"
    },
    {
      "path": "\"/audit-reports\"",
      "source": "apps/web/src/app.tsx",
      "line": 322,
      "workflow": "INS-02"
    },
    {
      "path": "\"/knowledge-adherence\"",
      "source": "apps/web/src/app.tsx",
      "line": 323,
      "workflow": "INS-02"
    },
    {
      "path": "\"/reports\"",
      "source": "apps/web/src/app.tsx",
      "line": 324,
      "workflow": "INS-02"
    },
    {
      "path": "\"/compliance-risk\"",
      "source": "apps/web/src/app.tsx",
      "line": 325,
      "workflow": "INS-04"
    },
    {
      "path": "\"/knowledge/categories\"",
      "source": "apps/web/src/app.tsx",
      "line": 326,
      "workflow": "KNO-05"
    },
    {
      "path": "\"/knowledge/tags\"",
      "source": "apps/web/src/app.tsx",
      "line": 327,
      "workflow": "KNO-05"
    },
    {
      "path": "\"/knowledge/content\"",
      "source": "apps/web/src/app.tsx",
      "line": 328,
      "workflow": "KNO-04"
    },
    {
      "path": "\"/knowledge/articles\"",
      "source": "apps/web/src/app.tsx",
      "line": 329,
      "workflow": "KNO-01"
    },
    {
      "path": "\"/knowledge/drafts\"",
      "source": "apps/web/src/app.tsx",
      "line": 330,
      "workflow": "KNO-02"
    },
    {
      "path": "\"/knowledge/new\"",
      "source": "apps/web/src/app.tsx",
      "line": 331,
      "workflow": "KNO-02"
    },
    {
      "path": "/^\\/knowledge\\/([^/]+)\\/edit$/",
      "source": "apps/web/src/app.tsx",
      "line": 332,
      "workflow": "KNO-02"
    },
    {
      "path": "/^\\/knowledge\\/([0-9a-f-]{36})$/i",
      "source": "apps/web/src/app.tsx",
      "line": 333,
      "workflow": "KNO-01"
    },
    {
      "path": "\"/knowledge\"",
      "source": "apps/web/src/app.tsx",
      "line": 334,
      "workflow": "KNO-01"
    },
    {
      "path": "/^\\/learning(?:\\/manage)?$/",
      "source": "apps/web/src/app.tsx",
      "line": 335,
      "workflow": "LRN-01",
      "relatedWorkflows": [
        "LRN-02",
        "LRN-03",
        "LRN-04"
      ],
      "note": "The regex covers /learning and /learning/manage. Manage requires members:manage; personal assignments/progress remain scoped."
    },
    {
      "path": "\"/settings/usage\"",
      "source": "apps/web/src/app.tsx",
      "line": 336,
      "workflow": "OPS-06"
    },
    {
      "path": "\"/settings/pricing\"",
      "source": "apps/web/src/app.tsx",
      "line": 337,
      "workflow": "OPS-06"
    },
    {
      "path": "\"/settings/llm-connections\"",
      "source": "apps/web/src/app.tsx",
      "line": 338,
      "workflow": "OPS-05"
    },
    {
      "path": "\"/settings/integrations\"",
      "source": "apps/web/src/app.tsx",
      "line": 339,
      "workflow": "OPS-01"
    },
    {
      "path": "\"/settings/users\"",
      "source": "apps/web/src/app.tsx",
      "line": 340,
      "workflow": "ACC-04"
    },
    {
      "path": "\"/settings/teams\"",
      "source": "apps/web/src/app.tsx",
      "line": 341,
      "workflow": "ACC-07"
    },
    {
      "path": "\"/settings/company\"",
      "source": "apps/web/src/app.tsx",
      "line": 342,
      "workflow": "ACC-08"
    },
    {
      "path": "\"/settings/workspace\"",
      "source": "apps/web/src/app.tsx",
      "line": 343,
      "workflow": "ACC-09"
    },
    {
      "path": "\"/\"",
      "source": "apps/web/src/app.tsx",
      "line": 343,
      "workflow": "INS-01"
    },
    {
      "path": "/platform/login",
      "workflow": "OPS-07",
      "source": "apps/web/src/app.tsx",
      "line": 1,
      "note": "Explicit platform branch outside tenant route array."
    },
    {
      "path": "/platform",
      "workflow": "OPS-07",
      "source": "apps/web/src/app.tsx",
      "line": 1,
      "note": "Explicit platform branch outside tenant route array."
    },
    {
      "path": "/platform/",
      "workflow": "OPS-07",
      "source": "apps/web/src/app.tsx",
      "line": 1,
      "note": "Explicit platform branch outside tenant route array."
    },
    {
      "path": "/platform/tenants/:tenantId",
      "workflow": "OPS-07",
      "source": "apps/web/src/app.tsx",
      "line": 1,
      "note": "Explicit platform branch outside tenant route array."
    },
    {
      "path": "/platform/pricing",
      "workflow": "OPS-08",
      "source": "apps/web/src/app.tsx",
      "line": 1,
      "note": "Explicit platform branch outside tenant route array."
    },
    {
      "path": "/platform/transcriber-policy",
      "workflow": "OPS-09",
      "source": "apps/web/src/app.tsx",
      "line": 1,
      "note": "Explicit platform branch outside tenant route array."
    },
    {
      "path": "/platform/ask-sentinel-quality",
      "workflow": "ASK-03",
      "source": "apps/web/src/app.tsx",
      "line": 1,
      "note": "Explicit platform branch outside tenant route array."
    },
    {
      "path": "Login / invitation / password-reset presentation at the requested tenant pathname",
      "workflow": "ACC-01",
      "source": "apps/web/src/features/auth/login.tsx",
      "line": 1,
      "note": "Authentication-state presentation, not a separately registered /login route."
    }
  ]
}
