Real-time monitoring dashboard for Proxmox VE, PBS, Docker, Kubernetes, TrueNAS and vSphere. Self-hosted, with alerts for failed backups, full disks, unhealthy containers and offline nodes.
This report summarizes scanner evidence for rcourtman/Pulse, a Go project with 6,998 GitHub stars. SynthScan examined 2,855,836 lines of code across 8807 source files, recording 6325 pattern matches distributed across 24 syntactic categories. The legacy adjusted pattern signal is 2.5 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 5769 finding(s).
Are imports declared and package/API names verified? 373 finding(s).
Are wrappers, guards, and repeated structures necessary? 4849 finding(s).
Which changes need focused human review? 6325 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 6325 distinct pattern matches across 24 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend-modern/src/App.tsx | 89 | function isWorkspaceEntryRoutePath(pathname: string): boolean { | CODE |
| LOW | frontend-modern/src/App.tsx | 129 | export function resolvePlatformNavigationAdmission( | CODE |
| LOW | frontend-modern/src/App.tsx | 172 | export function sessionCanReadUpdateStatus( | CODE |
| LOW | frontend-modern/src/App.tsx | 221 | function GlobalUpdateProgressWatcher() { | CODE |
| LOW | frontend-modern/src/AppLayout.tsx | 88 | function resolveStandaloneSubTabTitle(pathname: string): string { | CODE |
| LOW | frontend-modern/src/AppLayout.tsx | 108 | function resolvePrimaryNavigationRoute(tab: PrimaryTab, routeMemory: PrimaryRouteMemory): string { | CODE |
| LOW | frontend-modern/src/AppLayout.tsx | 119 | export function resetPrimaryNavigationRouteMemory() { | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 289 | export function buildTrueNASSystemChildCounts( | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 345 | export function buildTrueNASStorageChildCounts( | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 409 | export function buildTrueNASStorageTopologyRows( | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 564 | function filterTrueNASStorageTopologyRow( | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 581 | export function filterTrueNASStorageTopologyRows( | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 611 | export function filterTrueNASStorageTopologyRowsByKind( | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 718 | export function mapTrueNASIncidentSeverity( | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 742 | function getTrueNASDiskHeatSummary( | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 758 | export function getTrueNASStorageDotStatus( | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 874 | export function mapTrueNASProtectionStatus(point: RecoveryPoint): TrueNASProtectionStatusBucket { | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 887 | export function buildTrueNASProtectionPosture( | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 981 | export function sortTrueNASProtectionPoints(points: readonly RecoveryPoint[]): RecoveryPoint[] { | CODE |
| LOW | …ontend-modern/src/features/truenas/truenasPageModel.ts | 1002 | export function filterTrueNASProtectionPoints( | CODE |
| LOW | …-modern/src/features/docker/dockerImagePresentation.ts | 71 | export function getDockerImageOperationalPresentation( | CODE |
| LOW | frontend-modern/src/features/docker/dockerPageModel.ts | 432 | export function buildDockerNetworkAttachmentRows( | CODE |
| LOW | frontend-modern/src/features/docker/dockerPageModel.ts | 507 | export function dockerResourceSearchHaystack(resource: Resource): string { | CODE |
| LOW | frontend-modern/src/features/docker/dockerPageModel.ts | 647 | export function mapDockerIncidentSeverity( | CODE |
| LOW | …odern/src/features/docker/DockerHostDrawerOverview.tsx | 127 | export function DockerHostDrawerManagement(props: { host: Resource }) { | CODE |
| LOW | …end-modern/src/features/docker/dockerImageReference.ts | 32 | export function getDockerImageRegistryLink( | CODE |
| LOW | …end-modern/src/features/docker/dockerImageReference.ts | 89 | export function splitDockerImageReference(reference: string): { head: string; tail: string } { | CODE |
| LOW | …n/src/features/docker/DockerIdentityConflictNotice.tsx | 18 | export function DockerIdentityConflictNotice(props: DockerIdentityConflictNoticeProps) { | CODE |
| LOW | …d-modern/src/features/docker/dockerIdentityConflict.ts | 13 | export function collectIdentityConflictHosts(hosts: Resource[]): IdentityConflictHost[] { | CODE |
| LOW | …c/features/platformPage/platformEstateOverviewModel.ts | 15 | export function buildProxmoxEstateTopology(resources: readonly Resource[]): ProxmoxEstateTopology { | CODE |
| LOW | …modern/src/features/platformPage/PlatformHostScope.tsx | 50 | export function createPlatformHostScopeFocus() { | CODE |
| LOW | …ntend-modern/src/features/platformPage/agentVersion.ts | 71 | export function collectOutdatedAgentHosts( | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 250 | export function PlatformTableLoadingState(props: { title: string; description: string }) { | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 290 | export function getPlatformTableResponsiveMinWidthClass(tableClass?: string): string { | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 326 | export function PlatformDetailTableHeader(props: { children: JSX.Element; class?: string }) { | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 406 | export function PlatformTablePreviewFooter(props: { | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 495 | export function PlatformResponsiveTableLabel(props: { | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 798 | export function PlatformTableDateTimeValue(props: { | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 840 | export function PlatformTableRelativeTimeValue(props: { | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 888 | export function PlatformTableDurationValue(props: { | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 984 | export function formatPlatformTableCountRatioValue( | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 995 | export function PlatformTableCountRatioValue(props: { | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 1050 | export function PlatformTablePercentValue(props: { | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 1074 | export function PlatformTableTemperatureValue(props: { | CODE |
| LOW | …odern/src/features/platformPage/sharedPlatformPage.tsx | 1095 | export function PlatformTableMetricFallback(props: { label?: string; title?: string } = {}) { | CODE |
| LOW | …res/platformPage/PlatformOutdatedSensorSetupNotice.tsx | 25 | export function PlatformOutdatedSensorSetupNotice(props: PlatformOutdatedSensorSetupNoticeProps) { | CODE |
| LOW | …ontend-modern/src/features/platformPage/sensorSetup.ts | 57 | export function collectOutdatedSensorSetupNodes(nodes: Resource[]): OutdatedSensorSetupNode[] { | CODE |
| LOW | …/features/platformPage/PlatformOutdatedAgentNotice.tsx | 33 | export function PlatformOutdatedAgentNotice(props: PlatformOutdatedAgentNoticeProps) { | CODE |
| LOW | …atures/platformPage/PlatformResourceDetailTableRow.tsx | 49 | export function getPlatformResourceDetailRowInteractionProps( | CODE |
| LOW | …atures/platformPage/PlatformResourceDetailTableRow.tsx | 79 | export function createPlatformResourceDetailState(options: { | CODE |
| LOW | …atures/platformPage/PlatformResourceDetailTableRow.tsx | 107 | export function createPlatformResourceLabelResolver(resources: () => readonly Resource[]) { | CODE |
| LOW | …-modern/src/features/standalone/standalonePageModel.ts | 67 | export function buildStandalonePostureSummary( | CODE |
| LOW | …-modern/src/features/standalone/standalonePageModel.ts | 114 | export function sortStandaloneResourcesByAttention( | CODE |
| LOW | …modern/src/features/standalone/hostIdentityConflict.ts | 18 | export function collectHostIdentityConflictHosts(hosts: Resource[]): HostIdentityConflictHost[] { | CODE |
| LOW | …src/features/standalone/HostIdentityConflictNotice.tsx | 29 | export function HostIdentityConflictNotice(props: HostIdentityConflictNoticeProps) { | CODE |
| LOW | …ern/src/features/proxmox/ProxmoxBackupServersTable.tsx | 159 | function BackupServerDatastoreContext(props: { | CODE |
| LOW | …ern/src/features/proxmox/ProxmoxBackupServersTable.tsx | 523 | export function ProxmoxBackupServersTable(props: { | CODE |
| LOW | …/features/proxmox/proxmoxBackupActivityPresentation.ts | 62 | export function getBackupActivitySegmentPresentation( | CODE |
| LOW | …/features/proxmox/proxmoxBackupActivityPresentation.ts | 76 | export function getBackupActivityUnknownCount(point: BackupActivityPoint): number { | CODE |
| LOW | …/features/proxmox/proxmoxBackupActivityPresentation.ts | 164 | export function getBackupActivityTooltipRows( | CODE |
| 4588 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install.sh | 4381 | fi | COMMENT |
| LOW | install.sh | 4741 | auto_update_helper_is_sane() { | COMMENT |
| LOW | install.sh | 4761 | # | COMMENT |
| LOW | install.sh | 4981 | StandardError=journal | COMMENT |
| LOW | .gitguardian.yaml | 21 | match: "PULSE_URL_PLACEHOLDER" | COMMENT |
| LOW | frontend-modern/src/types/workloads.ts | 81 | // Server-evaluated capability refusals from the unified resource. The | COMMENT |
| LOW | …ern/src/features/proxmox/ProxmoxBackupServersTable.tsx | 41 | type BackupServerColumnId, | COMMENT |
| LOW | …ntend-modern/src/features/proxmox/ProxmoxCephTable.tsx | 41 | // Ceph clusters are first-class Resources (type='ceph') with structured | COMMENT |
| LOW | …odern/src/features/proxmox/ProxmoxMailGatewayTable.tsx | 161 | emptyTitle: string; | COMMENT |
| LOW | …features/storageBackups/diskTemperaturePresentation.ts | 1 | import type { PhysicalDiskCollectionStatus, PhysicalDiskFieldStatus } from '@/types/resource'; | COMMENT |
| LOW | …_tests__/cephRecordPresentation.branchcov0712b.test.ts | 641 | // * consolidateCephClusterPoolRecords L92 survivor spread — requires a | COMMENT |
| LOW | …ckups/__tests__/zfsPresentation.branchcov0712b.test.ts | 21 | }) as ZFSDevice; | COMMENT |
| LOW | …sts__/storagePoolRowPresentation.branchcov0713.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …ckups/__tests__/rowPresentation.branchcov0712b.test.ts | 261 | } as unknown as StorageRecord; | COMMENT |
| LOW | …tests__/storageBarPresentation.branchcov0723pm.test.ts | 21 | scan: 'none', | COMMENT |
| LOW | …tests__/storageBarPresentation.branchcov0723pm.test.ts | 41 | // L64 `zfsPool.scan || ''` | COMMENT |
| LOW | …tests__/storageBarPresentation.branchcov0723pm.test.ts | 261 | COMMENT | |
| LOW | …torageCapacityDeltaPresentation.branchcov0712b.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …erts/__tests__/alertHistoryModel.branchcov0713.test.ts | 101 | // | COMMENT |
| LOW | …__tests__/alertDestinationsModel.branchcov0713.test.ts | 381 | }); | COMMENT |
| LOW | …odern/src/features/kubernetes/KubernetesNodesTable.tsx | 41 | import { | COMMENT |
| LOW | …n/__tests__/platformNavigationModel.branchcov2.test.ts | 41 | COMMENT | |
| LOW | …n/__tests__/platformNavigationModel.branchcov2.test.ts | 101 | COMMENT | |
| LOW | frontend-modern/src/stores/websocket.ts | 461 | COMMENT | |
| LOW | frontend-modern/src/stores/websocket.ts | 481 | // reacting to the operator. Bare pointer movement deliberately does not | COMMENT |
| LOW | frontend-modern/src/utils/patrolSummaryPresentation.ts | 1 | import type { PatrolRunRecord } from '@/api/patrol'; | COMMENT |
| LOW | …s__/aiPatrolSchedulePresentation.branchcov0713.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …__tests__/alertEmailPresentation.branchcov0718.test.ts | 41 | // - both arms of getAlertEmailUsernamePlaceholder ('SendGrid' vs 'SMTP2GO'), | COMMENT |
| LOW | …_/alertResourceTablePresentation.branchcov0718.test.ts | 21 | // | COMMENT |
| LOW | …ests__/alertHistoryPresentation.branchcov0712c.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …__/availabilityProbePresentation.branchcov0719.test.ts | 1 | import { afterEach, describe, expect, it, vi } from 'vitest'; | COMMENT |
| LOW | …tests__/alertConfigPresentation.branchcov0712b.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …ests__/securityScorePresentation.branchcov0718.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …ests__/securityScorePresentation.branchcov0718.test.ts | 21 | // "Review the remaining..." message retained). | COMMENT |
| LOW | …tests__/auditWebhookPresentation.branchcov0718.test.ts | 21 | // v8 reports the module at 100% branch coverage but only ~43% function coverage | COMMENT |
| LOW | …_tests__/resourceMetadataEvents.branchcov0712c.test.ts | 1 | import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; | COMMENT |
| LOW | …ts__/resourceBadgePresentation.branchcov0725am.test.ts | 21 | // Every one of those arms is UNREACHABLE BY CONSTRUCTION. They are defensive | COMMENT |
| LOW | …tests__/securityAuthPresentation.branchcov0713.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …/__tests__/nodeModalPresentation.branchcov0718.test.ts | 21 | // | COMMENT |
| LOW | …/__tests__/nodeModalPresentation.branchcov0718.test.ts | 61 | // getNodeMonitoringCoverageCopy — pbs input (sibling only asserted pve + pmg). | COMMENT |
| LOW | …tructureOnboardingPresentation.branchcov0723pm.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …__/alertDestinationsPresentation.branchcov0718.test.ts | 41 | // Error-copy constants reused as comparison anchors for the new branches. | COMMENT |
| LOW | …_/unifiedAgentStatusPresentation.branchcov0713.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …tests__/k8sNamespacePresentation.branchcov0718.test.ts | 21 | // getK8sNamespacesEmptyState(true|false). | COMMENT |
| LOW | …/utils/__tests__/aiCostPresentation.branchcov2.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | frontend-modern/src/components/updateReadinessModel.ts | 1 | // Decision logic for the post-update reload in UpdateProgressModal. | COMMENT |
| LOW | …odern/src/components/Settings/connectionsTableModel.ts | 941 | if (isPassiveAgentRolloutConfirmationFallbackSignal(signal, hasPassiveAgentConfigConfirmation)) | COMMENT |
| LOW | …ettings/__tests__/nodeModalModel.branchcov0712.test.ts | 21 | // * `host.trim()` then `if (!value) return ''` — empty + whitespace-only | COMMENT |
| LOW | …ettings/__tests__/nodeModalModel.branchcov0712.test.ts | 81 | it('strips a leading http(s):// scheme inside the catch arm', () => { | COMMENT |
| LOW | …areConnectionFailurePresentation.branchcov0712.test.ts | 21 | } from '../vmwareConnectionFailurePresentation'; | COMMENT |
| LOW | …InfrastructureOperationsState.branchcov0722pm.test.tsx | 1 | import { unixBootstrapTestSource } from '@/utils/__tests__/unixBootstrapTestSource'; | COMMENT |
| LOW | …tings/__tests__/nodeModalModel.branchcov0724pm.test.ts | 21 | ip: '10.0.0.1', | COMMENT |
| LOW | …/__tests__/settingsNavVisibility.branchcov0713.test.ts | 1 | import { describe, expect, it, vi } from 'vitest'; | COMMENT |
| LOW | …/__tests__/settingsNavVisibility.branchcov0713.test.ts | 21 | // - requiredCapability {resolved + missing} (L168-172) | COMMENT |
| LOW | …ed/__tests__/commandPaletteModel.branchcov0712.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …ed/__tests__/commandPaletteModel.branchcov0713.test.ts | 21 | // its `toLowerCase().trim().replace(/\s+/g, '')` pipeline and every | COMMENT |
| LOW | …d/__tests__/commandPaletteModel.branchcov0712c.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …ponents/AI/__tests__/aiChatUtils.branchcov0712.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …trol/__tests__/toolPresentation.branchcov0712b.test.ts | 1 | import { describe, expect, it } from 'vitest'; | COMMENT |
| LOW | …trol/__tests__/toolPresentation.branchcov0712b.test.ts | 21 | // post-value `)` break (line 298), end-of-body right after `=` (line 267), | COMMENT |
| 550 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …ern/src/components/shared/__tests__/TagBadges.test.tsx | 4 | // ── Hoisted mocks ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ern/src/components/shared/__tests__/TagBadges.test.tsx | 22 | // ── Module mocks ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ern/src/components/shared/__tests__/TagBadges.test.tsx | 69 | // ── Helpers ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ern/src/components/shared/__tests__/TagBadges.test.tsx | 93 | // ── Tests ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …d-modern/src/components/Workloads/GuestDrawer.test.tsx | 21 | // ── Mocks ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …d-modern/src/components/Workloads/GuestDrawer.test.tsx | 108 | // ── Helpers ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …d-modern/src/components/Workloads/GuestDrawer.test.tsx | 189 | // ── Tests ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …n/src/components/Workloads/__tests__/GuestRow.test.tsx | 9 | // ── Hoisted mocks ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …n/src/components/Workloads/__tests__/GuestRow.test.tsx | 16 | // ── Module mocks ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …n/src/components/Workloads/__tests__/GuestRow.test.tsx | 159 | // ── Helpers ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …n/src/components/Workloads/__tests__/GuestRow.test.tsx | 219 | // ── Setup / Teardown ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …n/src/components/Workloads/__tests__/GuestRow.test.tsx | 229 | // ── Tests ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/EnhancedCPUBar.test.tsx | 53 | // ── Basic rendering ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/EnhancedCPUBar.test.tsx | 75 | // ── Bar width ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/EnhancedCPUBar.test.tsx | 135 | // ── Cores display ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/EnhancedCPUBar.test.tsx | 152 | // ── Anomaly indicator ──────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/EnhancedCPUBar.test.tsx | 246 | // ── Tooltip ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 20 | // ── Helpers ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 83 | // ── Rendering with no data ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 98 | // ── Single disk (no stacking) ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 129 | // ── Aggregate disk fallback ───────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 161 | // ── Multiple disks (inline per-disk mode) ────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 206 | // ── Explicit stacked mode ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 254 | // ── Aggregate mode with multiple disks ────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 322 | // ── Mini mode ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 364 | // ── Tooltip ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 435 | // ── Color thresholds ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 519 | // ── Bar percent clamping ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 534 | // ── Zero capacity edge case ───────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 554 | // ── Anomaly indicator ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …components/Workloads/__tests__/StackedDiskBar.test.tsx | 599 | // ── maxDiskInfo for aggregate mode ──────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 50 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 52 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 90 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 92 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 147 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 149 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 175 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 177 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 337 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 339 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 446 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 448 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 489 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 491 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 611 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …s/Workloads/__tests__/useGroupedTableWindowing.test.ts | 613 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 42 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 44 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 77 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 79 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 133 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 135 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 193 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 195 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 302 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 304 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 423 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 425 | // ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …nts/Infrastructure/__tests__/useTableWindowing.test.ts | 488 | // ────────────────────────────────────────────────────────────── | COMMENT |
| 74 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/integration/scripts/owned-run-browser.test.py | 55 | if (!videos.length || videos.some(name => fs.statSync(results + '/' + name).size === 0)) throw Error('no finished vi | CODE |
| HIGH | scripts/tests/test_server_removal_failures.py | 119 | if [[ "$FLOW" == menu ]]; then main || exit $?; else uninstall_pulse || exit $?; fi | CODE |
| HIGH | scripts/tests/test_faq_deployment_docs.py | 49 | self.assertIn("ok && trigger > 0", adapter) | CODE |
| HIGH | scripts/tests/test_faq_deployment_docs.py | 97 | self.assertIn('props.envOverrides().discoveryEnabled || props.savingDiscoverySettings()', form) | CODE |
| HIGH | scripts/tests/test_playwright_acquisition.py | 142 | "run: npx playwright install --with-deps chromium || true\n"), | CODE |
| HIGH | scripts/tests/test_audit_recovery_docs.py | 162 | self.assertIn("resp.StatusCode < 200 || resp.StatusCode >= 300", self.sender) | CODE |
| HIGH | scripts/tests/test_ci_secret_scan.py | 225 | self.assertIn("DIFF_BASE: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || githu | STRING |
| HIGH | scripts/tests/test_server_directory_setup.py | 26 | chown_install_dir_for_pulse() { step install-owner || return 23; } | CODE |
| HIGH | scripts/tests/test_server_directory_setup.py | 27 | cat() { step env-write || return 23; command cat "$@"; } | CODE |
| HIGH⚡ | scripts/tests/test_server_directory_setup.py | 75 | result = self.shell('status=0\nsetup_directories || status=$?\n' | STRING |
| HIGH⚡ | scripts/tests/test_server_directory_setup.py | 88 | result = self.shell('status=0\nsetup_directories || status=$?\n' | STRING |
| HIGH | scripts/tests/test_server_directory_setup.py | 156 | main || status=$? | CODE |
| HIGH | scripts/tests/test_workflow_trust.py | 123 | script: return true | CODE |
| HIGH | scripts/tests/test_workflow_trust.py | 138 | script: return true | CODE |
| HIGH | scripts/tests/test_server_config_backups.py | 658 | main || status=$? | CODE |
| HIGH⚡ | scripts/tests/test_e2e_test_images.py | 350 | "run: npx playwright test --config=fixture-readiness.config.ts || true"), | CODE |
| HIGH | scripts/tests/test_e2e_test_images.py | 448 | "run: node --test scripts/settings-scroll-audit.test.mjs || true\n"), | CODE |
| HIGH⚡ | scripts/tests/test_patrol_rule_help.py | 32 | confirmations.push(message); | CODE |
| HIGH⚡ | scripts/tests/test_patrol_rule_help.py | 37 | calls.push({path, ...init}); | CODE |
| HIGH⚡ | scripts/tests/test_patrol_rule_help.py | 41 | return {ok: result.status >= 200 && result.status < 300, | CODE |
| HIGH⚡ | scripts/tests/test_patrol_rule_help.py | 45 | table: rows => tables.push(rows), | CODE |
| HIGH⚡ | scripts/tests/test_patrol_rule_help.py | 46 | info: message => messages.push({kind: 'info', message}), | CODE |
| HIGH⚡ | scripts/tests/test_patrol_rule_help.py | 47 | error: message => messages.push({kind: 'error', message}), | CODE |
| HIGH | scripts/tests/test_deployment_update_docs.py | 79 | "helm repo update &&", "docker stop pulse && docker rm pulse", | CODE |
| HIGH | scripts/tests/test_auto_update_service_state.py | 134 | perform_update v6.6.0 || status=$? | CODE |
| HIGH | scripts/tests/test_auto_update_service_state.py | 726 | 'status=0\nverify_update_running_executable pulse-custom@department || status=$?\n' | STRING |
| HIGH | scripts/tests/test_go_test_compilation.py | 134 | "PULSE_GO_COMPILE_BASE: ${{ github.event_name == 'pull_request' && github.event.pull_request.base.sha || git | STRING |
| HIGH | scripts/tests/test_notification_runtime.py | 117 | self.assertIn('rawRequest["telemetryEnabled"]; ok && h.config.EnvOverrides["PULSE_TELEMETRY"]', handler) | CODE |
| HIGH⚡ | scripts/tests/test_server_service_discovery.py | 185 | existing) check_existing_installation || status=$? | CODE |
| HIGH⚡ | scripts/tests/test_server_service_discovery.py | 187 | main|late-main) main || status=$? ;; | CODE |
| HIGH⚡ | scripts/tests/test_server_service_discovery.py | 188 | archive) install_pulse_archive "$FIXTURE/pulse-v6.6.0-linux-amd64.tar.gz" v6.6.0 || status=$? ;; | CODE |
| HIGH⚡ | scripts/tests/test_server_service_discovery.py | 189 | build) build_from_source main || status=$? ;; | CODE |
| HIGH⚡ | scripts/tests/test_server_service_discovery.py | 190 | automatic) perform_update v6.6.0 || status=$? ;; | CODE |
| HIGH⚡ | scripts/tests/test_server_service_discovery.py | 191 | uninstall) uninstall_pulse || status=$? ;; | CODE |
| HIGH⚡ | scripts/tests/test_server_service_discovery.py | 192 | reset) reset_pulse || status=$? ;; | CODE |
| HIGH⚡ | scripts/tests/test_server_service_discovery.py | 193 | unit) install_systemd_service || status=$? ;; | CODE |
| HIGH⚡ | scripts/tests/test_server_service_discovery.py | 194 | ensure-unit) ensure_systemd_service_installed || status=$? ;; | CODE |
| HIGH | scripts/tests/test_server_update_timer.py | 114 | install_auto_update_assets || result=$? | CODE |
| HIGH⚡ | scripts/tests/test_vm_disk_diagnostics.py | 740 | "if (renderFrame !== null) { cancelAnimationFrame(renderFrame); renderFrame = null; }" | STRING |
| HIGH⚡ | scripts/tests/test_vm_disk_diagnostics.py | 743 | "if (disposed || pendingCount === 0) return; " | STRING |
| HIGH | scripts/tests/test_metric_alert_help_docs.py | 50 | hold = producer.split('if !triggered && primary == "" {', 1)[1].split('return true', 1)[0] | CODE |
| HIGH | scripts/tests/test_server_start_admission.py | 77 | main || exit "$?" | CODE |
| HIGH | scripts/tests/test_server_start_admission.py | 105 | body = 'start_pulse || exit "$?"\nprintf "FLAG=%s\\n" "$PULSE_WAS_ACTIVE"\n' | STRING |
| HIGH⚡ | scripts/tests/test_pve_backup_troubleshooting_docs.py | 61 | "cfg.BackupDefaults.WarningDays <= 0 && cfg.BackupDefaults.CriticalDays <= 0", | CODE |
| HIGH | scripts/tests/test_pve_backup_troubleshooting_docs.py | 337 | self.assertNotIn('systemctl "$@" >/dev/null 2>&1 || true', helper) | STRING |
| HIGH | scripts/tests/test_server_script_publication.py | 139 | build_from_source fixture || exit "$?" | CODE |
| HIGH | scripts/tests/test_server_script_publication.py | 159 | main || exit "$?" | CODE |
| HIGH⚡ | scripts/tests/test_release_backend_queue.py | 230 | while kill -0 "${{pids[0]}}" 2>/dev/null; do sleep .01; done | CODE |
| HIGH⚡ | scripts/tests/test_release_backend_queue.py | 232 | wait_for_task || status=$? | CODE |
| HIGH | scripts/tests/test_server_update_repair.py | 90 | main || status=$? | CODE |
| HIGH⚡ | scripts/tests/test_agent_uninstall_docs.py | 119 | self.assertIn('systemctl stop "$unit" >/dev/null 2>&1 || return 1', helper) | CODE |
| HIGH⚡ | scripts/tests/test_agent_uninstall_docs.py | 120 | self.assertIn('systemctl disable "$unit" >/dev/null 2>&1 || return 1', helper) | CODE |
| HIGH⚡ | scripts/tests/test_api_reference_routes.py | 85 | "if req.Method != http.MethodGet && req.Method != http.MethodHead {\n\t\t\tscope = config.ScopeMonitoringWrite"), | CODE |
| HIGH⚡ | scripts/tests/test_api_reference_routes.py | 88 | "if req.Method != http.MethodGet && req.Method != http.MethodHead {\n\t\t\tscope = config.ScopeMonitoringWrite"), | CODE |
| HIGH⚡ | scripts/tests/test_api_reference_routes.py | 91 | "if req.Method != http.MethodGet && req.Method != http.MethodHead {\n\t\t\tscope = config.ScopeMonitoringWrite"), | CODE |
| HIGH⚡ | scripts/tests/test_npm_audit_retry.py | 470 | self.assertEqual(finding["range"], "<=1.1.20 || 4.0.0 - 5.0.11") | STRING |
| HIGH | scripts/tests/test_npm_audit_retry.py | 433 | "range": "<=1.1.20 || 4.0.0 - 5.0.11", | STRING |
| HIGH⚡ | scripts/tests/test_release_lifecycle_rehearsal.py | 208 | for payload in ("not json", "{}", "[]", '[{"tag_name":"v6.6.0"}]', '[[],{}]', '[[null]]'): | CODE |
| HIGH⚡ | scripts/tests/test_release_lifecycle_rehearsal.py | 218 | for payload in ("not json", "[]", "{}", '{"tag_name":null}'): | CODE |
| HIGH⚡ | scripts/tests/test_agent_profile_docs.py | 96 | self.assertIn("b && cfg.DockerExplicitlyDisabled", startup) | CODE |
| 13 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | frontend-modern/public/docs/PATROL_ARCHITECTURE.md | 52 | ## The agentic loop | COMMENT |
| MEDIUM | …tests__/WorkloadsSurface.performance.contract.test.tsx | 1198 | // overview layout guardrails check the surface imports only its type. | COMMENT |
| MEDIUM | cmd/eval/main.go | 12 | // -scenario string Scenario to run: smoke, readonly, routing, routing-recovery, logs, readonly-recovery, search-id, di | COMMENT |
| MEDIUM | internal/repoctl/doc.go | 1 | // Package repoctl contains repository-level guardrails that enforce | COMMENT |
| MEDIUM | internal/cloudcp/cloud_audit_branchcov0723am_test.go | 243 | // CheckStorageGuardrails error, and a cfg with guardrails disabled returns nil | COMMENT |
| MEDIUM | internal/cloudcp/cloud_audit_branchcov0723am_test.go | 277 | // guardrails-disabled path in EnforceStorageAdmission never reaches the | COMMENT |
| MEDIUM | internal/unifiedresources/adapters.go | 3273 | // namespacedKubernetesResource assembles the Resource scaffold and namespaced | COMMENT |
| MEDIUM | internal/ai/service.go | 2289 | // Stop the agentic loop when approvals are required. | COMMENT |
| MEDIUM | internal/ai/service.go | 2708 | // If any command needed approval, stop the agentic loop here. | COMMENT |
| MEDIUM | internal/ai/patrol_run.go | 622 | // Run agentic AI analysis — the LLM uses tools to investigate and reports findings | COMMENT |
| MEDIUM | internal/ai/patrol_run.go | 1147 | // Run agentic AI analysis on filtered state with scope | COMMENT |
| MEDIUM | internal/ai/patrol.go | 11 | // runAIAnalysisState() ── agentic LLM loop with tools | COMMENT |
| MEDIUM | internal/ai/patrol.go | 25 | // blocked command detection. Investigation guardrails and remediation | COMMENT |
| MEDIUM | internal/ai/patrol_ai.go | 2 | // system/user prompt construction, the agentic analysis loop, evaluation passes, | COMMENT |
| MEDIUM | internal/ai/patrol_ai.go | 500 | // runAIAnalysis uses the agentic tool-driven approach to analyze infrastructure. | COMMENT |
| MEDIUM | internal/ai/patrol_ai.go | 630 | // Execute the agentic patrol loop | COMMENT |
| MEDIUM | internal/ai/patrol_ai.go | 1012 | // The new agentic prompt instructs the LLM to use investigation tools and | COMMENT |
| MEDIUM | internal/ai/patrol_ai.go | 1178 | // buildSeedContext produces the infrastructure state context for the agentic patrol loop. | COMMENT |
| MEDIUM | internal/ai/tools/control_targets.go | 64 | // currently advertises a lifecycle capability. The agentic loop uses it to | COMMENT |
| MEDIUM | internal/ai/tools/control_targets.go | 408 | // action (or its lifecycle synonym). It is the evidence behind the agentic | COMMENT |
| MEDIUM | internal/ai/tools/strict_resolution_test.go | 1363 | // Commands that WOULD be read-only, but guardrails block them | COMMENT |
| MEDIUM | internal/ai/tools/protocol.go | 78 | // signalling a failure to the agentic loop (IsError=true). | COMMENT |
| MEDIUM | internal/ai/tools/tools_conclude.go | 81 | // conclusion. The agentic loop then asks only for the final summary. | COMMENT |
| MEDIUM | internal/ai/tools/executor.go | 646 | // This is set per-session by the agentic loop before tool execution | COMMENT |
| MEDIUM | internal/ai/tools/executor.go | 1021 | // This should be called by the agentic loop before executing tools for a session. | COMMENT |
| MEDIUM | internal/ai/tools/tools_query.go | 290 | // === PHASE 1.5: NonInteractiveOnly guardrails === | COMMENT |
| MEDIUM | internal/ai/tools/tools_query.go | 330 | // Additional guardrails before content inspection. | COMMENT |
| MEDIUM | internal/ai/tools/tools_query.go | 600 | // Also includes NonInteractiveOnly guardrails - pulse_read runs non-interactively, | COMMENT |
| MEDIUM | internal/ai/tools/tools_query.go | 661 | // Returns nil if command passes all guardrails. | COMMENT |
| MEDIUM | internal/ai/tools/tools_query.go | 1088 | // Note: Most guardrails have been moved to checkMutationCapabilityGuards (Phase 1) | COMMENT |
| MEDIUM | internal/ai/tools/tools_query.go | 1092 | // This phase is kept for potential future guardrails that should run | COMMENT |
| MEDIUM | internal/ai/tools/tools_query.go | 1521 | // NonInteractiveOnly guardrails | COMMENT |
| MEDIUM | internal/ai/memory/changes.go | 44 | // agentic execution. The history is loaded once at construction and never | COMMENT |
| MEDIUM | internal/ai/chat/agentic_control.go | 119 | // SetMaxTurns overrides the maximum number of agentic turns for this loop. | COMMENT |
| MEDIUM | internal/ai/chat/agentic_control.go | 145 | // agentic turns. | COMMENT |
| MEDIUM | internal/ai/chat/agentic_control.go | 152 | // SetBudgetChecker sets a function called after each agentic turn to enforce | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 293 | // failed) user-chat agentic turn. Uses the totals accumulated by the | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 428 | // Create agentic loop | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 486 | // Update agentic loop | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 786 | // Run agentic loop. Tool selection is model-owned: the turn always carries | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 2677 | // ExecutePatrolStream creates a temporary agentic loop for patrol execution. | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 2678 | // Unlike ExecuteStream (which uses the shared agentic loop with the chat system prompt), | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 2727 | // Create a temporary agentic loop with the patrol system prompt | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 2793 | // history into the agentic loop accumulates broken state: when any | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 2810 | // Run the agentic loop | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 2839 | // agentic loop, but we still write to it for the Pulse Assistant | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 3475 | // SetBudgetChecker sets a function called after each agentic turn to enforce | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 3476 | // token spending limits. The checker is propagated to the agentic loop. | COMMENT |
| MEDIUM | internal/ai/chat/service.go | 3850 | // web chat was retired, and the agentic loop refuses fabricated calls. | COMMENT |
| MEDIUM | internal/ai/chat/metrics.go | 40 | // Loop health - tracks agentic loop iterations | COMMENT |
| MEDIUM | internal/ai/chat/metrics.go | 128 | // RecordAgenticIteration records an agentic loop iteration (one LLM call). | COMMENT |
| MEDIUM | internal/ai/chat/metrics.go | 129 | // This counts each turn in the agentic loop, not each tool call. | COMMENT |
| MEDIUM | internal/ai/chat/interaction_scenario_corpus_test.go | 9 | // helpers, so refactors of the agentic loop (including Patrol-phase work on | COMMENT |
| MEDIUM | internal/ai/chat/agentic_verification.go | 16 | // used to detect repeated identical calls in the agentic loop. | COMMENT |
| MEDIUM | internal/ai/chat/knowledge_extractor_test.go | 1082 | // Simulate what agentic.go does: store negative marker | COMMENT |
| MEDIUM⚡ | internal/ai/chat/knowledge_extractor_test.go | 1935 | // Step 2: Store facts in KA (as agentic.go does) | COMMENT |
| MEDIUM | internal/ai/chat/knowledge_extractor_test.go | 1988 | // Simulate negative marker storage (as agentic.go does) | COMMENT |
| MEDIUM | internal/ai/chat/types.go | 246 | MaxTurns int `json:"max_turns,omitempty"` // Override max agentic turns (0 = use defaul | CODE |
| MEDIUM | internal/ai/chat/types.go | 1339 | // Max turns for the agentic loop to prevent infinite loops | COMMENT |
| MEDIUM | internal/ai/chat/agentic.go | 23 | // parallel tool execution in the agentic loop. Defined at package level | COMMENT |
| 20 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tests/integration/scripts/owned-run.py | 18 | CODE | |
| LOW | tests/integration/scripts/owned-run-browser.test.py | 69 | CODE | |
| LOW | tests/qualification/guest-agent-backup/test_check.py | 124 | CODE | |
| LOW | tests/qualification/guest-agent-backup/test_check.py | 134 | CODE | |
| LOW | tests/qualification/guest-agent-backup/test_check.py | 153 | CODE | |
| LOW | internal/api/testdata/chart_latency_proof.py | 203 | CODE | |
| LOW | scripts/check_docs_mirror.py | 95 | CODE | |
| LOW | scripts/diagnose-root-pair.py | 71 | CODE | |
| LOW | scripts/npm_audit_process.py | 23 | CODE | |
| LOW | scripts/test-container-packaging.py | 58 | CODE | |
| LOW | scripts/test-container-packaging.py | 188 | CODE | |
| LOW | scripts/test-container-packaging.py | 217 | CODE | |
| LOW | scripts/check_telemetry_schema_parity.py | 27 | CODE | |
| LOW | scripts/check_public_docs.py | 85 | CODE | |
| LOW | scripts/release_candidate_manifest.py | 278 | CODE | |
| LOW | scripts/browser_os_packages.py | 166 | CODE | |
| LOW | scripts/repo-boundary-regression.py | 16 | CODE | |
| LOW | scripts/telemetry_adoption_report.py | 1742 | CODE | |
| LOW | scripts/telemetry_adoption_report.py | 2063 | CODE | |
| LOW | scripts/telemetry_adoption_report.py | 3183 | CODE | |
| LOW | scripts/telemetry_adoption_report.py | 3659 | CODE | |
| LOW | scripts/telemetry_adoption_report.py | 1223 | CODE | |
| LOW | scripts/diagnose-uuid-layout.py | 73 | CODE | |
| LOW | scripts/release_browser_packet.py | 70 | CODE | |
| LOW | scripts/check_workflow_trust.py | 409 | CODE | |
| LOW | scripts/check_workflow_trust.py | 517 | CODE | |
| LOW | scripts/check_workflow_trust.py | 618 | CODE | |
| LOW | scripts/check_workflow_trust.py | 790 | CODE | |
| LOW | scripts/check_workflow_trust.py | 1307 | CODE | |
| LOW | scripts/check_workflow_trust.py | 1474 | CODE | |
| LOW | scripts/check_workflow_trust.py | 1637 | CODE | |
| LOW | scripts/tests/test_server_removal_failures.py | 193 | CODE | |
| LOW | scripts/tests/test_server_removal_failures.py | 207 | CODE | |
| LOW | scripts/tests/test_server_removal_failures.py | 253 | CODE | |
| LOW | scripts/tests/test_external_agent_docs.py | 223 | CODE | |
| LOW | scripts/tests/test_security_docs.py | 81 | CODE | |
| LOW | scripts/tests/test_security_docs.py | 103 | CODE | |
| LOW | scripts/tests/test_security_docs.py | 139 | CODE | |
| LOW | scripts/tests/test_security_docs.py | 158 | CODE | |
| LOW | scripts/tests/test_security_docs.py | 208 | CODE | |
| LOW | scripts/tests/test_release_train_ci_contract.py | 11 | CODE | |
| LOW | scripts/tests/test_dev_prepush_frontend.py | 356 | CODE | |
| LOW | scripts/tests/test_telemetry_adoption_report.py | 973 | CODE | |
| LOW | scripts/tests/test_auto_update_systemd.py | 240 | CODE | |
| LOW | scripts/tests/test_auto_update_systemd.py | 277 | CODE | |
| LOW | scripts/tests/test_auto_update_systemd.py | 342 | CODE | |
| LOW | scripts/tests/test_auto_update_systemd.py | 354 | CODE | |
| LOW | scripts/tests/test_auto_update_systemd.py | 388 | CODE | |
| LOW | scripts/tests/test_auto_update_systemd.py | 461 | CODE | |
| LOW | scripts/tests/test_auto_update_systemd.py | 494 | CODE | |
| LOW | scripts/tests/test_auto_update_systemd.py | 576 | CODE | |
| LOW | scripts/tests/test_auto_update_systemd.py | 719 | CODE | |
| LOW | scripts/tests/test_authentication_diagnostic_docs.py | 136 | CODE | |
| LOW | scripts/tests/test_authentication_diagnostic_docs.py | 155 | CODE | |
| LOW | scripts/tests/test_authentication_diagnostic_docs.py | 167 | CODE | |
| LOW | scripts/tests/test_authentication_diagnostic_docs.py | 185 | CODE | |
| LOW | scripts/tests/test_authentication_diagnostic_docs.py | 257 | CODE | |
| LOW | scripts/tests/test_api_auth_docs.py | 331 | CODE | |
| LOW | scripts/tests/test_api_auth_docs.py | 353 | CODE | |
| LOW | scripts/tests/test_api_auth_docs.py | 381 | CODE | |
| 164 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | analyze_coverage.py | 2 | CODE | |
| LOW | tests/integration/scripts/owned-run.test.py | 1 | CODE | |
| LOW | …on/navigation-reconnect/2026-09-05-access/interrupt.py | 1 | CODE | |
| LOW | internal/api/testdata/rg09/apt_workflows_colima.py | 4 | CODE | |
| LOW | scripts/select-smoke-test-shard.py | 3 | CODE | |
| LOW | scripts/write_github_output.py | 4 | CODE | |
| LOW | scripts/release_lifecycle_rehearsal_versions.py | 17 | CODE | |
| LOW | scripts/check_docs_mirror.py | 18 | CODE | |
| LOW | scripts/dependency_advisory_watch.py | 11 | CODE | |
| LOW | scripts/npm_audit_process.py | 4 | CODE | |
| LOW | scripts/sync_chart_release_metadata.py | 4 | CODE | |
| LOW | scripts/check_telemetry_schema_parity.py | 4 | CODE | |
| LOW | scripts/check-workflow-dispatch-inputs.py | 4 | CODE | |
| LOW | scripts/check_public_docs.py | 4 | CODE | |
| LOW | scripts/release_candidate_manifest.py | 4 | CODE | |
| LOW | scripts/browser_os_packages.py | 21 | CODE | |
| LOW | scripts/readme_entrypoints_test.py | 4 | CODE | |
| LOW | scripts/telemetry_adoption_report.py | 9 | CODE | |
| LOW | scripts/shard_go_tests.py | 4 | CODE | |
| LOW | scripts/check_workflow_trust.py | 4 | CODE | |
| LOW | scripts/memory/summarize_release_memory.py | 11 | CODE | |
| LOW | scripts/tests/test_security_docs.py | 9 | CODE | |
| LOW | scripts/tests/test_dev_prepush_frontend.py | 3 | CODE | |
| LOW | scripts/tests/test_telemetry_adoption_report.py | 4 | CODE | |
| LOW | scripts/tests/test_api_auth_docs.py | 8 | CODE | |
| LOW | scripts/tests/test_public_docs_workflow.py | 8 | CODE | |
| LOW | scripts/tests/test_webhook_verification_docs.py | 8 | CODE | |
| LOW | scripts/tests/test_memory_troubleshooting_docs.py | 9 | CODE | |
| LOW | scripts/tests/test_workflow_trust.py | 4 | CODE | |
| LOW | scripts/tests/test_smoke_runner.py | 4 | CODE | |
| LOW | scripts/tests/test_sync_chart_release_metadata.py | 4 | CODE | |
| LOW | scripts/tests/test_setup_access_docs.py | 9 | CODE | |
| LOW | scripts/tests/test_agent_removal_systemd.py | 6 | CODE | |
| LOW | scripts/tests/test_agent_removal_systemd.py | 9 | CODE | |
| LOW | scripts/tests/test_performance_troubleshooting_docs.py | 8 | CODE | |
| LOW | scripts/tests/test_localized_public_docs.py | 4 | CODE | |
| LOW | scripts/tests/test_precommit_admission.py | 9 | CODE | |
| LOW | scripts/tests/test_write_github_output.py | 4 | CODE | |
| LOW | scripts/tests/test_public_docs_claims.py | 4 | CODE | |
| LOW | scripts/tests/test_bootstrap_import_docs.py | 10 | CODE | |
| LOW | scripts/tests/test_deployment_update_docs.py | 10 | CODE | |
| LOW | scripts/tests/test_repo_docs_link_drift.py | 4 | CODE | |
| LOW | scripts/tests/test_smoke_workflow.py | 4 | CODE | |
| LOW | scripts/tests/test_node_api_docs.py | 7 | CODE | |
| LOW | scripts/tests/test_password_recovery_docs.py | 9 | CODE | |
| LOW | scripts/tests/test_validate_published_release.py | 3 | CODE | |
| LOW | scripts/tests/test_notification_troubleshooting_docs.py | 8 | CODE | |
| LOW | scripts/tests/test_gitleaks_ignore.py | 4 | CODE | |
| LOW | scripts/tests/test_admin_docs.py | 8 | CODE | |
| LOW | scripts/tests/test_docs_mirror.py | 4 | CODE | |
| LOW | scripts/tests/test_vm_disk_diagnostics.py | 8 | CODE | |
| LOW | scripts/tests/test_configuration_auth_docs.py | 8 | CODE | |
| LOW | scripts/tests/test_require_safe_gh_attestation.py | 3 | CODE | |
| LOW | scripts/tests/test_api_reference_routes.py | 9 | CODE | |
| LOW | scripts/tests/test_troubleshooting_logs.py | 7 | CODE | |
| LOW | scripts/tests/test_npm_audit_retry.py | 3 | CODE | |
| LOW | scripts/tests/test_release_lifecycle_rehearsal.py | 4 | CODE | |
| LOW | scripts/installtests/agent_legacy_teardown.py | 8 | CODE | |
| LOW | scripts/intelligence_lab/patrol_autonomy_colima.py | 4 | CODE | |
| LOW | scripts/intelligence_lab/patrol_autonomy_colima.py | 14 | CODE | |
| 110 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend-modern/public/docs/WEBHOOKS.md | 567 | "tenantName": "Acme Corp", | CODE |
| LOW | frontend-modern/public/docs/WEBHOOKS.md | 597 | "tenantName": "Acme Corp", | CODE |
| LOW | …ups/__tests__/recordPresentation.branchcov0718.test.ts | 381 | issueLabel: 'placeholder', | CODE |
| LOW | …atures/alerts/AlertAppriseDestinationsSection.test.tsx | 74 | 'placeholder', | CODE |
| LOW | …atures/alerts/AlertAppriseDestinationsSection.test.tsx | 82 | expect(screen.getByLabelText('API key')).toHaveAttribute('placeholder', 'Optional API key'); | CODE |
| LOW | …__tests__/alertDestinationsModel.branchcov0712.test.ts | 94 | username: 'user@example.com', | CODE |
| LOW | …__tests__/alertDestinationsModel.branchcov0712.test.ts | 108 | username: 'user@example.com', | CODE |
| LOW | …erts/__tests__/AlertDeadManDestinationSection.test.tsx | 59 | expect(input).toHaveAttribute('placeholder', 'Configured — enter a new URL to replace'); | CODE |
| LOW | frontend-modern/src/utils/alertEmailPresentation.ts | 13 | export const ALERT_EMAIL_REPLY_TO_PLACEHOLDER = 'admin@example.com'; | CODE |
| LOW | …ern/src/utils/__tests__/alertEmailPresentation.test.ts | 37 | expect(ALERT_EMAIL_REPLY_TO_PLACEHOLDER).toBe('admin@example.com'); | CODE |
| LOW | …utils/__tests__/frontendResourceTypeBoundaries.test.ts | 4029 | expect(emailProviderSelectSource).not.toContain('admin@example.com'); | CODE |
| LOW⚡ | …ectionEditor/__tests__/AvailabilityTargetSlot.test.tsx | 334 | 'placeholder', | CODE |
| LOW⚡ | …ectionEditor/__tests__/AvailabilityTargetSlot.test.tsx | 338 | 'placeholder', | CODE |
| LOW⚡ | …ectionEditor/__tests__/AvailabilityTargetSlot.test.tsx | 346 | 'placeholder', | CODE |
| LOW | …ettings/__tests__/NetworkBoundaryCorsGuidance.test.tsx | 52 | expect(input).toHaveAttribute('placeholder', 'https://app.example.com:8443'); | CODE |
| LOW | …/components/Settings/__tests__/ReportingPanel.test.tsx | 316 | 'placeholder', | CODE |
| LOW | …omponents/Settings/__tests__/ssoProvidersModel.test.ts | 19 | allowedEmails: ['admin@example.com'], | CODE |
| LOW | …omponents/Settings/__tests__/ssoProvidersModel.test.ts | 27 | expect(payload.allowedEmails).toEqual(['admin@example.com']); | CODE |
| LOW | …omponents/Settings/__tests__/ssoProvidersModel.test.ts | 49 | expect(oidc.allowedEmails).toEqual(['admin@example.com', 'ops@example.com']); | CODE |
| LOW | frontend-modern/src/components/shared/TagInput.test.tsx | 61 | expect(input).toHaveAttribute('placeholder', 'Add tag'); | CODE |
| LOW | …d-modern/src/components/__tests__/OrgSwitcher.test.tsx | 13 | { id: 'acme', displayName: 'Acme Corp' }, | CODE |
| LOW | deploy/provider-msp/traefik.yml | 30 | email: "admin@example.com" | CODE |
| LOW | deploy/provider-msp/traefik.yml | 39 | email: "admin@example.com" | CODE |
| LOW | tests/integration/tests/99-visual-crawl.spec.ts | 99 | const placeholder = el.getAttribute("placeholder") || ""; | CODE |
| LOW | internal/config/multi_tenant_branchcov0722pm_test.go | 291 | require.NoError(t, mtp.SaveOrganization(&models.Organization{ID: "acme", DisplayName: "Acme Corp"})) | CODE |
| LOW | internal/config/multi_tenant_branchcov0722pm_test.go | 294 | assert.Equal(t, "Acme Corp", loaded.DisplayName) | CODE |
| LOW | internal/config/persistence_test.go | 1643 | Username: "user@example.com", | CODE |
| LOW | internal/config/persistence_test.go | 1646 | To: []string{"admin@example.com", "ops@example.com"}, | CODE |
| LOW | internal/config/persistence_test.go | 1704 | Username: "user@example.com", | CODE |
| LOW | internal/config/oidc_test.go | 138 | AllowedEmails: []string{"user@example.com"}, | CODE |
| LOW | internal/config/oidc_test.go | 260 | AllowedEmails: []string{"user@example.com", ""}, | CODE |
| LOW | internal/models/organization_additional_test.go | 41 | {UserID: "admin@example.com", Role: OrgRoleAdmin, AddedBy: "owner@example.com"}, | CODE |
| LOW⚡ | internal/models/organization_additional_test.go | 72 | {UserID: "u_admin", Email: "admin@example.com", Role: OrgRoleAdmin, AddedBy: "u_owner"}, | CODE |
| LOW⚡ | internal/models/organization_additional_test.go | 79 | if role := org.GetMemberRoleForPrincipal("u_intruder", "admin@example.com"); role != "" { | CODE |
| LOW⚡ | internal/models/organization_additional_test.go | 88 | if org.CanonicalizePrincipalIdentity("u_intruder", "admin@example.com") { | CODE |
| LOW⚡ | internal/models/organization_additional_test.go | 125 | {UserID: "u_admin", Email: "admin@example.com", Role: OrgRoleAdmin}, | CODE |
| LOW⚡ | internal/models/organization_additional_test.go | 133 | if org.CanUserIDAccess("owner@example.com") || org.CanUserIDManage("admin@example.com") { | CODE |
| LOW⚡ | internal/models/organization_additional_test.go | 136 | if got := org.GetMemberRoleByUserID("admin@example.com"); got != "" { | CODE |
| LOW⚡ | internal/models/organization_additional_test.go | 139 | if got := org.GetMemberRole("admin@example.com"); got != OrgRoleAdmin { | CODE |
| LOW | internal/models/organization_additional_test.go | 151 | {UserID: "u_admin", Email: "admin@example.com", Role: OrgRoleAdmin}, | CODE |
| LOW | internal/models/organization_additional_test.go | 161 | userID, role, ok = org.ResolvePrincipalByEmail("admin@example.com") | CODE |
| LOW | internal/cloudcp/portal/handlers_test.go | 999 | html := renderPortalHTML(t, BuildBootstrapData(true, "admin@example.com", []portalPageAccount{ | CODE |
| LOW | internal/cloudcp/portal/frontend/src/store.test.ts | 159 | { subject_id: 'u_2', email: 'admin@example.com', role: 'admin', user_id: 'u_2', state: 'active', created_at: | CODE |
| LOW | internal/cloudcp/portal/frontend/src/store.test.ts | 167 | { subject_id: 'u_2', email: 'admin@example.com', role: 'admin', user_id: 'u_2', state: 'active', created_at: '2026 | CODE |
| LOW | internal/cloudcp/portal/frontend/src/shell_view.ts | 1117 | '" placeholder="Acme Corp" maxlength="80" autocomplete="off">' + | CODE |
| LOW | internal/cloudcp/portal/frontend/src/shell_view.ts | 1389 | '" placeholder="user@example.com" autocomplete="off"></div>' + | CODE |
| LOW | …al/cloudcp/portal/frontend/src/account_runtime.test.ts | 100 | '<input id="ws-name-acct_1" value="Acme Corp">' + | CODE |
| LOW | …al/cloudcp/portal/frontend/src/account_runtime.test.ts | 118 | body: JSON.stringify({ display_name: 'Acme Corp' }), | CODE |
| LOW | internal/cloudcp/registry/registry_test.go | 471 | Email: "user@example.com", | CODE |
| LOW⚡ | internal/cloudcp/registry/registry_test.go | 490 | if got.Email != "user@example.com" { | CODE |
| LOW⚡ | internal/cloudcp/registry/registry_test.go | 491 | t.Errorf("Email = %q, want %q", got.Email, "user@example.com") | CODE |
| LOW⚡ | internal/cloudcp/registry/registry_test.go | 501 | got2, err := reg.GetUserByEmail("user@example.com") | CODE |
| LOW | internal/unifiedresources/store_test.go | 2160 | Actor: "admin@example.com", | CODE |
| LOW | internal/unifiedresources/store_test.go | 2868 | Actor: "admin@example.com", | CODE |
| LOW | internal/unifiedresources/history_identity_test.go | 715 | record(pveDiskAlertChange("placeholder", "pve1", "/dev/sda", ChangeAlertFired, "To Be Filled By O.E.M.", "", now), sd | CODE |
| LOW | internal/unifiedresources/history_identity_test.go | 739 | require.ElementsMatch(t, []string{"own", "reordered", "replacement", "unidentified", "placeholder"}, pveDiskHistoryID | CODE |
| LOW | internal/ai/providers/gemini_stream_test.go | 29 | client := NewGeminiClient("fake-key", "gemini-pro", ts.URL, 10*time.Second) | CODE |
| LOW | internal/ai/providers/gemini_stream_test.go | 105 | client := NewGeminiClient("fake-key", "gemini-pro", ts.URL, 10*time.Second) | CODE |
| LOW | internal/ai/providers/gemini_stream_test.go | 163 | client := NewGeminiClient("fake-key", "gemini-pro", ts.URL, 10*time.Second) | CODE |
| LOW | internal/api/licensing_handlers_auto_migrate_test.go | 57 | Email: "user@example.com", | CODE |
| 64 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | install.sh | 5664 | # Check if user selected stable update | COMMENT |
| LOW⚡ | install.sh | 5674 | # Check if user selected RC update | COMMENT |
| LOW⚡ | install.sh | 5684 | # Check if user selected reinstall | COMMENT |
| LOW⚡ | install.sh | 5690 | # Check if user selected remove | COMMENT |
| LOW⚡ | install.sh | 5696 | # Check if user selected cancel | COMMENT |
| LOW | install.sh | 993 | # Check if empty and use default | COMMENT |
| LOW | install.sh | 1125 | # Check if SELinux is available and enforcing | COMMENT |
| LOW | install.sh | 1151 | # Check if this is a Proxmox VE host | COMMENT |
| LOW | install.sh | 1350 | # Check if we can interact with the user | COMMENT |
| LOW | install.sh | 1453 | # Check if ID is in use | COMMENT |
| LOW | install.sh | 1581 | # Check if the default interface is a bridge | COMMENT |
| LOW | install.sh | 1906 | # Check if selected template is Alpine or other non-Debian based | COMMENT |
| LOW | install.sh | 1958 | # Check if template exists - pveam list shows full paths like storage:vztmpl/file.tar.zst | COMMENT |
| LOW | install.sh | 1963 | # Check if this exact template exists in pveam list | COMMENT |
| LOW | install.sh | 2073 | # Set timezone to UTC for consistent logging | COMMENT |
| LOW | install.sh | 3812 | # Check if we should build from source - do this FIRST to avoid confusing version messages | COMMENT |
| LOW | install.sh | 5838 | # Check if this is truly a fresh installation or an update | COMMENT |
| LOW | install.sh | 6265 | # Check if this is a Docker container (multiple detection methods) | COMMENT |
| LOW | docker-entrypoint.sh | 80 | # Check if we need to modify the user/group | COMMENT |
| LOW | tests/integration/scripts/run-tests.sh | 163 | # Check if the Pulse test container is actually running and reachable. | COMMENT |
| LOW | internal/api/configapi/setup_script_render.go | 107 | # Check if running as root | COMMENT |
| LOW | internal/api/configapi/setup_script_render.go | 1433 | # Check if this is a Raspberry Pi | COMMENT |
| LOW | internal/api/configapi/setup_script_render.go | 1582 | # Check if running as root | COMMENT |
| LOW | internal/api/configapi/setup_script_render.go | 1588 | # Check if proxmox-backup-manager command exists | COMMENT |
| LOW | .devcontainer/start-pulse-dev.sh | 7 | # Check if already running | COMMENT |
| LOW | scripts/remerge-parallel.sh | 223 | # Check if there's a cherry-pick in progress that needs finishing | COMMENT |
| LOW | scripts/sync-production-config.sh | 61 | # Check if keys are different | COMMENT |
| LOW | scripts/sync-production-config.sh | 92 | # Check if production nodes.enc is valid (not corrupted) | COMMENT |
| LOW | scripts/sync-production-config.sh | 105 | # Check if dev copy is suspiciously small (likely corrupted) | COMMENT |
| LOW | scripts/sync-production-config.sh | 109 | # Check if files are different (always prefer production to avoid drift) | COMMENT |
| LOW | scripts/hot-dev.sh | 358 | # Check if Pro module is available and use it for full audit logging support. | COMMENT |
| LOW | scripts/install.sh | 615 | # Check if SELinux is available and enforcing | COMMENT |
| LOW | scripts/install.sh | 4470 | # Check if Docker is available and accessible | COMMENT |
| LOW | scripts/install.sh | 4848 | # Check if running inside a Kubernetes pod (in-cluster config) | COMMENT |
| LOW | scripts/install.sh | 6772 | # Check if we can write to /usr/local/bin (catches immutable filesystems like TrueNAS) | COMMENT |
| LOW | scripts/install.sh | 7221 | # Check if it's a valid executable (ELF for Linux/FreeBSD, Mach-O for macOS). | COMMENT |
| LOW | scripts/install.sh | 7419 | # Check if pulse-agent is already installed and handle upgrade gracefully | COMMENT |
| LOW | scripts/install.sh | 7968 | # Check if task already exists | COMMENT |
| LOW | scripts/pulse-auto-update.sh | 79 | # Check if auto-updates are enabled | COMMENT |
| LOW | scripts/pulse-auto-update.sh | 850 | # Check if auto-updates are enabled | COMMENT |
| LOW | scripts/pulse-auto-update.sh | 853 | # Check if we're in Docker (updates not supported) | COMMENT |
| LOW⚡ | scripts/install-docker.sh | 68 | # Check if running as root (early check for better error messages) | COMMENT |
| LOW⚡ | scripts/install-docker.sh | 84 | # Check if Docker is installed | COMMENT |
| LOW⚡ | scripts/install-docker.sh | 93 | # Check if docker compose is available | COMMENT |
| LOW | scripts/dev-deploy-agent.sh | 86 | # Check if host is reachable and get architecture | COMMENT |
| LOW⚡ | scripts/lint-fixer/watch.sh | 61 | # Check if it's currently calling AI | COMMENT |
| LOW⚡ | scripts/lint-fixer/watch.sh | 69 | # Check if testing | COMMENT |
| LOW⚡ | scripts/lint-fixer/watch.sh | 76 | # Check if scanning | COMMENT |
| LOW⚡ | scripts/lint-fixer/watch.sh | 82 | # Check if building | COMMENT |
| LOW⚡ | scripts/lint-fixer/watch.sh | 88 | # Check if completed | COMMENT |
| LOW | scripts/lint-fixer/watch.sh | 199 | # Check if running | COMMENT |
| LOW | scripts/lint-fixer/run.sh | 437 | # Check if changes were ACTUALLY made | COMMENT |
| LOW | scripts/installtests/install_docker_sh_test.go | 531 | const rootCheckBlock = `# Check if running as root (early check for better error messages) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | frontend-modern/public/docs/INSTALL.md | 325 | ### Step 1: Get the Token | COMMENT |
| LOW | frontend-modern/public/docs/INSTALL.md | 339 | ### Step 2: Create Admin Account | COMMENT |
| LOW | …ern/src/utils/__tests__/onboardingBackupSafety.test.ts | 26 | start: '### Step 2: Create Admin Account', | CODE |
| LOW⚡ | …/tests/journeys/07-ai-patrol-finding-lifecycle.spec.ts | 293 | // Step 1: Acknowledge the finding | COMMENT |
| LOW⚡ | …/tests/journeys/07-ai-patrol-finding-lifecycle.spec.ts | 302 | // Step 2: Verify finding is still present (acknowledged ≠ removed) | COMMENT |
| LOW⚡ | …/tests/journeys/07-ai-patrol-finding-lifecycle.spec.ts | 314 | // Step 3: Resolve the finding (closes the loop) | COMMENT |
| LOW⚡ | …/tests/journeys/07-ai-patrol-finding-lifecycle.spec.ts | 323 | // Step 4: Verify finding is removed from active findings | COMMENT |
| LOW | internal/ai/routing.go | 89 | // Step 1: Try VMID-based routing (most authoritative for pct/qm commands) | COMMENT |
| LOW | internal/ai/routing.go | 142 | // Step 2: Try unified provider lookup (PRIMARY method for workloads) | COMMENT |
| LOW | internal/ai/routing.go | 176 | // Step 3: Fallback to explicit context fields (backwards compatibility) | COMMENT |
| LOW | internal/ai/routing.go | 195 | // Step 3: Extract VMID from target ID and look up in state | COMMENT |
| LOW | internal/ai/routing.go | 219 | // Step 4: Try to find exact matching agent | COMMENT |
| LOW | internal/ai/routing.go | 261 | // Step 5: No target node determined - for agent commands with no context, use first agent. | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 29 | // Step 1: Create resolved context (simulating session creation) | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 32 | // Step 2: Add the LXC resource to resolved context (simulating discovery) | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 47 | // Step 3: Simulate prefetch marking @mention as explicit access | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 57 | // Step 4: Create tool executor with state showing pve-node is a Proxmox node | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 143 | // Step 1: Create resolved context | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 146 | // Step 2: Add resources via bulk discovery (no explicit access) | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 163 | // Step 3: Verify NO resources are marked as recently accessed | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 169 | // Step 4: Since no children are recently accessed, host operation should be allowed | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 199 | // Step 1: Create resolved context | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 202 | // Step 2: Add resources | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 211 | // Step 3: Mark the child as explicitly accessed (from @mention) | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 218 | // Step 4: Verify the child IS recently accessed | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 223 | // Step 5: This documents the CURRENT POLICY: | COMMENT |
| LOW | internal/ai/chat/routing_contract_test.go | 81 | // Step 5: Simulate tool call targeting the host (pve-node) instead of the LXC | COMMENT |
| LOW | internal/ai/chat/routing_contract_test.go | 92 | // Step 6: Verify the ErrRoutingMismatch response structure | COMMENT |
| LOW⚡ | internal/ai/chat/knowledge_extractor_test.go | 1931 | // Step 1: Extract facts from tool result | COMMENT |
| LOW⚡ | internal/ai/chat/knowledge_extractor_test.go | 1935 | // Step 2: Store facts in KA (as agentic.go does) | COMMENT |
| LOW⚡ | internal/ai/chat/knowledge_extractor_test.go | 1940 | // Step 3: Predict keys (as gate does on second call) | COMMENT |
| LOW⚡ | internal/ai/chat/knowledge_extractor_test.go | 1944 | // Step 4: Gate lookup — at least one predicted key should be found | COMMENT |
| LOW⚡ | internal/ai/chat/knowledge_extractor_test.go | 1953 | // Step 5: Enrichment via MarkerExpansions | COMMENT |
| LOW | internal/api/ai_handlers_patrol_test.go | 22 | // Step 1: Update settings to set patrol interval to 15 minutes explicitly | COMMENT |
| LOW | internal/api/ai_handlers_patrol_test.go | 47 | // Step 2: Verify persistence by fetching settings again | COMMENT |
| LOW | internal/relay/client_license_lifecycle_test.go | 417 | // Step 1: Register with bad token — expect LICENSE_INVALID rejection | COMMENT |
| LOW | internal/relay/client_license_lifecycle_test.go | 432 | // Step 2: Simulate grant refresh by switching to a good token | COMMENT |
| LOW | docs/INSTALL.md | 325 | ### Step 1: Get the Token | COMMENT |
| LOW | docs/INSTALL.md | 339 | ### Step 2: Create Admin Account | COMMENT |
| LOW⚡ | pkg/pbs/client.go | 659 | // Step 1: Create monitoring user (ignore if exists) | COMMENT |
| LOW⚡ | pkg/pbs/client.go | 665 | // Step 2: Grant Audit role on / (root path) | COMMENT |
| LOW⚡ | pkg/pbs/client.go | 670 | // Step 3: Create API token | COMMENT |
| LOW | pkg/pbs/client.go | 685 | // Step 4: Grant Audit role to the token as well | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ern/src/utils/__tests__/onboardingBackupSafety.test.ts | 26 | start: '### Step 2: Create Admin Account', | CODE |
| LOW⚡ | …/tests/journeys/07-ai-patrol-finding-lifecycle.spec.ts | 293 | // Step 1: Acknowledge the finding | COMMENT |
| LOW⚡ | …/tests/journeys/07-ai-patrol-finding-lifecycle.spec.ts | 302 | // Step 2: Verify finding is still present (acknowledged ≠ removed) | COMMENT |
| LOW⚡ | …/tests/journeys/07-ai-patrol-finding-lifecycle.spec.ts | 314 | // Step 3: Resolve the finding (closes the loop) | COMMENT |
| LOW⚡ | …/tests/journeys/07-ai-patrol-finding-lifecycle.spec.ts | 323 | // Step 4: Verify finding is removed from active findings | COMMENT |
| LOW | internal/ai/routing.go | 89 | // Step 1: Try VMID-based routing (most authoritative for pct/qm commands) | COMMENT |
| LOW | internal/ai/routing.go | 142 | // Step 2: Try unified provider lookup (PRIMARY method for workloads) | COMMENT |
| LOW | internal/ai/routing.go | 176 | // Step 3: Fallback to explicit context fields (backwards compatibility) | COMMENT |
| LOW | internal/ai/routing.go | 195 | // Step 3: Extract VMID from target ID and look up in state | COMMENT |
| LOW | internal/ai/routing.go | 219 | // Step 4: Try to find exact matching agent | COMMENT |
| LOW | internal/ai/routing.go | 261 | // Step 5: No target node determined - for agent commands with no context, use first agent. | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 29 | // Step 1: Create resolved context (simulating session creation) | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 32 | // Step 2: Add the LXC resource to resolved context (simulating discovery) | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 47 | // Step 3: Simulate prefetch marking @mention as explicit access | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 57 | // Step 4: Create tool executor with state showing pve-node is a Proxmox node | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 143 | // Step 1: Create resolved context | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 146 | // Step 2: Add resources via bulk discovery (no explicit access) | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 163 | // Step 3: Verify NO resources are marked as recently accessed | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 169 | // Step 4: Since no children are recently accessed, host operation should be allowed | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 199 | // Step 1: Create resolved context | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 202 | // Step 2: Add resources | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 211 | // Step 3: Mark the child as explicitly accessed (from @mention) | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 218 | // Step 4: Verify the child IS recently accessed | COMMENT |
| LOW⚡ | internal/ai/chat/routing_contract_test.go | 223 | // Step 5: This documents the CURRENT POLICY: | COMMENT |
| LOW | internal/ai/chat/routing_contract_test.go | 81 | // Step 5: Simulate tool call targeting the host (pve-node) instead of the LXC | COMMENT |
| LOW | internal/ai/chat/routing_contract_test.go | 92 | // Step 6: Verify the ErrRoutingMismatch response structure | COMMENT |
| LOW⚡ | internal/ai/chat/knowledge_extractor_test.go | 1931 | // Step 1: Extract facts from tool result | COMMENT |
| LOW⚡ | internal/ai/chat/knowledge_extractor_test.go | 1935 | // Step 2: Store facts in KA (as agentic.go does) | COMMENT |
| LOW⚡ | internal/ai/chat/knowledge_extractor_test.go | 1940 | // Step 3: Predict keys (as gate does on second call) | COMMENT |
| LOW⚡ | internal/ai/chat/knowledge_extractor_test.go | 1944 | // Step 4: Gate lookup — at least one predicted key should be found | COMMENT |
| LOW⚡ | internal/ai/chat/knowledge_extractor_test.go | 1953 | // Step 5: Enrichment via MarkerExpansions | COMMENT |
| LOW | internal/api/auth.go | 1397 | // We need to check if EITHER the global config has tokens OR if we have a tenant monitor (which might have tokens) | COMMENT |
| LOW | internal/api/ai_handlers_patrol_test.go | 22 | // Step 1: Update settings to set patrol interval to 15 minutes explicitly | COMMENT |
| LOW | internal/api/ai_handlers_patrol_test.go | 47 | // Step 2: Verify persistence by fetching settings again | COMMENT |
| LOW | internal/relay/client_license_lifecycle_test.go | 417 | // Step 1: Register with bad token — expect LICENSE_INVALID rejection | COMMENT |
| LOW | internal/relay/client_license_lifecycle_test.go | 432 | // Step 2: Simulate grant refresh by switching to a good token | COMMENT |
| LOW⚡ | pkg/pbs/client.go | 659 | // Step 1: Create monitoring user (ignore if exists) | COMMENT |
| LOW⚡ | pkg/pbs/client.go | 665 | // Step 2: Grant Audit role on / (root path) | COMMENT |
| LOW⚡ | pkg/pbs/client.go | 670 | // Step 3: Create API token | COMMENT |
| LOW | pkg/pbs/client.go | 685 | // Step 4: Grant Audit role to the token as well | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install.sh | 1515 | # Quick mode - just use defaults silently | COMMENT |
| MEDIUM | …_tests__/actionAuditPresentation.branchcov0712.test.ts | 253 | // branch and robust to label/detail wording changes. | COMMENT |
| MEDIUM | …s/__tests__/actionAuditPresentation.branchcov2.test.ts | 253 | // branch and robust to label/detail wording changes. | COMMENT |
| MEDIUM | …/components/shared/SharedPrimitives.guardrails.test.ts | 8376 | // Hook is robust to malformed localStorage and SSR. | COMMENT |
| MEDIUM | tests/integration/docker-compose.test.yml | 85 | # Keep the harness seed proportional to that contract instead of making | COMMENT |
| MEDIUM | internal/alerts/storage.go | 189 | // storage.ID, regardless of the composite alert-state key) so it is robust to | COMMENT |
| MEDIUM | internal/alerts/pmg.go | 805 | // calculateTrimmedBaseline computes a robust baseline from historical samples | COMMENT |
| MEDIUM | …sources/action_audit_canonicalization_coverage_test.go | 88 | // re-marshaled canonical form) and the len(updates)==0 early return. The robust | COMMENT |
| MEDIUM | internal/ai/service.go | 3825 | // Find the appropriate agent using robust routing | COMMENT |
| MEDIUM | internal/ai/service.go | 3828 | // Use the new robust routing logic | COMMENT |
| MEDIUM | internal/ai/routing.go | 2 | // This file contains the robust agent routing logic for executing commands on the correct host. | COMMENT |
| MEDIUM | internal/ai/patrol_objectives.go | 1047 | // nuanced retained outcome is fully covered. | COMMENT |
| MEDIUM | internal/monitoring/reload_test.go | 57 | // If GetMonitor is robust, checking error branch might require mocking persistence failure. | COMMENT |
| MEDIUM | internal/monitoring/monitor_polling_node_helpers.go | 226 | // Determine SSH hostname to use (most robust approach): | COMMENT |
| MEDIUM | …ternal/vmware/activity_changes_branchcov0720am_test.go | 282 | // this keeps the assertion robust to comparator quirks while still | COMMENT |
| MEDIUM | scripts/release_lifecycle_rehearsal.sh | 718 | # /rehearsal is the fixed mount spelling used by the existing harness. | COMMENT |
| MEDIUM | scripts/install.sh | 8018 | # Create OpenRC init script following Alpine best practices | COMMENT |
| MEDIUM | scripts/tests/run.sh | 3 | # Simple harness to execute smoke tests under scripts/tests/. | COMMENT |
| MEDIUM | scripts/tests/test-pulse-auto-update.sh | 211 | # subsequent function returns in this sourced test harness. | COMMENT |
| MEDIUM | scripts/tests/test-pulse-auto-update.sh | 368 | # subsequent function returns in this sourced test harness. | COMMENT |
| MEDIUM⚡ | scripts/tests/test_release_lifecycle_rehearsal.py | 302 | self.assertIn('grep -q "^# Pulse update command" /bin/update', self.harness) | STRING |
| MEDIUM | scripts/release_control/registry_audit_test.py | 239 | # verification settings. A policy that names a harness without owning | COMMENT |
| MEDIUM | .github/workflows/install-sh-smoke-body.yml | 5 | # contents:write to read unpublished assets. Reusable workflows cannot elevate | COMMENT |
| MEDIUM | .github/workflows/install-sh-smoke-body.yml | 247 | # PULSE_INSTALL_ALLOW_DOCKER=1 opts the smoke harness past install.sh's | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tests/integration/scripts/owned-run.py | 76 | except ProcessLookupError: | CODE |
| HIGH | tests/integration/scripts/owned-run.py | 86 | except ProcessLookupError: | CODE |
| HIGH | scripts/npm_audit_process.py | 19 | except ProcessLookupError: | CODE |
| HIGH | scripts/npm_audit_process.py | 59 | except subprocess.TimeoutExpired: | CODE |
| HIGH | scripts/npm_audit_process.py | 53 | except subprocess.TimeoutExpired: | CODE |
| HIGH | scripts/tests/test_memory_troubleshooting_docs.py | 126 | except ProcessLookupError: | CODE |
| HIGH | scripts/tests/test_performance_troubleshooting_docs.py | 137 | except ProcessLookupError: | CODE |
| HIGH | scripts/tests/test_troubleshooting_logs.py | 114 | except ProcessLookupError: | CODE |
| HIGH | scripts/tests/test_troubleshooting_logs.py | 176 | except ProcessLookupError: | CODE |
| HIGH | scripts/tests/test_npm_audit_retry.py | 98 | except ProcessLookupError: | CODE |
| HIGH | scripts/tests/test_npm_audit_retry.py | 103 | except ProcessLookupError: | CODE |
| HIGH | scripts/installtests/agent_systemd_teardown.py | 279 | except ProcessLookupError: | CODE |
| HIGH | scripts/installtests/agent_nas_teardown.py | 727 | except ProcessLookupError: pass | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | internal/ai/memory/remediation.go | 45 | Summary string `json:"summary,omitempty"` // AI-generated summary of what was achieved | CODE |
| HIGH | internal/ai/unified/alerts.go | 2 | // threshold-based alerts and AI-generated findings into a single intelligence layer. | COMMENT |
| HIGH | internal/ai/unified/alerts.go | 937 | // GetAIFindings returns all active AI-generated findings | COMMENT |
| HIGH | internal/ai/unified/integration.go | 104 | // AddAIFinding adds an AI-generated finding | COMMENT |
| HIGH | …i/qualification/lab_report_pure_w0716_coverage_test.go | 107 | // intact requirement toggled as requested; all other fields stay default. | COMMENT |
| HIGH | pkg/reporting/pdf.go | 515 | // AI-generated executive prose, rendered between the deterministic | COMMENT |
| HIGH | pkg/reporting/pdf.go | 707 | // summary. When data.Narrative is set (AI-generated or pre-computed | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | install.sh | 2472 | except Exception: | CODE |
| LOW | install.sh | 2482 | except Exception: | CODE |
| LOW | install.sh | 2742 | except Exception: | CODE |
| LOW | install.sh | 2876 | except Exception: | CODE |
| LOW | install.sh | 2908 | except Exception: | CODE |
| LOW | tests/qualification/alert-lifecycle/acceptance.py | 353 | except Exception as error: | CODE |
| MEDIUM | internal/api/configapi/setup_script_render.go | 920 | def run_command(args, timeout=8): | CODE |
| LOW⚡ | internal/api/configapi/setup_script_render.go | 951 | except Exception: | CODE |
| LOW⚡ | internal/api/configapi/setup_script_render.go | 970 | except Exception: | CODE |
| LOW⚡ | internal/api/configapi/setup_script_render.go | 993 | except Exception: | CODE |
| LOW⚡ | internal/api/configapi/setup_script_render.go | 1205 | except Exception: | CODE |
| LOW⚡ | internal/api/configapi/setup_script_render.go | 1214 | except Exception: | CODE |
| LOW | internal/api/configapi/setup_script_render.go | 930 | except Exception: | CODE |
| LOW | internal/api/configapi/setup_script_render.go | 940 | except Exception: | CODE |
| LOW | internal/api/configapi/setup_script_render.go | 1062 | except Exception: | CODE |
| LOW | internal/api/configapi/setup_script_render.go | 1296 | except Exception: | CODE |
| LOW | scripts/test-container-packaging.py | 272 | except Exception as error: | STRING |
| LOW | scripts/check_notification_runtime.py | 74 | except Exception as exc: | CODE |
| LOW | scripts/check_notification_runtime.py | 353 | except Exception as exc: | CODE |
| LOW | scripts/check_notification_runtime.py | 359 | except Exception as exc: | CODE |
| MEDIUM | scripts/check_notification_runtime.py | 59 | def do_POST(self): | CODE |
| MEDIUM | scripts/check_notification_runtime.py | 284 | def run(self): | CODE |
| LOW | scripts/release-go-test-events.py | 53 | except Exception: | CODE |
| LOW | scripts/tests/test_release_lifecycle_rehearsal.py | 719 | except Exception: | STRING |
| LOW | …ripts/release_control/secure_runtime_attestation_v6.py | 719 | except Exception: | CODE |
| LOW | …l/internal/msp_provider_tenant_management_rehearsal.py | 167 | except Exception as exc: # pragma: no cover | CODE |
| LOW | …l/internal/msp_provider_tenant_management_rehearsal.py | 395 | except Exception: | CODE |
| LOW | …rol/internal/hosted_signup_billing_replay_rehearsal.py | 205 | except Exception as exc: # pragma: no cover - exercised via callers/tests | CODE |
| LOW | …release_control/internal/unified_agent_rc_rehearsal.py | 134 | except Exception as exc: # pragma: no cover - exercised via caller tests | CODE |
| LOW | scripts/eval/render_model_matrix.py | 82 | except Exception: | CODE |
| LOW | .github/scripts/demo-runtime-transaction.py | 631 | except Exception as exc: | CODE |
| LOW | .github/scripts/demo-runtime-transaction.py | 656 | except Exception as recovery: | CODE |
| MEDIUM | .github/scripts/demo-runtime-transaction.py | 197 | def command(self, argv, *, timeout=20, env=None): | CODE |
| LOW | .github/scripts/tests/demo_runtime_native.py | 188 | except Exception as error: | STRING |
| LOW | .github/scripts/tests/demo_runtime_native.py | 213 | except Exception as cleanup: | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …modern/src/utils/__tests__/agentInstallCommand.test.ts | 465 | elif p.get("slow"): | CODE |
| HIGH⚡ | …ntend-modern/src/components/Settings/nodeModalModel.ts | 157 | elif pveum role add PulseTmpGuestAudit -privs VM.GuestAgent.Audit 2>/dev/null; then | CODE |
| HIGH⚡ | …ntend-modern/src/components/Settings/nodeModalModel.ts | 167 | elif pveum role add PulseTmpGuestFileRead -privs VM.GuestAgent.FileRead 2>/dev/null; then | CODE |
| HIGH⚡ | …ntend-modern/src/components/Settings/nodeModalModel.ts | 174 | elif pveum role add PulseTmpVMMonitor -privs VM.Monitor 2>/dev/null; then | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | install.sh | 4388 | # This file is loaded by systemd when starting Pulse | COMMENT |
| MEDIUM | frontend-modern/src/utils/__tests__/docsLinks.test.ts | 405 | const setup = truenas.split('## Quick Start')[1].split('## Creating a TrueNAS API Key')[0]; | CODE |
| MEDIUM | internal/api/configapi/setup_script_render.go | 838 | # Create a privilege-separated token and capture value (shown once by Proxmox) | COMMENT |
| MEDIUM | scripts/install.sh | 6810 | # Create the dedicated service account for the least-privilege profile and | COMMENT |
| MEDIUM | scripts/install.sh | 7637 | # Create a wrapper script that will be called from /boot/config/go | COMMENT |
| MEDIUM | scripts/secure-runtime-rootful-runtime.sh | 3 | # This file is sourced by run-secure-runtime-rootful-qualification.sh and kept | COMMENT |
| MEDIUM | scripts/build-release.sh | 350 | # Create a detection script that creates the pulse symlink based on architecture | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | internal/ai/unified/setup.go | 40 | // Example usage: | COMMENT |
| LOW | scripts/package-helm-chart.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/dev-launchd-setup.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/remerge-parallel.sh | 12 | # Usage: | COMMENT |
| LOW | scripts/release_lifecycle_rehearsal.sh | 20 | # Usage: | COMMENT |
| LOW | scripts/hot-dev.sh | 40 | # Usage: | COMMENT |
| LOW | scripts/install.sh | 6 | # Usage: | COMMENT |
| LOW | scripts/dev-check.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/hot-dev-bg.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/install-mcp.sh | 10 | # Usage: | COMMENT |
| LOW | scripts/lint-fixer/run.sh | 9 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/telemetry_adoption_report.py | 3448 | CODE | |
| LOW | scripts/tests/test_server_removal_failures.py | 127 | CODE | |
| LOW | scripts/tests/test_server_release_selection.py | 70 | CODE | |
| LOW | scripts/tests/test_auto_update_service_state.py | 190 | CODE | |
| LOW | scripts/tests/test_server_service_discovery.py | 202 | CODE | |
| LOW | scripts/tests/test_server_update_timer.py | 126 | CODE | |
| LOW | scripts/tests/test_server_update_menu.py | 82 | CODE | |
| LOW | scripts/installtests/agent_legacy_teardown.py | 141 | CODE | |
| LOW | scripts/installtests/agent_uninstall_state.py | 43 | CODE | |
| LOW | scripts/installtests/agent_nas_teardown.py | 210 | CODE | |
| LOW | …ipts/release_control/validate_artifact_release_line.py | 67 | CODE | |
| LOW | …ripts/release_control/secure_runtime_attestation_v6.py | 936 | CODE | |
| LOW | …ripts/release_control/secure_runtime_attestation_v6.py | 1075 | CODE | |
| LOW | scripts/release_control/status_audit_test.py | 107 | CODE | |
| LOW | scripts/release_control/status_audit_test.py | 135 | CODE | |
| LOW | scripts/release_control/status_audit_test.py | 228 | CODE | |
| LOW | …elease_control/verify_release_container_images_test.py | 21 | CODE | |
| LOW | scripts/release_control/resolve_release_promotion.py | 360 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | internal/monitoring/monitor_polling_test.go | 725 | resource.TrueNAS == nil || resource.TrueNAS.App == nil || resource.TrueNAS.App.Stats == nil || !resource.TrueNAS.App | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …d-modern/src/utils/__tests__/docsTokenGuidance.test.ts | 91 | expect(text).not.toContain('?token=YOUR_TOKEN_HERE'); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/tests/test_agent_removal_systemd.py | 103 | def helper(self, directory, refuse=False): | STRING |
| LOW | scripts/installtests/agent_removal_systemd.py | 164 | def helper(self, directory, refuse=False): | CODE |
| LOW | scripts/release_control/run_go_rest_shard.py | 63 | def run_task(task: tuple[str, list[str]]) -> dict: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …components/Settings/InfrastructureInstallerSection.tsx | 265 | only for telemetry the API cannot provide, such as SMART, temperatures, and host-local | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …se_control/internal/unified_agent_rc_rehearsal_test.py | 63 | def set_routes(self, routes: dict[str, tuple[int, bytes, dict[str, str]]]) -> None: | CODE |