consolidation of some of the modules, localization fixes, product advisories work, qa work

This commit is contained in:
master
2026-03-05 03:54:22 +02:00
parent 7bafcc3eef
commit 8e1cb9448d
3878 changed files with 72600 additions and 46861 deletions

View File

@@ -40,7 +40,7 @@ const EN_US_BUNDLE: Record<string, string> = {
'ui.severity.low': 'Low',
'ui.severity.info': 'Info',
'ui.severity.none': 'None',
'ui.release_orchestrator.title': 'Release Orchestrator',
'ui.release_orchestrator.title': 'Release JobEngine',
'ui.release_orchestrator.subtitle': 'Pipeline overview and release management',
'ui.release_orchestrator.pipeline_runs': 'Pipeline Runs',
'ui.risk_dashboard.title': 'Risk Profiles',
@@ -82,7 +82,7 @@ const DE_DE_BUNDLE: Record<string, string> = {
'ui.actions.cancel': 'Abbrechen',
'ui.actions.delete': 'L\u00f6schen',
'ui.actions.search': 'Suche',
'ui.release_orchestrator.title': 'Release-Orchestrator',
'ui.release_orchestrator.title': 'Release-JobEngine',
'ui.risk_dashboard.title': 'Risikoprofile',
'ui.findings.title': 'Ergebnisse',
'ui.timeline.title': 'Zeitleiste',
@@ -243,7 +243,7 @@ test.describe('i18n Translated Content on Routes', () => {
}[] = [
{ path: '/findings', name: 'Findings', expectedText: 'Findings' },
{ path: '/', name: 'Control Plane' },
{ path: '/operations/orchestrator', name: 'Release Orchestrator' },
{ path: '/operations/jobengine', name: 'Release JobEngine' },
{ path: '/security', name: 'Risk Dashboard' },
{ path: '/timeline', name: 'Timeline' },
{ path: '/policy/exceptions', name: 'Exception Center' },
@@ -324,7 +324,7 @@ test.describe('i18n Locale Switching', () => {
});
// This route maintains background activity; avoid networkidle waits for this case.
await page.goto('/operations/orchestrator', {
await page.goto('/operations/jobengine', {
waitUntil: 'domcontentloaded',
timeout: 30_000,
});

View File

@@ -257,9 +257,9 @@ test.describe('Section 5: Ops - Operations', () => {
expect(body.length).toBeGreaterThan(10);
});
test('orchestrator dashboard', async ({ authenticatedPage: page }) => {
await go(page, '/ops/operations/orchestrator');
await snap(page, '05-ops-orchestrator');
test('jobengine dashboard', async ({ authenticatedPage: page }) => {
await go(page, '/ops/operations/jobengine');
await snap(page, '05-ops-jobengine');
const body = await page.locator('body').innerText();
expect(body.length).toBeGreaterThan(10);
});

View File

@@ -40,7 +40,7 @@ const CRITICAL_ROUTES: { path: string; name: string; expectRedirect?: boolean }[
{ path: '/policy/governance', name: 'Policy Governance' },
{ path: '/policy/exceptions', name: 'Policy Exceptions' },
{ path: '/operations', name: 'Operations' },
{ path: '/operations/orchestrator', name: 'Operations Orchestrator' },
{ path: '/operations/jobengine', name: 'Operations JobEngine' },
{ path: '/operations/scheduler', name: 'Operations Scheduler' },
{ path: '/evidence', name: 'Evidence' },
{ path: '/evidence-packs', name: 'Evidence Packs' },

View File

@@ -28,11 +28,11 @@ const EXTENDED_ROUTES: { path: string; name: string }[] = [
{ path: '/console/admin', name: 'Console Admin' },
{ path: '/console/configuration', name: 'Configuration' },
// Orchestrator (legacy paths)
{ path: '/orchestrator', name: 'Orchestrator (legacy)' },
{ path: '/orchestrator/jobs', name: 'Orchestrator Jobs' },
{ path: '/orchestrator/quotas', name: 'Orchestrator Quotas' },
{ path: '/release-orchestrator', name: 'Release Orchestrator' },
// JobEngine (legacy paths)
{ path: '/jobengine', name: 'JobEngine (legacy)' },
{ path: '/jobengine/jobs', name: 'JobEngine Jobs' },
{ path: '/jobengine/quotas', name: 'JobEngine Quotas' },
{ path: '/release-jobengine', name: 'Release JobEngine' },
// Policy Studio
{ path: '/policy-studio/packs', name: 'Policy Studio Packs' },
@@ -102,8 +102,8 @@ test.describe('Extended Route Rendering (Batch 2)', () => {
test.describe('Extended Route — Deep Paths', () => {
const DEEP_PATHS: { path: string; name: string }[] = [
{ path: '/ops/quotas', name: 'Quota Dashboard' },
{ path: '/ops/orchestrator/dead-letter', name: 'Dead Letter Queue' },
{ path: '/ops/orchestrator/slo', name: 'SLO Burn Rate' },
{ path: '/ops/jobengine/dead-letter', name: 'Dead Letter Queue' },
{ path: '/ops/jobengine/slo', name: 'SLO Burn Rate' },
{ path: '/ops/health', name: 'Platform Health' },
{ path: '/ops/doctor', name: 'Doctor Diagnostics' },
{ path: '/ops/agents', name: 'Agent Fleet' },

View File

@@ -49,7 +49,7 @@ const RAW_ROUTES: RouteTarget[] = [
{ path: '/policy/governance', name: 'Policy Governance' },
{ path: '/policy/exceptions', name: 'Policy Exceptions' },
{ path: '/operations', name: 'Operations' },
{ path: '/operations/orchestrator', name: 'Operations Orchestrator' },
{ path: '/operations/jobengine', name: 'Operations JobEngine' },
{ path: '/operations/scheduler', name: 'Operations Scheduler' },
{ path: '/evidence', name: 'Evidence' },
{ path: '/evidence-packs', name: 'Evidence Packs' },
@@ -66,10 +66,10 @@ const RAW_ROUTES: RouteTarget[] = [
{ path: '/console/status', name: 'Console Status' },
{ path: '/console/admin', name: 'Console Admin' },
{ path: '/console/configuration', name: 'Configuration' },
{ path: '/orchestrator', name: 'Orchestrator Legacy' },
{ path: '/orchestrator/jobs', name: 'Orchestrator Jobs' },
{ path: '/orchestrator/quotas', name: 'Orchestrator Quotas' },
{ path: '/release-orchestrator', name: 'Release Orchestrator' },
{ path: '/jobengine', name: 'JobEngine Legacy' },
{ path: '/jobengine/jobs', name: 'JobEngine Jobs' },
{ path: '/jobengine/quotas', name: 'JobEngine Quotas' },
{ path: '/release-jobengine', name: 'Release JobEngine' },
{ path: '/policy-studio/packs', name: 'Policy Studio Packs' },
{ path: '/concelier/trivy-db-settings', name: 'Trivy DB Settings' },
{ path: '/risk', name: 'Risk Dashboard' },
@@ -101,8 +101,8 @@ const RAW_ROUTES: RouteTarget[] = [
{ path: '/admin/audit', name: 'Audit Log' },
{ path: '/welcome', name: 'Welcome Page' },
{ path: '/ops/quotas', name: 'Quota Dashboard' },
{ path: '/ops/orchestrator/dead-letter', name: 'Dead Letter Queue' },
{ path: '/ops/orchestrator/slo', name: 'SLO Burn Rate' },
{ path: '/ops/jobengine/dead-letter', name: 'Dead Letter Queue' },
{ path: '/ops/jobengine/slo', name: 'SLO Burn Rate' },
{ path: '/ops/health', name: 'Platform Health' },
{ path: '/ops/doctor', name: 'Doctor Diagnostics' },
{ path: '/ops/agents', name: 'Agent Fleet' },
@@ -141,10 +141,10 @@ const KNOWN_NO_CONTROL_ROUTES = new Set<string>([
'/console/profile',
'/triage/inbox',
'/operations',
'/operations/orchestrator',
'/orchestrator',
'/orchestrator/jobs',
'/orchestrator/quotas',
'/operations/jobengine',
'/jobengine',
'/jobengine/jobs',
'/jobengine/quotas',
'/admin/audit',
'/workspace/dev',
'/workspace/audit',