Ctrl K
ComunidadGuías…

e2e/suite.json

Rama main · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
{
  "schemaVersion": 3,
  "smokeGroup": "foundation-security",
  "specRoots": [
    "cluster-mode",
    "specs",
    "specs-full"
  ],
  "commitBrowsers": [
    "chromium"
  ],
  "nightlyBrowsers": [
    "chromium",
    "firefox",
    "webkit"
  ],
  "commitBudgetMinutes": 130,
  "productionRoots": [
    "*.go",
    "cmd/**",
    "deploy/**",
    "frontend/src/**",
    "internal/**",
    "packaging/**",
    "install.sh",
    "install.ps1"
  ],
  "unitOnlyPaths": [
    "*_test.go",
    "cmd/**/*_test.go",
    "internal/**/*_test.go",
    "internal/**/testdata/**",
    "internal/testguard/**"
  ],
  "fullRunPaths": [
    ".github/workflows/**",
    "Dockerfile",
    "assets_embed.go",
    "clusterflags.go",
    "e2e/harness/**",
    "e2e/package-lock.json",
    "e2e/package.json",
    "e2e/playwright.config.ts",
    "e2e/scripts/**",
    "e2e/suite.json",
    "flags.go",
    "frontend/package-lock.json",
    "frontend/src/App.tsx",
    "frontend/src/Root.tsx",
    "frontend/src/components/ActionGroup.tsx",
    "frontend/src/components/Announce.tsx",
    "frontend/src/components/CapabilityState.tsx",
    "frontend/src/components/DenseToolbar.tsx",
    "frontend/src/components/ErrorBoundary.tsx",
    "frontend/src/components/MovedToDesktop.tsx",
    "frontend/src/components/Toasts.tsx",
    "frontend/src/components/WorkspaceHeader.tsx",
    "frontend/src/components/icons.tsx",
    "frontend/src/lib/actions.ts",
    "frontend/src/lib/clipboard.ts",
    "frontend/src/lib/connection.ts",
    "frontend/src/lib/contexts.ts",
    "frontend/src/lib/controls.ts",
    "frontend/src/lib/feed.ts",
    "frontend/src/lib/http.ts",
    "frontend/src/lib/namespaceOffer.ts",
    "frontend/src/lib/object.ts",
    "frontend/src/lib/parse.ts",
    "frontend/src/lib/persist.ts",
    "frontend/src/lib/refs.ts",
    "frontend/src/lib/rows.ts",
    "frontend/src/lib/settings.ts",
    "frontend/src/lib/settingsSync.ts",
    "frontend/src/lib/tabs.ts",
    "frontend/src/lib/time.ts",
    "frontend/src/lib/types.ts",
    "frontend/src/lib/units.ts",
    "frontend/src/lib/unsaved.ts",
    "frontend/src/lib/update.ts",
    "frontend/src/lib/useNow.ts",
    "frontend/src/lib/usePoll.ts",
    "frontend/src/lib/view.ts",
    "frontend/src/lib/warningText.ts",
    "frontend/src/lib/wire.ts",
    "frontend/src/main.tsx",
    "frontend/src/store/access.ts",
    "frontend/src/store/catalog.ts",
    "frontend/src/store/cluster.ts",
    "frontend/src/store/clusters.ts",
    "frontend/src/store/contexts.ts",
    "frontend/src/store/filters.ts",
    "frontend/src/store/identity.ts",
    "frontend/src/store/namespace.ts",
    "frontend/src/store/panels.ts",
    "frontend/src/store/perCluster.ts",
    "frontend/src/store/recents.ts",
    "frontend/src/store/resources.ts",
    "frontend/src/store/session.ts",
    "frontend/src/store/settings.ts",
    "frontend/src/store/terminals.ts",
    "frontend/src/store/theme.ts",
    "frontend/src/store/toasts.ts",
    "frontend/src/vite-env.d.ts",
    "go.mod",
    "go.sum",
    "httpserver.go",
    "internal/api/**",
    "internal/atomicfile/**",
    "internal/cluster/**",
    "internal/commandbuffer/**",
    "internal/filetx/**",
    "internal/listerr/**",
    "internal/server/assets.go",
    "internal/server/auth.go",
    "internal/server/backend.go",
    "internal/server/guard.go",
    "internal/server/listen.go",
    "internal/server/policy.go",
    "internal/server/respond.go",
    "internal/server/routes.go",
    "internal/server/server.go",
    "internal/server/shutdown.go",
    "internal/server/update.go",
    "internal/server/view.go",
    "internal/server/ws.go",
    "internal/settings/**",
    "internal/toolpath/**",
    "internal/unstr/**",
    "internal/update/**",
    "internal/version/**",
    "justfile",
    "logging.go",
    "main.go",
    "main_desktop.go",
    "mise.lock",
    "mise.toml",
    "notices.go",
    "serve.go",
    "store.go",
    "update.go",
    "wails.json"
  ],
  "fullRunBudget": 96,
  "groups": [
    {
      "id": "foundation-security",
      "label": "Foundation and security",
      "runner": "playwright",
      "profile": "core",
      "tier": "commit",
      "timeoutMinutes": 45,
      "observedMinutes": 4,
      "specs": [
        "specs/access.spec.ts",
        "specs/degrade.spec.ts",
        "specs/guard.spec.ts"
      ],
      "paths": [
        "e2e/specs/access.spec.ts",
        "e2e/specs/degrade.spec.ts",
        "e2e/specs/guard.spec.ts",
        "frontend/src/components/ConnectionBanner.tsx",
        "frontend/src/components/KubeconfigBanner.tsx",
        "frontend/src/components/KubeconfigDialog.tsx",
        "frontend/src/components/SignIn.tsx",
        "frontend/src/components/SupportBundle.tsx",
        "frontend/src/components/Wordmark.tsx",
        "frontend/src/lib/access.ts",
        "frontend/src/lib/capabilities.ts",
        "frontend/src/lib/identity.ts",
        "frontend/src/lib/useAccess.ts",
        "frontend/src/lib/wsBase.ts",
        "frontend/src/store/clusterHealth.ts",
        "frontend/src/store/logs.ts",
        "internal/access/**",
        "internal/auth/**",
        "internal/kubeconfig/**",
        "internal/protect/**",
        "internal/server/access.go",
        "internal/server/capabilities.go",
        "internal/server/health.go",
        "internal/server/sinkwatch.go",
        "internal/server/support.go"
      ]
    },
    {
      "id": "navigation-interaction",
      "label": "Navigation and interaction",
      "runner": "playwright",
      "profile": "full",
      "tier": "commit",
      "timeoutMinutes": 75,
      "observedMinutes": 8,
      "specs": [
        "specs/navigation.spec.ts",
        "specs/palette.spec.ts",
        "specs/panels.spec.ts",
        "specs/settings.spec.ts",
        "specs/views.spec.ts"
      ],
      "paths": [
        "e2e/specs/navigation.spec.ts",
        "e2e/specs/palette.spec.ts",
        "e2e/specs/panels.spec.ts",
        "e2e/specs/settings.spec.ts",
        "frontend/src/components/CommandPalette.tsx",
        "frontend/src/components/Notifications*.tsx",
        "frontend/src/components/Panel*.tsx",
        "frontend/src/components/ReadableNamespaces.tsx",
        "frontend/src/components/SaveViewButton.tsx",
        "frontend/src/components/SavedViewsList.tsx",
        "frontend/src/components/SettingsDialog.tsx",
        "frontend/src/components/Sidebar.tsx",
        "frontend/src/components/TopBar.tsx",
        "frontend/src/components/ViewSwitch.tsx",
        "frontend/src/components/Wordmark.tsx",
        "frontend/src/lib/containers.ts",
        "frontend/src/lib/customThemes.ts",
        "frontend/src/lib/defaultTheme.ts",
        "frontend/src/lib/hotkeys.ts",
        "frontend/src/lib/kindLabels.ts",
        "frontend/src/lib/namespaces.ts",
        "frontend/src/lib/palette.ts",
        "frontend/src/lib/panels.ts",
        "frontend/src/lib/platform.ts",
        "frontend/src/lib/pods.ts",
        "frontend/src/lib/router.ts",
        "frontend/src/lib/savedViews.ts",
        "frontend/src/lib/sidebar*.ts",
        "frontend/src/lib/theme*.ts",
        "frontend/src/lib/useAccess.ts",
        "frontend/src/lib/useDismissMenu.ts",
        "frontend/src/lib/useObjectDetail.ts",
        "frontend/src/lib/usePanelWidth.ts",
        "frontend/src/lib/useTrafficProbe.ts",
        "frontend/src/lib/version.ts",
        "frontend/src/lib/views.ts",
        "frontend/src/lib/wsBase.ts",
        "frontend/src/store/clusterHealth.ts",
        "frontend/src/store/forwards.ts",
        "frontend/src/store/logs.ts",
        "frontend/src/store/traffic.ts",
        "frontend/themes/**",
        "internal/server/savedviews.go",
        "internal/server/settings.go",
        "frontend/src/lib/openSaved.ts"
      ]
    },
    {
      "id": "visual-accessibility",
      "label": "Visual and accessibility",
      "runner": "playwright",
      "profile": "full",
      "tier": "commit",
      "timeoutMinutes": 75,
      "observedMinutes": 16,
      "specs": [
        "specs/zz-a11y.spec.ts",
        "specs-full/design-review.spec.ts",
        "specs-full/viewport.spec.ts"
      ],
      "paths": [
        "frontend/src/index.css",
        "frontend/src/components/TooltipHost.tsx",
        "frontend/src/lib/contrast.ts",
        "frontend/src/lib/customThemes.ts",
        "frontend/src/lib/theme*.ts",
        "frontend/themes/**",
        "e2e/specs/zz-a11y.spec.ts",
        "e2e/specs-full/design-review.spec.ts",
        "frontend/src/lib/defaultTheme.ts",
        "frontend/src/lib/tooltip.ts",
        "e2e/specs-full/viewport.spec.ts",
        "frontend/src/lib/panels.ts",
        "frontend/src/store/panels.ts",
        "frontend/src/components/PanelHost.tsx",
        "frontend/src/components/PanelLayout.tsx"
      ]
    },
    {
      "id": "resources-live-tables",
      "label": "Resources, live updates and tables",
      "runner": "playwright",
      "profile": "full",
      "tier": "commit",
      "timeoutMinutes": 90,
      "observedMinutes": 7,
      "specs": [
        "specs/crds.spec.ts",
        "specs/live.spec.ts",
        "specs/resources.spec.ts",
        "specs-full/scale.spec.ts"
      ],
      "paths": [
        "internal/discovery/**",
        "internal/resources/**",
        "frontend/src/components/Column*.tsx",
        "frontend/src/components/FilterBar.tsx",
        "frontend/src/components/ResourceTable.tsx",
        "frontend/src/lib/catalog.ts",
        "frontend/src/lib/discovery.ts",
        "frontend/src/lib/filter*.ts",
        "frontend/src/lib/search.ts",
        "frontend/src/lib/tableState.ts",
        "e2e/specs/crds.spec.ts",
        "e2e/specs/live.spec.ts",
        "e2e/specs/resources.spec.ts",
        "e2e/specs-full/scale.spec.ts",
        "frontend/src/components/ContainerSquares.tsx",
        "frontend/src/components/CopyButton.tsx",
        "frontend/src/components/UsageBar.tsx",
        "frontend/src/lib/columnFit.ts",
        "frontend/src/lib/containers.ts",
        "frontend/src/lib/rowClick.ts",
        "frontend/src/lib/status.ts",
        "frontend/src/lib/useDismissMenu.ts",
        "frontend/src/lib/useElementWidth.ts",
        "internal/overview/**",
        "internal/podcount/**",
        "internal/server/catalog.go"
      ]
    },
    {
      "id": "inspect-compare-rbac-topology",
      "label": "Inspect, compare, RBAC and topology",
      "runner": "playwright",
      "profile": "full",
      "tier": "commit",
      "timeoutMinutes": 75,
      "observedMinutes": 7,
      "specs": [
        "specs/compare-rbac.spec.ts",
        "specs/inspect.spec.ts",
        "specs/secrets.spec.ts",
        "specs/topology.spec.ts"
      ],
      "paths": [
        "internal/compare/**",
        "internal/inspect/**",
        "internal/jsonschema/**",
        "internal/rbac/**",
        "internal/topology/**",
        "frontend/src/components/ComparePanel.tsx",
        "frontend/src/components/Inspect*.tsx",
        "frontend/src/components/KindCompare.tsx",
        "frontend/src/components/Rbac.tsx",
        "frontend/src/components/TopologyGraph.tsx",
        "frontend/src/lib/compare.ts",
        "frontend/src/lib/rbac.ts",
        "frontend/src/lib/schema.ts",
        "frontend/src/lib/topology.ts",
        "e2e/specs/compare-rbac.spec.ts",
        "e2e/specs/inspect.spec.ts",
        "e2e/specs/secrets.spec.ts",
        "e2e/specs/topology.spec.ts",
        "frontend/src/components/CopyButton.tsx",
        "frontend/src/components/DataEntries.tsx",
        "frontend/src/components/DisabledActionReasons.tsx",
        "frontend/src/components/Graph*.tsx",
        "frontend/src/components/NodeShellButton.tsx",
        "frontend/src/components/Yaml*.tsx",
        "frontend/src/lib/actionAvailability.ts",
        "frontend/src/lib/entityLabel.ts",
        "frontend/src/lib/graph*.ts",
        "frontend/src/lib/logColor.ts",
        "frontend/src/lib/monaco.ts",
        "frontend/src/lib/openExternal.ts",
        "frontend/src/lib/scroll.ts",
        "frontend/src/lib/status.ts",
        "frontend/src/lib/useElementWidth.ts",
        "frontend/src/lib/useLogStream.ts",
        "frontend/src/lib/useObjectDetail.ts",
        "frontend/src/store/forwards.ts",
        "frontend/src/store/logs.ts",
        "internal/server/compare.go",
        "internal/server/objects.go",
        "internal/server/rbac.go",
        "internal/server/views.go"
      ]
    },
    {
      "id": "mutations-protection-history",
      "label": "Mutations, protection and history",
      "runner": "playwright",
      "profile": "core",
      "tier": "commit",
      "timeoutMinutes": 75,
      "observedMinutes": 4,
      "specs": [
        "specs/actions.spec.ts",
        "specs/guarded.spec.ts",
        "specs/history.spec.ts",
        "specs/recordings.spec.ts",
        "specs/rollout.spec.ts"
      ],
      "paths": [
        "e2e/specs/actions.spec.ts",
        "e2e/specs/guarded.spec.ts",
        "e2e/specs/history.spec.ts",
        "e2e/specs/recordings.spec.ts",
        "frontend/src/components/BulkBar.tsx",
        "frontend/src/components/ConfirmByName.tsx",
        "frontend/src/components/DisabledActionReasons.tsx",
        "frontend/src/components/History.tsx",
        "frontend/src/components/InspectActions.tsx",
        "frontend/src/components/InspectObjectActions.tsx",
        "frontend/src/components/NodeShellButton.tsx",
        "frontend/src/components/Protection*.tsx",
        "frontend/src/components/RecordedSessions.tsx",
        "frontend/src/components/RolloutRevisions.tsx",
        "frontend/src/lib/actionAvailability.ts",
        "frontend/src/lib/history.ts",
        "frontend/src/lib/objectActions.ts",
        "frontend/src/lib/rollout.ts",
        "frontend/src/lib/transcripts.ts",
        "internal/actions/**",
        "internal/actions/rollout.go",
        "internal/rollout/**",
        "internal/server/history.go",
        "internal/server/historyexport.go",
        "internal/server/objects.go",
        "internal/server/rollout.go",
        "internal/server/transcript.go",
        "internal/store/**",
        "internal/store/mirror.go",
        "internal/transcript/**"
      ]
    },
    {
      "id": "streams-terminals-forwards",
      "label": "Streams, terminals and forwards",
      "runner": "playwright",
      "profile": "core",
      "tier": "commit",
      "timeoutMinutes": 75,
      "observedMinutes": 5,
      "specs": [
        "specs/exec.spec.ts",
        "specs/portforward.spec.ts",
        "specs/terminals.spec.ts"
      ],
      "paths": [
        "internal/debugcontainer/**",
        "internal/exec/**",
        "internal/localshell/**",
        "internal/logs/**",
        "internal/nodeshell/**",
        "internal/portforward/**",
        "frontend/src/components/DebugPrompt.tsx",
        "frontend/src/components/ForwardsPanel.tsx",
        "frontend/src/components/Terminal*.tsx",
        "frontend/src/lib/exec.ts",
        "frontend/src/lib/portForward.ts",
        "frontend/src/lib/terminal.ts",
        "e2e/specs/exec.spec.ts",
        "e2e/specs/portforward.spec.ts",
        "e2e/specs/terminals.spec.ts",
        "frontend/src/components/CopyButton.tsx",
        "frontend/src/components/NodeShellButton.tsx",
        "frontend/src/lib/capabilities.ts",
        "frontend/src/lib/containers.ts",
        "frontend/src/lib/debugContainer.ts",
        "frontend/src/lib/logColor.ts",
        "frontend/src/lib/motion.ts",
        "frontend/src/lib/openExternal.ts",
        "frontend/src/lib/pods.ts",
        "frontend/src/lib/useLocalShell.ts",
        "frontend/src/lib/useLogStream.ts",
        "frontend/src/lib/useShellSupport.ts",
        "frontend/src/lib/wsBase.ts",
        "frontend/src/store/forwards.ts",
        "frontend/src/store/logs.ts",
        "internal/imagepin/**",
        "internal/server/exec.go",
        "internal/server/forwards.go",
        "internal/server/localshell.go"
      ]
    },
    {
      "id": "checks-issues-worklist",
      "label": "Checks, issues and worklist",
      "runner": "playwright",
      "profile": "core",
      "tier": "commit",
      "timeoutMinutes": 75,
      "observedMinutes": 5,
      "specs": [
        "specs/checks.spec.ts",
        "specs/audit-schedule.spec.ts",
        "specs/issues.spec.ts",
        "specs/posture.spec.ts",
        "specs/worklist.spec.ts"
      ],
      "paths": [
        "e2e/specs/checks.spec.ts",
        "e2e/specs/audit-schedule.spec.ts",
        "e2e/specs/issues.spec.ts",
        "e2e/specs/worklist.spec.ts",
        "frontend/src/components/Checks.tsx",
        "frontend/src/components/FrameworkPosture.tsx",
        "frontend/src/components/IssueQueue.tsx",
        "frontend/src/lib/checks.ts",
        "frontend/src/lib/issues.ts",
        "frontend/src/store/issues.ts",
        "internal/baseline/**",
        "internal/checks/**",
        "internal/checks/cis.go",
        "internal/checks/sarif.go",
        "internal/faults/**",
        "internal/issues/**",
        "internal/server/auditschedule.go",
        "internal/server/baselines.go",
        "internal/server/export.go",
        "internal/server/exportformats.go",
        "internal/server/fleetchecks.go",
        "internal/server/frameworks.go",
        "internal/server/mutes.go",
        "internal/server/ready.go",
        "internal/server/rules.go",
        "internal/server/selfmetrics.go",
        "internal/server/settings.go",
        "internal/server/views.go",
        "internal/telemetry/**",
        "frontend/src/lib/severity.ts"
      ]
    },
    {
      "id": "helm",
      "label": "Helm",
      "runner": "playwright",
      "profile": "core",
      "tier": "commit",
      "timeoutMinutes": 90,
      "observedMinutes": 4,
      "specs": [
        "specs/helm.spec.ts"
      ],
      "paths": [
        "internal/charts/**",
        "internal/helm/**",
        "frontend/src/components/Helm*.tsx",
        "frontend/src/components/ReleasePanel.tsx",
        "frontend/src/lib/chart.ts",
        "frontend/src/lib/helm*.ts",
        "e2e/fixtures/chart/**",
        "e2e/specs/helm.spec.ts",
        "frontend/src/components/CopyButton.tsx",
        "frontend/src/components/DisabledActionReasons.tsx",
        "frontend/src/components/ManifestDiff.tsx",
        "frontend/src/components/YamlEditor.tsx",
        "frontend/src/lib/actionAvailability.ts",
        "frontend/src/lib/capabilities.ts",
        "frontend/src/lib/monaco.ts",
        "frontend/src/lib/useHelmAccess.ts",
        "frontend/src/store/helm*.ts",
        "internal/server/access.go",
        "internal/server/helm.go"
      ]
    },
    {
      "id": "gitops",
      "label": "GitOps",
      "runner": "playwright",
      "profile": "full",
      "tier": "commit",
      "timeoutMinutes": 120,
      "observedMinutes": 7,
      "specs": [
        "specs-full/argo.spec.ts",
        "specs-full/flux.spec.ts",
        "specs-full/gitops.spec.ts"
      ],
      "paths": [
        "internal/argocd/**",
        "internal/flux/**",
        "internal/gitops/**",
        "frontend/src/components/Argo*.tsx",
        "frontend/src/components/Flux*.tsx",
        "frontend/src/components/Gitops*.tsx",
        "frontend/src/lib/argo*.ts",
        "frontend/src/lib/flux*.ts",
        "frontend/src/lib/gitops*.ts",
        "e2e/fixtures/gitops.yaml",
        "e2e/specs-full/argo.spec.ts",
        "e2e/specs-full/flux.spec.ts",
        "e2e/specs-full/gitops.spec.ts",
        "frontend/src/components/Graph*.tsx",
        "frontend/src/lib/columnFit.ts",
        "frontend/src/lib/entityLabel.ts",
        "frontend/src/lib/graph*.ts",
        "frontend/src/lib/readiness.ts",
        "frontend/src/lib/useElementWidth.ts",
        "internal/server/fleetgitops.go",
        "internal/server/gitops.go"
      ]
    },
    {
      "id": "observability-traffic",
      "label": "Observability and traffic",
      "runner": "playwright",
      "profile": "core",
      "tier": "commit",
      "timeoutMinutes": 90,
      "observedMinutes": 3,
      "specs": [
        "specs/metrics.spec.ts",
        "specs/traffic.spec.ts",
        "specs/waste.spec.ts"
      ],
      "paths": [
        "e2e/fixtures/prometheus.yaml",
        "e2e/specs/metrics.spec.ts",
        "e2e/specs/traffic.spec.ts",
        "frontend/src/components/Graph*.tsx",
        "frontend/src/components/InspectMetrics.tsx",
        "frontend/src/components/Traffic.tsx",
        "frontend/src/components/Waste.tsx",
        "frontend/src/lib/capabilities.ts",
        "frontend/src/lib/graph*.ts",
        "frontend/src/lib/metrics*.ts",
        "frontend/src/lib/traffic*.ts",
        "frontend/src/lib/useTrafficProbe.ts",
        "frontend/src/lib/waste.ts",
        "frontend/src/store/traffic.ts",
        "internal/metrics/**",
        "internal/prom/**",
        "internal/samples/**",
        "internal/server/views.go",
        "internal/server/waste.go",
        "internal/traffic/**",
        "internal/waste/**"
      ]
    },
    {
      "id": "multicluster-fleet",
      "label": "Multicluster and fleet",
      "runner": "playwright",
      "profile": "full",
      "tier": "commit",
      "timeoutMinutes": 120,
      "observedMinutes": 7,
      "specs": [
        "specs/clusters.spec.ts",
        "specs/fleet.spec.ts",
        "specs-full/twoclusters.spec.ts"
      ],
      "paths": [
        "internal/clusterid/**",
        "internal/kube/**",
        "frontend/src/components/Cluster*.tsx",
        "frontend/src/components/ContextPicker.tsx",
        "frontend/src/components/Fleet.tsx",
        "frontend/src/lib/cluster*.ts",
        "frontend/src/lib/clusters.ts",
        "frontend/src/lib/fleet.ts",
        "e2e/specs/clusters.spec.ts",
        "e2e/specs/fleet.spec.ts",
        "e2e/specs-full/twoclusters.spec.ts",
        "frontend/src/components/EntityLabel.tsx",
        "frontend/src/components/KubeconfigDialog.tsx",
        "frontend/src/components/TabMenu.tsx",
        "frontend/src/components/UsageBar.tsx",
        "frontend/src/lib/entityLabel.ts",
        "frontend/src/lib/overview.ts",
        "frontend/src/lib/useDismissMenu.ts",
        "frontend/src/store/clusterHealth.ts",
        "frontend/src/store/forwards.ts",
        "internal/overview/**",
        "internal/server/clusters.go",
        "internal/server/contexts.go",
        "internal/server/fleet.go",
        "internal/server/fleetchecks.go",
        "internal/server/fleetgitops.go",
        "internal/server/fleetinventory.go",
        "internal/server/fleetlists.go",
        "internal/server/fleetoverview.go",
        "internal/server/timeline.go"
      ]
    },
    {
      "id": "cluster-mode-auth",
      "label": "Cluster mode and authentication",
      "runner": "cluster-mode",
      "profile": "cluster-mode",
      "tier": "commit",
      "timeoutMinutes": 120,
      "observedMinutes": 10,
      "browserMinutes": 7,
      "specs": [
        "cluster-mode/oidc.spec.ts",
        "cluster-mode/proxy.spec.ts",
        "cluster-mode/restart.spec.ts"
      ],
      "paths": [
        "deploy/helm/spinoza/**",
        "docs/cluster-mode.md",
        "e2e/cluster-mode.config.ts",
        "e2e/cluster-mode/**",
        "flags.go",
        "frontend/src/components/UserMenu.tsx",
        "frontend/src/lib/identity.ts",
        "frontend/src/lib/useDismissMenu.ts",
        "internal/auth/**",
        "internal/server/auditstream.go",
        "internal/server/auth.go",
        "internal/server/drain.go",
        "internal/server/guard.go",
        "internal/server/measured.go",
        "internal/server/ready.go",
        "internal/server/requestid.go",
        "internal/server/support.go",
        "internal/store/mirror.go",
        "internal/telemetry/**",
        "logging.go",
        "main.go",
        "serve.go",
        "test/clustermode/**",
        "wiring.go"
      ]
    },
    {
      "id": "outage",
      "label": "Cluster outage",
      "runner": "playwright",
      "profile": "core",
      "tier": "commit",
      "timeoutMinutes": 45,
      "observedMinutes": 4,
      "specs": [
        "specs/outage.spec.ts"
      ],
      "paths": [
        "frontend/src/components/ClusterBanner.tsx",
        "frontend/src/components/ConnectionBanner.tsx",
        "frontend/src/lib/feed.ts",
        "frontend/src/lib/health.ts",
        "frontend/src/store/clusterHealth.ts",
        "frontend/src/store/feed.ts",
        "internal/reach/**",
        "internal/server/health.go",
        "internal/server/ws.go",
        "e2e/specs/outage.spec.ts"
      ]
    },
    {
      "id": "resilience-capacity-soak",
      "label": "Resilience, capacity and soak",
      "runner": "playwright",
      "profile": "full",
      "tier": "commit",
      "timeoutMinutes": 120,
      "observedMinutes": 6,
      "specs": [
        "specs/resilience.spec.ts",
        "specs/capacity.spec.ts"
      ],
      "paths": [
        "internal/reach/**",
        "internal/safe/**",
        "e2e/specs/resilience.spec.ts",
        "e2e/specs/capacity.spec.ts",
        "test/integration/faults_test.go",
        "internal/server/budget.go",
        "internal/server/health.go",
        "internal/server/memory.go",
        "internal/server/sinkwatch.go"
      ]
    },
    {
      "id": "mcp-cli",
      "label": "MCP and CLI",
      "runner": "mcp-cli",
      "profile": "integration",
      "tier": "commit",
      "timeoutMinutes": 75,
      "observedMinutes": 4,
      "specs": [],
      "paths": [
        "cmd/spinoza-mcp/**",
        "internal/mcp/**",
        "test/integration/mcp_test.go",
        "main.go"
      ]
    },
    {
      "id": "distribution-desktop-install",
      "label": "Distribution, desktop and install",
      "runner": "distribution",
      "profile": "distribution",
      "tier": "nightly",
      "timeoutMinutes": 180,
      "observedMinutes": 1,
      "specs": [],
      "paths": [
        ".github/workflows/install.yaml",
        ".github/workflows/release-artifacts.yaml",
        "Dockerfile",
        "install.ps1",
        "install.sh",
        "installer.go",
        "main_desktop.go",
        "packaging/**",
        "test/install/**",
        "test/packaging/**",
        "test/smoke.ps1",
        "wails.json"
      ]
    }
  ]
}