AI Slop Code RIsk Monitor

openclaw/openclaw-windows-node

Windows companion suite for OpenClaw

4.8 Low pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for openclaw/openclaw-windows-node, a C# project with 2,143 GitHub stars. SynthScan examined 490,276 lines of code across 1528 source files, recording 930 pattern matches distributed across 8 syntactic categories. The legacy adjusted pattern signal is 4.8 (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.

4.8
Adjusted Signal
4.8
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
2.1K
Stars
C#
Language
490.3K
Lines of Code
1.5K
Files
930
Pattern Hits
2026-10-12
Scan Date
0.04
HC Hit Rate

Risk Review · v3

Use each vector to guide manual verification of the underlying findings.

Cognitive Ownership Risk 4.6/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 423 finding(s).

Hallucinated Dependency & Supply Chain Risk 6.3/100 · LOW

Are imports declared and package/API names verified? 68 finding(s).

Agent Over-Engineering Ratio 12.1/100 · LOW

Are wrappers, guards, and repeated structures necessary? 439 finding(s).

PR Review Velocity Impact 21.6/100 · LOW

Which changes need focused human review? 930 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

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.

Severity Breakdown

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.

CRITICAL 63HIGH 0MEDIUM 445LOW 422

Directory Score Breakdown

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.

Pattern Findings

The scanner identified 930 distinct pattern matches across 8 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.

