Open-Source Personal Cloud OS for Always-On Agents
This report summarizes scanner evidence for beclab/Olares, a Go project with 5,334 GitHub stars. SynthScan examined 1,405,293 lines of code across 7641 source files, recording 2344 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 1.9 (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? 2297 finding(s).
Are imports declared and package/API names verified? 37 finding(s).
Are wrappers, guards, and repeated structures necessary? 93 finding(s).
Which changes need focused human review? 2344 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 2344 distinct pattern matches across 20 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 | .githooks/git-hooks-config.sh | 1 | #!/bin/sh | COMMENT |
| LOW | framework/oac/oac.go | 1 | // Package oachecker lints an OlaresApp (`oac`) chart directory. It | COMMENT |
| LOW | framework/oac/oac.go | 41 | // existing charts. Turn it on with WithBlindChownCheck() on PR gates. | COMMENT |
| LOW | framework/oac/oac.go | 61 | // the permission-vs-template cross-checks (appdata, appCommon, | COMMENT |
| LOW | framework/oac/version.go | 1 | package oac | COMMENT |
| LOW | framework/oac/chart_limits_test.go | 61 | } | COMMENT |
| LOW | framework/oac/options.go | 1 | package oac | COMMENT |
| LOW | framework/oac/options.go | 121 | // effective securityContext grants root-equivalent privileges (any of | COMMENT |
| LOW | framework/oac/options.go | 141 | // 1. owner == admin (cluster-admin install) | COMMENT |
| LOW | framework/oac/options.go | 181 | } | COMMENT |
| LOW | framework/oac/options.go | 201 | // validator continue to compile and behave as before, modulo the fact | COMMENT |
| LOW | framework/oac/options.go | 241 | // SkipSubPathExprCheck disables the volumeMounts.subPathExpr ban. The | COMMENT |
| LOW | framework/oac/chart.go | 21 | // executed depends on the Skip* options set on the Checker: | COMMENT |
| LOW | framework/oac/chart.go | 41 | // skipped for v2) - ALWAYS run when options.allowMultipleInstall is true | COMMENT |
| LOW | framework/oac/chart.go | 221 | } | COMMENT |
| LOW | framework/oac/chart.go | 361 | // underlying pipeline re-parses the payload under both admin=owner and | COMMENT |
| LOW | framework/oac/chart.go | 381 | func (c *OAC) ValidateManifestContent(content []byte) error { | COMMENT |
| LOW | framework/oac/chart.go | 401 | // drives dedicated helm renders with .Values.GPU.Type set to rm.Mode, | COMMENT |
| LOW | framework/oac/chart.go | 561 | return errors.Join(errs...) | COMMENT |
| LOW | framework/oac/chart.go | 641 | } | COMMENT |
| LOW | framework/oac/appconfig.go | 1 | package oac | COMMENT |
| LOW | framework/oac/appconfig.go | 21 | // "github.com/beclab/oac" | COMMENT |
| LOW | framework/oac/appconfig.go | 101 | // already-parsed manifest. It applies the same rules as | COMMENT |
| LOW | framework/oac/chartscan.go | 21 | // | COMMENT |
| LOW | framework/oac/README.md | 121 | type AppConfiguration = apimanifest.AppConfiguration | COMMENT |
| LOW | framework/oac/oac_test.go | 121 | // fixture mounts hostPaths on Deployments whose strategy is Recreate, so | COMMENT |
| LOW | framework/oac/images.go | 41 | // | COMMENT |
| LOW | framework/oac/images.go | 61 | // Passing an empty mode is identical to calling ListImages: no GPU.Type | COMMENT |
| LOW | framework/oac/taxonomy.go | 1 | package oac | COMMENT |
| LOW | framework/oac/apps_report_test.go | 41 | } | COMMENT |
| LOW | framework/oac/errors.go | 21 | // caller passes a nil pointer. Wrapping it in a *ValidationError (via | COMMENT |
| LOW | framework/oac/testdata/codex/templates/deployment.yaml | 1 | # Codex CLI on Olares | COMMENT |
| LOW | framework/oac/testdata/codex/templates/deployment.yaml | 21 | # - Optional docker-dind sidecar (ENABLE_DIND, default on): privileged | COMMENT |
| LOW | framework/oac/internal/resources/chown.go | 21 | // CheckBlindRecursiveChown flags containers that run a recursive chown | COMMENT |
| LOW | framework/oac/internal/resources/cluster_scoped.go | 41 | // (detected via UsernameProbeA/B) are exempted. | COMMENT |
| LOW | framework/oac/internal/resources/workloads.go | 161 | // whose spec.replicas does not track the value therefore cannot be stopped at | COMMENT |
| LOW | framework/oac/internal/resources/workloads.go | 221 | } | COMMENT |
| LOW | framework/oac/internal/resources/securitycontext.go | 21 | // | COMMENT |
| LOW | framework/oac/internal/resources/securitycontext.go | 101 | COMMENT | |
| LOW | framework/oac/internal/resources/namespace.go | 21 | // userSystemNamespacePrefix is the only cross-namespace destination we | COMMENT |
| LOW | framework/oac/internal/manifest/validate_test.go | 581 | t.Fatalf("per-field cascade %q must be suppressed when the consolidated guidance fires, got: %v", cascade, err) | COMMENT |
| LOW | framework/oac/internal/manifest/validate_test.go | 901 | t.Fatal("expected Rule 7 mutex error when both shapes coexist") | COMMENT |
| LOW | framework/oac/internal/manifest/validate_test.go | 1261 | COMMENT | |
| LOW | framework/oac/internal/manifest/validate_test.go | 1341 | // validateModernFieldRequiresManifestVersion before the overlay | COMMENT |
| LOW | framework/oac/internal/manifest/validate_test.go | 1821 | // - apiVersion=v3 forces the constraint to restrict Olares to | COMMENT |
| LOW | framework/oac/internal/manifest/resources_test.go | 641 | // - Rule 7 mutual exclusion: every legacy flat field must be reported as | COMMENT |
| LOW | framework/oac/internal/manifest/resources_test.go | 721 | // malformed spec.resources[0] entry (mode set, ResourceRequirement empty). | COMMENT |
| LOW | framework/oac/internal/manifest/template_syntax.go | 21 | // `{{` or `}}` delimiter that does not belong to any key's value | COMMENT |
| LOW | framework/oac/internal/manifest/template_syntax.go | 41 | matched := content[loc[0]:loc[1]] | COMMENT |
| LOW | framework/oac/internal/manifest/template_syntax.go | 61 | // next byte); | COMMENT |
| LOW | framework/oac/internal/manifest/resources.go | 101 | // - mutual exclusion (Rule 7): runs at every version. Legacy flat | COMMENT |
| LOW | framework/oac/internal/manifest/taxonomy.go | 21 | // AppMetaData because that type is shared with the cluster runtime, which has | COMMENT |
| LOW | framework/oac/internal/manifest/validate.go | 401 | // spec.resources[] is not consulted on this branch. | COMMENT |
| LOW | framework/oac/internal/manifest/validate.go | 421 | // - At < 0.12.0 when none of the five required legacy fields is set, | COMMENT |
| LOW | framework/oac/internal/manifest/validate.go | 521 | func flatResourceQuantityRule(field string, templateOnly bool) validation.Rule { | COMMENT |
| LOW | framework/oac/internal/manifest/validate.go | 541 | // who fill out only part of the envelope still get format feedback | COMMENT |
| LOW | framework/oac/internal/manifest/validate.go | 581 | func hasAnyFlatResourceQuantity(spec *AppSpec) bool { | COMMENT |
| LOW | framework/oac/internal/manifest/validate.go | 621 | } | COMMENT |
| LOW | framework/oac/internal/manifest/validate.go | 641 | // declaring it is rejected here so gitbot blocks the submission long | COMMENT |
| LOW | framework/oac/internal/manifest/validate.go | 681 | COMMENT | |
| 1812 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/developer/develop/index.md | 19 | ## Step 1: Package your application | COMMENT |
| LOW | docs/developer/develop/index.md | 26 | ## Step 2: Submit your application | COMMENT |
| LOW | docs/developer/develop/submit-apps.md | 26 | ### Step 1: Add your OAC to your fork | COMMENT |
| LOW | docs/developer/develop/submit-apps.md | 39 | ### Step 2: Create a draft PR | COMMENT |
| LOW | docs/developer/develop/submit-apps.md | 70 | ### Step 3: Wait for Terminus-Gitbot | COMMENT |
| LOW | docs/use-cases/arrs.md | 127 | ### Step 1: Obtain the Sonarr API Key | COMMENT |
| LOW | docs/use-cases/arrs.md | 134 | ### Step 2: Add indexers in Prowlarr | COMMENT |
| LOW | docs/use-cases/arrs.md | 159 | ### Step 3: Sync Prowlarr with Sonarr | COMMENT |
| LOW | docs/use-cases/hermes-ssh.md | 47 | ### Step 1: Store a key in persistent app data | COMMENT |
| LOW | docs/use-cases/hermes-ssh.md | 72 | ### Step 2: Authorize the key on the target computer {#authorize-ssh-key} | COMMENT |
| LOW | docs/use-cases/hermes-ssh.md | 91 | ### Step 3: Check the first connection {#check-ssh-connection} | COMMENT |
| LOW | docs/use-cases/immich-import-from-nas.md | 29 | ## Step 1: Mount the NAS shared folder to Olares | COMMENT |
| LOW | docs/use-cases/immich-import-from-nas.md | 51 | ## Step 2: Add the folder to an Immich external library | COMMENT |
| LOW | docs/use-cases/openclaw-integration.md | 30 | ## Step 1: Create a Discord bot | COMMENT |
| LOW | docs/use-cases/openclaw-integration.md | 53 | ## Step 2: Invite the bot to server | COMMENT |
| LOW | docs/use-cases/openclaw-integration.md | 72 | ## Step 3: Configure the channel | COMMENT |
| LOW | docs/use-cases/openclaw-integration.md | 92 | ## Step 4: Authorize your account | COMMENT |
| LOW⚡ | docs/use-cases/openclaw-web-access.md | 27 | ## Step 1: Install SearXNG | COMMENT |
| LOW⚡ | docs/use-cases/openclaw-web-access.md | 37 | ## Step 2: Get the SearXNG endpoint | COMMENT |
| LOW⚡ | docs/use-cases/openclaw-web-access.md | 46 | ## Step 3: Connect OpenClaw to SearXNG | COMMENT |
| LOW | docs/use-cases/openclaw-web-access.md | 67 | ## Step 4: Verify web search | COMMENT |
| LOW | docs/use-cases/nemoclaw-1.12.6.md | 150 | ### Step 1: Create a Discord bot | COMMENT |
| LOW | docs/use-cases/nemoclaw-1.12.6.md | 173 | ### Step 2: Invite the bot to your server | COMMENT |
| LOW | docs/use-cases/nemoclaw-1.12.6.md | 192 | ### Step 3: Configure the Discord channel | COMMENT |
| LOW | docs/use-cases/nemoclaw-1.12.6.md | 229 | ### Step 4: Authorize your Discord account | COMMENT |
| LOW | docs/use-cases/trek-advanced-settings.md | 33 | ### Step 1: Set up a Google Cloud project | COMMENT |
| LOW | docs/use-cases/trek-advanced-settings.md | 40 | ### Step 2: Configure the OAuth consent screen | COMMENT |
| LOW | docs/use-cases/trek-advanced-settings.md | 55 | ### Step 3: Create the OAuth client ID | COMMENT |
| LOW | docs/use-cases/trek-advanced-settings.md | 79 | ### Step 4: Connect Google SSO to TREK | COMMENT |
| LOW | docs/use-cases/trek-advanced-settings.md | 125 | ### Step 2: Enable search-specific APIs | COMMENT |
| LOW | docs/use-cases/trek-advanced-settings.md | 147 | ### Step 3: Create API keys | COMMENT |
| LOW | docs/use-cases/opencode-olares-cli.md | 20 | ## Step 1: Authenticate the Olares CLI with your Olares ID | COMMENT |
| LOW | docs/use-cases/opencode-olares-cli.md | 70 | ## Step 2: Direct your agent to execute tasks | COMMENT |
| LOW | docs/use-cases/bifrost.md | 98 | ### Step 1: Connect OpenCode to Bifrost | COMMENT |
| LOW | docs/use-cases/bifrost.md | 116 | ### Step 2: Chat and verify | COMMENT |
| LOW | docs/use-cases/bifrost.md | 132 | ### Step 1: Connect Open WebUI to Bifrost | COMMENT |
| LOW | docs/use-cases/bifrost.md | 148 | ### Step 2: Chat and verify | COMMENT |
| LOW | docs/use-cases/openclaw.md | 77 | ### Step 1: Get model connection details | COMMENT |
| LOW | docs/use-cases/openclaw.md | 89 | ### Step 2: Run onboarding wizard | COMMENT |
| LOW | docs/use-cases/openclaw.md | 145 | ### Step 3: Pair device | COMMENT |
| LOW | docs/use-cases/openclaw.md | 230 | ### Step 4: Personalize OpenClaw | COMMENT |
| LOW | docs/use-cases/openclaw-olares-skills.md | 28 | ## Step 1: Authenticate with the Olares CLI | COMMENT |
| LOW | docs/use-cases/openclaw-olares-skills.md | 74 | ## Step 2: Direct your agent to execute tasks | COMMENT |
| LOW | docs/use-cases/duix-avatar.md | 88 | ### Step 1: Model training | COMMENT |
| LOW | docs/use-cases/duix-avatar.md | 100 | ### Step 2: Audio synthesis | COMMENT |
| LOW | docs/use-cases/duix-avatar.md | 126 | ### Step 3: Video synthesis | COMMENT |
| LOW | docs/use-cases/duix-avatar.md | 138 | ### Step 4: Query video synthesis progress | COMMENT |
| LOW | docs/use-cases/hermes-1.12.6.md | 74 | ### Step 1: Get model connection details | COMMENT |
| LOW | docs/use-cases/hermes-1.12.6.md | 82 | ### Step 2: Run the setup wizard | COMMENT |
| LOW | docs/use-cases/hermes-1.12.6.md | 139 | #### Step 1: Create a Discord bot | COMMENT |
| LOW | docs/use-cases/hermes-1.12.6.md | 164 | #### Step 2: Invite the bot to your server | COMMENT |
| LOW | docs/use-cases/hermes-1.12.6.md | 185 | #### Step 3: Configure the messaging platform | COMMENT |
| LOW | docs/use-cases/hermes-1.12.6.md | 206 | #### Step 4: Authorize your account | COMMENT |
| LOW | docs/use-cases/hermes-1.12.6.md | 244 | ### Step 1: Enable the Gateway API | COMMENT |
| LOW⚡ | docs/use-cases/hermes-1.12.6.md | 260 | ### Step 2: Get the Gateway API URL | COMMENT |
| LOW⚡ | docs/use-cases/hermes-1.12.6.md | 268 | ### Step 3: Verify the API is running | COMMENT |
| LOW⚡ | docs/use-cases/hermes-1.12.6.md | 278 | ### Step 4: Connect your application | COMMENT |
| LOW | docs/use-cases/nemoclaw.md | 147 | ### Step 1: Create a Discord bot | COMMENT |
| LOW | docs/use-cases/nemoclaw.md | 170 | ### Step 2: Invite the bot to your server | COMMENT |
| LOW | docs/use-cases/nemoclaw.md | 189 | ### Step 3: Configure the Discord channel | COMMENT |
| 192 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | framework/oac/options.go | 12 | // top of the scaffold produced by helmrender.BuildValues for every render | COMMENT |
| MEDIUM | framework/oac/errors.go | 166 | // has not been implemented yet (e.g. v2 scaffold). | COMMENT |
| MEDIUM | framework/oac/testdata/codex/OlaresManifest.yaml | 70 | - Switch `init-install-codex` from the GitHub musl binary tarball to OpenAI's official standalone installer (`https: | CODE |
| MEDIUM | framework/oac/testdata/codex/templates/deployment.yaml | 18 | # `codex` and left installs reporting missing agentic execution. | COMMENT |
| MEDIUM | …work/oac/testdata/codex/i18n/zh-CN/OlaresManifest.yaml | 41 | - `init-install-codex` 改为使用 OpenAI 官方独立安装器(`https://chatgpt.com/codex/install.sh`),不再只解压 GitHub musl 二进制。升级后会修复此前缺少 | CODE |
| MEDIUM | …work/oac/testdata/codex/i18n/en-US/OlaresManifest.yaml | 41 | - Switch `init-install-codex` from the GitHub musl binary tarball to OpenAI's official standalone installer (`https: | CODE |
| MEDIUM | framework/bfl/cmd/frpc/main.go | 19 | // +kubebuilder:scaffold:imports | COMMENT |
| MEDIUM | framework/bfl/cmd/frpc/main.go | 41 | // +kubebuilder:scaffold:scheme | COMMENT |
| MEDIUM | …ckup-server/cmd/backup-server/controller/controller.go | 49 | //+kubebuilder:scaffold:scheme | COMMENT |
| MEDIUM | …ckup-server/cmd/backup-server/controller/controller.go | 114 | // In the default scaffold provided, the program ends immediately after | COMMENT |
| MEDIUM | framework/osnode-init/main.go | 38 | //+kubebuilder:scaffold:scheme | COMMENT |
| MEDIUM | framework/osnode-init/main.go | 60 | // In the default scaffold provided, the program ends immediately after | COMMENT |
| MEDIUM | framework/app-service/cmd/image-service/main.go | 30 | //+kubebuilder:scaffold:scheme | COMMENT |
| MEDIUM | framework/app-service/cmd/app-service/main.go | 66 | //+kubebuilder:scaffold:scheme | COMMENT |
| MEDIUM | framework/app-service/cmd/app-service/main.go | 112 | // In the default scaffold provided, the program ends immediately after | COMMENT |
| MEDIUM | framework/app-service/cmd/app-service/main.go | 348 | //+kubebuilder:scaffold:builder | COMMENT |
| MEDIUM⚡ | framework/app-service/config/crd/kustomization.yaml | 6 | #+kubebuilder:scaffold:crdkustomizeresource | COMMENT |
| MEDIUM⚡ | framework/app-service/config/crd/kustomization.yaml | 12 | #+kubebuilder:scaffold:crdkustomizewebhookpatch | COMMENT |
| MEDIUM⚡ | framework/app-service/config/crd/kustomization.yaml | 17 | #+kubebuilder:scaffold:crdkustomizecainjectionpatch | COMMENT |
| MEDIUM | …-service/config/manager/controller_manager_config.yaml | 17 | # In the default scaffold provided, the program ends immediately after | COMMENT |
| MEDIUM | …ework/app-service/pkg/gateway/meshinagent/container.go | 320 | // IsStubImage reports whether image is the deprecated scaffold stub. | COMMENT |
| MEDIUM | …work/app-service/pkg/gateway/meshoutagent/container.go | 141 | // IsStubImage reports whether image is the deprecated scaffold stub. | COMMENT |
| MEDIUM | docs/developer/install/installation-overview.md | 71 | ## Container orchestration layer | COMMENT |
| MEDIUM | docs/developer/concepts/system-architecture.md | 20 | ### Container orchestration | COMMENT |
| MEDIUM | docs/use-cases/codex-cli-1.12.6.md | 244 | ### What if Codex reports missing agentic execution capabilities? | COMMENT |
| MEDIUM | docs/use-cases/trustgraph.md | 121 | ### Ask about a relationship with Graph RAG | COMMENT |
| MEDIUM | docs/use-cases/trustgraph.md | 165 | ### Why does Graph RAG say there is no relevant information? | COMMENT |
| MEDIUM | docs/use-cases/tensorzero-1.12.6.md | 113 | ## (Optional) Configure an embedding model | COMMENT |
| MEDIUM | docs/use-cases/codex-cli.md | 236 | ### What if Codex reports missing agentic execution capabilities? | COMMENT |
| MEDIUM | docs/use-cases/openwebui-knowledge-1.12.6.md | 46 | ## Configure embedding model | COMMENT |
| MEDIUM | docs/use-cases/openwebui-knowledge-1.12.6.md | 50 | ### Get embedding model details | COMMENT |
| MEDIUM | docs/use-cases/anythingllm.md | 79 | ### Set up the embedding model | COMMENT |
| MEDIUM | docs/use-cases/openwebui-knowledge.md | 44 | ## Configure embedding model | COMMENT |
| MEDIUM | docs/use-cases/openwebui-knowledge.md | 48 | ### Get embedding model details | COMMENT |
| MEDIUM | docs/use-cases/opencode-omo.md | 16 | # Orchestrate multi-agent workflows with oh-my-openagent | COMMENT |
| MEDIUM | docs/use-cases/openwebui-search-1.12.6.md | 49 | ### Get embedding model details | COMMENT |
| MEDIUM | docs/use-cases/tensorzero.md | 122 | ## (Optional) Configure an embedding model | COMMENT |
| MEDIUM | docs/use-cases/anythingllm-1.12.6.md | 77 | ### Set up the embedding model | COMMENT |
| MEDIUM | docs/use-cases/opencode-omo-1.12.6.md | 18 | # Orchestrate multi-agent workflows with oh-my-openagent — Olares 1.12.6 | COMMENT |
| MEDIUM | docs/use-cases/openwebui-search.md | 47 | ### Get embedding model details | COMMENT |
| MEDIUM | docs/zh/use-cases/trustgraph.md | 125 | ### 使用 Graph RAG 查询关系 | COMMENT |
| MEDIUM | docs/zh/use-cases/trustgraph.md | 169 | ### 为什么 Graph RAG 提示没有相关信息? | COMMENT |
| MEDIUM | …s/olares-chart/references/olares-chart-from-compose.md | 1 | # chart from-compose (scaffold a chart from docker-compose) | COMMENT |
| MEDIUM | …skills/olares-chart/references/olares-chart-compose.md | 60 | olares-cli chart from-compose --name <app> -f docker-compose.yml # the from-compose scaffold | CODE |
| MEDIUM | cli/skills/olares-doctor/SKILL.md | 52 | ## How doctor gathers evidence (orchestration, not ownership) | COMMENT |
| MEDIUM | cli/pkg/chart/scaffold.go | 33 | // configVersion is the olaresManifest.version every scaffold emits: | COMMENT |
| MEDIUM | cli/pkg/chart/scaffold.go | 112 | // the decisions the scaffold cannot get right on its own — which service becomes | COMMENT |
| MEDIUM | cli/pkg/dashboard/overview/memory.go | 13 | // share the per-node scaffold but diverge on metric set + column | COMMENT |
| MEDIUM | cli/pkg/dashboard/overview/nodes_test.go | 14 | // TestBuildPerNodeEnvelope_GroupsAndSortsByNode pins the scaffold's | COMMENT |
| MEDIUM | cli/pkg/dashboard/overview/cpu.go | 12 | // Forwards to the per-node scaffold with a CPU-specific metric set, | COMMENT |
| MEDIUM | cli/pkg/dashboard/overview/cpu.go | 47 | // honour --temp-unit. The scaffold's PerNodeDisplayFn signature is | COMMENT |
| MEDIUM | cli/pkg/dashboard/overview/pods.go | 12 | // Forwards to the per-node scaffold with the pod-count metric set | COMMENT |
| MEDIUM | cli/pkg/dashboard/overview/memory_test.go | 17 | // the scaffold's metrics filter only requests the relevant subset | COMMENT |
| MEDIUM | cli/pkg/dashboard/overview/nodes.go | 17 | // scaffold below is metric-set-agnostic. | COMMENT |
| MEDIUM | infrastructure/kubesphere/config/watches.yaml | 14 | #+kubebuilder:scaffold:watch | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | …form/tapr/cmd/middleware/operator/pgcluster/handler.go | 155 | SecretKeyRef: currentCluster.Spec.Password.ValueFrom.SecretKeyRef.DeepCopy(), | CODE |
| CRITICAL | platform/tapr/pkg/workload/citus/helper.go | 215 | SecretKeyRef: clusterDef.Spec.Password.ValueFrom.SecretKeyRef.DeepCopy(), | CODE |
| CRITICAL | cli/pkg/plugins/network/tasks.go | 281 | "CheckGateway": g.KubeConf.Cluster.Network.Kubeovn.KubeovnCheckGateway(), | CODE |
| CRITICAL⚡ | cli/pkg/plugins/network/tasks.go | 294 | "EnableLB": g.KubeConf.Cluster.Network.Kubeovn.KubeovnEnableLB(), | CODE |
| CRITICAL⚡ | cli/pkg/plugins/network/tasks.go | 295 | "EnableNP": g.KubeConf.Cluster.Network.Kubeovn.KubeovnEnableNP(), | CODE |
| CRITICAL⚡ | cli/pkg/plugins/network/tasks.go | 296 | "EnableEipSnat": g.KubeConf.Cluster.Network.Kubeovn.KubeovnEnableEipSnat(), | CODE |
| CRITICAL⚡ | cli/pkg/plugins/network/tasks.go | 297 | "EnableExternalVPC": g.KubeConf.Cluster.Network.Kubeovn.KubeovnEnableExternalVPC(), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | framework/oac/scripts/repair_terminus_apps.py | 90 | def update_olares_dep_version(text: str, target: str) -> str: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps.py | 139 | def remove_top_level_provider(text: str) -> str: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps.py | 170 | def add_or_set_spec_only_admin(text: str) -> str: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 51 | def extract_workload_replicas_regex(text: str) -> Dict[str, int]: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 65 | def extract_workload_replicas(data: Optional[dict], text: str) -> Dict[str, int]: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 110 | def ensure_external_data_struct(data: dict) -> bool: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 121 | def ensure_external_data_regex(text: str) -> Tuple[str, bool]: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 182 | def ensure_legacy_resources_struct(data: dict) -> bool: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 205 | def ensure_legacy_resources_regex(text: str) -> Tuple[str, bool]: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 229 | def fix_olares_user_env_names_struct(data: dict) -> bool: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 251 | def fix_olares_user_env_names_regex(text: str) -> Tuple[str, bool]: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 268 | def ensure_middleware_workloads_struct(data: dict) -> Tuple[Dict[str, int], bool]: | CODE |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 285 | def ensure_middleware_workloads_regex(text: str) -> Tuple[str, Dict[str, int], bool]: | CODE |
| LOW | docs/.vitepress/theme/components/VersionSwitcher.vue | 25 | function stripTrailingVersionSegment(base: string): string { | CODE |
| LOW | cli/skills/validate.py | 173 | def validate_prose_section_refs(path: Path, errors: list[str]) -> None: | CODE |
| LOW | cli/skills/validate.py | 188 | def validate_no_source_citations(path: Path, errors: list[str]) -> None: | CODE |
| LOW | cli/skills/validate.py | 319 | def validate_skill_entrypoint(skill_dir: Path, errors: list[str]) -> None: | CODE |
| LOW⚡ | cli/skills/test_validate.py | 323 | def test_the_skills_with_no_first_command_are_exempt(self): | CODE |
| LOW⚡ | cli/skills/test_validate.py | 328 | def test_an_exempt_skill_that_declares_fast_paths_is_told_to_leave_the_list(self): | CODE |
| LOW⚡ | cli/skills/test_validate.py | 337 | def test_an_empty_fast_paths_block_is_refused(self): | CODE |
| LOW | cli/skills/test_validate.py | 287 | def test_a_skill_without_fast_paths_is_refused(self): | CODE |
| LOW | cli/skills/test_validate.py | 298 | def test_a_symptom_table_counts_as_the_declaration(self): | CODE |
| LOW | cli/skills/test_validate.py | 312 | def test_declaring_both_spellings_is_refused(self): | CODE |
| LOW | cli/skills/test_validate.py | 359 | def test_a_reference_may_not_cite_go_source_either(self): | CODE |
| LOW | cli/skills/test_validate.py | 376 | def test_prose_that_merely_mentions_a_state_handler_is_left_alone(self): | CODE |
| LOW | cli/skills/test_validate.py | 396 | def test_the_three_shared_sections_are_required_under_one_name(self): | CODE |
| LOW | cli/skills/test_validate.py | 422 | def test_a_verb_index_that_does_not_say_what_to_read_is_refused(self): | CODE |
| LOW | cli/skills/test_validate.py | 433 | def test_the_skills_with_no_verb_tree_still_need_the_other_two(self): | CODE |
| LOW | cli/skills/test_validate.py | 448 | def shared_section_errors_for(self, skill_name, body): | CODE |
| LOW | cli/skills/test_validate.py | 463 | def test_front_door_may_link_the_shared_models_but_no_other_peer_reference(self): | CODE |
| LOW | cli/skills/test_validate.py | 516 | def test_every_skill_is_stamped(self): | CODE |
| LOW | cli/skills/test_validate.py | 527 | def test_the_body_is_left_alone(self): | CODE |
| LOW | cli/skills/test_validate.py | 538 | def test_a_release_that_is_not_one_is_refused(self): | CODE |
| LOW | cli/skills/test_validate.py | 554 | def test_an_empty_tree_is_an_error_not_a_success(self): | CODE |
| LOW | cli/skills/test_validate.py | 561 | def test_a_skill_with_no_version_line_is_an_error(self): | CODE |
| LOW | cli/skills/test_validate.py | 572 | def test_the_committed_suite_declares_the_placeholder(self): | CODE |
| LOW | cli/skills/test_validate.py | 35 | def test_indented_fenced_code_is_ignored(self): | STRING |
| LOW | cli/skills/test_validate.py | 43 | def test_frontmatter_rejects_invalid_yaml(self): | STRING |
| LOW | cli/skills/test_validate.py | 63 | def test_version_must_name_the_cli_release(self): | STRING |
| LOW | cli/skills/test_validate.py | 84 | def test_the_suite_declares_one_version(self): | STRING |
| LOW | cli/skills/test_validate.py | 100 | def test_description_over_the_limit_is_rejected(self): | STRING |
| LOW | cli/skills/test_validate.py | 136 | def test_description_at_the_limit_is_accepted(self): | STRING |
| LOW | cli/skills/test_validate.py | 165 | def test_cluster_requires_exec_gate_on_both_rows(self): | STRING |
| LOW | cli/skills/test_validate.py | 187 | def test_a_section_named_in_prose_is_refused(self): | STRING |
| LOW | cli/skills/test_validate.py | 211 | def test_an_anchor_link_to_the_same_section_is_accepted(self): | STRING |
| LOW | cli/skills/test_validate.py | 229 | def test_a_verb_row_that_only_points_at_help_is_refused(self): | STRING |
| LOW | cli/skills/test_validate.py | 256 | def test_a_fast_path_over_the_budget_is_refused(self): | STRING |
| LOW | cli/npm/scripts/install-wizard.js | 167 | function getGloballyInstalledVersion() { | CODE |
| LOW | apps/packages/core/src/jwt.ts | 20 | export async function createVerifiableCredential( | CODE |
| LOW | apps/packages/core/src/jwt.ts | 53 | export async function createVerifiablePresentation( | CODE |
| LOW | apps/packages/core/src/name.ts | 74 | export function isWordMatchTerminusKeyword(word: string): boolean { | CODE |
| LOW | apps/packages/core/src/resize.ts | 85 | export function getInitialDeviceScreenState(): { | CODE |
| LOW | …pp/src/platform/interface/bex/translate/libs/stream.js | 136 | export function createStreamingJsonParser() { | CODE |
| LOW | apps/packages/app/src/stores/transfer2.ts | 64 | function getCurrentTransferingItems() { | CODE |
| LOW | …/packages/app/src/stores/settings/widgetPreferences.ts | 35 | function loadWidgetPreferencesCache(): Partial<WidgetPreferences> { | CODE |
| LOW | …/packages/app/src/stores/settings/widgetPreferences.ts | 48 | function saveWidgetPreferencesCache(value: WidgetPreferences) { | CODE |
| LOW | apps/packages/app/src/utils/BindTerminusBusiness.ts | 184 | export async function importUserByTerminusToken( | CODE |
| LOW | apps/packages/app/src/utils/utils.ts | 747 | export function convertLanguageCodeToName(code: string) { | CODE |
| LOW | apps/packages/app/src/utils/utils.ts | 751 | export function convertLanguageCodesToNames(codes: string[]): string[] { | CODE |
| LOW | apps/packages/app/src/utils/url2.ts | 76 | export async function validateUrlWithReasonAsync( | CODE |
| 23 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | …cluster/crds/httproutes.gateway.networking.k8s.io.yaml | 0 | ') && (!has(p2.__namespace__) || p2.__namespace__ == | STRING |
| HIGH | …/cluster/crds/tlsroutes.gateway.networking.k8s.io.yaml | 0 | ') && (!has(p2.__namespace__) || p2.__namespace__ == | STRING |
| HIGH | …cluster/crds/grpcroutes.gateway.networking.k8s.io.yaml | 0 | ') && (!has(p2.__namespace__) || p2.__namespace__ == | STRING |
| HIGH | …apr/config/crds/apr.bytetrade.io_pgclusterbackups.yaml | 0 | type: string resourcefieldref: description: 'selects a resource of the container: only resources limits and requests (li | STRING |
| HIGH | …g/cluster/crds/redis.kun_distributedredisclusters.yaml | 0 | type: string resourcefieldref: description: 'selects a resource of the container: only resources limits and requests (li | STRING |
| HIGH | …config/cluster/crds/redis.kun_redisclusterbackups.yaml | 0 | type: string resourcefieldref: description: 'selects a resource of the container: only resources limits and requests (li | STRING |
| HIGH | …ig/cluster/crds/apr.bytetrade.io_pgclusterbackups.yaml | 0 | type: string resourcefieldref: description: 'selects a resource of the container: only resources limits and requests (li | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/package-lock.json | 3739 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.2.tgz", | CODE |
| MEDIUM | cli/cmd/ctl/cluster/job/rerun_test.go | 89 | // keeps the predicate robust. | COMMENT |
| MEDIUM | cli/cmd/ctl/files/rename.go | 196 | // stays robust against a future caller that bypasses this helper. | COMMENT |
| MEDIUM | cli/cmd/ctl/files/upload.go | 61 | // command after a Ctrl-C just re-asks the server, which is robust | COMMENT |
| MEDIUM | cli/cmd/ctl/files/ls.go | 144 | // rendered SIZE column robust either way. | COMMENT |
| MEDIUM | cli/cmd/ctl/files/share_create.go | 754 | // depth keeps the parser robust to a future schema change. | COMMENT |
| MEDIUM | cli/cmd/ctl/files/mkdir.go | 328 | // `<fileType>/<extend>`, while Plan stays robust against a future | COMMENT |
| MEDIUM | cli/internal/files/archive/entry.go | 257 | // best-effort substring extractor is more robust than a strict | COMMENT |
| MEDIUM | cli/internal/files/smbmount/smbmount.go | 89 | // time, OR save the full triple ("seamless reconnect"). The | COMMENT |
| MEDIUM | cli/internal/files/download/stat.go | 132 | // errors.As keeps the predicate robust if the error gets wrapped by | COMMENT |
| MEDIUM | cli/pkg/web5/vc/vc.go | 56 | // also providing the ability to leverage strongly typed claims. | COMMENT |
| MEDIUM | …pp/src/platform/interface/bex/rss/utils/radar-rules.js | 14053 | docs: 'https://docs.rsshub.app/finance.html#paradigm', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …work/app-service/pkg/gateway/meshinagent/nginx_conf.go | 24 | placeholderJSONBody = `{"error":"mesh_in_tls_placeholder","message":"Platform TLS replica not ready; using pod-local pl | CODE |
| LOW | …mework/app-service/pkg/gateway/meshinagent/bearerjs.go | 120 | tlsModeCached = realCertReady() ? 'real' : 'placeholder'; | CODE |
| LOW | docs/manual/olares/wise/filter-examples.md | 21 | author:"John Doe" | CODE |
| LOW | docs/manual/olares/wise/filter-examples.md | 23 | This shows all documents where the author is "John Doe" so you can stay up-to-date with a writer's work. | CODE |
| LOW | cli/cmd/ctl/settings/me/passwordhash_test.go | 81 | {"bob@example.org", "bob"}, | CODE |
| LOW | cli/pkg/wizard/srp_test.go | 405 | username := "user@example.com" | CODE |
| LOW | …hentication/identityprovider/identity_provider_test.go | 51 | return "test@test.com" | CODE |
| LOW | …ttings/application/dialog/domain/isValidDomain.test.ts | 48 | 'foo@bar.com', | CODE |
| LOW | …ckages/app/src/components/settings/base/BtEditView.vue | 21 | :placeholder="placeholder" | CODE |
| LOW | apps/packages/app/src/components/rss/RssSearch.vue | 11 | :placeholder="placeholder" | CODE |
| LOW | apps/packages/app/src/components/rss/EditView.vue | 18 | :placeholder="placeholder" | CODE |
| LOW | …/packages/app/src/components/profile/base/EditView.vue | 23 | :placeholder="placeholder" | CODE |
| LOW | apps/packages/app/src/components/base/EditView.vue | 16 | :placeholder="placeholder" | CODE |
| LOW | …ackages/app/src/pages/Plugin/components/MyTimeline.vue | 18 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed | CODE |
| LOW | …ackages/app/src/pages/Plugin/components/MyTimeline.vue | 18 | Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed | CODE |
| LOW | …ges/app/src/apps/studio/components/common/CpuInput.vue | 11 | :placeholder="placeholder" | CODE |
| LOW | …/app/src/apps/studio/components/common/MemoryInput.vue | 11 | :placeholder="placeholder" | CODE |
| LOW | …/apps/controlPanelCommon/components/Skeletons/Tree.vue | 51 | story: 'Lorem ipsum dolor sit amet.' | CODE |
| LOW | …/apps/controlPanelCommon/components/Skeletons/Tree.vue | 51 | story: 'Lorem ipsum dolor sit amet.' | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/use-cases/ace-step.md | 11 | # Create your own AI-generated music with ACE-Step | COMMENT |
| HIGH | docs/use-cases/ace-step-1.5.md | 12 | # Create AI-generated music with ACE-Step 1.5 | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | framework/app-service/config/crd/kustomizeconfig.yaml | 1 | # This file is for teaching kustomize how to substitute name and namespace reference in CRD | COMMENT |
| MEDIUM | cli/cmd/ctl/files/repos.go | 94 | # Create a new library, then list to confirm. | COMMENT |
| MEDIUM | cli/pkg/cookieparse/cookieparse_test.go | 28 | "# This file is generated by yt-dlp. Do not edit.", | CODE |
| MEDIUM | infrastructure/kubesphere/hack/lib/util.sh | 101 | # Create a temp dir that'll be deleted at the end of this bash session. | COMMENT |
| MEDIUM | infrastructure/kubesphere/hack/lib/util.sh | 624 | # Create a temp dir for cfssl if no directory was given | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | framework/oac/scripts/repair_terminus_apps_phase3.py | 4 | CODE | |
| LOW | framework/oac/scripts/repair_terminus_apps_phase3.py | 7 | CODE | |
| LOW | framework/oac/scripts/repair_terminus_apps_phase3.py | 9 | CODE | |
| LOW | framework/oac/scripts/repair_terminus_apps.py | 33 | CODE | |
| LOW | framework/oac/scripts/repair_terminus_apps.py | 35 | CODE | |
| LOW | framework/oac/scripts/wire_workload_replicas.py | 21 | CODE | |
| LOW | framework/oac/scripts/wire_workload_replicas.py | 24 | CODE | |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 12 | CODE | |
| LOW | cli/skills/validate.py | 3 | CODE | |
| LOW | cli/skills/stamp.py | 21 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | cli/cmd/ctl/router/call_music.go | 35 | // The other half is that a music model has a language model in front of the | COMMENT |
| LOW | cli/pkg/dashboard/schema.go | 63 | // unit test to ensure new commands don't forget to register their JSON Schema. | COMMENT |
| MEDIUM | infrastructure/gpu/.olares/config/gpu/hami/values.yaml | 179 | # Otherwise, you can use RollingUpdate update strategy to rolling update DevicePlugin pod. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | infrastructure/kubesphere/hack/lib/version.sh | 3 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | apps/packages/app/src/css/common/files/listing.scss | 340 | // ─── col-grid mode (dialog folder picker) ────────────────────────────────── | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | apps/packages/app/src/payment/config.ts | 14 | 'https://mainnet.infura.io/v3/YOUR_API_KEY', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cli/pkg/wizard/auth.go | 23 | // Step 1: If no pending request, start new authentication request | COMMENT |
| LOW | cli/pkg/wizard/auth.go | 51 | // Step 2: Complete authentication request | COMMENT |
| LOW | cli/pkg/wizard/srp_test.go | 35 | // Step 1: Registration phase - client generates verifier | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | framework/oac/scripts/wire_workload_replicas.py | 202 | CODE | |
| LOW | framework/oac/scripts/wire_workload_replicas.py | 259 | CODE | |
| LOW | framework/oac/scripts/repair_terminus_apps_phase2.py | 311 | CODE | |
| LOW | cli/skills/olares-publish/scripts/render_promo.py | 353 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/compress_images.sh | 3 | # Check if pngquant and jpegoptim are installed | COMMENT |
| LOW | infrastructure/kubesphere/hack/lib/version.sh | 41 | # Check if the tree is dirty. default to dirty | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | infrastructure/kubesphere/hack/pin-dependency.sh | 10 | # Usage: | COMMENT |
| LOW | infrastructure/kubesphere/hack/lib/util.sh | 736 | # Example usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …-server/pkg/serviceproxy/v2alpha1/rbac-proxy-server.go | 199 | secureListenAddress: "", // TODO: implement secure listen address | CODE |
| LOW | daemon/pkg/utils/drivers_linux.go | 398 | // TODO: implement nfs invalid check logic, | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | cli/skills/olares-publish/scripts/generate_icon.py | 55 | except Exception as exc: | CODE |