Decorative Section Separators439 hits · 1264 pts
SeverityFileLineSnippetContext
MEDIUMtests/OpenClaw.Tray.UITests/A2UIDashboardScaleTest.cs155 // ── Top-level layout ──────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIDashboardScaleTest.cs161 // ── Header row ────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIDashboardScaleTest.cs182 // ── Tabs ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIDashboardScaleTest.cs193 // ── Tab 1: Overview ─────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIDashboardScaleTest.cs229 // ── Tab 2: Settings ─────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIDashboardScaleTest.cs294 // ── Tab 3: Help ─────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIDashboardScaleTest.cs322 // ── Footer row ────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIControlMatrixTests.cs27 // ─── Containers ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIControlMatrixTests.cs200 // ─── Display ─────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIControlMatrixTests.cs295 // ─── Interactive ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIControlMatrixTests.cs662 // ─── helper ──────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIRenderingTests.cs205 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Tray.UITests/A2UIRenderingTests.cs207 // ─────────────────────────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/CanonicalCmdCarrierTests.cs91 // ── Pinned carrier reconstruction (D7) ────────────────────────────────────COMMENT
MEDIUM…sts/OpenClaw.Shared.Tests/HttpUrlRiskEvaluatorTests.cs70 // ── IsPublicAddress: IPv4 ────────────────────────────────────────────────COMMENT
MEDIUM…sts/OpenClaw.Shared.Tests/HttpUrlRiskEvaluatorTests.cs121 // ── Evaluate: additional hostname / address forms ─────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecEnvSanitizerTests.cs14 // ── null / empty input ────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecEnvSanitizerTests.cs34 // ── known-blocked names ───────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecEnvSanitizerTests.cs90 // ── LD_ / DYLD_ prefix blocking ──────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecEnvSanitizerTests.cs103 // ── interpreter/tool code-injection variables ─────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecEnvSanitizerTests.cs147 // ── invalid / malformed names ─────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecEnvSanitizerTests.cs170 // ── allowed names ─────────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecEnvSanitizerTests.cs185 // ── Sanitize: mixed allowed + blocked ────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecEnvSanitizerTests.cs254 // ── case-insensitive lookup in Sanitize ───────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecEnvSanitizerTests.cs272 // ── LD_ prefix in Sanitize ────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/DeepLinkParserTests.cs9 // ─── ParseDeepLink ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/DeepLinkParserTests.cs126 // ─── GetQueryParam ────────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/TokenSanitizerTests.cs8 // ── null / empty input ─────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/TokenSanitizerTests.cs29 // ── Authorization: Bearer ──────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/TokenSanitizerTests.cs71 // ── JSON secret fields ─────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/TokenSanitizerTests.cs120 // ── Long base64-url token shape ────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/TokenSanitizerTests.cs219 // ── combinations ───────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/TokenSanitizerTests.cs547 // ── URL tail redaction ──────────────────────────────────────────────────STRING
MEDIUMtests/OpenClaw.Shared.Tests/TokenSanitizerTests.cs618 // ── URL log-injection defense ───────────────────────────────────────────STRING
MEDIUM…enClaw.Shared.Tests/ExecEnvInvocationUnwrapperTests.cs14 // ── helpers ───────────────────────────────────────────────────────────────COMMENT
MEDIUM…enClaw.Shared.Tests/ExecEnvInvocationUnwrapperTests.cs18 // ── Unwrap: basic passthrough ─────────────────────────────────────────────COMMENT
MEDIUM…enClaw.Shared.Tests/ExecEnvInvocationUnwrapperTests.cs54 // ── Unwrap: flags (FlagOnly — no value) ───────────────────────────────────COMMENT
MEDIUM…enClaw.Shared.Tests/ExecEnvInvocationUnwrapperTests.cs68 // ── Unwrap: flags with values ─────────────────────────────────────────────COMMENT
MEDIUM…enClaw.Shared.Tests/ExecEnvInvocationUnwrapperTests.cs90 // ── Unwrap: terminator handling ───────────────────────────────────────────COMMENT
MEDIUM…enClaw.Shared.Tests/ExecEnvInvocationUnwrapperTests.cs108 // ── Unwrap: unknown flag → fail-closed ────────────────────────────────────COMMENT
MEDIUM…enClaw.Shared.Tests/ExecEnvInvocationUnwrapperTests.cs117 // ── HasModifiers ──────────────────────────────────────────────────────────COMMENT
MEDIUM…enClaw.Shared.Tests/ExecEnvInvocationUnwrapperTests.cs143 // ── UnwrapForResolution ───────────────────────────────────────────────────COMMENT
MEDIUM…penClaw.Shared.Tests/ExecReusableCommandBinderTests.cs747 // ── Multi-element carrier tails ───────────────────────────────────────────COMMENT
MEDIUM…penClaw.Shared.Tests/ExecReusableCommandBinderTests.cs898 // ── cmd delimiters the tokenizer does not model ───────────────────────────COMMENT
MEDIUM…penClaw.Shared.Tests/ExecReusableCommandBinderTests.cs913 // ── PATHEXT targets that are not directly-executable images ───────────────COMMENT
MEDIUM…penClaw.Shared.Tests/ExecReusableCommandBinderTests.cs962 // ── Durable argument binding ──────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/WslShellQuotingTests.cs18 // ── EscapePosixSingleQuoteInner (escape only, no wrapping) ──────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/WslShellQuotingTests.cs70 // ── QuotePosixSingleQuote (fully wrapped token) ─────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/WslShellQuotingTests.cs164 // ── Cross-cutting invariants ────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/WslShellQuotingTests.cs205 // ── Null handling ───────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecApprovalsStoreTests.cs223 // ── Unsupported version → default-deny + warning ─────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecApprovalsStoreTests.cs364 // ── Allowlist resolution ──────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecApprovalsStoreTests.cs628 // ── Atomic write ──────────────────────────────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecApprovalsStoreTests.cs1061 // ── Write path: RecordAllowlistUseAsync ──────────────────────────────────COMMENT
MEDIUMtests/OpenClaw.Shared.Tests/ExecApprovalsStoreTests.cs83 // ── Prompt-on-miss when file absent ──────────────────────────────────────STRING
MEDIUMtests/OpenClaw.Shared.Tests/ExecApprovalsStoreTests.cs199 // ── Malformed JSON → default-deny + warning ───────────────────────────────STRING
MEDIUMtests/OpenClaw.Shared.Tests/ExecApprovalsStoreTests.cs260 // ── Deserialization: enum values ──────────────────────────────────────────STRING
MEDIUMtests/OpenClaw.Shared.Tests/ExecApprovalsStoreTests.cs297 // ── Cascade resolution ────────────────────────────────────────────────────STRING
MEDIUMtests/OpenClaw.Shared.Tests/ExecApprovalsStoreTests.cs449 // ── Normalization: default→main migration ─────────────────────────────────STRING
MEDIUMtests/OpenClaw.Shared.Tests/ExecApprovalsStoreTests.cs504 // ── Normalization: socket ─────────────────────────────────────────────────STRING
379 more matches not shown…
Hallucination Indicators63 hits · 635 pts
SeverityFileLineSnippetContext
CRITICAL…ts/OpenClaw.Tray.UITests/OnboardingWindowsFlowTests.cs1196 Assert.Same(control, Microsoft.UI.Xaml.Input.FocusManager.GetFocusedElement(control.XamlRoot));CODE
CRITICALtests/OpenClaw.Tray.UITests/OnboardingAiPageTests.cs314 ReferenceEquals(Microsoft.UI.Xaml.Input.FocusManager.GetFocusedElement(page.XamlRoot), input) &&CODE
CRITICALtests/OpenClaw.Tray.UITests/A2UIControlMatrixTests.cs340 harness.Router.Push(DataUpdate("s", ("subscribed", System.Text.Json.Nodes.JsonValue.Create(true))));CODE
CRITICALtests/OpenClaw.Tray.UITests/A2UIControlMatrixTests.cs438 ("pwd", System.Text.Json.Nodes.JsonValue.Create("s3cret-value")),CODE
CRITICALtests/OpenClaw.Tray.UITests/A2UIControlMatrixTests.cs439 ("note", System.Text.Json.Nodes.JsonValue.Create("visible"))));CODE
CRITICALtests/OpenClaw.Tray.UITests/A2UIControlMatrixTests.cs643 h.Router.Push(DataUpdate("s", ("volume", System.Text.Json.Nodes.JsonValue.Create(25.0))));CODE
CRITICALtests/OpenClaw.Tray.UITests/A2UIRenderingTests.cs142 var peer = Microsoft.UI.Xaml.Automation.Peers.FrameworkElementAutomationPeer.CreatePeerForElement(btn);CODE
CRITICALtests/OpenClaw.Tray.UITests/OnboardingNativeProof.cs358 Assert.Same(card, Microsoft.UI.Xaml.Input.FocusManager.GetFocusedElement(card.XamlRoot));STRING
CRITICALtests/OpenClaw.Tray.UITests/OnboardingNativeProof.cs375 var peer = new Microsoft.UI.Xaml.Automation.Peers.ButtonAutomationPeer(button);STRING
CRITICAL…sts/OpenClaw.Tray.UITests/AiReadyPageRenderingTests.cs78 Microsoft.UI.Xaml.Automation.AutomationProperties.GetName(choices.Children[0]));CODE
CRITICAL…s/OpenClaw.Tray.UITests/ReactorChatLayoutProofTests.cs152 var reference = (Border)Microsoft.UI.Xaml.Markup.XamlReader.Load(CODE
CRITICAL…s/OpenClaw.Tray.UITests/ReactorChatLayoutProofTests.cs293 var reference = (Border)Microsoft.UI.Xaml.Markup.XamlReader.Load(CODE
CRITICAL…s/OpenClaw.Tray.UITests/ReactorChatLayoutProofTests.cs1745 surface = (Border)Microsoft.UI.Xaml.Markup.XamlReader.Load(CODE
CRITICAL…s/OpenClaw.Tray.UITests/ReactorChatLayoutProofTests.cs1936 var labelSlot = Microsoft.UI.Xaml.Controls.Primitives.LayoutInformation.GetLayoutSlot(label);CODE
CRITICAL…ts/OpenClaw.Shared.Tests/OpenClawGatewayClientTests.cs1550 var payload = System.Text.Json.Nodes.JsonNode.Parse("""CODE
CRITICAL…OpenClaw.Tray.Tests/SetupDashboardHandoffStoreTests.cs26 var json = System.Text.Json.Nodes.JsonNode.Parse(File.ReadAllText(path))!;CODE
CRITICAL…OpenClaw.Tray.Tests/SetupDashboardHandoffStoreTests.cs300 var json = System.Text.Json.Nodes.JsonNode.Parse(File.ReadAllText(path))!.AsObject();CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Chat/ReactorChatComposer.cs205 Microsoft.UI.Xaml.Automation.AutomationProperties.SetItemStatus(button, itemStatus);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Chat/ReactorChatComposer.cs257 Microsoft.UI.Xaml.Automation.AutomationProperties.SetItemStatus(button, itemStatus);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Chat/ReactorChatComposer.cs488 Microsoft.UI.Xaml.Automation.AutomationProperties.SetItemStatus(control, sessionItemStatus);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Chat/ReactorChatComposer.cs1080 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAutomationId(CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Chat/ReactorChatComposer.cs1199 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAccessibilityView(CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Chat/ReactorChatComposer.cs1228 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAccessibilityView(CODE
CRITICAL…ray.WinUI/A2UI/Rendering/Renderers/DisplayRenderers.cs259 if (string.IsNullOrEmpty(Microsoft.UI.Xaml.Automation.AutomationProperties.GetName(fontIcon)))CODE
CRITICAL…ray.WinUI/A2UI/Rendering/Renderers/DisplayRenderers.cs261 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAccessibilityView(CODE
CRITICAL…WinUI/A2UI/Rendering/Renderers/InteractiveRenderers.cs49 if (string.IsNullOrEmpty(Microsoft.UI.Xaml.Automation.AutomationProperties.GetName(btn)))CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Dialogs/ExecApprovalDialog.cs182 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAutomationId(_denyButton, "ExecApprovalDenyAction");CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Dialogs/ExecApprovalDialog.cs188 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAutomationId(_allowAlwaysButton, "ExecApprovalAllowAlwaysAcCODE
CRITICALsrc/OpenClaw.Tray.WinUI/Dialogs/ExecApprovalDialog.cs203 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAutomationId(_allowOnceButton, "ExecApprovalAllowOnceActionCODE
CRITICAL⚡…c/OpenClaw.Tray.WinUI/Dialogs/PairingApprovalDialog.cs153 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAutomationId(_rejectButton, "PairingRejectAction");CODE
CRITICAL⚡…c/OpenClaw.Tray.WinUI/Dialogs/PairingApprovalDialog.cs159 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAutomationId(_laterButton, "PairingLaterAction");CODE
CRITICAL⚡…c/OpenClaw.Tray.WinUI/Dialogs/PairingApprovalDialog.cs169 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAutomationId(_approveButton, "PairingApproveAction");CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Windows/ChatWindow.xaml.cs665 foreach (var popup in Microsoft.UI.Xaml.Media.VisualTreeHelper.GetOpenPopupsForXamlRoot(d.XamlRoCODE
CRITICALsrc/OpenClaw.Tray.WinUI/Windows/ChatWindow.xaml.cs793 var count = Microsoft.UI.Xaml.Media.VisualTreeHelper.GetChildrenCount(root);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Windows/ChatWindow.xaml.cs796 var child = Microsoft.UI.Xaml.Media.VisualTreeHelper.GetChild(root, i);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs487 Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs512 Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs1707 Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(stack, label);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs1708 Microsoft.UI.Xaml.Automation.AutomationProperties.SetLiveSetting(CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs1815 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAutomationId(CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs1838 Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(overflowBtn,CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs1890 Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(card, row.DisplayName);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs3552 Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(btn, automationName);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs3553 Microsoft.UI.Xaml.Automation.AutomationProperties.SetAutomationId(btn, automationId);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ChatPage.xaml.cs437 Microsoft.UI.Xaml.Input.FocusManager.FindFirstFocusableElement(ChatHost) is Control control)CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ChatPage.xaml.cs1398 foreach (var popup in Microsoft.UI.Xaml.Media.VisualTreeHelper.GetOpenPopupsForXamlRoot(d.XamlRoCODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs1219 parent = Microsoft.UI.Xaml.Media.VisualTreeHelper.GetParent(parent) as FrameworkElement;CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs1626 var count = Microsoft.UI.Xaml.Media.VisualTreeHelper.GetChildrenCount(parent);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs1629 var child = Microsoft.UI.Xaml.Media.VisualTreeHelper.GetChild(parent, i);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs1798 int count = Microsoft.UI.Xaml.Media.VisualTreeHelper.GetChildrenCount(parent);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs1801 var child = Microsoft.UI.Xaml.Media.VisualTreeHelper.GetChild(parent, i);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs2143 int count = Microsoft.UI.Xaml.Media.VisualTreeHelper.GetChildrenCount(parent);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs2146 var child = Microsoft.UI.Xaml.Media.VisualTreeHelper.GetChild(parent, i);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml.cs167 Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(toggle, label);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml.cs464 Microsoft.UI.Xaml.Automation.AutomationProperties.SetHelpText(CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml.cs483 Microsoft.UI.Xaml.Automation.AutomationProperties.SetHelpText(CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs680 Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(expander, record.Label);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs843 Microsoft.UI.Xaml.Automation.AutomationProperties.SetName(btn, label);CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Helpers/VisualTestCapture.cs138 var backdrop = (Border)Microsoft.UI.Xaml.Markup.XamlReader.Load(CODE
CRITICALsrc/OpenClaw.Tray.WinUI/Services/TrayMenuRenderer.cs101 Source = new Microsoft.UI.Xaml.Media.Imaging.BitmapImage(CODE
3 more matches not shown…
Over-Commented Block379 hits · 374 pts
SeverityFileLineSnippetContext
LOW…sts/OpenClaw.Tray.UITests/MarkdownRendererListTests.cs1using OpenClawTray.Chat.Markdown;COMMENT
LOW…sts/OpenClaw.Tray.UITests/MarkdownRendererListTests.cs21/// a finite measure width, so wrap works correctly.COMMENT
LOW…OpenClaw.Tray.UITests/MarkdownRendererCoalesceTests.cs1using OpenClawTray.Chat.Markdown;COMMENT
LOWtests/OpenClaw.Tray.UITests/UIThreadFixture.cs21/// - Application.Start blocks the calling thread (it pumps the message loop),COMMENT
LOWtests/OpenClaw.Tray.UITests/A2UIControlMatrixTests.cs661COMMENT
LOW…penClaw.Tray.UITests/ThemeResolveColorFallbackTests.cs1using System.Threading.Tasks;COMMENT
LOWtests/OpenClaw.Tray.UITests/A2UI.cs1using System.Collections.Generic;COMMENT
LOWtests/OpenClaw.TestSupport/EnvironmentScope.cs1namespace OpenClaw.TestSupport;COMMENT
LOW…Claw.SetupEngine.Tests/KeepaliveProcessManagerTests.cs1using System.Text.Json;COMMENT
LOWtests/OpenClaw.WinNode.Cli.Tests/RunAsyncTests.cs321 // The server received the request → env-based port resolution worked.COMMENT
LOWtests/OpenClaw.WinNode.Cli.Tests/SkillMdDriftTests.cs1using System.Text.RegularExpressions;COMMENT
LOWtests/OpenClaw.Shared.Tests/ChannelsStatusTests.cs321 // Configured Signal exposes CanLogout — it's a QR channel and LogoutCOMMENT
LOW…Claw.Shared.Tests/GatewayProtocolLiveRoundTripTests.cs21/// the parsers against crafted <see cref="JsonElement"/> payloads), these testsCOMMENT
LOW…Claw.Shared.Tests/GatewayProtocolLiveRoundTripTests.cs681 /// <summary>Sends a raw server frame immediately after the WebSocket isCOMMENT
LOW…ts/OpenClaw.Shared.Tests/IdentityFileMigrationTests.cs1using OpenClaw.Shared;COMMENT
LOW…OpenClaw.Shared.Tests/ExecApprovalsCoordinatorTests.cs21 private readonly string _dir;COMMENT
LOWtests/OpenClaw.Shared.Tests/Markdown/Md4cParserTests.cs1using System.Collections.Generic;COMMENT
LOW…penClaw.Shared.Tests/Markdown/MdInlineEqualityTests.cs1using System;COMMENT
LOW…penClaw.Shared.Tests/Markdown/MdInlineEqualityTests.cs21/// members (primitives, <c>string</c>, enums) — record-generated equalityCOMMENT
LOW…w.Shared.Tests/Mxc/MxcCommandRunnerIntegrationTests.cs121COMMENT
LOW…law.Shared.Tests/Protocol/GatewayProtocolDriftTests.cs21/// <c>Protocol/gateway-protocol-snapshot.json</c> and cross-checks it against whatCOMMENT
LOW…law.Shared.Tests/Protocol/GatewayProtocolDriftTests.cs161 /// <c>used</c> request method, the set of wire keys the client actuallyCOMMENT
LOW…law.Shared.Tests/Protocol/GatewayProtocolDriftTests.cs401 })COMMENT
LOW…law.Shared.Tests/Protocol/GatewayProtocolDriftTests.cs521 /// catches a client-side wire-key rename even when the old name survives as aCOMMENT
LOW…law.Shared.Tests/Protocol/GatewayProtocolDriftTests.cs581 if (start < text.Length)COMMENT
LOW…ests/Architecture/SetupStepsShellEscapeClosureTests.cs1using System;COMMENT
LOW…aw.Tray.IntegrationTests/A2UICanvasIntegrationTests.cs1using System;COMMENT
LOWtests/OpenClaw.Tray.IntegrationTests/TrayAppFixture.cs61 public async Task InitializeAsync()COMMENT
LOWtests/OpenClaw.Tray.IntegrationTests/TrayAppFixture.cs161COMMENT
LOW…nClaw.Tray.Tests/ChatComposerFactoryDiFailFastTests.cs1using System.IO;COMMENT
LOW…ts/OpenClaw.Tray.Tests/AutoStartReconciliationTests.cs1using OpenClawTray.Services;COMMENT
LOWtests/OpenClaw.Tray.Tests/ChatComposerViewModelTests.cs541 [Fact]COMMENT
LOWtests/OpenClaw.Tray.Tests/ChatComposerViewModelTests.cs681 public void StressDisposeAcrossThreads_OffThreadMutationsNeverApplyOrNotifyAfterDisposalWithoutRelyingOnBlockingEvenCOMMENT
LOW…sts/OpenClaw.Tray.Tests/LocalAiSetupUxContractTests.cs281 /// merely busy GPU (EligibleButBusy) is not reconciled away: CanInstall covers that caseCOMMENT
LOW…ts/OpenClaw.Tray.Tests/DiagnosticsPageContractTests.cs121 {COMMENT
LOW…ts/OpenClaw.Tray.Tests/DiagnosticsPageContractTests.cs141 @"OnOpenEventTimeline[\s\S]{0,200}IAppCommands[\s\S]{0,80}ShowConnectionStatus"),COMMENT
LOW…penClaw.Tray.Tests/NodeInvokeActivityFormatterTests.cs1using OpenClawTray.Services;COMMENT
LOW…sts/OpenClaw.Tray.Tests/LocalizationValidationTests.cs61 // spelling in every locale so it matches diagnostics and process names.COMMENT
LOW…sts/OpenClaw.Tray.Tests/LocalizationValidationTests.cs241 // Same precedent as the PermissionsPage / InstancesPage / ConfigPageCOMMENT
LOWtests/OpenClaw.Tray.Tests/ChatTimelineReducerTests.cs61 [Fact]COMMENT
LOWtests/OpenClaw.Tray.Tests/ChatTimelineReducerTests.cs2061 public void IntraTurnLateReconcile_AfterTurnEnd_DoesNotPrependPriorSegments()COMMENT
LOWtests/OpenClaw.E2ETests/Setup/E2ESetupFixture.cs21/// TestResults/E2E directory so CI can upload them as artifacts for debugging.COMMENT
LOW…sts/OpenClaw.E2ETests/Setup/MxcSetupAndConnectTests.cs21 // "Access is denied." with exit 1. Observed on hosts where the AppContainer cannotCOMMENT
LOWtests/OpenClaw.Connection.Tests/GatewayRecordBuilder.cs1using OpenClaw.Connection;COMMENT
LOWsrc/OpenClaw.Tray.WinUI/App.xaml.cs61 private ILocalAiRuntime? _localAiRuntime;COMMENT
LOWsrc/OpenClaw.Tray.WinUI/App.xaml.cs181 _sshTunnelRecoveryBudget.Reset();COMMENT
LOWsrc/OpenClaw.Tray.WinUI/App.xaml.cs561 // Single instance check - keep mutex alive for app lifetime.COMMENT
LOWsrc/OpenClaw.Tray.WinUI/App.xaml.cs821 var credentialResolver = new CredentialResolver(DeviceIdentityFileReader.Instance);COMMENT
LOWsrc/OpenClaw.Tray.WinUI/App.xaml.cs941 // happens with empty caps and the gateway records this node as having noCOMMENT
LOWsrc/OpenClaw.Tray.WinUI/App.xaml.cs3061 private void OnGatewayNotificationReceived(object? sender, OpenClawNotification notification)COMMENT
LOWsrc/OpenClaw.Tray.WinUI/AppIdentity.cs1namespace OpenClawTray;COMMENT
LOWsrc/OpenClaw.Tray.WinUI/AppIdentity.cs61COMMENT
LOWsrc/OpenClaw.Tray.WinUI/Chat/ChatComposerInputs.cs1using OpenClaw.Chat;COMMENT
LOWsrc/OpenClaw.Tray.WinUI/Chat/ChatContentFormatting.cs61 return string.Concat(text.AsSpan(0, lo), marker.AsSpan());COMMENT
LOWsrc/OpenClaw.Tray.WinUI/Chat/ChatContentFormatting.cs181 h *= 16777619u;COMMENT
LOWsrc/OpenClaw.Tray.WinUI/Chat/IChatComposerFactory.cs1using OpenClaw.Chat;COMMENT
LOW…law.Tray.WinUI/Chat/ChatComposerControllerClipboard.cs21 /// back to its caller before any WinRT clipboard/decode work starts, so aCOMMENT
LOWsrc/OpenClaw.Tray.WinUI/Chat/ChatComposerSession.cs1using System;COMMENT
LOWsrc/OpenClaw.Tray.WinUI/Chat/IChatGatewayBridge.cs21COMMENT
LOW…c/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs41/// <see cref="OpenClawGatewayClient"/>) into theCOMMENT
319 more matches not shown…
Structural Annotation Overuse22 hits · 40 pts
SeverityFileLineSnippetContext
LOW⚡…OpenClaw.Shared.Tests/ExecApprovalsCoordinatorTests.cs1803 // Step 1: AllowAlways → entry persisted (no lastUsed* yet).COMMENT
LOW⚡…OpenClaw.Shared.Tests/ExecApprovalsCoordinatorTests.cs1811 // Step 2: Same command again → allowlist hit, lastUsed* recorded.COMMENT
LOW.agents/skills/hanselman-code-review/SKILL.md36### Step 1: Identify the ScopeCOMMENT
LOW.agents/skills/hanselman-code-review/SKILL.md52### Step 2: Launch Two Parallel ReviewsCOMMENT
LOW.agents/skills/hanselman-code-review/SKILL.md88### Step 3: Wait for Both to CompleteCOMMENT
LOW.agents/skills/hanselman-code-review/SKILL.md94### Step 4: Cross-Reference and Build the Consensus TableCOMMENT
LOW.agents/skills/hanselman-code-review/SKILL.md126### Step 5: Present the ResultsCOMMENT
LOW.agents/skills/hanselman-code-review/SKILL.md142### Step 6: Act on FindingsCOMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs55 // Step 1: validateCOMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs61 // Step 2: normalize (unwrap shell wrappers, resolve executables, build canonical identity)COMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs68 // Step 3: buildContextCOMMENT
LOW…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs100 // Step 4: first pass (approvalDecision always null — pass2 decides based on user response)COMMENT
LOW…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs231 // Step 7: second pass — must never return RequiresPromptCOMMENT
LOW…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs262 // Step 8: build payload before any store writes — a fail-closed payload resultCOMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs312 // Step 9: side effects — only reached when the payload is valid.COMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs322 // Step 10: final allow logCOMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs327 // Step 10: return AllowCOMMENT
LOW⚡…OpenClaw.Shared/ExecApprovals/ExecApprovalEvaluator.cs19 // Step 1: security=deny is an absolute override. No user approval can bypass it.COMMENT
LOW⚡…OpenClaw.Shared/ExecApprovals/ExecApprovalEvaluator.cs23 // Step 2: explicit user denial.COMMENT
LOW⚡…OpenClaw.Shared/ExecApprovals/ExecApprovalEvaluator.cs27 // Step 3: prompt required — give the user a chance before checking for an allowlist miss.COMMENT
LOW⚡…OpenClaw.Shared/ExecApprovals/ExecApprovalEvaluator.cs32 // Step 4: allowlist miss — security=allowlist, ask=off, no match, no user approval.COMMENT
LOW…OpenClaw.Shared/ExecApprovals/ExecApprovalEvaluator.cs47 // Step 5: allow.COMMENT
Verbosity Indicators16 hits · 31 pts
SeverityFileLineSnippetContext
LOW⚡…OpenClaw.Shared.Tests/ExecApprovalsCoordinatorTests.cs1803 // Step 1: AllowAlways → entry persisted (no lastUsed* yet).COMMENT
LOW⚡…OpenClaw.Shared.Tests/ExecApprovalsCoordinatorTests.cs1811 // Step 2: Same command again → allowlist hit, lastUsed* recorded.COMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs55 // Step 1: validateCOMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs61 // Step 2: normalize (unwrap shell wrappers, resolve executables, build canonical identity)COMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs68 // Step 3: buildContextCOMMENT
LOW…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs100 // Step 4: first pass (approvalDecision always null — pass2 decides based on user response)COMMENT
LOW…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs231 // Step 7: second pass — must never return RequiresPromptCOMMENT
LOW…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs262 // Step 8: build payload before any store writes — a fail-closed payload resultCOMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs312 // Step 9: side effects — only reached when the payload is valid.COMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs322 // Step 10: final allow logCOMMENT
LOW⚡…nClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs327 // Step 10: return AllowCOMMENT
LOW⚡…OpenClaw.Shared/ExecApprovals/ExecApprovalEvaluator.cs19 // Step 1: security=deny is an absolute override. No user approval can bypass it.COMMENT
LOW⚡…OpenClaw.Shared/ExecApprovals/ExecApprovalEvaluator.cs23 // Step 2: explicit user denial.COMMENT
LOW⚡…OpenClaw.Shared/ExecApprovals/ExecApprovalEvaluator.cs27 // Step 3: prompt required — give the user a chance before checking for an allowlist miss.COMMENT
LOW⚡…OpenClaw.Shared/ExecApprovals/ExecApprovalEvaluator.cs32 // Step 4: allowlist miss — security=allowlist, ask=off, no match, no user approval.COMMENT
LOW…OpenClaw.Shared/ExecApprovals/ExecApprovalEvaluator.cs47 // Step 5: allow.COMMENT
Modern AI Meta-Vocabulary4 hits · 11 pts
SeverityFileLineSnippetContext
MEDIUM…lobal-repo-triage/examples/global-triage-2026-09-01.md68| #1271 Visible New Chat/New Session action | Source-confirmed UX gap, hidden `/new` path exists | NEEDS_INFO | 75% | 90CODE
MEDIUMdocs/DATA_FLOW_ARCHITECTURE.md72### App.xaml.cs - orchestration layerCOMMENT
MEDIUM…Claw.Tray.WinUI/A2UI/Actions/GatewayActionTransport.cs117 // matches the Android budget hint for a quick agentic step.COMMENT
MEDIUM….Shared/Inference/Catalog/LocalInferenceEligibility.cs37/// Applies the pinned model capacity, driver, and CUDA guardrails after catalogCOMMENT
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMsrc/OpenClaw.Tray.WinUI/App.xaml.cs3575 /// robust to either identifier space.COMMENT
MEDIUMsrc/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs648 // The robust fix is to apply Margin to the header elementCOMMENT
Fake / Example Data5 hits · 5 pts
SeverityFileLineSnippetContext
LOW…penClaw.SetupEngine.Tests/GatewayAiSetupClientTests.cs240 "options":[{"value":{"id":42},"label":"Demo","hint":"Hint"}],"placeholder":"Code","initialValue":"initial"}CODE
LOW…enClaw.Tray.Tests/FlattenedToolOutputDetectionTests.cs73 "Lorem ipsum dolor sit amet consectetur adipiscing elit. " +CODE
LOW…enClaw.Tray.Tests/FlattenedToolOutputDetectionTests.cs73 "Lorem ipsum dolor sit amet consectetur adipiscing elit. " +CODE
LOWtests/OpenClaw.Connection.Tests/SetupCodeFlowTests.cs562 public FakeClient() : base("ws://fake", "fake-token", NullLogger.Instance) { }CODE
LOWdocs/A2UI_NATIVE_WINUI.md131 "context": { "/email": "user@example.com" }CODE