{"$schema":"https://json.schemastore.org/sarif-2.1.0.json","version":"2.1.0","runs":[{"tool":{"driver":{"name":"codehealth","informationUri":"https://codehealth.canine.dev","rules":[{"id":"D1","name":"Cyclomatic Complexity","shortDescription":{"text":"Cyclomatic Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D1"},{"id":"D2","name":"Cognitive Complexity","shortDescription":{"text":"Cognitive Complexity"},"helpUri":"https://codehealth.canine.dev/dimensions/D2"},{"id":"D3","name":"God Classes","shortDescription":{"text":"God Classes"},"helpUri":"https://codehealth.canine.dev/dimensions/D3"},{"id":"D4","name":"Code Duplication","shortDescription":{"text":"Code Duplication"},"helpUri":"https://codehealth.canine.dev/dimensions/D4"},{"id":"D5","name":"Coupling","shortDescription":{"text":"Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D5"},{"id":"D6","name":"Cohesion (LCOM4)","shortDescription":{"text":"Cohesion (LCOM4)"},"helpUri":"https://codehealth.canine.dev/dimensions/D6"},{"id":"D7","name":"Architectural Integrity","shortDescription":{"text":"Architectural Integrity"},"helpUri":"https://codehealth.canine.dev/dimensions/D7"},{"id":"D8","name":"Code Coverage","shortDescription":{"text":"Code Coverage"},"helpUri":"https://codehealth.canine.dev/dimensions/D8"},{"id":"D9","name":"Test Distribution","shortDescription":{"text":"Test Distribution"},"helpUri":"https://codehealth.canine.dev/dimensions/D9"},{"id":"D10","name":"Test Quality","shortDescription":{"text":"Test Quality"},"helpUri":"https://codehealth.canine.dev/dimensions/D10"},{"id":"D11","name":"Test Reliability","shortDescription":{"text":"Test Reliability"},"helpUri":"https://codehealth.canine.dev/dimensions/D11"},{"id":"D12","name":"Dependency Hygiene","shortDescription":{"text":"Dependency Hygiene"},"helpUri":"https://codehealth.canine.dev/dimensions/D12"},{"id":"D13","name":"Secret Scanning","shortDescription":{"text":"Secret Scanning"},"helpUri":"https://codehealth.canine.dev/dimensions/D13"},{"id":"D14","name":"License Compliance","shortDescription":{"text":"License Compliance"},"helpUri":"https://codehealth.canine.dev/dimensions/D14"},{"id":"D15","name":"Churn \u00D7 Complexity Hotspots","shortDescription":{"text":"Churn \u00D7 Complexity Hotspots"},"helpUri":"https://codehealth.canine.dev/dimensions/D15"},{"id":"D16","name":"Bus Factor","shortDescription":{"text":"Bus Factor"},"helpUri":"https://codehealth.canine.dev/dimensions/D16"},{"id":"D17","name":"Explicit Debt","shortDescription":{"text":"Explicit Debt"},"helpUri":"https://codehealth.canine.dev/dimensions/D17"},{"id":"D18","name":"Solution Shape","shortDescription":{"text":"Solution Shape"},"helpUri":"https://codehealth.canine.dev/dimensions/D18"},{"id":"D19","name":"Documentation Quality","shortDescription":{"text":"Documentation Quality"},"helpUri":"https://codehealth.canine.dev/dimensions/D19"},{"id":"D20","name":"ADR Quality","shortDescription":{"text":"ADR Quality"},"helpUri":"https://codehealth.canine.dev/dimensions/D20"},{"id":"D21","name":"Naming Consistency","shortDescription":{"text":"Naming Consistency"},"helpUri":"https://codehealth.canine.dev/dimensions/D21"},{"id":"D22","name":"Internal API Consistency","shortDescription":{"text":"Internal API Consistency"},"helpUri":"https://codehealth.canine.dev/dimensions/D22"},{"id":"D23","name":"Boundary Type-Coupling","shortDescription":{"text":"Boundary Type-Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D23"},{"id":"D24","name":"Comment Value","shortDescription":{"text":"Comment Value"},"helpUri":"https://codehealth.canine.dev/dimensions/D24"},{"id":"D25","name":"ADR Conformance","shortDescription":{"text":"ADR Conformance"},"helpUri":"https://codehealth.canine.dev/dimensions/D25"},{"id":"D26","name":"Project Cohesion","shortDescription":{"text":"Project Cohesion"},"helpUri":"https://codehealth.canine.dev/dimensions/D26"},{"id":"D27","name":"Navigability","shortDescription":{"text":"Navigability"},"helpUri":"https://codehealth.canine.dev/dimensions/D27"},{"id":"D28","name":"Secrets (history)","shortDescription":{"text":"Secrets (history)"},"helpUri":"https://codehealth.canine.dev/dimensions/D28"},{"id":"D29","name":"Static Analysis (SAST)","shortDescription":{"text":"Static Analysis (SAST)"},"helpUri":"https://codehealth.canine.dev/dimensions/D29"},{"id":"D30","name":"Dependency Vulnerabilities","shortDescription":{"text":"Dependency Vulnerabilities"},"helpUri":"https://codehealth.canine.dev/dimensions/D30"},{"id":"D31","name":"IaC \u0026 Container Security","shortDescription":{"text":"IaC \u0026 Container Security"},"helpUri":"https://codehealth.canine.dev/dimensions/D31"},{"id":"D32","name":"Data Compliance (PII/GDPR)","shortDescription":{"text":"Data Compliance (PII/GDPR)"},"helpUri":"https://codehealth.canine.dev/dimensions/D32"},{"id":"D33","name":"JS/npm Dependency Vulnerabilities","shortDescription":{"text":"JS/npm Dependency Vulnerabilities"},"helpUri":"https://codehealth.canine.dev/dimensions/D33"},{"id":"D34","name":"Knowledge Freshness","shortDescription":{"text":"Knowledge Freshness"},"helpUri":"https://codehealth.canine.dev/dimensions/D34"},{"id":"D35","name":"Change Coupling","shortDescription":{"text":"Change Coupling"},"helpUri":"https://codehealth.canine.dev/dimensions/D35"},{"id":"D36","name":"Supply-chain Provenance \u0026 Signing","shortDescription":{"text":"Supply-chain Provenance \u0026 Signing"},"helpUri":"https://codehealth.canine.dev/dimensions/D36"},{"id":"D37","name":"Vulnerability-disclosure Policy","shortDescription":{"text":"Vulnerability-disclosure Policy"},"helpUri":"https://codehealth.canine.dev/dimensions/D37"},{"id":"D38","name":"OSV Dependency Vulnerabilities","shortDescription":{"text":"OSV Dependency Vulnerabilities"},"helpUri":"https://codehealth.canine.dev/dimensions/D38"}]}},"results":[{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatTimeline.Render (cyclomatic 258): OpenClawChatTimeline.Render has cyclomatic complexity 258 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatTimeline.cs"},"region":{"startLine":434}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9155ad2929aca0fa78e32fd74bb672fc8a00586e3652dc5d6dab87b3ccf32d0"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.AnalyzeLine (cyclomatic 169): Md4cParser.AnalyzeLine has cyclomatic complexity 169 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1357}}}],"partialFingerprints":{"codehealthFindingId/v1":"29a22e42593f48665a782a89cc6073f3f67fd4a4ae4fa143a9a70083227f8769"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.CollectMarks (cyclomatic 125): Md4cParser.CollectMarks has cyclomatic complexity 125 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1432}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b59b2613dab7206b4747a91a6b87c87f9849c1c591d4fc2a2e09605f44af054"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.ProcessInlines (cyclomatic 109): Md4cParser.ProcessInlines has cyclomatic complexity 109 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":2666}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc6618776158911b1b4a95aeaade5e09f6992cd6741881398e973fc84a585998"}},{"ruleId":"D1","level":"warning","message":{"text":"CronPage.ParseCronList (cyclomatic 83): CronPage.ParseCronList has cyclomatic complexity 83 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":570}}}],"partialFingerprints":{"codehealthFindingId/v1":"86a314f49fe4b6c6f7cfe47ad95343558dd8f7d1475e85c6c11c8bcdbe466783"}},{"ruleId":"D1","level":"warning","message":{"text":"DeepLinkHandler.Handle (cyclomatic 79): DeepLinkHandler.Handle has cyclomatic complexity 79 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/DeepLinkHandler.cs"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3966e4b819ba666e6f764bcefa8a38c80e53b96c060a7a64467b3ca215f2b8e"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatDataProvider.LoadHistoryAsync (cyclomatic 73): OpenClawChatDataProvider.LoadHistoryAsync has cyclomatic complexity 73 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":451}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a3950923bdd7704c26ce3027562c208bde3c52606dced45eb3c1fbf5b708570"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.ResolveLinks (cyclomatic 71): Md4cParser.ResolveLinks has cyclomatic complexity 71 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1824}}}],"partialFingerprints":{"codehealthFindingId/v1":"824b9e32ad0e9fd4d382fe217ca174d1d0d7381cad80714541222e31960085c4"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatRoot.Render (cyclomatic 71): OpenClawChatRoot.Render has cyclomatic complexity 71 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatRoot.cs"},"region":{"startLine":110}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f04f85bc974ab327082413a5e6098ac09770bd3ac77f5466167f7a4dcbdc167"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawComposer.Render (cyclomatic 67): OpenClawComposer.Render has cyclomatic complexity 67 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawComposer.cs"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"8873e38e7512695618e9a84b3e42ce454c461e24ef78da0040eb70a12e337799"}},{"ruleId":"D1","level":"warning","message":{"text":"HttpUrlRiskEvaluator.IsPublicAddress (cyclomatic 65): HttpUrlRiskEvaluator.IsPublicAddress has cyclomatic complexity 65 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/HttpUrlRiskEvaluator.cs"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"216b9715e50fc9a1c2ed93d8db93c01bbd48b43de38d00321aaa81b3954f2af8"}},{"ruleId":"D1","level":"warning","message":{"text":"SchemaConfigEditor.ValidateValue (cyclomatic 59): SchemaConfigEditor.ValidateValue has cyclomatic complexity 59 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs"},"region":{"startLine":701}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5e3f2b2f734b5523d7a27e98e66d807500530f1132d9557b537c8bf0acbc607"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.AnalyzePermissiveAutolink (cyclomatic 54): Md4cParser.AnalyzePermissiveAutolink has cyclomatic complexity 54 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":2334}}}],"partialFingerprints":{"codehealthFindingId/v1":"71e7c346facfe281bb4a29e1f9ffd89c659fa47d833c550567447a7f761722e1"}},{"ruleId":"D1","level":"warning","message":{"text":"App.OnTrayMenuItemClicked (cyclomatic 54): App.OnTrayMenuItemClicked has cyclomatic complexity 54 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":911}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b7168bd4da7a6bb40fb1d51ac00d235dddd6d2330f099f1391c12ffcb07b235"}},{"ruleId":"D1","level":"warning","message":{"text":"ChatMarkdownRenderer.ContainsBlockMarkdown (cyclomatic 53): ChatMarkdownRenderer.ContainsBlockMarkdown has cyclomatic complexity 53 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/Markdown/ChatMarkdownRenderer.cs"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"606a55df70db8db824113c0a4bdfe0ba1f6366587c0f2a683155875d5be9e324"}},{"ruleId":"D1","level":"warning","message":{"text":"IconRenderer.MapName (cyclomatic 51): IconRenderer.MapName has cyclomatic complexity 51 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/DisplayRenderers.cs"},"region":{"startLine":272}}}],"partialFingerprints":{"codehealthFindingId/v1":"e87e4032eab4b0d842e66dd72a868b6681c0a4cfc4a2be6ba097ffd872ef8f1b"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.IsHtmlTag (cyclomatic 49): Md4cParser.IsHtmlTag has cyclomatic complexity 49 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"79839ba7bd801429d625695001753fc5b32e47aa1b1b13d5c6fed80138e545d4"}},{"ruleId":"D1","level":"warning","message":{"text":"App.WireAppCapabilityHandlers (cyclomatic 49): App.WireAppCapabilityHandlers has cyclomatic complexity 49 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.CapabilityHandlers.cs"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"7062d59b261fd18014f96f6b0c0f9946dabf87a1d5bcf637b48ec534a2f522bc"}},{"ruleId":"D1","level":"warning","message":{"text":"ConnectionPage.ApplyNodeCard (cyclomatic 47): ConnectionPage.ApplyNodeCard has cyclomatic complexity 47 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":762}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d89ada9775ede10b75653b988b7983f94775313ac080d050f1a9d654c33e433"}},{"ruleId":"D1","level":"warning","message":{"text":"UiRenderer.ApplyModifiers (cyclomatic 44): UiRenderer.ApplyModifiers has cyclomatic complexity 44 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/FunctionalUI.cs"},"region":{"startLine":1598}}}],"partialFingerprints":{"codehealthFindingId/v1":"c27a867d10c1fefd101efe53c4473b6c89fa7979468348470af0c652a484b149"}},{"ruleId":"D1","level":"warning","message":{"text":"Program.Main (cyclomatic 42): Program.Main has cyclomatic complexity 42 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/Program.cs"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"e669affe1fec91f85e49f5617d884908f3f96aa15542e0769650e165f3025f57"}},{"ruleId":"D1","level":"warning","message":{"text":"CliRunner.RunAsync (cyclomatic 42): CliRunner.RunAsync has cyclomatic complexity 42 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.WinNode.Cli/Program.cs"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"370baefb2340dfd7756f5d1a7d3fd38f6e1da70dc96a45c29a8d88883d8d459e"}},{"ruleId":"D1","level":"warning","message":{"text":"SetupWizardRunner.RunAsync (cyclomatic 41): SetupWizardRunner.RunAsync has cyclomatic complexity 41 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupWizardRunner.cs"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"e165439f84b50abaf0b54ea411a626b90ae6d84a3c8bc68898c5d71422e65d91"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.IsHtmlBlockStartCondition (cyclomatic 40): Md4cParser.IsHtmlBlockStartCondition has cyclomatic complexity 40 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":971}}}],"partialFingerprints":{"codehealthFindingId/v1":"3235d2c50c14676f6d66c3095e41b3415d28f69cec7fe1c0b7a055c27b3a8f06"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.HandleKnownResponse (cyclomatic 39): OpenClawGatewayClient.HandleKnownResponse has cyclomatic complexity 39 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":1818}}}],"partialFingerprints":{"codehealthFindingId/v1":"e817d1c7e23d5472c32e99217e062d2489a6c17cd94a62acbef5278c6c96921e"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.HandleResponse (cyclomatic 37): OpenClawGatewayClient.HandleResponse has cyclomatic complexity 37 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":1621}}}],"partialFingerprints":{"codehealthFindingId/v1":"b589230e14c8b047c7959d52e05145898286561040d819c5375a8a0b8b2d7e3f"}},{"ruleId":"D1","level":"warning","message":{"text":"App.OnLaunchedAsync (cyclomatic 37): App.OnLaunchedAsync has cyclomatic complexity 37 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":356}}}],"partialFingerprints":{"codehealthFindingId/v1":"f4cdbddf503c66c0329ded0bcaf8cdf880b9c43ae6a78ba7ba7e4242715a9130"}},{"ruleId":"D1","level":"warning","message":{"text":"ChatMarkdownSanitizer.Sanitize (cyclomatic 37): ChatMarkdownSanitizer.Sanitize has cyclomatic complexity 37 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/ChatMarkdownSanitizer.cs"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc1aa2661ff3243bef14bae1c6a394a7c375e22aa405cd39b6b0c33dc5b7a34f"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatDataProvider.OnChatMessageReceived (cyclomatic 36): OpenClawChatDataProvider.OnChatMessageReceived has cyclomatic complexity 36 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":1234}}}],"partialFingerprints":{"codehealthFindingId/v1":"276d5e9319c434adff095188f7fbf2a989233f4dc96fa10906189cb969fd4525"}},{"ruleId":"D1","level":"warning","message":{"text":"CronPage.CronToHuman (cyclomatic 34): CronPage.CronToHuman has cyclomatic complexity 34 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":880}}}],"partialFingerprints":{"codehealthFindingId/v1":"3114791ecf7e56fb8207d33c8f676c18d8f8a9bcaa133cc8d53347ab59651f33"}},{"ruleId":"D1","level":"warning","message":{"text":"CronPage.BuildRunEntry (cyclomatic 34): CronPage.BuildRunEntry has cyclomatic complexity 34 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":1529}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f0b059d2cbe528e50baf3db4d3bd28d75b10648139506ace6454980468d92a2"}},{"ruleId":"D1","level":"warning","message":{"text":"TrayMenuStateBuilder.Build (cyclomatic 34): TrayMenuStateBuilder.Build has cyclomatic complexity 34 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TrayMenuStateBuilder.cs"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8451bb9c1e29d579ef64036c61f3d1d124430165b697dd3b404d3129e5487b8"}},{"ruleId":"D1","level":"warning","message":{"text":"ChannelsPage.BuildStatusPairs (cyclomatic 33): ChannelsPage.BuildStatusPairs has cyclomatic complexity 33 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":1557}}}],"partialFingerprints":{"codehealthFindingId/v1":"9bf812f4b1776000f5018f117904c3cc0a439c903df009e7b25e6fb54a28a672"}},{"ruleId":"D1","level":"warning","message":{"text":"SystemCapability.HandleExecApprovalsSet (cyclomatic 32): SystemCapability.HandleExecApprovalsSet has cyclomatic complexity 32 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Capabilities/SystemCapability.cs"},"region":{"startLine":615}}}],"partialFingerprints":{"codehealthFindingId/v1":"de6f86cb582f8de179bc6cf561b6a8b21e7768ed36b6d4ae51a5c5381355b27b"}},{"ruleId":"D1","level":"warning","message":{"text":"ChatMarkdownAstBuilder.LeaveBlock (cyclomatic 32): ChatMarkdownAstBuilder.LeaveBlock has cyclomatic complexity 32 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/ChatMarkdownAstBuilder.cs"},"region":{"startLine":256}}}],"partialFingerprints":{"codehealthFindingId/v1":"60382889a47cc78331d39d82fc7e5c3382169a0114681eb4ecc3dc7c106cb7e1"}},{"ruleId":"D1","level":"warning","message":{"text":"SystemCapability.HandleRunAsync (cyclomatic 31): SystemCapability.HandleRunAsync has cyclomatic complexity 31 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Capabilities/SystemCapability.cs"},"region":{"startLine":298}}}],"partialFingerprints":{"codehealthFindingId/v1":"d19464fcb638153aee8c19c29f17f41ecd7a1b369753898759ed8e929a02f2b4"}},{"ruleId":"D1","level":"warning","message":{"text":"ChannelsPage.BuildInlineConfigForm (cyclomatic 31): ChannelsPage.BuildInlineConfigForm has cyclomatic complexity 31 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":1242}}}],"partialFingerprints":{"codehealthFindingId/v1":"309db2d04e95698a69cbf858ac5a3702104d8523b27064adfa74e1e8411a9434"}},{"ruleId":"D1","level":"warning","message":{"text":"ConnectionStatusWindow.CreateTimelineParagraph (cyclomatic 31): ConnectionStatusWindow.CreateTimelineParagraph has cyclomatic complexity 31 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/ConnectionStatusWindow.xaml.cs"},"region":{"startLine":454}}}],"partialFingerprints":{"codehealthFindingId/v1":"00c56a0f443af324843dd6f9a97201a6fae80d7b5d4bc9fb892e03fb5a8660a1"}},{"ruleId":"D1","level":"warning","message":{"text":"GatewayConnectionManager.ConnectCoreAsync (cyclomatic 30): GatewayConnectionManager.ConnectCoreAsync has cyclomatic complexity 30 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionManager.cs"},"region":{"startLine":144}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3764a8b4fc4812bcfea78a115dfd60721ce7ffae3bdf66c8b70437a8ed0b8fc"}},{"ruleId":"D1","level":"warning","message":{"text":"WizardPage.ApplyPayloadAsync (cyclomatic 30): WizardPage.ApplyPayloadAsync has cyclomatic complexity 30 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/WizardPage.xaml.cs"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a5b962f41fa7f5137f9ba2da6b9732fd00a6a21fa2f38b928a954ed328d326a"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.IsCodeSpan (cyclomatic 30): Md4cParser.IsCodeSpan has cyclomatic complexity 30 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1208}}}],"partialFingerprints":{"codehealthFindingId/v1":"44f706a49b2326b31a6810c1976e92312bb5282697c50f4858b6cfdb25d7f390"}},{"ruleId":"D1","level":"warning","message":{"text":"CommandCenterDiagnostics.BuildNodeWarnings (cyclomatic 30): CommandCenterDiagnostics.BuildNodeWarnings has cyclomatic complexity 30 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Models.cs"},"region":{"startLine":1357}}}],"partialFingerprints":{"codehealthFindingId/v1":"9167ee7df3bbff010d0e9335dba7c9e92629a6acd4922612e7ee1b4ab3574ea6"}},{"ruleId":"D1","level":"warning","message":{"text":"ConnectionPage.DoDirectConnectFromAddFormAsync (cyclomatic 30): ConnectionPage.DoDirectConnectFromAddFormAsync has cyclomatic complexity 30 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":2228}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2216e7eb0403c78e3ae9487719e89622f4a0b287a1d6c1f2e83bf99b05ba1e3"}},{"ruleId":"D1","level":"warning","message":{"text":"CommandCenterStateBuilder.Build (cyclomatic 30): CommandCenterStateBuilder.Build has cyclomatic complexity 30 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/CommandCenterStateBuilder.cs"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"48f04f23de3bd66b4a63b90183ed96bf5b056a48b3a421fa2f332a40383edb52"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.HandleRequestError (cyclomatic 29): OpenClawGatewayClient.HandleRequestError has cyclomatic complexity 29 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":1947}}}],"partialFingerprints":{"codehealthFindingId/v1":"7eb8abdccd8122855c21f663235b215ea468b54c44566cf0ef165307d4613540"}},{"ruleId":"D1","level":"warning","message":{"text":"HubWindow.TagToPageType (cyclomatic 29): HubWindow.TagToPageType has cyclomatic complexity 29 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs"},"region":{"startLine":842}}}],"partialFingerprints":{"codehealthFindingId/v1":"7af090deed237abbb704918b9eb57517e4bf56f56d70498c2faf3d55a25d6fed"}},{"ruleId":"D1","level":"warning","message":{"text":"ConnectionStateMachine.ApplyTransition (cyclomatic 27): ConnectionStateMachine.ApplyTransition has cyclomatic complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/ConnectionStateMachine.cs"},"region":{"startLine":192}}}],"partialFingerprints":{"codehealthFindingId/v1":"f42798ab6ced4e4807f166f51975e3c8a5c0382b32d279b9c30112bb4ab28654"}},{"ruleId":"D1","level":"warning","message":{"text":"ChatMarkdownAstBuilder.TextCallback (cyclomatic 27): ChatMarkdownAstBuilder.TextCallback has cyclomatic complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/ChatMarkdownAstBuilder.cs"},"region":{"startLine":536}}}],"partialFingerprints":{"codehealthFindingId/v1":"323120a83a580c6552f4bce3b44e4ddd2bafa7f1f96bc9490937201a107c25bc"}},{"ruleId":"D1","level":"warning","message":{"text":"ChatMarkdownAstBuilder.DecodeEntity (cyclomatic 27): ChatMarkdownAstBuilder.DecodeEntity has cyclomatic complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/ChatMarkdownAstBuilder.cs"},"region":{"startLine":669}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8bb3900de88635f055c2e57a567f863982b6f877811556e39c2635c95f55155"}},{"ruleId":"D1","level":"warning","message":{"text":"App.ExecuteSessionActionAsync (cyclomatic 27): App.ExecuteSessionActionAsync has cyclomatic complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":1048}}}],"partialFingerprints":{"codehealthFindingId/v1":"c31b81948412ec9f4482b0bdad697f27fe64b475f01967c9f9a3e43d41477817"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatDataProvider.OnAgentEventReceived (cyclomatic 27): OpenClawChatDataProvider.OnAgentEventReceived has cyclomatic complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":1485}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef2b4e248c55923bea92a400a814ba782b75766086955871c077e3c01f9a783b"}},{"ruleId":"D1","level":"warning","message":{"text":"ConnectionStateMachine.CanTransition (cyclomatic 26): ConnectionStateMachine.CanTransition has cyclomatic complexity 26 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/ConnectionStateMachine.cs"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"68c02cbb7bc17432adfcc5599c0131ff2495babfb186d89e34032301f638acb3"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.ParseSessions (cyclomatic 26): OpenClawGatewayClient.ParseSessions has cyclomatic complexity 26 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":3265}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbc346cc00beab9279470c9165e6d6dd40aea0a455636f51d74843a1aa566c40"}},{"ruleId":"D1","level":"warning","message":{"text":"ChannelsPage.StartLinkingAsync (cyclomatic 26): ChannelsPage.StartLinkingAsync has cyclomatic complexity 26 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":1736}}}],"partialFingerprints":{"codehealthFindingId/v1":"890ee1d790d894aa0090185d1fe23fa08f8b846d1fafd507466260b8c79b9b84"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.IsTableUnderline (cyclomatic 25): Md4cParser.IsTableUnderline has cyclomatic complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":857}}}],"partialFingerprints":{"codehealthFindingId/v1":"367891749d3c2e00f746804ee6e3c9c181cd0c9055ad732834ea7daf233208cf"}},{"ruleId":"D1","level":"warning","message":{"text":"NotificationCategorizer.ClassifyByKeywords (cyclomatic 25): NotificationCategorizer.ClassifyByKeywords has cyclomatic complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/NotificationCategorizer.cs"},"region":{"startLine":101}}}],"partialFingerprints":{"codehealthFindingId/v1":"3328ca82c4f5959ea083353886e0788189f45cb5591692c9b0f28bc532c95c9b"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.HandleAgentEvent (cyclomatic 25): OpenClawGatewayClient.HandleAgentEvent has cyclomatic complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2777}}}],"partialFingerprints":{"codehealthFindingId/v1":"576fcdcd15649d2b11d4fefe4350423d3572e11b4b86ac15dbdd4890ff725b19"}},{"ruleId":"D1","level":"warning","message":{"text":"CronPage.OnFormSaveClick (cyclomatic 25): CronPage.OnFormSaveClick has cyclomatic complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":275}}}],"partialFingerprints":{"codehealthFindingId/v1":"8e762913bf8f158d0bbae6379a84646da2ac7921f4ce19a4dc3ccdd8dd08d4d1"}},{"ruleId":"D1","level":"warning","message":{"text":"HubWindow.InitializeCurrentPage (cyclomatic 25): HubWindow.InitializeCurrentPage has cyclomatic complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs"},"region":{"startLine":782}}}],"partialFingerprints":{"codehealthFindingId/v1":"55eeb578eb6bd0f43c1ac8adddb6c25fa431e7cdd91fc044c421e4df8b6f67ce"}},{"ruleId":"D1","level":"warning","message":{"text":"ChatAttachment.InferMimeType (cyclomatic 24): ChatAttachment.InferMimeType has cyclomatic complexity 24 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ChatAttachment.cs"},"region":{"startLine":89}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab653b295f5beff169b316745ca29e08cee8e4827fb539d8a0aaa9b02e1e8d5d"}},{"ruleId":"D1","level":"warning","message":{"text":"McpToolBridge.HandleRequestAsync (cyclomatic 24): McpToolBridge.HandleRequestAsync has cyclomatic complexity 24 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mcp/McpToolBridge.cs"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"c890383cbe071816cb56ff5660391322ecd45700b7a5e7193f89beb356543dcb"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.PopulateSessionFromObject (cyclomatic 24): OpenClawGatewayClient.PopulateSessionFromObject has cyclomatic complexity 24 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":3384}}}],"partialFingerprints":{"codehealthFindingId/v1":"76d7df214c6c7a4aa13741ee98c20bedaa5cba40e2fa01dabb9ac4d79e8220f2"}},{"ruleId":"D1","level":"warning","message":{"text":"ChannelsPage.Render (cyclomatic 24): ChannelsPage.Render has cyclomatic complexity 24 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":390}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd268a489f24a7acb22bc5841e8d948ced2d1cde90cf27efae8d4501d2ea60cf"}},{"ruleId":"D1","level":"warning","message":{"text":"UiRenderer.RenderElement (cyclomatic 24): UiRenderer.RenderElement has cyclomatic complexity 24 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/FunctionalUI.cs"},"region":{"startLine":934}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f9899687b06b670a5045aacb272bd8bca9953d1ebb9a2ca1842aba2faf4e0cc"}},{"ruleId":"D1","level":"warning","message":{"text":"ChatTimelineReducer.Apply (cyclomatic 23): ChatTimelineReducer.Apply has cyclomatic complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Chat/ChatTimelineReducer.cs"},"region":{"startLine":7}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2b8cc0d4c9c509032aa17368eb98cfb3bc1026d32b8705ba44ddcdedfba4b73"}},{"ruleId":"D1","level":"warning","message":{"text":"SystemCapability.ValidateExecApprovalRules (cyclomatic 23): SystemCapability.ValidateExecApprovalRules has cyclomatic complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Capabilities/SystemCapability.cs"},"region":{"startLine":722}}}],"partialFingerprints":{"codehealthFindingId/v1":"edcfa4ca0d9bb5c27fb531f820699b4ff8a1957d9c42f6c4ac39de586ca982a5"}},{"ruleId":"D1","level":"warning","message":{"text":"ExecApprovalV2InputValidator.Validate (cyclomatic 23): ExecApprovalV2InputValidator.Validate has cyclomatic complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecApprovalV2InputValidator.cs"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"adfdfe81a5d6a923dc114615c8e985c17a07fabef90ab2665f8a3d8f73374660"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.HandleExecApprovalEvent (cyclomatic 23): OpenClawGatewayClient.HandleExecApprovalEvent has cyclomatic complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2585}}}],"partialFingerprints":{"codehealthFindingId/v1":"a6daff2575c801cc5d72e3866681d1d2a00266a4ed739fe1bb7c580ab8436a2a"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.ParsePresenceArray (cyclomatic 23): OpenClawGatewayClient.ParsePresenceArray has cyclomatic complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":4199}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e71db7089beddb7c05cda06c039862da9d2742e10381a40db9d8f2b833399d0"}},{"ruleId":"D1","level":"warning","message":{"text":"ChatMarkdownSanitizer.TryParseLinkOrImage (cyclomatic 23): ChatMarkdownSanitizer.TryParseLinkOrImage has cyclomatic complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/ChatMarkdownSanitizer.cs"},"region":{"startLine":484}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ceb53c29e147b41a09fd71b48139c865cf346539bbb417ad472f51f3dbf1bf4"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatDataProvider.LooksLikeFlattenedToolOutput (cyclomatic 23): OpenClawChatDataProvider.LooksLikeFlattenedToolOutput has cyclomatic complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2823}}}],"partialFingerprints":{"codehealthFindingId/v1":"578f27167b1f6c00a0d83eb4a131fcb934dfbde990c18e03667839a218747f2d"}},{"ruleId":"D1","level":"warning","message":{"text":"ConnectionPagePlan.ApplyNodeListApproval (cyclomatic 23): ConnectionPagePlan.ApplyNodeListApproval has cyclomatic complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPagePlan.cs"},"region":{"startLine":514}}}],"partialFingerprints":{"codehealthFindingId/v1":"dfabc5c94ca60cc7c4731854f4f3c80316d4982441603b7b37d0fa3d933e0931"}},{"ruleId":"D1","level":"warning","message":{"text":"TrayMenuStateBuilder.BuildGatewayFlyoutItems (cyclomatic 23): TrayMenuStateBuilder.BuildGatewayFlyoutItems has cyclomatic complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TrayMenuStateBuilder.cs"},"region":{"startLine":486}}}],"partialFingerprints":{"codehealthFindingId/v1":"694c852db68637f4d3a4648bfccb1fd6cf0a82b2f9c6fedc9682592c283fd302"}},{"ruleId":"D1","level":"warning","message":{"text":"NodeConnector.ConnectCoreAsync (cyclomatic 22): NodeConnector.ConnectCoreAsync has cyclomatic complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/NodeConnector.cs"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"6ff003887893936da4483716ae20e8b2921193491a3659cb627016a95c4a42ed"}},{"ruleId":"D1","level":"warning","message":{"text":"ExecCommandResolver.SplitShellCommandChain (cyclomatic 22): ExecCommandResolver.SplitShellCommandChain has cyclomatic complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecCommandResolution.cs"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a928c34673245a00a4e23cc0df0c7ea727ce48f390f3535bcf2bcd1d7019c23"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.IsHtmlBlockEndCondition (cyclomatic 22): Md4cParser.IsHtmlBlockEndCondition has cyclomatic complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1079}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc73918c630c7a2b858cf8c29196ad11f9920963ccebbffe561faeb17c245edc"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.AnalyzeTableAlignment (cyclomatic 22): Md4cParser.AnalyzeTableAlignment has cyclomatic complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":2010}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5c4db7e3dbcb64fd4fbfaf8339f1ea587188400cc108e745f7cf82252b3a86e"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.AnalyzeMarks (cyclomatic 22): Md4cParser.AnalyzeMarks has cyclomatic complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":2480}}}],"partialFingerprints":{"codehealthFindingId/v1":"81d2f3e44f073567251ee6113a964622353be6b442bfa03b9bebfe98c9af2d2e"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.HandleChatEvent (cyclomatic 22): OpenClawGatewayClient.HandleChatEvent has cyclomatic complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2962}}}],"partialFingerprints":{"codehealthFindingId/v1":"329c8d7dc67d9437182f125df45da929ebdeae37e461a1faf9d634a72e2b6637"}},{"ruleId":"D1","level":"warning","message":{"text":"MultipleChoiceRenderer.Render (cyclomatic 22): MultipleChoiceRenderer.Render has cyclomatic complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/InteractiveRenderers.cs"},"region":{"startLine":283}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8891fa0ff918d78f5e4b3554f9e30c1c963bd14ed6047fa69b8a7b12b32b571"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatDataProvider.SendMessageAsync (cyclomatic 22): OpenClawChatDataProvider.SendMessageAsync has cyclomatic complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":235}}}],"partialFingerprints":{"codehealthFindingId/v1":"ee6f487eba2502733a011db6360256e17150e2b9d6a78f7ee33fc3cde843dc36"}},{"ruleId":"D1","level":"warning","message":{"text":"AgentEventsPage.EventsList_ContainerContentChanging (cyclomatic 22): AgentEventsPage.EventsList_ContainerContentChanging has cyclomatic complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/AgentEventsPage.xaml.cs"},"region":{"startLine":192}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a75b7580464577ba1ab414fb03f6a270084673d884dc78be90478e4661c68d6"}},{"ruleId":"D1","level":"warning","message":{"text":"ChannelsPage.BuildControlsSection (cyclomatic 22): ChannelsPage.BuildControlsSection has cyclomatic complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":851}}}],"partialFingerprints":{"codehealthFindingId/v1":"a85038c950f48a7a40efda3c7a9b5eadba3524cc6a4003f7a2be76aac3bf6a99"}},{"ruleId":"D1","level":"warning","message":{"text":"ChatTimelineReducer.UpsertAssistant (cyclomatic 21): ChatTimelineReducer.UpsertAssistant has cyclomatic complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Chat/ChatTimelineReducer.cs"},"region":{"startLine":303}}}],"partialFingerprints":{"codehealthFindingId/v1":"037565abe1408bfa024874b2af6b67edab251c4c734a1130a58af1908b64d0f6"}},{"ruleId":"D1","level":"warning","message":{"text":"SettingsChangeClassifier.Classify (cyclomatic 21): SettingsChangeClassifier.Classify has cyclomatic complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/SettingsChangeImpact.cs"},"region":{"startLine":28}}}],"partialFingerprints":{"codehealthFindingId/v1":"d1f74cea9fa11cd5605dc374244f49862fbf1c57d734d1363db5afced5af4e3b"}},{"ruleId":"D1","level":"warning","message":{"text":"WizardPayload.Parse (cyclomatic 21): WizardPayload.Parse has cyclomatic complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupWizardRunner.cs"},"region":{"startLine":480}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a59a8a5baaaac0a33c2e6d5239d3684def6e94d2fb5d5a884250de387d39613"}},{"ruleId":"D1","level":"warning","message":{"text":"ExecApprovalsCoordinator.HandleAsync (cyclomatic 21): ExecApprovalsCoordinator.HandleAsync has cyclomatic complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"27fc51f1a4655d957e90d783480e3578d0381042c1dac85dc3fc2e23a321cf85"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.ProcessLine (cyclomatic 21): Md4cParser.ProcessLine has cyclomatic complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1851}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7b54b5954fb000b1455e620b6eb056f0d101abd6701171c18a3c1e4511a0a42"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.ParseDevicePairList (cyclomatic 21): OpenClawGatewayClient.ParseDevicePairList has cyclomatic complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":4117}}}],"partialFingerprints":{"codehealthFindingId/v1":"2f221a835ebe1bac0178c2839e497c25ccfb51b30e1dbab88559b5b6752f2c06"}},{"ruleId":"D1","level":"warning","message":{"text":"SchemaConfigEditor.RenderField (cyclomatic 21): SchemaConfigEditor.RenderField has cyclomatic complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"676bdaa8b532a9c6918330756c3e0c89e8d96fb186c7447fb9b6d68acab87ddf"}},{"ruleId":"D1","level":"warning","message":{"text":"A2UICanvasWindow.UpdateLayout (cyclomatic 21): A2UICanvasWindow.UpdateLayout has cyclomatic complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/A2UICanvasWindow.xaml.cs"},"region":{"startLine":169}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb5324df402f5662f1e8457fb67ca53151489c62632250acb049975baf8f5f09"}},{"ruleId":"D1","level":"warning","message":{"text":"ChatMarkdownAstBuilder.LeaveSpan (cyclomatic 20): ChatMarkdownAstBuilder.LeaveSpan has cyclomatic complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/ChatMarkdownAstBuilder.cs"},"region":{"startLine":453}}}],"partialFingerprints":{"codehealthFindingId/v1":"836d9e0226a88eafaddc30a83f19c3f68db86a2ea68473a37c9d6ee5ac9153b1"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.ParseChatHistory (cyclomatic 20): OpenClawGatewayClient.ParseChatHistory has cyclomatic complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":506}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b6d2ab06c559cccc6820d97597830ea9017bbc67ab830aaf3ce49dcf8c10fe6"}},{"ruleId":"D1","level":"warning","message":{"text":"App.InitializeGatewayClient (cyclomatic 20): App.InitializeGatewayClient has cyclomatic complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":1353}}}],"partialFingerprints":{"codehealthFindingId/v1":"162a155935452c5ff55bc1ac6310ba0f8bb139957509649f4f70dbfa2f75b30d"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatDataProvider.UpdateActiveRunId (cyclomatic 20): OpenClawChatDataProvider.UpdateActiveRunId has cyclomatic complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":1665}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ee593399f0f18e5872b8ab3894922baae28ec7a5a59a00e069d0d733fc13e71"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatDataProvider.TruncateChatEvent (cyclomatic 20): OpenClawChatDataProvider.TruncateChatEvent has cyclomatic complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2963}}}],"partialFingerprints":{"codehealthFindingId/v1":"90a8698a6c9eaa8a836163bf0fa130166d6633c646f2860164af50fd40b28e26"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatDataProvider.PersistAbortedMessageIdAsync (cyclomatic 20): OpenClawChatDataProvider.PersistAbortedMessageIdAsync has cyclomatic complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":4451}}}],"partialFingerprints":{"codehealthFindingId/v1":"a52c0f21add611fc19e6b2d75f4adb4270323714e28c7aa5cda3390026f89035"}},{"ruleId":"D1","level":"warning","message":{"text":"WorkspacePage.BuildMarkdownView (cyclomatic 20): WorkspacePage.BuildMarkdownView has cyclomatic complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/WorkspacePage.xaml.cs"},"region":{"startLine":310}}}],"partialFingerprints":{"codehealthFindingId/v1":"abcbc82eb4dbbb88a8961752a3d24b0b195dd6b416c8c83e13d981945c87515e"}},{"ruleId":"D1","level":"warning","message":{"text":"JsonDiffFormatter.BuildLineDiff (cyclomatic 20): JsonDiffFormatter.BuildLineDiff has cyclomatic complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/JsonDiffFormatter.cs"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"5aaeb3aa89c75c30c9e01cde7a28c020fc1c012692fdd67c2d2845179f8fa134"}},{"ruleId":"D1","level":"warning","message":{"text":"GatewayConnectionSnapshot.DeriveOverall (cyclomatic 19): GatewayConnectionSnapshot.DeriveOverall has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionSnapshot.cs"},"region":{"startLine":56}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a1d879c4a17ab04a5117101c75d64c029229b411226fdc18dee2e0d4717f915"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.BuildAttribute (cyclomatic 19): Md4cParser.BuildAttribute has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":400}}}],"partialFingerprints":{"codehealthFindingId/v1":"65bfc0156c12e7f78a2162c8681d234c8f967331e52599119bff635668cb5a9a"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.IsInlineLinkSpec (cyclomatic 19): Md4cParser.IsInlineLinkSpec has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1109}}}],"partialFingerprints":{"codehealthFindingId/v1":"088d46f99aa5eb5aaa2a923da5624b90966c102146cf6e9b5d7c98a3d642c029"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.IsAutolinkEmail (cyclomatic 19): Md4cParser.IsAutolinkEmail has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1366}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c11f9bae4c7160c29cd5dc7a487bff50329263d38c8763d5563b443217db6dd"}},{"ruleId":"D1","level":"warning","message":{"text":"McpHttpServer.HandleAsync (cyclomatic 19): McpHttpServer.HandleAsync has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mcp/McpHttpServer.cs"},"region":{"startLine":202}}}],"partialFingerprints":{"codehealthFindingId/v1":"4dd3d662af53781791710941c22d94f3cf95ea3a5741e17a0fbffc4ea7f67c0a"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.HandleEvent (cyclomatic 19): OpenClawGatewayClient.HandleEvent has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2502}}}],"partialFingerprints":{"codehealthFindingId/v1":"3088c83718412fa4b85eae8b5cf499a66fc2f76eb17ad78d1f6e75a212a72a64"}},{"ruleId":"D1","level":"warning","message":{"text":"ListRenderer.Render (cyclomatic 19): ListRenderer.Render has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/ContainerRenderers.cs"},"region":{"startLine":61}}}],"partialFingerprints":{"codehealthFindingId/v1":"af00f40846cd1e330070b7def647c4e67e911a1c8e227faef7c9461fa9c29a82"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatDataProvider.BuildSnapshotLocked (cyclomatic 19): OpenClawChatDataProvider.BuildSnapshotLocked has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":3633}}}],"partialFingerprints":{"codehealthFindingId/v1":"68a75791079e39b7f2def16efd0174e3abe63eec5bffa530b34a27ca9cb73c39"}},{"ruleId":"D1","level":"warning","message":{"text":"ConnectionPage.ClassifyTopology (cyclomatic 19): ConnectionPage.ClassifyTopology has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":646}}}],"partialFingerprints":{"codehealthFindingId/v1":"d9f0445faac697692d78ed4563f2b83203b2999fe780a38e26e321a3180b8fe0"}},{"ruleId":"D1","level":"warning","message":{"text":"CronPage.OnEditJobClick (cyclomatic 19): CronPage.OnEditJobClick has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":205}}}],"partialFingerprints":{"codehealthFindingId/v1":"4be5775345f2f6226b2bc364c2a78d69b4e645f2ddc1ce6b5f068157fe1ebef9"}},{"ruleId":"D1","level":"warning","message":{"text":"WorkspacePage.AppendInlineMarkdown (cyclomatic 19): WorkspacePage.AppendInlineMarkdown has cyclomatic complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/WorkspacePage.xaml.cs"},"region":{"startLine":450}}}],"partialFingerprints":{"codehealthFindingId/v1":"08d01ba9d6c8bf58a2175d9e5e3fdc0bcb7b3ad714be0ab2548fb4638d7ccd89"}},{"ruleId":"D1","level":"warning","message":{"text":"DiagnosticTeeLogger.Info (cyclomatic 18): DiagnosticTeeLogger.Info has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionManager.cs"},"region":{"startLine":1879}}}],"partialFingerprints":{"codehealthFindingId/v1":"717ce96af1d31cfcbb04e3d45e16dc8c85e54c892ebcb26e4d8d3a7beaa89257"}},{"ruleId":"D1","level":"warning","message":{"text":"SetupCodeDecoder.Decode (cyclomatic 18): SetupCodeDecoder.Decode has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/SetupCodeDecoder.cs"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"20c21801252db3d672a5b7dd3743820c6bbf14f6b9ff8de8ffa998806253bfaa"}},{"ruleId":"D1","level":"warning","message":{"text":"DeviceCapability.HandleStatusAsync (cyclomatic 18): DeviceCapability.HandleStatusAsync has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Capabilities/DeviceCapability.cs"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"0254a34d9658bd04c4b0b00f77a59b21054bb95e41a6e6682f67a4a1c1d2c37a"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.IsLinkTitle (cyclomatic 18): Md4cParser.IsLinkTitle has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":875}}}],"partialFingerprints":{"codehealthFindingId/v1":"0207d9cd27bf5ff54910b3e850160abb14d38d5e1ae2e6b26ab8bc7f1c038e17"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.IsAutolinkUri (cyclomatic 18): Md4cParser.IsAutolinkUri has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1328}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9ed7cfc07e226dd97adf65ed1fef1cef2279c7d3f6c1d64f44cedb7516729be"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.TryGetHandshakeDeviceTokenCore (cyclomatic 18): OpenClawGatewayClient.TryGetHandshakeDeviceTokenCore has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2407}}}],"partialFingerprints":{"codehealthFindingId/v1":"e701089dc08cc188ca7b278bbca44435f8615ffdb8bff0048145f4053982d429"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.TryGetHandshakeDeviceTokenScopesCore (cyclomatic 18): OpenClawGatewayClient.TryGetHandshakeDeviceTokenScopesCore has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2457}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cf8c0c874a894b714d067641856ab2496a30f12c1abbb5b305275601efe5380"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.ParseNodeList (cyclomatic 18): OpenClawGatewayClient.ParseNodeList has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":3445}}}],"partialFingerprints":{"codehealthFindingId/v1":"23378dfa7ba93564472d06bf7060fb21ae13330ddf4112fdbb923d166f82bcca"}},{"ruleId":"D1","level":"warning","message":{"text":"WindowsNodeClient.HandleNodeInvokeEventAsync (cyclomatic 18): WindowsNodeClient.HandleNodeInvokeEventAsync has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WindowsNodeClient.cs"},"region":{"startLine":414}}}],"partialFingerprints":{"codehealthFindingId/v1":"ce6625b337609cdfe33795ee1ddab913c98694685ff66b78bd4c1d63917d9d0b"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatDataProvider.FetchRemoteUserMessageAsync (cyclomatic 18): OpenClawChatDataProvider.FetchRemoteUserMessageAsync has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":1793}}}],"partialFingerprints":{"codehealthFindingId/v1":"7148bd4956bfd22db396cd1ed849a75d9d427cb4005aaac87729895a1d9570d7"}},{"ruleId":"D1","level":"warning","message":{"text":"SchemaConfigEditor.RenderConfigDirectly (cyclomatic 18): SchemaConfigEditor.RenderConfigDirectly has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs"},"region":{"startLine":860}}}],"partialFingerprints":{"codehealthFindingId/v1":"84f99376b8ebaac5f069ecfd75fba710069d437c6663b6d07538d8357792d77e"}},{"ruleId":"D1","level":"warning","message":{"text":"AgentEventsPage.EventsList_ItemClick (cyclomatic 18): AgentEventsPage.EventsList_ItemClick has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/AgentEventsPage.xaml.cs"},"region":{"startLine":246}}}],"partialFingerprints":{"codehealthFindingId/v1":"527b6c27df142b4ee85a7d3bb4379132abb9a839a071ed1d942fcd8b8ee9136f"}},{"ruleId":"D1","level":"warning","message":{"text":"SkillsPage.UpdateFromGateway (cyclomatic 18): SkillsPage.UpdateFromGateway has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/SkillsPage.xaml.cs"},"region":{"startLine":128}}}],"partialFingerprints":{"codehealthFindingId/v1":"5614a09b82cfe6e7ddad5b29d9573723984e8c90e7b3f26333a8eefcb7b1727b"}},{"ruleId":"D1","level":"warning","message":{"text":"TrayMenuStateBuilder.BuildUsageFlyoutItems (cyclomatic 18): TrayMenuStateBuilder.BuildUsageFlyoutItems has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TrayMenuStateBuilder.cs"},"region":{"startLine":1091}}}],"partialFingerprints":{"codehealthFindingId/v1":"445a1d4a0e1540b81acb016e2686ec8c09a017e9455ce070cfb426dab6f5eb05"}},{"ruleId":"D1","level":"warning","message":{"text":"ConnectionStatusWindow.RefreshGateways (cyclomatic 18): ConnectionStatusWindow.RefreshGateways has cyclomatic complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/ConnectionStatusWindow.xaml.cs"},"region":{"startLine":168}}}],"partialFingerprints":{"codehealthFindingId/v1":"57657f8c9ae8294db22fc245ab9017603f01f5cfd230418944ef007a8edfdd10"}},{"ruleId":"D1","level":"warning","message":{"text":"Program.Main (cyclomatic 17): Program.Main has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Cli/Program.cs"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ca2ed34fdf08b85ee8759dfbcf24f66587f3e8818ad341fe73eb9ae2e0fbbb3"}},{"ruleId":"D1","level":"warning","message":{"text":"ChannelsAggregator.Aggregate (cyclomatic 17): ChannelsAggregator.Aggregate has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ChannelRecord.cs"},"region":{"startLine":135}}}],"partialFingerprints":{"codehealthFindingId/v1":"b4d08da769321ecb8964abeaad2698d120e825f6bcd3e916135cb728edc6a36f"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.ProcessLeafBlock (cyclomatic 17): Md4cParser.ProcessLeafBlock has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":335}}}],"partialFingerprints":{"codehealthFindingId/v1":"483c3421241c95d5941c9082b2b4303895f47f5a28bf0b1234bdc9003bda7bcc"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.ProcessAllBlocks (cyclomatic 17): Md4cParser.ProcessAllBlocks has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":482}}}],"partialFingerprints":{"codehealthFindingId/v1":"ed38877007fc571cacef0f5fb93e8ee866a9cf252faefa944a7d9d18de0a0c7d"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.IsContainerMark (cyclomatic 17): Md4cParser.IsContainerMark has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1277}}}],"partialFingerprints":{"codehealthFindingId/v1":"a2b1365a0bf50ae643f98437f129b5f87e5a21f3fe6b86c99950fa35e1a21027"}},{"ruleId":"D1","level":"warning","message":{"text":"ChannelsPage.BuildGenericSubtitleLines (cyclomatic 17): ChannelsPage.BuildGenericSubtitleLines has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":2309}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1f48991a6b95e5a3064a86f2f8e14813d26f35c17ecaec886532a5e273621f7"}},{"ruleId":"D1","level":"warning","message":{"text":"ConfigPage.BuildSchemaTreeNodes (cyclomatic 17): ConfigPage.BuildSchemaTreeNodes has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConfigPage.xaml.cs"},"region":{"startLine":311}}}],"partialFingerprints":{"codehealthFindingId/v1":"1723f3a6dd0e79101ebb9510683f7d341d770103a89d0eb75d9b9c97996912b0"}},{"ruleId":"D1","level":"warning","message":{"text":"ConnectionPage.ApplyStripVisuals (cyclomatic 17): ConnectionPage.ApplyStripVisuals has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":365}}}],"partialFingerprints":{"codehealthFindingId/v1":"a601b1a636408101e9cd905d764e5d8b0d580e3b96e868d0879824f8e71fa75c"}},{"ruleId":"D1","level":"warning","message":{"text":"ConnectionPage.RunConnectivityTestAsync (cyclomatic 17): ConnectionPage.RunConnectivityTestAsync has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":2123}}}],"partialFingerprints":{"codehealthFindingId/v1":"f9db5d54b27b4e6d598c14f8c34e66db4247c2a326196f2d9e487809cf7ce68c"}},{"ruleId":"D1","level":"warning","message":{"text":"NodeService.DisposeCoreAsync (cyclomatic 17): NodeService.DisposeCoreAsync has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/NodeService.cs"},"region":{"startLine":2007}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa6f8b2dd9e7ef424cd5c35122a6d1a999575d36d60bdfbcbae90269c1133ce7"}},{"ruleId":"D1","level":"warning","message":{"text":"ScreenCaptureService.CaptureAsync (cyclomatic 17): ScreenCaptureService.CaptureAsync has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/ScreenCaptureService.cs"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea4cd92567e724d2af06ef0299547d2c40e36f59d888cdf2af1edf3298eaca50"}},{"ruleId":"D1","level":"warning","message":{"text":"SetupWizardWindow.OnTestConnectionAsync (cyclomatic 17): SetupWizardWindow.OnTestConnectionAsync has cyclomatic complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/SetupWizardWindow.cs"},"region":{"startLine":736}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0036f7ae3081b39b26369901745f06bbc0edd1f818f0bad7d59c3cc3848ca74"}},{"ruleId":"D1","level":"warning","message":{"text":"ChatTimelineReducer.StripCumulativeTurnPrefix (cyclomatic 16): ChatTimelineReducer.StripCumulativeTurnPrefix has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Chat/ChatTimelineReducer.cs"},"region":{"startLine":567}}}],"partialFingerprints":{"codehealthFindingId/v1":"462bbb1e98210d777bb26297836109be309c16ddfac4aa306b3adb73c48f8419"}},{"ruleId":"D1","level":"warning","message":{"text":"GatewayConnectionManager.StartNodeConnectionCoreAsync (cyclomatic 16): GatewayConnectionManager.StartNodeConnectionCoreAsync has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionManager.cs"},"region":{"startLine":1183}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8cddf96db4f40758fbda50bb6149f8d98df28fba863b2e3a6cf60a31c598793"}},{"ruleId":"D1","level":"warning","message":{"text":"WizardConsoleTail.TryExtractConsoleMessage (cyclomatic 16): WizardConsoleTail.TryExtractConsoleMessage has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/WizardConsoleTail.cs"},"region":{"startLine":145}}}],"partialFingerprints":{"codehealthFindingId/v1":"c1d93d19e9373e138ad19f8cae989efef585e48fe2acf9d0f8df7e814c12e4a3"}},{"ruleId":"D1","level":"warning","message":{"text":"ExecShellWrapperParser.SplitTopLevelCommands (cyclomatic 16): ExecShellWrapperParser.SplitTopLevelCommands has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecShellWrapperParser.cs"},"region":{"startLine":218}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fac9cf41e4b6cfad3cec8c41bcfa2628bbb199ae3e610eb3ff62627e829123b"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.ProcessDoc (cyclomatic 16): Md4cParser.ProcessDoc has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1948}}}],"partialFingerprints":{"codehealthFindingId/v1":"461045efb38a8d9964f394e7696c4b9ef642f74c9995aa74fd18de52c2112973"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.IsLinkLabel (cyclomatic 16): Md4cParser.IsLinkLabel has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":697}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb8736b0c789551319f06582bd80ab7a8733a810077c79492f90abefea71c349"}},{"ruleId":"D1","level":"warning","message":{"text":"Md4cParser.AnalyzeEmph (cyclomatic 16): Md4cParser.AnalyzeEmph has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":2164}}}],"partialFingerprints":{"codehealthFindingId/v1":"1ef33161f9787b1e0253115f9232bbe1d32ad64b0044ee87f4f0f537d5fdd66d"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.EnumerateHandshakeDeviceTokens (cyclomatic 16): OpenClawGatewayClient.EnumerateHandshakeDeviceTokens has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2358}}}],"partialFingerprints":{"codehealthFindingId/v1":"acb0443aebbdede88b0e5838ebebbe5d8e85f2367287337c1d199e1e2022a970"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawGatewayClient.BuildProviderSummary (cyclomatic 16): OpenClawGatewayClient.BuildProviderSummary has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":3798}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0fc53e280eb164486b8fc9a3361d3c3b6020a66e3873540bea0ec89d1e96050"}},{"ruleId":"D1","level":"warning","message":{"text":"WebSocketClientBase.ListenForMessagesAsync (cyclomatic 16): WebSocketClientBase.ListenForMessagesAsync has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WebSocketClientBase.cs"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"8904d1e4eff04d8b2082100d62dc6311b6fbf1424d13cd1c9dd2ed07af0db30f"}},{"ruleId":"D1","level":"warning","message":{"text":"WindowsNodeClient.HandleRequestError (cyclomatic 16): WindowsNodeClient.HandleRequestError has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WindowsNodeClient.cs"},"region":{"startLine":821}}}],"partialFingerprints":{"codehealthFindingId/v1":"5526c0ccefb0e6f92671b17612e06eb7efc5cf1c334f32bab50c5dafaf25263d"}},{"ruleId":"D1","level":"warning","message":{"text":"A2UIMessageParser.ParseLine (cyclomatic 16): A2UIMessageParser.ParseLine has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Protocol/A2UIProtocol.cs"},"region":{"startLine":240}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd4d52209ef5ffcfc1e1fcc1540645e8bb833071330e887b089d1146d218d8e6"}},{"ruleId":"D1","level":"warning","message":{"text":"TextRenderer.ApplyUsageHint (cyclomatic 16): TextRenderer.ApplyUsageHint has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/DisplayRenderers.cs"},"region":{"startLine":44}}}],"partialFingerprints":{"codehealthFindingId/v1":"dbece748cd21bf83a8ad0b8502ef92734fc736a4a5691de1413a113a4caf5045"}},{"ruleId":"D1","level":"warning","message":{"text":"OpenClawChatDataProvider.ClassifyFlattenedToolOutput (cyclomatic 16): OpenClawChatDataProvider.ClassifyFlattenedToolOutput has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2875}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa78a5009a268795aa31caddc59f4fa968323dbc6a30d787df18132efbd6c23f"}},{"ruleId":"D1","level":"warning","message":{"text":"ConnectionPage.ApplyRecoveryBody (cyclomatic 16): ConnectionPage.ApplyRecoveryBody has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":975}}}],"partialFingerprints":{"codehealthFindingId/v1":"28b41413a1c72941c88c1c60f706450de11cbec9dfb682c456ee62a725395a5b"}},{"ruleId":"D1","level":"warning","message":{"text":"CronPage.UpdateCronRuns (cyclomatic 16): CronPage.UpdateCronRuns has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":1416}}}],"partialFingerprints":{"codehealthFindingId/v1":"c7106e4a6854ee759105a088765747ffcd5ed375f3fabec927911861a3ce8117"}},{"ruleId":"D1","level":"warning","message":{"text":"SettingsPage.OnRemoveGatewayAsync (cyclomatic 16): SettingsPage.OnRemoveGatewayAsync has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/SettingsPage.xaml.cs"},"region":{"startLine":262}}}],"partialFingerprints":{"codehealthFindingId/v1":"98af5c6934dfe57333b0b575bc794099b1bd234e7ab7be1ac3182c96005e4a99"}},{"ruleId":"D1","level":"warning","message":{"text":"TrayMenuStateBuilder.BuildDeviceFlyoutItems (cyclomatic 16): TrayMenuStateBuilder.BuildDeviceFlyoutItems has cyclomatic complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TrayMenuStateBuilder.cs"},"region":{"startLine":869}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d41a0cf47dbe580d8e7425769869ea07dbd99612e28fec29123533a23b37144"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.CollectMarks (cognitive 365): Md4cParser.CollectMarks has cognitive complexity 365 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1432}}}],"partialFingerprints":{"codehealthFindingId/v1":"bd40367e84a01624de995646bef467b084c867581ad97a64529d5555ecb07a21"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.ProcessInlines (cognitive 341): Md4cParser.ProcessInlines has cognitive complexity 341 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":2666}}}],"partialFingerprints":{"codehealthFindingId/v1":"40660381beda33e0a19a7e125e711343f065b5474d4958a7e4ab0d1084867ee7"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatTimeline.Render (cognitive 340): OpenClawChatTimeline.Render has cognitive complexity 340 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatTimeline.cs"},"region":{"startLine":434}}}],"partialFingerprints":{"codehealthFindingId/v1":"d64d6b35146699c5a12e37e01726050ff90f443ef06f920ef841b594589d6317"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.AnalyzeLine (cognitive 268): Md4cParser.AnalyzeLine has cognitive complexity 268 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1357}}}],"partialFingerprints":{"codehealthFindingId/v1":"904dc9adf9784a964ce378386139e0d023e614ea9bad059aa59ca8b55c72eda1"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.ResolveLinks (cognitive 188): Md4cParser.ResolveLinks has cognitive complexity 188 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1824}}}],"partialFingerprints":{"codehealthFindingId/v1":"40e5b37626a101a0abd72ebda224181d24af5d5fc23e995d60bb7c9438567b12"}},{"ruleId":"D2","level":"warning","message":{"text":"CronPage.ParseCronList (cognitive 155): CronPage.ParseCronList has cognitive complexity 155 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":570}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e1879f2fee8708a24501577c9bddced6bcfe90caa69f8aa80d8ea6f36e7be47"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.LoadHistoryAsync (cognitive 114): OpenClawChatDataProvider.LoadHistoryAsync has cognitive complexity 114 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":451}}}],"partialFingerprints":{"codehealthFindingId/v1":"1dbbe6b46518d3d7e3e8b0f7f54f1b89d5fc01378e4837b3c6148492414a9639"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawComposer.Render (cognitive 98): OpenClawComposer.Render has cognitive complexity 98 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawComposer.cs"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"0cfe6a947792fc051a86238de5855edfa1a764f50a67c2fca7addab4b7d09695"}},{"ruleId":"D2","level":"warning","message":{"text":"ChatMarkdownSanitizer.Sanitize (cognitive 93): ChatMarkdownSanitizer.Sanitize has cognitive complexity 93 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/ChatMarkdownSanitizer.cs"},"region":{"startLine":75}}}],"partialFingerprints":{"codehealthFindingId/v1":"334ab2587810cd035d499e2547e7cc6bafdf617bfeb8f75b311ea6b956fe78f9"}},{"ruleId":"D2","level":"warning","message":{"text":"ChatMarkdownRenderer.ContainsBlockMarkdown (cognitive 87): ChatMarkdownRenderer.ContainsBlockMarkdown has cognitive complexity 87 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/Markdown/ChatMarkdownRenderer.cs"},"region":{"startLine":122}}}],"partialFingerprints":{"codehealthFindingId/v1":"9965c452b82b02de23b87f646828f03e9219f1fc0984a19fd53498ccd93816e1"}},{"ruleId":"D2","level":"warning","message":{"text":"SchemaConfigEditor.ValidateValue (cognitive 87): SchemaConfigEditor.ValidateValue has cognitive complexity 87 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs"},"region":{"startLine":701}}}],"partialFingerprints":{"codehealthFindingId/v1":"9d51e8313642a15315f984e726eba78359b38304ff462e1204a01167d81fe70e"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.AnalyzePermissiveAutolink (cognitive 77): Md4cParser.AnalyzePermissiveAutolink has cognitive complexity 77 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":2334}}}],"partialFingerprints":{"codehealthFindingId/v1":"7750d11c7a850830864bc4ca7c0d3df8390b03de8fae3b12a0795d96eebe83b3"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatRoot.Render (cognitive 76): OpenClawChatRoot.Render has cognitive complexity 76 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatRoot.cs"},"region":{"startLine":110}}}],"partialFingerprints":{"codehealthFindingId/v1":"db446e21f9e6579fccdc736f061873cdb2df17d2582156d7c9569be03f1c97c7"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsHtmlBlockStartCondition (cognitive 74): Md4cParser.IsHtmlBlockStartCondition has cognitive complexity 74 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":971}}}],"partialFingerprints":{"codehealthFindingId/v1":"3b08c30066d910024cf8e228b721c79d94660ff00003d41066aa8fc006dde49d"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsHtmlTag (cognitive 66): Md4cParser.IsHtmlTag has cognitive complexity 66 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"69969161c8c02202bbcffa0cec58feac904fbf434b9c711b7f50284129b645bf"}},{"ruleId":"D2","level":"warning","message":{"text":"SetupWizardRunner.RunAsync (cognitive 60): SetupWizardRunner.RunAsync has cognitive complexity 60 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupWizardRunner.cs"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"569512f861753904968e3efe372c28687089bc50acaeee951c062b6c0bcdabf0"}},{"ruleId":"D2","level":"warning","message":{"text":"UiRenderer.ApplyModifiers (cognitive 59): UiRenderer.ApplyModifiers has cognitive complexity 59 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/FunctionalUI.cs"},"region":{"startLine":1598}}}],"partialFingerprints":{"codehealthFindingId/v1":"6d62b451a6511869b0246d07c66686cb2ec68023dcca727e55c6e2f2182207f6"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.HandleResponse (cognitive 58): OpenClawGatewayClient.HandleResponse has cognitive complexity 58 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":1621}}}],"partialFingerprints":{"codehealthFindingId/v1":"60b54bce27de949eb826de74b7ee1bffbc2618af3b99956c2c1a96ea27120865"}},{"ruleId":"D2","level":"warning","message":{"text":"CliRunner.RunAsync (cognitive 58): CliRunner.RunAsync has cognitive complexity 58 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.WinNode.Cli/Program.cs"},"region":{"startLine":47}}}],"partialFingerprints":{"codehealthFindingId/v1":"84064dbe1b06b4801558db3792cf50d87470c42927d703bd3fe15c2541c06180"}},{"ruleId":"D2","level":"warning","message":{"text":"HttpUrlRiskEvaluator.IsPublicAddress (cognitive 52): HttpUrlRiskEvaluator.IsPublicAddress has cognitive complexity 52 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/HttpUrlRiskEvaluator.cs"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"2918677d9020e00f3356799e83d1c3ffee965e05bbdfed4a8b358c5c782ce6a4"}},{"ruleId":"D2","level":"warning","message":{"text":"App.WireAppCapabilityHandlers (cognitive 51): App.WireAppCapabilityHandlers has cognitive complexity 51 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.CapabilityHandlers.cs"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"8163ec3f0b38bf487b77ca9d1906e4a65e2712620f68f49d8d5d413430fb0dcc"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.ParseDevicePairList (cognitive 50): OpenClawGatewayClient.ParseDevicePairList has cognitive complexity 50 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":4117}}}],"partialFingerprints":{"codehealthFindingId/v1":"15e2c3c536d033efa2cfbab87ec271cdf544445e0381ac17f272c1bc8a1d0536"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsCodeSpan (cognitive 49): Md4cParser.IsCodeSpan has cognitive complexity 49 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1208}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a948c7b98e31a44b0723ceb03e184056608defe49278da7b7650f2eb0358730"}},{"ruleId":"D2","level":"warning","message":{"text":"ChannelsPage.BuildInlineConfigForm (cognitive 49): ChannelsPage.BuildInlineConfigForm has cognitive complexity 49 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":1242}}}],"partialFingerprints":{"codehealthFindingId/v1":"41d9d70c1c0a09dfa6eb27db70f52025160ed9f9dbdd1a01de125a5de88b82c9"}},{"ruleId":"D2","level":"warning","message":{"text":"MultipleChoiceRenderer.Render (cognitive 47): MultipleChoiceRenderer.Render has cognitive complexity 47 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/InteractiveRenderers.cs"},"region":{"startLine":283}}}],"partialFingerprints":{"codehealthFindingId/v1":"3370caaf0b1513834c64bf9fc39aeed9ff86890c7f950e204a5455d7de334fdb"}},{"ruleId":"D2","level":"warning","message":{"text":"AudioPipeline.ProcessVadChunks (cognitive 47): AudioPipeline.ProcessVadChunks has cognitive complexity 47 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/AudioPipeline.cs"},"region":{"startLine":333}}}],"partialFingerprints":{"codehealthFindingId/v1":"df88651bf08f6952494ba0d79bb588e144faf71f4b8defead2dd6952e6072916"}},{"ruleId":"D2","level":"warning","message":{"text":"SystemCapability.HandleRunAsync (cognitive 46): SystemCapability.HandleRunAsync has cognitive complexity 46 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Capabilities/SystemCapability.cs"},"region":{"startLine":298}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb6a4682fad413d84c97f1559e107277a4c3b547a7d6308e1d878c328e7cc430"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.OnChatMessageReceived (cognitive 45): OpenClawChatDataProvider.OnChatMessageReceived has cognitive complexity 45 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":1234}}}],"partialFingerprints":{"codehealthFindingId/v1":"65254c09b391acef68c6aef2ea78121ce0a5e73b9f5bd5ac0ca655dbda751a60"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.OnAgentEventReceived (cognitive 45): OpenClawChatDataProvider.OnAgentEventReceived has cognitive complexity 45 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":1485}}}],"partialFingerprints":{"codehealthFindingId/v1":"b545884468574ef273209acec2801a608073606cf76a5af23e19a026d6dfb1e3"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.ParseSessions (cognitive 43): OpenClawGatewayClient.ParseSessions has cognitive complexity 43 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":3265}}}],"partialFingerprints":{"codehealthFindingId/v1":"294d2e1b9d89a2f0cda1e00b577f222293b6dfb92a41903dcd67385442b0eff6"}},{"ruleId":"D2","level":"warning","message":{"text":"SystemCapability.HandleExecApprovalsSet (cognitive 42): SystemCapability.HandleExecApprovalsSet has cognitive complexity 42 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Capabilities/SystemCapability.cs"},"region":{"startLine":615}}}],"partialFingerprints":{"codehealthFindingId/v1":"92978a9439eb6946949151f9f4745de4a57a99175b84371134669e3f15eeaf06"}},{"ruleId":"D2","level":"warning","message":{"text":"ChatMarkdownAstBuilder.DecodeEntity (cognitive 42): ChatMarkdownAstBuilder.DecodeEntity has cognitive complexity 42 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/ChatMarkdownAstBuilder.cs"},"region":{"startLine":669}}}],"partialFingerprints":{"codehealthFindingId/v1":"9af9242270f41bb15523a925c4b96028ce331c84b95ab6a4f952f59d94df5826"}},{"ruleId":"D2","level":"warning","message":{"text":"ChannelsPage.BuildStatusPairs (cognitive 42): ChannelsPage.BuildStatusPairs has cognitive complexity 42 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":1557}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc81be964ffa5d956d89f0556d967c10aa833eb3b2a094b3f89f57c8bd0bd0f1"}},{"ruleId":"D2","level":"warning","message":{"text":"CronPage.OnFormSaveClick (cognitive 40): CronPage.OnFormSaveClick has cognitive complexity 40 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":275}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d5636f7f092926c84e662e0004bfc69a28a5953825f20ddab041d009509350c"}},{"ruleId":"D2","level":"warning","message":{"text":"WizardPage.ApplyPayloadAsync (cognitive 39): WizardPage.ApplyPayloadAsync has cognitive complexity 39 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/WizardPage.xaml.cs"},"region":{"startLine":158}}}],"partialFingerprints":{"codehealthFindingId/v1":"b8da1fbbc4a2e427f4c875ea149471e66cf99272e83e5a9017cb6e19b0815d4f"}},{"ruleId":"D2","level":"warning","message":{"text":"Program.Main (cognitive 39): Program.Main has cognitive complexity 39 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/Program.cs"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b54bb9c82e434f408c75dfee0095ef57d020a91a04506be4c2f6be8c5a47e94"}},{"ruleId":"D2","level":"warning","message":{"text":"CronPage.BuildRunEntry (cognitive 39): CronPage.BuildRunEntry has cognitive complexity 39 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":1529}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a27c5c2c3c1c4f4616cf877dc557378864df01994dd00116b7a3b26e026872e"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.ParsePresenceArray (cognitive 38): OpenClawGatewayClient.ParsePresenceArray has cognitive complexity 38 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":4199}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f3da073f9aceb76e7d611e5ea91e9bba19cbf8be0c5000b04716d221210b364"}},{"ruleId":"D2","level":"warning","message":{"text":"AgentEventsPage.EventsList_ContainerContentChanging (cognitive 38): AgentEventsPage.EventsList_ContainerContentChanging has cognitive complexity 38 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/AgentEventsPage.xaml.cs"},"region":{"startLine":192}}}],"partialFingerprints":{"codehealthFindingId/v1":"a65c8c05dfcca166948b62e76e49792e666620130534fba6369e7cdcfe7a3e42"}},{"ruleId":"D2","level":"warning","message":{"text":"WorkspacePage.BuildMarkdownView (cognitive 38): WorkspacePage.BuildMarkdownView has cognitive complexity 38 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/WorkspacePage.xaml.cs"},"region":{"startLine":310}}}],"partialFingerprints":{"codehealthFindingId/v1":"38b3f3f5eab1249662fdcd4b47a63ecd6c512fd25b98aedd01efeac1870089ff"}},{"ruleId":"D2","level":"warning","message":{"text":"ConnectionPage.DoDirectConnectFromAddFormAsync (cognitive 37): ConnectionPage.DoDirectConnectFromAddFormAsync has cognitive complexity 37 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":2228}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca55b140e036b2595b9cb488bf2e26d852afee2d6845b20ac016f8df2f4b3ea7"}},{"ruleId":"D2","level":"warning","message":{"text":"TrayMenuStateBuilder.BuildGatewayFlyoutItems (cognitive 37): TrayMenuStateBuilder.BuildGatewayFlyoutItems has cognitive complexity 37 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TrayMenuStateBuilder.cs"},"region":{"startLine":486}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c79bae533d57bec4bb243f9aee07661ed1144b263f38322bbe3fa376adf879f"}},{"ruleId":"D2","level":"warning","message":{"text":"ChatTimelineReducer.UpsertAssistant (cognitive 36): ChatTimelineReducer.UpsertAssistant has cognitive complexity 36 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Chat/ChatTimelineReducer.cs"},"region":{"startLine":303}}}],"partialFingerprints":{"codehealthFindingId/v1":"1fdb3dbb05ca1d0143b906952dbcbd7c7a80d204e55926163ef992218b0ec537"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsTableUnderline (cognitive 36): Md4cParser.IsTableUnderline has cognitive complexity 36 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":857}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea8727e43f39934a3d351796a9ab88d1043aed514082901fe3207ad526357c78"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsLinkLabel (cognitive 36): Md4cParser.IsLinkLabel has cognitive complexity 36 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":697}}}],"partialFingerprints":{"codehealthFindingId/v1":"5408aadfed605b32d93110b0cacc1bc959c8c5d2f20bb9129e16e6224349f7c1"}},{"ruleId":"D2","level":"warning","message":{"text":"App.OnLaunchedAsync (cognitive 36): App.OnLaunchedAsync has cognitive complexity 36 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":356}}}],"partialFingerprints":{"codehealthFindingId/v1":"2989a5011489dd111611afc2f41d4a81a9a3b70d3172e615ce7a7985514400bf"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsHtmlBlockEndCondition (cognitive 35): Md4cParser.IsHtmlBlockEndCondition has cognitive complexity 35 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1079}}}],"partialFingerprints":{"codehealthFindingId/v1":"63c789333e097905c52029b233dcd4be0f377fd4b08521f7c0783baed095e4b5"}},{"ruleId":"D2","level":"warning","message":{"text":"AgentEventsPage.EventsList_ItemClick (cognitive 35): AgentEventsPage.EventsList_ItemClick has cognitive complexity 35 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/AgentEventsPage.xaml.cs"},"region":{"startLine":246}}}],"partialFingerprints":{"codehealthFindingId/v1":"85d8ca0f3d05ae05f3341e504dd0dbc69674f175ba17f1b654b3d482b607a4d7"}},{"ruleId":"D2","level":"warning","message":{"text":"TrayMenuStateBuilder.Build (cognitive 35): TrayMenuStateBuilder.Build has cognitive complexity 35 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TrayMenuStateBuilder.cs"},"region":{"startLine":40}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2e4c09895afed99b8456a8fe64bd3f7c35737a3861c4f8810afe55a59bb1d35"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecCommandResolver.SplitShellCommandChain (cognitive 34): ExecCommandResolver.SplitShellCommandChain has cognitive complexity 34 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecCommandResolution.cs"},"region":{"startLine":157}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc560821efa854b2d4cccaef828a76615111aee87b6f5c4e98d373ef1625b3d5"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.ProcessAllBlocks (cognitive 34): Md4cParser.ProcessAllBlocks has cognitive complexity 34 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":482}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba6de096f92bb03dbc3ca09a54e8f56cd17e7eb2e6e5619ed4381bf0a7b263da"}},{"ruleId":"D2","level":"warning","message":{"text":"ChannelsPage.StartLinkingAsync (cognitive 34): ChannelsPage.StartLinkingAsync has cognitive complexity 34 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":1736}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e43ecbd4129cd5d51fae0a2db7f6d52021763dbbdb86255a84dcd30a68608d2"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.HandleChatEvent (cognitive 33): OpenClawGatewayClient.HandleChatEvent has cognitive complexity 33 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2962}}}],"partialFingerprints":{"codehealthFindingId/v1":"75d3041cd63522ba1162f0622966392d441fa77615d8f6a3831df50e88d557f9"}},{"ruleId":"D2","level":"warning","message":{"text":"A2UIMessageParser.Parse (cognitive 33): A2UIMessageParser.Parse has cognitive complexity 33 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Protocol/A2UIProtocol.cs"},"region":{"startLine":189}}}],"partialFingerprints":{"codehealthFindingId/v1":"f0a4629038852addada44d20535273715706befb65349d875f0adbaf780fcd6e"}},{"ruleId":"D2","level":"warning","message":{"text":"A2UIMessageParser.ParseLine (cognitive 33): A2UIMessageParser.ParseLine has cognitive complexity 33 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Protocol/A2UIProtocol.cs"},"region":{"startLine":240}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d5e95b0cc0daa36fee494d4804d9f052d4afebf9b7ae2dfe3c05b7bf6b7a655"}},{"ruleId":"D2","level":"warning","message":{"text":"SchemaConfigEditor.RenderConfigDirectly (cognitive 33): SchemaConfigEditor.RenderConfigDirectly has cognitive complexity 33 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs"},"region":{"startLine":860}}}],"partialFingerprints":{"codehealthFindingId/v1":"d51fd1e773517b04d0a99018e90e65c22ced33ac97e5d5513c8b2003a08829f3"}},{"ruleId":"D2","level":"warning","message":{"text":"TrayMenuStateBuilder.BuildUsageFlyoutItems (cognitive 33): TrayMenuStateBuilder.BuildUsageFlyoutItems has cognitive complexity 33 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TrayMenuStateBuilder.cs"},"region":{"startLine":1091}}}],"partialFingerprints":{"codehealthFindingId/v1":"c86c809732991f9c177682d893e0d834f01346c21b53ad7ac677b34eee014f3f"}},{"ruleId":"D2","level":"warning","message":{"text":"A2UICanvasWindow.UpdateLayout (cognitive 33): A2UICanvasWindow.UpdateLayout has cognitive complexity 33 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/A2UICanvasWindow.xaml.cs"},"region":{"startLine":169}}}],"partialFingerprints":{"codehealthFindingId/v1":"576a56d491b7b04991603675618d545b672d2793e6fcd4651ebf259419c337a6"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.ProcessLine (cognitive 32): Md4cParser.ProcessLine has cognitive complexity 32 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1851}}}],"partialFingerprints":{"codehealthFindingId/v1":"a93d09e14f712272d4f8a120ed0094dd70e4dc60756a8ec75c47d9f3f310894c"}},{"ruleId":"D2","level":"warning","message":{"text":"CommandCenterDiagnostics.BuildNodeWarnings (cognitive 32): CommandCenterDiagnostics.BuildNodeWarnings has cognitive complexity 32 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Models.cs"},"region":{"startLine":1357}}}],"partialFingerprints":{"codehealthFindingId/v1":"a42aef1ce8ad92b39dd043da4b787ddf2824ee1ba4b4e30afee3c8b0c1318bb5"}},{"ruleId":"D2","level":"warning","message":{"text":"SystemCapability.ValidateExecApprovalRules (cognitive 31): SystemCapability.ValidateExecApprovalRules has cognitive complexity 31 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Capabilities/SystemCapability.cs"},"region":{"startLine":722}}}],"partialFingerprints":{"codehealthFindingId/v1":"11075850a9e30011600a7d9e132f8febb1f8f7ae7ab2083b0cd60630ca2b3417"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecApprovalV2InputValidator.Validate (cognitive 31): ExecApprovalV2InputValidator.Validate has cognitive complexity 31 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecApprovalV2InputValidator.cs"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fd50967bea3748096f77119e23b2cdd5dff8119a8068083173ef52159113385"}},{"ruleId":"D2","level":"warning","message":{"text":"SkillsPage.UpdateFromGateway (cognitive 31): SkillsPage.UpdateFromGateway has cognitive complexity 31 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/SkillsPage.xaml.cs"},"region":{"startLine":128}}}],"partialFingerprints":{"codehealthFindingId/v1":"832d4bccc0b9b7c398fc9af885b523802c219ec40a2b3a4690183381c53f3405"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.BuildAttribute (cognitive 30): Md4cParser.BuildAttribute has cognitive complexity 30 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":400}}}],"partialFingerprints":{"codehealthFindingId/v1":"c42876d5f91e550890db8c0b342151a5b23a1c862357691ebebea89dffaad1aa"}},{"ruleId":"D2","level":"warning","message":{"text":"SurfaceModel.Resolve (cognitive 30): SurfaceModel.Resolve has cognitive complexity 30 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/DataModel/DataModelStore.cs"},"region":{"startLine":230}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d980fe2f766503a5687e7c5519c33ce502aa7a35d297ac4844b6e7966b72217"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.SendMessageAsync (cognitive 30): OpenClawChatDataProvider.SendMessageAsync has cognitive complexity 30 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":235}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4a0ed69e3b3ed32ced5f77cef87e4ac1c5f8c37921dc85c968cfce279ddd4e1"}},{"ruleId":"D2","level":"warning","message":{"text":"WorkspacePage.AppendInlineMarkdown (cognitive 30): WorkspacePage.AppendInlineMarkdown has cognitive complexity 30 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/WorkspacePage.xaml.cs"},"region":{"startLine":450}}}],"partialFingerprints":{"codehealthFindingId/v1":"9524315db7f534e80025116c6ab1184a1ffded84f8c13610422651456bc5824f"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.AnalyzeTableAlignment (cognitive 29): Md4cParser.AnalyzeTableAlignment has cognitive complexity 29 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":2010}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e505bb0b405e021b6d024b83e4e2aa959d36118ee240298eb3d6ca37a7498b0"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.ParseChatHistory (cognitive 29): OpenClawGatewayClient.ParseChatHistory has cognitive complexity 29 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":506}}}],"partialFingerprints":{"codehealthFindingId/v1":"b71083e5113c6004f2d1a6e2fc2136943faf9d195e26af7b4fdc0585f617783f"}},{"ruleId":"D2","level":"warning","message":{"text":"WindowsNodeClient.HandleResponse (cognitive 29): WindowsNodeClient.HandleResponse has cognitive complexity 29 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WindowsNodeClient.cs"},"region":{"startLine":704}}}],"partialFingerprints":{"codehealthFindingId/v1":"0f4326f58dccb6655d1b135ff89aae968f9e02fa4b2f75a6cedab47f155043f5"}},{"ruleId":"D2","level":"warning","message":{"text":"GatewayConnectionManager.ConnectCoreAsync (cognitive 28): GatewayConnectionManager.ConnectCoreAsync has cognitive complexity 28 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionManager.cs"},"region":{"startLine":144}}}],"partialFingerprints":{"codehealthFindingId/v1":"6c8aa6dd1a770720087fedc7e5e910335a31e39587db7c106e2f22882708f940"}},{"ruleId":"D2","level":"warning","message":{"text":"ChatMarkdownAstBuilder.LeaveBlock (cognitive 28): ChatMarkdownAstBuilder.LeaveBlock has cognitive complexity 28 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/ChatMarkdownAstBuilder.cs"},"region":{"startLine":256}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd2279da537f6282acb21af05decc2d5c5bf034fcb103c1a554c1df48fed62a8"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.AnalyzeEmph (cognitive 28): Md4cParser.AnalyzeEmph has cognitive complexity 28 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":2164}}}],"partialFingerprints":{"codehealthFindingId/v1":"6a73d4e557c883814173ab70faf65cc9a262bca1e66656ae98325b9a91dd5e42"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.TryGetHandshakeDeviceTokenCore (cognitive 28): OpenClawGatewayClient.TryGetHandshakeDeviceTokenCore has cognitive complexity 28 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2407}}}],"partialFingerprints":{"codehealthFindingId/v1":"2d10e0518997a0ea04b0b7db3166fad86ea4bd45b6ca19ada1cc25aba6abe434"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.TryGetHandshakeDeviceTokenScopesCore (cognitive 28): OpenClawGatewayClient.TryGetHandshakeDeviceTokenScopesCore has cognitive complexity 28 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2457}}}],"partialFingerprints":{"codehealthFindingId/v1":"469f5229a0583ae013bfbed138654e1cffe0af72a13163ee95359f7f07290481"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.ParseNodePairList (cognitive 28): OpenClawGatewayClient.ParseNodePairList has cognitive complexity 28 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":4086}}}],"partialFingerprints":{"codehealthFindingId/v1":"8307548be9cf6f4b470c1ebe1648d04b8c5881725b88e19345903dcb49adf534"}},{"ruleId":"D2","level":"warning","message":{"text":"App.StartDeepLinkServer (cognitive 28): App.StartDeepLinkServer has cognitive complexity 28 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":3426}}}],"partialFingerprints":{"codehealthFindingId/v1":"db44da22bedcd9441dbf087d9e51fadcfe307949a795cca798d276c3e65ca690"}},{"ruleId":"D2","level":"warning","message":{"text":"ConnectionPage.ApplyNodeCard (cognitive 28): ConnectionPage.ApplyNodeCard has cognitive complexity 28 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":762}}}],"partialFingerprints":{"codehealthFindingId/v1":"67b6dc0173df95845b0be7d3247663adff9573457c0f9af0943cfa0d95a329a2"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecEnvInvocationUnwrapper.Unwrap (cognitive 27): ExecEnvInvocationUnwrapper.Unwrap has cognitive complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecEnvInvocationUnwrapper.cs"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"5c20ddd7ab00b6c22fddf17e48787ab7ace3581ec5c9a9217d5ecce4cd63cd90"}},{"ruleId":"D2","level":"warning","message":{"text":"ChatMarkdownAstBuilder.TextCallback (cognitive 27): ChatMarkdownAstBuilder.TextCallback has cognitive complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/ChatMarkdownAstBuilder.cs"},"region":{"startLine":536}}}],"partialFingerprints":{"codehealthFindingId/v1":"9003f8061c19e1d161374b84c5377a3cfde0c7b199a2048591f8d68fad368803"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.HandleExecApprovalEvent (cognitive 27): OpenClawGatewayClient.HandleExecApprovalEvent has cognitive complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2585}}}],"partialFingerprints":{"codehealthFindingId/v1":"a08fa58e4d46bd03a9c32249e88249d115ad1e0175277e0ebaf000d2162068d4"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.HandleAgentEvent (cognitive 27): OpenClawGatewayClient.HandleAgentEvent has cognitive complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2777}}}],"partialFingerprints":{"codehealthFindingId/v1":"d5da773b9f4fd9589666d4aea8935b45d87f03b091c87035ef99e7609ce7985f"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.PopulateSessionFromObject (cognitive 27): OpenClawGatewayClient.PopulateSessionFromObject has cognitive complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":3384}}}],"partialFingerprints":{"codehealthFindingId/v1":"35e6a86288a240003c967202eb249a3af4e9f48c71e87e6dc4a577d2f88e1068"}},{"ruleId":"D2","level":"warning","message":{"text":"App.InitializeGatewayClient (cognitive 27): App.InitializeGatewayClient has cognitive complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":1353}}}],"partialFingerprints":{"codehealthFindingId/v1":"8f7127806dec27d5353d63af4f793c3e40941526229576448e5c87a556828fed"}},{"ruleId":"D2","level":"warning","message":{"text":"ChatMarkdownSanitizer.TryParseLinkOrImage (cognitive 27): ChatMarkdownSanitizer.TryParseLinkOrImage has cognitive complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/ChatMarkdownSanitizer.cs"},"region":{"startLine":484}}}],"partialFingerprints":{"codehealthFindingId/v1":"33d506fc19eb48a665ddfcdad6be13ebfdf81fb211676b1c5b473560e1f690c9"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.UpdateActiveRunId (cognitive 27): OpenClawChatDataProvider.UpdateActiveRunId has cognitive complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":1665}}}],"partialFingerprints":{"codehealthFindingId/v1":"835fdea7d8c5a6035e5414c5fba488a99c10eccfbfe632242f07580a9a428ec7"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.PersistAbortedMessageIdAsync (cognitive 27): OpenClawChatDataProvider.PersistAbortedMessageIdAsync has cognitive complexity 27 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":4451}}}],"partialFingerprints":{"codehealthFindingId/v1":"a0083d198d58830dc69f36393df0c2a3024e60253901c24f1630fad9dbc5581e"}},{"ruleId":"D2","level":"warning","message":{"text":"ChatTimelineReducer.StripCumulativeTurnPrefix (cognitive 26): ChatTimelineReducer.StripCumulativeTurnPrefix has cognitive complexity 26 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Chat/ChatTimelineReducer.cs"},"region":{"startLine":567}}}],"partialFingerprints":{"codehealthFindingId/v1":"b6e587225ee38cc69c01daefa6e8c2c159523f99d0af8b670a3419a01ff0ba28"}},{"ruleId":"D2","level":"warning","message":{"text":"ChatMarkdownAstBuilder.LeaveSpan (cognitive 26): ChatMarkdownAstBuilder.LeaveSpan has cognitive complexity 26 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/ChatMarkdownAstBuilder.cs"},"region":{"startLine":453}}}],"partialFingerprints":{"codehealthFindingId/v1":"f979f71110bdbd27e1dde99f4dfcfaba099616dada00f26e1e709ae057700473"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.EnterLeaveSpanA (cognitive 26): Md4cParser.EnterLeaveSpanA has cognitive complexity 26 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":2605}}}],"partialFingerprints":{"codehealthFindingId/v1":"2331d23e9bc831ed506d56cd6c1491fcb3844f374c8f8062f90c501342109ad1"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.HandleToolEvent (cognitive 26): OpenClawGatewayClient.HandleToolEvent has cognitive complexity 26 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2892}}}],"partialFingerprints":{"codehealthFindingId/v1":"8310cdf08ef3291170b8a3b63a763fe769455c0ee6ef081d59ad689d6366eac5"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.ParseModelsList (cognitive 26): OpenClawGatewayClient.ParseModelsList has cognitive complexity 26 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":4049}}}],"partialFingerprints":{"codehealthFindingId/v1":"183c40d8b9e62a7138ca76a8adf74a16ed116f239b01314f6b0cf19448b3a24f"}},{"ruleId":"D2","level":"warning","message":{"text":"SecretRedactor.RedactNode (cognitive 26): SecretRedactor.RedactNode has cognitive complexity 26 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/SecretRedactor.cs"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"594c4cf9b4020b7dca0e7ce89e86b2986c06871d3a90c7e95242dd39328689d2"}},{"ruleId":"D2","level":"warning","message":{"text":"BindingsPage.ParseBindings (cognitive 26): BindingsPage.ParseBindings has cognitive complexity 26 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/BindingsPage.xaml.cs"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"21016d8b32cc10a90c68c89a5aa8b3ea73a3c9e407c11851fce97cba2a2285c6"}},{"ruleId":"D2","level":"warning","message":{"text":"SetupPipeline.RunAsync (cognitive 25): SetupPipeline.RunAsync has cognitive complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupPipeline.cs"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"32707054f8603877a2c7bbd6b36236d62cbb5872f140f16d123e86973ac3a07b"}},{"ruleId":"D2","level":"warning","message":{"text":"CleanupStaleDistroStep.DeleteDistroDirectoryWithRetries (cognitive 25): CleanupStaleDistroStep.DeleteDistroDirectoryWithRetries has cognitive complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupSteps.cs"},"region":{"startLine":286}}}],"partialFingerprints":{"codehealthFindingId/v1":"5bcc36fa22321374631ccb13d2b157f73e809668600d9d99ee2e1fe2a9c545cb"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecApprovalV2InputValidator.TryParseArgv (cognitive 25): ExecApprovalV2InputValidator.TryParseArgv has cognitive complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecApprovalV2InputValidator.cs"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"30a47127d9e925f1dc2c844904ee7c379ee8209931e562e32c27b01369bc07dc"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecCommandResolver.SegmentUsesEncodedCommand (cognitive 25): ExecCommandResolver.SegmentUsesEncodedCommand has cognitive complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecCommandResolution.cs"},"region":{"startLine":301}}}],"partialFingerprints":{"codehealthFindingId/v1":"5e7b2652231cb19bbe3af1f7c94d28651aad8126fd5667375b7057ca2940ad30"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecShellWrapperParser.TryExtractWrappedPayload (cognitive 25): ExecShellWrapperParser.TryExtractWrappedPayload has cognitive complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecShellWrapperParser.cs"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"63a21f865c87fd16470408d5b8d632986a4a5bbdb92ee249a9f27e255476acd3"}},{"ruleId":"D2","level":"warning","message":{"text":"DataModelObservable.NotifyPaths (cognitive 25): DataModelObservable.NotifyPaths has cognitive complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/DataModel/DataModelStore.cs"},"region":{"startLine":349}}}],"partialFingerprints":{"codehealthFindingId/v1":"eb733afb64e70ba2b51f9074178d78676ef45135204eb3f4e5e9261721235cc0"}},{"ruleId":"D2","level":"warning","message":{"text":"TrayMenuStateBuilder.BuildDeviceFlyoutItems (cognitive 25): TrayMenuStateBuilder.BuildDeviceFlyoutItems has cognitive complexity 25 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TrayMenuStateBuilder.cs"},"region":{"startLine":869}}}],"partialFingerprints":{"codehealthFindingId/v1":"152018dc175c3420e6eb81fb48becac3545eb572911363da81c7fc4405d2db8c"}},{"ruleId":"D2","level":"warning","message":{"text":"NodeConnector.ConnectCoreAsync (cognitive 24): NodeConnector.ConnectCoreAsync has cognitive complexity 24 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/NodeConnector.cs"},"region":{"startLine":77}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2d7862e21b6f45a1e981f1675afe811ccc2e6ec1de76a2c7fcc83bf368589fa"}},{"ruleId":"D2","level":"warning","message":{"text":"SetupCodeDecoder.Decode (cognitive 24): SetupCodeDecoder.Decode has cognitive complexity 24 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/SetupCodeDecoder.cs"},"region":{"startLine":15}}}],"partialFingerprints":{"codehealthFindingId/v1":"34e09b11ae06e277721bc7dd97c1e4c624b849e16e6dc119b6704c0909fd0fce"}},{"ruleId":"D2","level":"warning","message":{"text":"ChannelsAggregator.Aggregate (cognitive 24): ChannelsAggregator.Aggregate has cognitive complexity 24 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ChannelRecord.cs"},"region":{"startLine":135}}}],"partialFingerprints":{"codehealthFindingId/v1":"000e05dd4d826e727e7373a46ee7abc282dd977903eba87346e227e163f5fb9b"}},{"ruleId":"D2","level":"warning","message":{"text":"WebSocketClientBase.ListenForMessagesAsync (cognitive 24): WebSocketClientBase.ListenForMessagesAsync has cognitive complexity 24 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WebSocketClientBase.cs"},"region":{"startLine":167}}}],"partialFingerprints":{"codehealthFindingId/v1":"eec284c836c0479b50089e0a95b626c19f62b319f2b2b9d29939f984d3d1b815"}},{"ruleId":"D2","level":"warning","message":{"text":"ConnectionPage.LoadSavedGateways (cognitive 24): ConnectionPage.LoadSavedGateways has cognitive complexity 24 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":1178}}}],"partialFingerprints":{"codehealthFindingId/v1":"56ed2a41454ba35ab3bf769de1fb8f7c70a5308c5c602b83dce5299fbe0ac1f0"}},{"ruleId":"D2","level":"warning","message":{"text":"JsonDiffFormatter.BuildLineDiff (cognitive 24): JsonDiffFormatter.BuildLineDiff has cognitive complexity 24 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/JsonDiffFormatter.cs"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"93e7516f98223d35e1f9a83c67251b057f853e4959a56e02d1ac5a966f810742"}},{"ruleId":"D2","level":"warning","message":{"text":"WizardPayload.Parse (cognitive 23): WizardPayload.Parse has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupWizardRunner.cs"},"region":{"startLine":480}}}],"partialFingerprints":{"codehealthFindingId/v1":"47f288a0cd68585e2e1c6879dbe5d6d901489bf635ff19f4d87daab67bb793b1"}},{"ruleId":"D2","level":"warning","message":{"text":"ChannelConfigPatchBuilder.FindRedactionSentinel (cognitive 23): ChannelConfigPatchBuilder.FindRedactionSentinel has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ChannelConfigPatchBuilder.cs"},"region":{"startLine":146}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9650e6f27b63cc328d612c158507d7a06a45dd298421d616e0a77222b4d8174"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecShellWrapperParser.ParsePowerShellPayload (cognitive 23): ExecShellWrapperParser.ParsePowerShellPayload has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecShellWrapperParser.cs"},"region":{"startLine":124}}}],"partialFingerprints":{"codehealthFindingId/v1":"7aab0828f87e18dddbd26ade2412cdf863a23c34e3bb81be3dc41dd28e18f873"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecShellWrapperParser.SplitTopLevelCommands (cognitive 23): ExecShellWrapperParser.SplitTopLevelCommands has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecShellWrapperParser.cs"},"region":{"startLine":218}}}],"partialFingerprints":{"codehealthFindingId/v1":"575ca31416e56c1ffb00d38a59c384c8133976d8f4d24c133a412c54017ccda1"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.EndCurrentBlock (cognitive 23): Md4cParser.EndCurrentBlock has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":667}}}],"partialFingerprints":{"codehealthFindingId/v1":"b0f9c3661f06785f9dcc9ead33ed2fcd2d60a7de0802383327ed3d8e2cf66792"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.HandleRequestError (cognitive 23): OpenClawGatewayClient.HandleRequestError has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":1947}}}],"partialFingerprints":{"codehealthFindingId/v1":"3c1460141bee5a61024119fc36cf078377f85d902758cbcd2f9f51a1d2a14e60"}},{"ruleId":"D2","level":"warning","message":{"text":"DataModelStore.ApplyDataModelUpdate (cognitive 23): DataModelStore.ApplyDataModelUpdate has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/DataModel/DataModelStore.cs"},"region":{"startLine":78}}}],"partialFingerprints":{"codehealthFindingId/v1":"651c4d725c1dc4aae992e22af7470b583ec70b673f4684dccf47e657a93a5844"}},{"ruleId":"D2","level":"warning","message":{"text":"RenderContext.BuildActionContext (cognitive 23): RenderContext.BuildActionContext has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/IComponentRenderer.cs"},"region":{"startLine":191}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf5c0ccb0e2be9b04984dcba0c4e34903b93d942d16932d1bc72fd51213cf4cb"}},{"ruleId":"D2","level":"warning","message":{"text":"TextFieldRenderer.Render (cognitive 23): TextFieldRenderer.Render has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/InteractiveRenderers.cs"},"region":{"startLine":102}}}],"partialFingerprints":{"codehealthFindingId/v1":"bdfa09279188a8ee7d5aa1e7655ca21c4360727c6b7bbe8a98c3495f337251c9"}},{"ruleId":"D2","level":"warning","message":{"text":"App.OnTrayMenuItemClicked (cognitive 23): App.OnTrayMenuItemClicked has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":911}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b1268849472969f42f3e798d39c10622eef0a6631013ff5b82264e51258e870"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.FetchRemoteUserMessageAsync (cognitive 23): OpenClawChatDataProvider.FetchRemoteUserMessageAsync has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":1793}}}],"partialFingerprints":{"codehealthFindingId/v1":"22d724de8f3ac78c9a8091499aaf201aec274435d2861d851eb827b9d825f858"}},{"ruleId":"D2","level":"warning","message":{"text":"ChannelsPage.BuildControlsSection (cognitive 23): ChannelsPage.BuildControlsSection has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":851}}}],"partialFingerprints":{"codehealthFindingId/v1":"82dd852533801f3e08d5696cb892bb7c342fa4ad11c14f78e7b3df42cf364b6e"}},{"ruleId":"D2","level":"warning","message":{"text":"ConfigPage.BuildSchemaTreeNodes (cognitive 23): ConfigPage.BuildSchemaTreeNodes has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConfigPage.xaml.cs"},"region":{"startLine":311}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4710ba8be02968228a0865da5840eb0e21b6af6a68f4a221612244947e463a1"}},{"ruleId":"D2","level":"warning","message":{"text":"CronPage.CronToHuman (cognitive 23): CronPage.CronToHuman has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":880}}}],"partialFingerprints":{"codehealthFindingId/v1":"9c790cc4f0b1d4e5d2179b2bd353f84aabafd7fd3fd0c6014654dbffb990b7a6"}},{"ruleId":"D2","level":"warning","message":{"text":"SettingsPage.OnRemoveGatewayAsync (cognitive 23): SettingsPage.OnRemoveGatewayAsync has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/SettingsPage.xaml.cs"},"region":{"startLine":262}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1e54f616e3dc454650cd672e532c407c8c89daa799f147e1737dfbca27de491"}},{"ruleId":"D2","level":"warning","message":{"text":"CommandCenterStateBuilder.Build (cognitive 23): CommandCenterStateBuilder.Build has cognitive complexity 23 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/CommandCenterStateBuilder.cs"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e9520684f7e7ee88709a2462fa65fbcac185f6162af5d4b11b474fc5e041667"}},{"ruleId":"D2","level":"warning","message":{"text":"VerifyEndToEndStep.DrainPendingDeviceApprovalsAsync (cognitive 22): VerifyEndToEndStep.DrainPendingDeviceApprovalsAsync has cognitive complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupSteps.cs"},"region":{"startLine":2474}}}],"partialFingerprints":{"codehealthFindingId/v1":"e4479a2833211bd07183102d1a545903df29cdf5e669933f841b2b6e8b1ccd7a"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsInlineLinkSpec (cognitive 22): Md4cParser.IsInlineLinkSpec has cognitive complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1109}}}],"partialFingerprints":{"codehealthFindingId/v1":"b45ed4d0f8bc9dfe2de08dd42fc0a155d55914f81dae5d99b3f2cc93acc18dbc"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.BuildProviderSummary (cognitive 22): OpenClawGatewayClient.BuildProviderSummary has cognitive complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":3798}}}],"partialFingerprints":{"codehealthFindingId/v1":"9bc3975cd55c907f5070262aaad4d81cc65d0e3a2653d604e08f62a82192ecc8"}},{"ruleId":"D2","level":"warning","message":{"text":"ActionDispatcher.IsDebounced (cognitive 22): ActionDispatcher.IsDebounced has cognitive complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Actions/IActionSink.cs"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"552b701367f785819b755d6b9351e51fd419075b267dde8b406f7be77aa76dd2"}},{"ruleId":"D2","level":"warning","message":{"text":"SchemaConfigEditor.RenderField (cognitive 22): SchemaConfigEditor.RenderField has cognitive complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"fbfa285dd2967e41e5f65cc7efc5ac52f851bd8cbbad5fbfd138db392ce0c94e"}},{"ruleId":"D2","level":"warning","message":{"text":"ChannelsPage.Render (cognitive 22): ChannelsPage.Render has cognitive complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":390}}}],"partialFingerprints":{"codehealthFindingId/v1":"3ddee0fb040d817432e44409dd88c5e2c69a5d5bcc8c4ec637c1963eb204e672"}},{"ruleId":"D2","level":"warning","message":{"text":"PermissionsPage.LoadExecPolicy (cognitive 22): PermissionsPage.LoadExecPolicy has cognitive complexity 22 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml.cs"},"region":{"startLine":570}}}],"partialFingerprints":{"codehealthFindingId/v1":"0c9e2476d87d24a49b1c443df32cbdc6300916339232a85567e8f57027e1b6be"}},{"ruleId":"D2","level":"warning","message":{"text":"ProgressPage.StartPipelineAsync (cognitive 21): ProgressPage.StartPipelineAsync has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/ProgressPage.xaml.cs"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"08d142a48b563a0601e97651c737faa0e93b7c33c3530f4491436a97b854151a"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecApprovalPolicy.Evaluate (cognitive 21): ExecApprovalPolicy.Evaluate has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovalPolicy.cs"},"region":{"startLine":142}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52230d93437ef1244ae6d9e848329be4841699ae16c1dfc77f3cce68dcade4d"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecCommandResolver.CollectPatterns (cognitive 21): ExecCommandResolver.CollectPatterns has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecCommandResolution.cs"},"region":{"startLine":256}}}],"partialFingerprints":{"codehealthFindingId/v1":"36eb3381945d3914ff483a52fd6266df61f680c81a38f3e4962be22d54272803"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecShellWrapperParser.Expand (cognitive 21): ExecShellWrapperParser.Expand has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecShellWrapperParser.cs"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2973cb7d77cd4b54fddd2f16fad3aac28469892712cd85580b7a5ff8b26236b"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.ProcessDoc (cognitive 21): Md4cParser.ProcessDoc has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1948}}}],"partialFingerprints":{"codehealthFindingId/v1":"26cdca6ca124c4f3f300ffac5621da0cb70ed57973050b5ecfa0778847f02dd3"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.AnalyzeMarks (cognitive 21): Md4cParser.AnalyzeMarks has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":2480}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9383e2c36f5c31205f98fba0bd3e63e1d93109750d0be54029f57b556b0a058"}},{"ruleId":"D2","level":"warning","message":{"text":"WindowsNodeClient.HandleRequestError (cognitive 21): WindowsNodeClient.HandleRequestError has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WindowsNodeClient.cs"},"region":{"startLine":821}}}],"partialFingerprints":{"codehealthFindingId/v1":"3f9103570dd009ae143b24dab368630e42a70b5f3f2c9ddc88f447ce6d59b294"}},{"ruleId":"D2","level":"warning","message":{"text":"RenderContext.CollectAllowedBindingPaths (cognitive 21): RenderContext.CollectAllowedBindingPaths has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/IComponentRenderer.cs"},"region":{"startLine":219}}}],"partialFingerprints":{"codehealthFindingId/v1":"ecd6c46180e02d5d5d1c63dbd02c5c4aa0b6834000cc9fb679df0392ac7ff8a8"}},{"ruleId":"D2","level":"warning","message":{"text":"ConnectionPage.RunConnectivityTestAsync (cognitive 21): ConnectionPage.RunConnectivityTestAsync has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":2123}}}],"partialFingerprints":{"codehealthFindingId/v1":"21580b77a0f5b21864d507b80d502708524f35f0da6e3e975abdef15838937ed"}},{"ruleId":"D2","level":"warning","message":{"text":"WorkspacePage.UpdateAgentFilesList (cognitive 21): WorkspacePage.UpdateAgentFilesList has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/WorkspacePage.xaml.cs"},"region":{"startLine":98}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e2aeba4ad57a42488a82951fc39ec5bb15af5cdc85c371e4b00e78ee498675f"}},{"ruleId":"D2","level":"warning","message":{"text":"ScreenCaptureService.CaptureAsync (cognitive 21): ScreenCaptureService.CaptureAsync has cognitive complexity 21 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/ScreenCaptureService.cs"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"f95c599150ec0e08c5877b2300780f7aecc4fd931fecaf802e494b3f23c62da4"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecCommandResolver.ResolveForAllowlist (cognitive 20): ExecCommandResolver.ResolveForAllowlist has cognitive complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecCommandResolution.cs"},"region":{"startLine":45}}}],"partialFingerprints":{"codehealthFindingId/v1":"883613cc659a00391b431ec10704b973f9cea3ee8e0649a2aa9af17f9f3f9e35"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsLinkReferenceDefinitionImpl (cognitive 20): Md4cParser.IsLinkReferenceDefinitionImpl has cognitive complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":949}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd2b9f3480d9b41b87e21bdba7b4fc9061b07e18c6e482aebea9913bb75782b8"}},{"ruleId":"D2","level":"warning","message":{"text":"NotificationCategorizer.Classify (cognitive 20): NotificationCategorizer.Classify has cognitive complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/NotificationCategorizer.cs"},"region":{"startLine":64}}}],"partialFingerprints":{"codehealthFindingId/v1":"32a1110559ca1ba18671528d37e3c737fb770bbfccae413de9935e2cb0df01a0"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.ParseNodeList (cognitive 20): OpenClawGatewayClient.ParseNodeList has cognitive complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":3445}}}],"partialFingerprints":{"codehealthFindingId/v1":"ea5985e9ec026582ad0c8a8a64e9fb2b6d4ffae03b03ba7e412eb839fa364522"}},{"ruleId":"D2","level":"warning","message":{"text":"WindowsNodeClient.HandleNodeInvokeEventAsync (cognitive 20): WindowsNodeClient.HandleNodeInvokeEventAsync has cognitive complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WindowsNodeClient.cs"},"region":{"startLine":414}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef2995791debaea7bea892a036ec1e6db7186a2b50f134cb2c45b9b06b545543"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.OnStatusChanged (cognitive 20): OpenClawChatDataProvider.OnStatusChanged has cognitive complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":1036}}}],"partialFingerprints":{"codehealthFindingId/v1":"2bfa6c690ae3180e303c2d18e47d9d8402d35a39a224c12d0f4e98341a7473d6"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.ExtractCommandOutputText (cognitive 20): OpenClawChatDataProvider.ExtractCommandOutputText has cognitive complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2361}}}],"partialFingerprints":{"codehealthFindingId/v1":"594e18863654c74db8253863c49adab0a0ad9ac0ae84341efe4fda817844521c"}},{"ruleId":"D2","level":"warning","message":{"text":"ConnectionStatusWindow.RefreshGateways (cognitive 20): ConnectionStatusWindow.RefreshGateways has cognitive complexity 20 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/ConnectionStatusWindow.xaml.cs"},"region":{"startLine":168}}}],"partialFingerprints":{"codehealthFindingId/v1":"d54231c6e4c019f1f80890acc79809f5bdfb82a5ae5c6700f3036ce9e067380e"}},{"ruleId":"D2","level":"warning","message":{"text":"Program.Main (cognitive 19): Program.Main has cognitive complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Cli/Program.cs"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"ae30862a04420486d8d36bbd5fd40829421a20afbabfa3af8c46b5abe31f30c2"}},{"ruleId":"D2","level":"warning","message":{"text":"CompletePage.OnNavigatedTo (cognitive 19): CompletePage.OnNavigatedTo has cognitive complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/CompletePage.xaml.cs"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ee6cb0eef9c2fd919be2adb44d11edc1fee9ea028a08497c1edad9be0f2b87d"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsAutolinkUri (cognitive 19): Md4cParser.IsAutolinkUri has cognitive complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1328}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f947ef397bb2dc17c6ead6bc8f733f8a8961fc3d81708345fe236856c4b8e91"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cUnicode.GetUnicodeFoldInfo (cognitive 19): Md4cUnicode.GetUnicodeFoldInfo has cognitive complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cUnicode.cs"},"region":{"startLine":584}}}],"partialFingerprints":{"codehealthFindingId/v1":"247aaa571d17b8f8fa2865456819c4481a64affca2ac1613ff66817ebea610ad"}},{"ruleId":"D2","level":"warning","message":{"text":"McpToolBridge.HandleRequestAsync (cognitive 19): McpToolBridge.HandleRequestAsync has cognitive complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mcp/McpToolBridge.cs"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"24e0506b1b56e71c4f8bd57ff4a2314cc7159bbcbfcbb86e34cbeb6adb445d97"}},{"ruleId":"D2","level":"warning","message":{"text":"MxcConfigBuilder.BuildEnv (cognitive 19): MxcConfigBuilder.BuildEnv has cognitive complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mxc/MxcConfigBuilder.cs"},"region":{"startLine":248}}}],"partialFingerprints":{"codehealthFindingId/v1":"2764e50b2005bebecbfe6f5c0316296e45591ebcb6debdebdf53303a858dfb4d"}},{"ruleId":"D2","level":"warning","message":{"text":"DateTimeInputRenderer.Render (cognitive 19): DateTimeInputRenderer.Render has cognitive complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/InteractiveRenderers.cs"},"region":{"startLine":205}}}],"partialFingerprints":{"codehealthFindingId/v1":"126bebd5c4333775868821b8102d5ae17f0020adca7cbfaa6f44f33b3cb0c8e7"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.LooksLikeFlattenedToolOutput (cognitive 19): OpenClawChatDataProvider.LooksLikeFlattenedToolOutput has cognitive complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2823}}}],"partialFingerprints":{"codehealthFindingId/v1":"634afd535d93075d29917ee3c98516f6186024f00888e8fad238d23e83de4db1"}},{"ruleId":"D2","level":"warning","message":{"text":"CronPage.UpdateCronRuns (cognitive 19): CronPage.UpdateCronRuns has cognitive complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":1416}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d4819dd3d78f1facad96d4228e3ec22e6d1c73fdebe0a4a08aefe0bbacb2ead"}},{"ruleId":"D2","level":"warning","message":{"text":"NodeService.DisposeCoreAsync (cognitive 19): NodeService.DisposeCoreAsync has cognitive complexity 19 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/NodeService.cs"},"region":{"startLine":2007}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3363fac620d96e34d4b27bf2900a692f5e96cf6b19292aac588868fc4faa1b2"}},{"ruleId":"D2","level":"warning","message":{"text":"GatewayConnectionManager.AutoApproveDevicePairingRequestAsync (cognitive 18): GatewayConnectionManager.AutoApproveDevicePairingRequestAsync has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionManager.cs"},"region":{"startLine":1473}}}],"partialFingerprints":{"codehealthFindingId/v1":"2cffda8bb0a9326a59f47b68e01f3fac21097d6d072a31d7009a236152cdfe1e"}},{"ruleId":"D2","level":"warning","message":{"text":"DeviceCapability.HandleStatusAsync (cognitive 18): DeviceCapability.HandleStatusAsync has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Capabilities/DeviceCapability.cs"},"region":{"startLine":69}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd168883ce490d920964533c293b669bb17cfe30497ab38b7706c373ea4e355b"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecApprovalsCoordinator.HandleAsync (cognitive 18): ExecApprovalsCoordinator.HandleAsync has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecApprovalsCoordinator.cs"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"87e038f762163d4c4159a5de8c8a4191d530ebaec3a3bfcca77824d04183af95"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.ProcessLeafBlock (cognitive 18): Md4cParser.ProcessLeafBlock has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":335}}}],"partialFingerprints":{"codehealthFindingId/v1":"08162880c232aa9f53cec028fb1749c8c758ccb03d815790aaf460769bf223ee"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.EnterChildContainers (cognitive 18): Md4cParser.EnterChildContainers has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1174}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9f23d094b2f80a1408af69997e620a255603d9b83a180bedbec57e1866a0678"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.LeaveChildContainers (cognitive 18): Md4cParser.LeaveChildContainers has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1226}}}],"partialFingerprints":{"codehealthFindingId/v1":"663d2886556ca99a66987cb907f31d3d030d06b7d7c3d77a3c58fa36178d6208"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsLinkDestinationB (cognitive 18): Md4cParser.IsLinkDestinationB has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":821}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e48311abba4c80c2e0dd9d8d4be0f8dce896a995eb3a9ae12df02c67c08cd23"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsLinkTitle (cognitive 18): Md4cParser.IsLinkTitle has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":875}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0f54365e783fc49edd2a16b08e21c10ad8ecca579a9f1b6aa105c45ebcd464e"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.IsAutolinkEmail (cognitive 18): Md4cParser.IsAutolinkEmail has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":1366}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc345704c59bbef1b6601f452b601b03399b9b2b73b037a1aa5d9197173a79bb"}},{"ruleId":"D2","level":"warning","message":{"text":"McpHttpServer.HandleAsync (cognitive 18): McpHttpServer.HandleAsync has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mcp/McpHttpServer.cs"},"region":{"startLine":202}}}],"partialFingerprints":{"codehealthFindingId/v1":"82f541cc9904dd61e32925a647fe64b8e53808dc0f9afcf273e9f5d23463e01c"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.ExtractToolLabel (cognitive 18): OpenClawChatDataProvider.ExtractToolLabel has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2408}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5ef260b63e1be1385293f23ce49c2f52f522aec684eeed09f8ed75fb997a401"}},{"ruleId":"D2","level":"warning","message":{"text":"ConnectionPage.ApplyGlanceChips (cognitive 18): ConnectionPage.ApplyGlanceChips has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":538}}}],"partialFingerprints":{"codehealthFindingId/v1":"58e19e62d773184541e588804caf9a22e2e331dcc04568b25f055d4b453b4f2a"}},{"ruleId":"D2","level":"warning","message":{"text":"ConnectionPagePlan.ApplyNodeListApproval (cognitive 18): ConnectionPagePlan.ApplyNodeListApproval has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPagePlan.cs"},"region":{"startLine":514}}}],"partialFingerprints":{"codehealthFindingId/v1":"babefc20d4ad355896137aa033e2bc525c872f058781c902e6f3c30cb8f77801"}},{"ruleId":"D2","level":"warning","message":{"text":"CronPage.OnEditJobClick (cognitive 18): CronPage.OnEditJobClick has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":205}}}],"partialFingerprints":{"codehealthFindingId/v1":"960f3b178de00f38bb708d693d6f4b82a006e61445beb07aa8db0ec0d7ec5b6a"}},{"ruleId":"D2","level":"warning","message":{"text":"CronPage.FormatEverySchedule (cognitive 18): CronPage.FormatEverySchedule has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":934}}}],"partialFingerprints":{"codehealthFindingId/v1":"86f35d5482a57c48fc89c8325f82e370a70000adae73d32676a3f7156a2bafd7"}},{"ruleId":"D2","level":"warning","message":{"text":"SessionsPage.ResolveSessionKey (cognitive 18): SessionsPage.ResolveSessionKey has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/SessionsPage.xaml.cs"},"region":{"startLine":251}}}],"partialFingerprints":{"codehealthFindingId/v1":"89a8be467cd88a6cbd5969286a6cc57296a1a28cdeb91d9872543f4341658f37"}},{"ruleId":"D2","level":"warning","message":{"text":"DiagnosticsJsonlService.WriterLoopAsync (cognitive 18): DiagnosticsJsonlService.WriterLoopAsync has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/DiagnosticsJsonlService.cs"},"region":{"startLine":86}}}],"partialFingerprints":{"codehealthFindingId/v1":"f32e9f8838f4f751b7f5491fc9196c425d99fa8f69d2cfe854645939ea615da7"}},{"ruleId":"D2","level":"warning","message":{"text":"ConnectionStatusWindow.OnDirectConnectAsync (cognitive 18): ConnectionStatusWindow.OnDirectConnectAsync has cognitive complexity 18 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/ConnectionStatusWindow.xaml.cs"},"region":{"startLine":352}}}],"partialFingerprints":{"codehealthFindingId/v1":"8ca400a5987ca36e78d8960812710c53f487bd30bc0a2f7b81fda83cc10078f1"}},{"ruleId":"D2","level":"warning","message":{"text":"WizardPage.SendCurrentAnswerAsync (cognitive 17): WizardPage.SendCurrentAnswerAsync has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/WizardPage.xaml.cs"},"region":{"startLine":421}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f498bccc1287bd31e94d9b4cc932e030802ed09ab853eebe3514d0938a0ba7c"}},{"ruleId":"D2","level":"warning","message":{"text":"VerifyEndToEndStep.DrainPendingApprovalsAsync (cognitive 17): VerifyEndToEndStep.DrainPendingApprovalsAsync has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupSteps.cs"},"region":{"startLine":2536}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a2ea3fe18f1e5c716366541776e00cb8b651ecbc173f229881cd50293eadb01"}},{"ruleId":"D2","level":"warning","message":{"text":"Md4cParser.TextWithNullReplacement (cognitive 17): Md4cParser.TextWithNullReplacement has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.cs"},"region":{"startLine":359}}}],"partialFingerprints":{"codehealthFindingId/v1":"f268cc4fee778189446ce84f60f138b18503b420354a3f3cb3e5bba4075f0910"}},{"ruleId":"D2","level":"warning","message":{"text":"MediaResolver.IndexOfAsciiCi (cognitive 17): MediaResolver.IndexOfAsciiCi has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/MediaResolver.cs"},"region":{"startLine":444}}}],"partialFingerprints":{"codehealthFindingId/v1":"7ff5cf25150c62e1e6014953ad23911b1d2a674007bea4c9e5b9181e5cf1e6f2"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.OnSessionsUpdated (cognitive 17): OpenClawChatDataProvider.OnSessionsUpdated has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":1130}}}],"partialFingerprints":{"codehealthFindingId/v1":"e239742d9aaea85d435043467d087d683ce872b729d960b364c84fd9c7a71358"}},{"ruleId":"D2","level":"warning","message":{"text":"ChannelsPage.ResolveHeaderState (cognitive 17): ChannelsPage.ResolveHeaderState has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":2223}}}],"partialFingerprints":{"codehealthFindingId/v1":"8c9ccbf02eab0d8aa7b8824ce95721511e76615ec20bde92af118faeb0a305dc"}},{"ruleId":"D2","level":"warning","message":{"text":"ChannelsPage.BuildGenericSubtitleLines (cognitive 17): ChannelsPage.BuildGenericSubtitleLines has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":2309}}}],"partialFingerprints":{"codehealthFindingId/v1":"2438c31e29dd5e98d7cf8be53fc5d5fb46af7c46c9f4ef76ed46d1b740c999fa"}},{"ruleId":"D2","level":"warning","message":{"text":"ConfigPage.RenderTree (cognitive 17): ConfigPage.RenderTree has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConfigPage.xaml.cs"},"region":{"startLine":271}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ba1d3b4cc9ddd7b566dc01385ebcacee1b7130acb11a0ef44df01fca6827a5b"}},{"ruleId":"D2","level":"warning","message":{"text":"ConfigPage.UpdateSelectedJsonPreview (cognitive 17): ConfigPage.UpdateSelectedJsonPreview has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConfigPage.xaml.cs"},"region":{"startLine":722}}}],"partialFingerprints":{"codehealthFindingId/v1":"f934b3c579437990c196e6a5b7e656b2808dd200510f4b121c96b175f5fd5449"}},{"ruleId":"D2","level":"warning","message":{"text":"ConfigPage.TryBuildRootLeafSchema (cognitive 17): ConfigPage.TryBuildRootLeafSchema has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConfigPage.xaml.cs"},"region":{"startLine":1186}}}],"partialFingerprints":{"codehealthFindingId/v1":"6cd3869c6593e1eb850f8e621845f32a497a9d5f47d8519d25c66e5479d881ce"}},{"ruleId":"D2","level":"warning","message":{"text":"CronPage.ApplyExpandState (cognitive 17): CronPage.ApplyExpandState has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":975}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2f41770f883f83f256ac35b1954ee20a6796ab2bbe43c1dcdde3e0f1e7d3132"}},{"ruleId":"D2","level":"warning","message":{"text":"AudioPipeline.TranscribeSamplesAsync (cognitive 17): AudioPipeline.TranscribeSamplesAsync has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/AudioPipeline.cs"},"region":{"startLine":442}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b8e9a9a203b4b5eb43a3e34e9fef7db037ed5f4e4e68b0731e614456a4f1be5"}},{"ruleId":"D2","level":"warning","message":{"text":"DeepLinkHandler.Handle (cognitive 17): DeepLinkHandler.Handle has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/DeepLinkHandler.cs"},"region":{"startLine":54}}}],"partialFingerprints":{"codehealthFindingId/v1":"5a5b469f85e6a9776d73b2f0c2385324c69f924335d79b9ecbfc1696c2ad029e"}},{"ruleId":"D2","level":"warning","message":{"text":"SetupWizardWindow.OnTestConnectionAsync (cognitive 17): SetupWizardWindow.OnTestConnectionAsync has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/SetupWizardWindow.cs"},"region":{"startLine":736}}}],"partialFingerprints":{"codehealthFindingId/v1":"57f3057b46ff1539adf69c0b10721ddae4c267f44e90a44508440d389d94353f"}},{"ruleId":"D2","level":"warning","message":{"text":"UiRenderer.RemoveFromParent (cognitive 17): UiRenderer.RemoveFromParent has cognitive complexity 17 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/FunctionalUI.cs"},"region":{"startLine":1540}}}],"partialFingerprints":{"codehealthFindingId/v1":"cf3749d4ae557b40b5e6a63e338169b97e356cb0fbb5b566686b4d0e34ba2bf0"}},{"ruleId":"D2","level":"warning","message":{"text":"ChatTimelineReducer.ApplyTurnEnd (cognitive 16): ChatTimelineReducer.ApplyTurnEnd has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Chat/ChatTimelineReducer.cs"},"region":{"startLine":682}}}],"partialFingerprints":{"codehealthFindingId/v1":"52ea87449e85a9d0c11e9d518c097c2aa9dcd7c19843cc094faeaff9ec614b52"}},{"ruleId":"D2","level":"warning","message":{"text":"BrowserProxyCapability.BuildUri (cognitive 16): BrowserProxyCapability.BuildUri has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Capabilities/BrowserProxyCapability.cs"},"region":{"startLine":206}}}],"partialFingerprints":{"codehealthFindingId/v1":"04d7fc50b855c7f989a64894f129f7cf6ba2d8bb127ee11ee78074ccc26f73bc"}},{"ruleId":"D2","level":"warning","message":{"text":"ExecAllowlistMatcher.BuildPatternRegex (cognitive 16): ExecAllowlistMatcher.BuildPatternRegex has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecAllowlistMatcher.cs"},"region":{"startLine":95}}}],"partialFingerprints":{"codehealthFindingId/v1":"14cce7c91cbc0fa1174a8f219d459458e3e66804453b0bdeb0e2d12c6ccca52b"}},{"ruleId":"D2","level":"warning","message":{"text":"LocalCommandRunner.RunAsync (cognitive 16): LocalCommandRunner.RunAsync has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/LocalCommandRunner.cs"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"917ac7476ba225fff02d24902b165926dd8ddf68b96c632b597f7b334afc5b14"}},{"ruleId":"D2","level":"warning","message":{"text":"DirectAppContainerExecutor.ExecuteAsync (cognitive 16): DirectAppContainerExecutor.ExecuteAsync has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mxc/DirectAppContainerExecutor.cs"},"region":{"startLine":55}}}],"partialFingerprints":{"codehealthFindingId/v1":"13fdab92d62b5bed87ea83b9ba805f38e006d54775b28e2f69fa228d3e07bd36"}},{"ruleId":"D2","level":"warning","message":{"text":"MxcExecutor.RunWithArgumentsAsync (cognitive 16): MxcExecutor.RunWithArgumentsAsync has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mxc/MxcExecutor.cs"},"region":{"startLine":76}}}],"partialFingerprints":{"codehealthFindingId/v1":"f85839ba63a996ba8394b9fe634104e57452758da3ab7e51a119d9ec83da7a74"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawGatewayClient.EnumerateHandshakeDeviceTokens (cognitive 16): OpenClawGatewayClient.EnumerateHandshakeDeviceTokens has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":2358}}}],"partialFingerprints":{"codehealthFindingId/v1":"d3f1cbe0f1229435758bb04a28336cc6ed0fc1b8fd2fb8b2c92ca051ec07a029"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.MapReasoningEvent (cognitive 16): OpenClawChatDataProvider.MapReasoningEvent has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2186}}}],"partialFingerprints":{"codehealthFindingId/v1":"3450f08d797f9b2923c6615da3e3ddac9172c8c8d985e039cbf8d9d489ea4d7a"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.ExtractToolErrorText (cognitive 16): OpenClawChatDataProvider.ExtractToolErrorText has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2455}}}],"partialFingerprints":{"codehealthFindingId/v1":"699dcc85f2647673f3d31afee68f784bd0785b1aabc019ca6ebd8be2e5d852ee"}},{"ruleId":"D2","level":"warning","message":{"text":"OpenClawChatDataProvider.SaveToolMetaCache (cognitive 16): OpenClawChatDataProvider.SaveToolMetaCache has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":4280}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a31cc9d2f4a522d58c7cc7f4b18ce7ae6dbc9bf81f14d17e051cfb4f4b2b354"}},{"ruleId":"D2","level":"warning","message":{"text":"SchemaConfigEditor.RenderSchemaNode (cognitive 16): SchemaConfigEditor.RenderSchemaNode has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a99ca7928904b83b87ef42279c1e1755bddc7f1860c25efb93b0adc2d1a9b4e"}},{"ruleId":"D2","level":"warning","message":{"text":"ConfigPage.ShowDetail (cognitive 16): ConfigPage.ShowDetail has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConfigPage.xaml.cs"},"region":{"startLine":366}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f2736b860434dea63ca29ab6de42c5e6d591411498b19cf4d116c0944102b17"}},{"ruleId":"D2","level":"warning","message":{"text":"ConfigPage.MatchesSearch (cognitive 16): ConfigPage.MatchesSearch has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConfigPage.xaml.cs"},"region":{"startLine":1343}}}],"partialFingerprints":{"codehealthFindingId/v1":"e215a8e91b108faa8395935a650cbcdb5d977d0c87fbcea0561a1da7b55835e4"}},{"ruleId":"D2","level":"warning","message":{"text":"GlobalHotkeyService.WndProc (cognitive 16): GlobalHotkeyService.WndProc has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/GlobalHotkeyService.cs"},"region":{"startLine":227}}}],"partialFingerprints":{"codehealthFindingId/v1":"a665c4176b7ed1d7d385735b202f9dac200cf9dd361325eb05f98f42d6b4cf2a"}},{"ruleId":"D2","level":"warning","message":{"text":"ScreenCaptureService.DrawCursor (cognitive 16): ScreenCaptureService.DrawCursor has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/ScreenCaptureService.cs"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"afdad5ede03b57f0ddfc58897232e5ac1f79f5cd24695cce9d3e1825342a4a57"}},{"ruleId":"D2","level":"warning","message":{"text":"HubWindow.OnAppModelChanged (cognitive 16): HubWindow.OnAppModelChanged has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs"},"region":{"startLine":258}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c27ef981a0d1f1fc6bcaaab8197832f53b909e53c7c34da3a025e83c671c67a"}},{"ruleId":"D2","level":"warning","message":{"text":"HubWindow.UpdateGatewayNavVisibility (cognitive 16): HubWindow.UpdateGatewayNavVisibility has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs"},"region":{"startLine":591}}}],"partialFingerprints":{"codehealthFindingId/v1":"18b77b682883bdef1f375bf191c8604aebd2bb38e1581b91717bf80abb4cc645"}},{"ruleId":"D2","level":"warning","message":{"text":"TrayMenuWindow.ShowCascadingFlyout (cognitive 16): TrayMenuWindow.ShowCascadingFlyout has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/TrayMenuWindow.xaml.cs"},"region":{"startLine":1101}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a6ecf446efc804cf67571133ff58293bc1569d7c151a139f53f93d549d6d9bf"}},{"ruleId":"D2","level":"warning","message":{"text":"CliRunner.EmitResult (cognitive 16): CliRunner.EmitResult has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.WinNode.Cli/Program.cs"},"region":{"startLine":325}}}],"partialFingerprints":{"codehealthFindingId/v1":"ebef9240e4406a3619b2524e2dc344cf9a6c7ec5d8d09ceb83b52e3f9155640a"}},{"ruleId":"D2","level":"warning","message":{"text":"UiRenderer.SyncChildren (cognitive 16): UiRenderer.SyncChildren has cognitive complexity 16 (threshold 15)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/FunctionalUI.cs"},"region":{"startLine":1441}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e61ad5e4e6c4e0c6a4b8c22746b684ae3854f5636d534c0a216b2ae9b8a35c2"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: OpenClaw.Connection/GatewayConnectionManager.cs: FileTooLong \u2014 1135 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionManager.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"14e87111d0ea285b74249732b9e1e66b7b7556fe622e64dfe59c7fbc53568cc8"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Pages/WizardPage.xaml.cs: FileTooLong \u2014 519 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/WizardPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"d6dfba47e47f87001105212a3f171585b8114d2a2b3b14f958765b2beb960611"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: OpenClaw.SetupEngine/SetupSteps.cs: FileTooLong \u2014 1670 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupSteps.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"a31d0df347c6ce891315e366339b591e69b7430df47d1bf3e3a8edb411a9db79"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Md4c/Md4cEntity.cs: FileTooLong \u2014 2149 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cEntity.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"4ed8216369b330b674cc66ac186e116e11e52964a5cc19d9c6c31800c516e442"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Md4c/Md4cParser.Block.cs: FileTooLong \u2014 1175 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b517b22b871b24c9c62068ea0793372c30f30df3b2d8f838d89ef4aba548728"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Md4c/Md4cParser.Inline.cs: FileTooLong \u2014 1838 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"b1fe383ce579a5dfb50f19dbbca3ea7f38fd3e8e78b204018eff8aba7193c32e"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Md4c/Md4cUnicode.cs: FileTooLong \u2014 550 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cUnicode.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"40115c26507624e76b4ea3bb766957fbde3ee6845f2f55a13bf840eace11ab33"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: OpenClaw.Shared/Models.cs: FileTooLong \u2014 1368 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Models.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"adb348a0239c21a28d6a8f6b34e34aed3dd723b9c72be56b426308bae6bd3a99"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: OpenClaw.Shared/OpenClawGatewayClient.cs: FileTooLong \u2014 2320 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"19b37b03eb560e65a309ec87b7cd15197519402ba58b299273a86f4a1602947b"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: OpenClaw.Shared/WindowsNodeClient.cs: FileTooLong \u2014 688 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WindowsNodeClient.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"76aa7e8f09f7f386f4f958ac87a8e9c2315ce5d2cc68ab10cecd5f56c8d8b737"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: OpenClaw.Tray.WinUI/App.xaml.cs: FileTooLong \u2014 2149 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"576bb93e62365e306237841b1a525c21a892809bd86ad349681114c020f45887"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Chat/OpenClawChatDataProvider.cs: FileTooLong \u2014 2301 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"222a07bad737e0c5bec3bd78ba96c0aa52238c7fcf3ec34220c12deb8bcb46c5"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Chat/OpenClawChatTimeline.cs: FileTooLong \u2014 1363 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatTimeline.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"9224425e5678bcc21d7a46119150ab44f2bd1f63c1829e642339b37d2c8c576e"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Chat/OpenClawComposer.cs: FileTooLong \u2014 584 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawComposer.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"b40a3f35e92e8a258fd911f16374c6dcef60d869da553ecec5234600dbcaf8b0"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Controls/SchemaConfigEditor.xaml.cs: FileTooLong \u2014 604 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"5eb84b098ad4992937f46f7a8573ef6725b30be740adf8e00ef3671c092b0db2"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Pages/ChannelsPage.xaml.cs: FileTooLong \u2014 1246 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"8bee3223e5199df5500a680c00109c6a1ecc0deafcc0b279b8717560aae09622"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Pages/ChatPage.xaml.cs: FileTooLong \u2014 524 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChatPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"87816f747379f236206cea18d479b48b7d070e034cb9d0470507444c438d5721"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Pages/ConfigPage.xaml.cs: FileTooLong \u2014 928 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConfigPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"82b95e3ad414d00ce8b0e4da29d1c6a20279014f7a748d9b5b42d99b9f2f851f"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Pages/ConnectionPage.xaml.cs: FileTooLong \u2014 1909 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"9eb42c8ef4a2a6804071fc01dfd01f82654ce407af3cb05e6c5e178f0fa5a869"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Pages/CronPage.xaml.cs: FileTooLong \u2014 1057 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"90e5e65abb0eca6be843f08044dda2d8f71052c4c563cb4cec9137e11f913a1a"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Pages/PermissionsPage.xaml.cs: FileTooLong \u2014 501 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1cfd9ca102ba0d3470f412477f8e660c2989dfc6760d10d2d89239d87234490"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Pages/VoiceSettingsPage.xaml.cs: FileTooLong \u2014 533 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/VoiceSettingsPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"ac15220d97d611d18d49155c5b02548c0da618cb2af76bac2e3ac1043525dc67"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Services/NodeService.cs: FileTooLong \u2014 1030 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/NodeService.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"a93a6b703e490a5eb1b117e3748d55c4006f4a21dc38dd4ac34a7e8c7fff6426"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Services/TrayMenuStateBuilder.cs: FileTooLong \u2014 878 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TrayMenuStateBuilder.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"415771e4d395a4c247af8627d45d524fa7001fde6d57324da9fe9ff3b23d20b5"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Windows/HubWindow.xaml.cs: FileTooLong \u2014 667 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"a014c48e057bcd7ef4851f3a959c15112f885fdc38fee84f5e741124e9a0b78b"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Windows/SetupWizardWindow.cs: FileTooLong \u2014 617 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/SetupWizardWindow.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"9e45c95084c57abb569f0bc69a47957d39104d4101ad474d7b05349b205783c3"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: Windows/TrayMenuWindow.xaml.cs: FileTooLong \u2014 797 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/TrayMenuWindow.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"8cc28a3bfe43d618c1ca9fbab9350fd924d3368547d1f35d875af721d41d4705"}},{"ruleId":"D3","level":"warning","message":{"text":"FileTooLong: OpenClawTray.FunctionalUI/FunctionalUI.cs: FileTooLong \u2014 1182 lines, 0 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/FunctionalUI.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"45c9ca52d61f40b5f9d16b70aa04f6dbb69298fbf40be7c7c416dad6fdd00a35"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: GatewayConnectionManager: TooManyMethods \u2014 1105 lines, 51 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionManager.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"1f05a28458215277e77d90501ae1b000a48080752dc85ae57c1a9bcf45f2f149"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: WizardPage: TooManyMethods \u2014 508 lines, 42 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/WizardPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2fce3533888de5154dcb283a629cb00c3194df72ad649384e931d651baaf501"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: SystemCapability: ClassTooLong \u2014 433 lines, 23 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Capabilities/SystemCapability.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"c03fe3e1e6e44a361d5aee4934ba134eaedebf25bb43a806e9e54e89bd1147e6"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: ChatMarkdownAstBuilder: ClassTooLong \u2014 433 lines, 15 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/ChatMarkdownAstBuilder.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"c42c3e8a2c28c646dabcde2e4167b9afeef2b524b2b5cce3359a42cda2f50756"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: Md4cEntity: ClassTooLong \u2014 2146 lines, 2 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cEntity.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"87d75e0eae96818eeac9172d2f3e8c1c9ede9265f5a9cefc87554989a784d45b"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: Md4cParser: TooManyMethods \u2014 3404 lines, 134 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e70ffe48f462a974cc1bdbaccf0ad84d9ae7d0c27565ea398044cfc26bfbb6c"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: Md4cUnicode: ClassTooLong \u2014 546 lines, 20 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cUnicode.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"94a643b43c52c02deb2ee15a610ac1048198d0af710da9d77f261c2a6f06725f"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: OpenClawGatewayClient: TooManyMethods \u2014 2308 lines, 164 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClawGatewayClient.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"6cd2d753bc259b1c68a5aeb1a1d63f0ad5cbf2158830c9a82a3b80e9bec4f358"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: WindowsNodeClient: TooManyMethods \u2014 678 lines, 37 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WindowsNodeClient.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"4fb52bd0c08c12774edd682d0a4fbbf6cdc3d5761c7f2ecb360b3582f3a247a7"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: App: TooManyMethods \u2014 2437 lines, 160 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.CapabilityHandlers.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"0324ff0c87691d25ea628d836fcee4018ac04b21e3cf15fce8664b58f471dcd4"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: OpenClawChatDataProvider: TooManyMethods \u2014 2291 lines, 126 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"72a10acd5eefa6a389b42ce529eb76e1239b4e58cdf7b457df6edf43a3571cdf"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: OpenClawChatRoot: ClassTooLong \u2014 469 lines, 14 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatRoot.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"f22014e9feb27b01922e882b8cfbc4f3f1370bac3e6025851e9e38bd2fd690a2"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: OpenClawChatTimeline: ClassTooLong \u2014 1328 lines, 13 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatTimeline.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba30fb3a14bb06211e16596adf9bcafeafa767712ff08f45ff1bcc5b6bf9cf4d"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: OpenClawComposer: ClassTooLong \u2014 538 lines, 3 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawComposer.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"122fcc14a26ed2fb4e1f0b5d577d575134102ad4669301aa839a117f243bef4c"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: SchemaConfigEditor: TooManyMethods \u2014 585 lines, 31 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"700e58cfb7efe3e3af11973bb396b35ad902ec718080ea88cb9568e8b88bd17a"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: CommandCenterTextHelper: ClassTooLong \u2014 417 lines, 27 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Helpers/CommandCenterTextHelper.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"73c522a0fb2d6dd5dc471818c44284bf8100a68c7291534e18c5fa1178fd160d"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: ChannelsPage: TooManyMethods \u2014 1226 lines, 45 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"962d0d3221cf4920203466848c0c538ef81c727999d373ec1e06421be5dc1962"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: ChatPage: TooManyMethods \u2014 504 lines, 34 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChatPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"03ac0b39317030e9480a46c33107935b1f01f29804d362e79705c59f8efafa93"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: ConfigPage: TooManyMethods \u2014 908 lines, 66 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConfigPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"be1ef5ca4648a7a451441ab4536a9efe79368e2a2d5e00c8f5dc1f565d778c21"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: ConnectionPage: TooManyMethods \u2014 1894 lines, 112 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"b71e500feb0ce79b90d42069f71dd6a31b72f02024bb80d225880f4190382b28"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: ConnectionPagePlan: ClassTooLong \u2014 409 lines, 18 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPagePlan.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"7af51bdcff9adcc25f6ca01e22d7cc99a9ad36e0ad81726d808dd39e216d5c4d"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: CronPage: TooManyMethods \u2014 1041 lines, 53 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"fcd1f5ed64595ee6a250fa7647bd95e8073a51df902786ef3775d7c143f5f7a7"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: DebugPage: TooManyMethods \u2014 347 lines, 44 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/DebugPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"61da3687835249070fcbd2c8e765bf6b2d046257c7ba0a47b80f8e3a9b13ca64"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: InstancesPage: TooManyMethods \u2014 435 lines, 33 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/InstancesPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4775dd9ba1f929a48c43c591cc190f02aee2294e607746ff113b11ecce7226c"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: PermissionsPage: TooManyMethods \u2014 485 lines, 39 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"2fd18b3d50335d0b0985c91894160c50fcd8151faaab7f77f332138da859fae8"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: SandboxPage: TooManyMethods \u2014 412 lines, 36 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/SandboxPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f2bc365cbb52f1cb34b9260a1afbd00e148c201a62dd168bbe283ce8624838a"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: VoiceSettingsPage: TooManyMethods \u2014 520 lines, 45 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/VoiceSettingsPage.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"d47f2dfb590f720d8326d9e09fafe09fe697ad30f680ba069153c0a627e44d42"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: GatewayService: TooManyMethods \u2014 290 lines, 32 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/GatewayService.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"165ea7682372645df3f5b1db25b0afcad05688007646a085b98dc32775b6c00f"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: NodeService: TooManyMethods \u2014 1005 lines, 73 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/NodeService.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"92ed1e1c3b91328328c85792ddde06a8da4b587f5e9e477ea839685b06693699"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: TrayMenuStateBuilder: ClassTooLong \u2014 858 lines, 20 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TrayMenuStateBuilder.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"b95bbc0fedf034f8149d6b97adbc389572e58e0af0dd979068dc622a8d0746e3"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: CanvasWindow: TooManyMethods \u2014 433 lines, 40 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/CanvasWindow.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"956c88ad77fbffa189b0b3e47590b674a539d385f290b79d4b485fc5a561af6e"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: ChatWindow: TooManyMethods \u2014 436 lines, 47 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/ChatWindow.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"18697af622e93062b887ea2ebc9f52ea3f27381caf83eacc9a4db666d3ef6636"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: HubWindow: TooManyMethods \u2014 654 lines, 58 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"fcd71c287062c1994588387f4b2f17fa61dd49efc5f1023a228569758c283d60"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: SetupWizardWindow: ClassTooLong \u2014 591 lines, 22 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/SetupWizardWindow.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"c468b6c306894106e03e4be4508b8e3ce2080ea7fe03e1fb1a93b64778f30fe4"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: TrayMenuWindow: TooManyMethods \u2014 768 lines, 59 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/TrayMenuWindow.xaml.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"b022e40cc9b4d25734c44230902bc86e1ebd90c51b631fd67c42de5f41bfbb75"}},{"ruleId":"D3","level":"warning","message":{"text":"ClassTooLong: CliRunner: ClassTooLong \u2014 401 lines, 17 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.WinNode.Cli/Program.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"f1343e3828202260493652005c5016fc698c6bce64b21c5ef2d4309578d9a39c"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: Factories: TooManyMethods \u2014 57 lines, 36 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/FunctionalUI.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"e57b283ba4adb42e59b72aa091a9b004d146813e1bbd78084664d89d4eff59b4"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: ElementExtensions: TooManyMethods \u2014 141 lines, 68 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/FunctionalUI.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"cd04b21b4d5d78bdc018307998ad2a2346a0a259ba523dbb89af2291d2b913f3"}},{"ruleId":"D3","level":"warning","message":{"text":"TooManyMethods: UiRenderer: TooManyMethods \u2014 563 lines, 59 methods."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/FunctionalUI.cs"},"region":{"startLine":0}}}],"partialFingerprints":{"codehealthFindingId/v1":"53b0de6ebda8370bf7740d3b87b2197af2f5f071f083a43f805367a11a069387"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (38 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs:440-477 | src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs:503-540"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs"},"region":{"startLine":440}}}],"partialFingerprints":{"codehealthFindingId/v1":"9490eb72e29f74a7b303cd87cd92ba75d3c0e50b511ca77230ba9aa0ba318041"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (27 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs:1086-1111 | src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs:1112-1138"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":1086}}}],"partialFingerprints":{"codehealthFindingId/v1":"4d650b39c76b8de85a0e79613fb405733a8bc8db5e17b53bb64c230918e524e7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Pages/ChatPage.xaml.cs:682-705 | src/OpenClaw.Tray.WinUI/Windows/ChatWindow.xaml.cs:499-521"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChatPage.xaml.cs"},"region":{"startLine":682}}}],"partialFingerprints":{"codehealthFindingId/v1":"5418d7730b9b1f96016a3b883ceedd5f98525dcc8ac99fba0fbea30bc2a90f5d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (24 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Services/VoiceService.cs:146-169 | src/OpenClaw.Tray.WinUI/Services/VoiceService.cs:188-210"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/VoiceService.cs"},"region":{"startLine":146}}}],"partialFingerprints":{"codehealthFindingId/v1":"902356a5531fb107594d25c7f599e8db75e88ed25a3bd94d950731fcbc8fb6c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (21 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Pages/ChatPage.xaml.cs:739-759 | src/OpenClaw.Tray.WinUI/Windows/ChatWindow.xaml.cs:555-575"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChatPage.xaml.cs"},"region":{"startLine":739}}}],"partialFingerprints":{"codehealthFindingId/v1":"e8beaca5d7d8972c715efae2370eb58397d400037723ee1fd5a15654db4d7297"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (18 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs:2109-2126 | src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs:2171-2187"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":2109}}}],"partialFingerprints":{"codehealthFindingId/v1":"a52bfc66cbcd3ee7ffbb9dd17c1283b92bf3fce2e87965d0f27ac03c4ece03a2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (17 lines \u00D7 2): src/OpenClaw.SetupEngine/SetupSteps.cs:1858-1874 | src/OpenClaw.SetupEngine/SetupSteps.cs:2680-2696"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupSteps.cs"},"region":{"startLine":1858}}}],"partialFingerprints":{"codehealthFindingId/v1":"682494f6d4aeaff27c1c9b9a1233a1ced075dfb5f3935fa613d5c66a0ac5d906"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 3): src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/DisplayRenderers.cs:277-292 | src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/DisplayRenderers.cs:293-308 | src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/DisplayRenderers.cs:309-324"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/DisplayRenderers.cs"},"region":{"startLine":277}}}],"partialFingerprints":{"codehealthFindingId/v1":"abb27b68c8b945636a8c1b1dec46b6869602f8891b5b045789d9cc61aa06b309"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/OpenClaw.Tray.WinUI/App.xaml.cs:1852-1867 | src/OpenClaw.Tray.WinUI/Services/WslGatewayKeepAliveService.cs:88-103"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":1852}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd372d00e78f2589a352c5a5704a3d3b438b26f9d9e0fc53773088e2c5d36645"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (16 lines \u00D7 2): src/OpenClaw.Tray.WinUI/App.xaml.cs:2003-2018 | src/OpenClaw.Tray.WinUI/Services/WslGatewayKeepAliveService.cs:235-250"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":2003}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd372d00e78f2589a352c5a5704a3d3b438b26f9d9e0fc53773088e2c5d36645"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/OpenClaw.Connection/GatewayConnectionManager.cs:1841-1855 | src/OpenClaw.Shared/Mcp/McpHttpServer.cs:530-544"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionManager.cs"},"region":{"startLine":1841}}}],"partialFingerprints":{"codehealthFindingId/v1":"0e89b95555cd166681aad03c380f102412c5c1de6869d0fa1de9edc704346cb0"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs:1568-1582 | src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs:1624-1638"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1568}}}],"partialFingerprints":{"codehealthFindingId/v1":"08fe416f3ff553761ce99440c99d268f19e9313c01cef3f6327368c227f3a2e7"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (15 lines \u00D7 2): src/OpenClaw.Shared/Mcp/McpAuthToken.cs:82-96 | src/OpenClaw.Shared/Mcp/McpAuthToken.cs:122-132"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mcp/McpAuthToken.cs"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"ca393ecee1114f8023649e50ccb905b30483c9392993bbce1f98f2d2ce3a06af"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/OpenClaw.Tray.WinUI/App.CapabilityHandlers.cs:242-255 | src/OpenClaw.Tray.WinUI/App.CapabilityHandlers.cs:261-274"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.CapabilityHandlers.cs"},"region":{"startLine":242}}}],"partialFingerprints":{"codehealthFindingId/v1":"db7d50df4a1e18e208898c3c91226d775d9846b487560855015e5fecc824e59f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/OpenClaw.Tray.WinUI/App.CapabilityHandlers.cs:280-293 | src/OpenClaw.Tray.WinUI/App.CapabilityHandlers.cs:299-312"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.CapabilityHandlers.cs"},"region":{"startLine":280}}}],"partialFingerprints":{"codehealthFindingId/v1":"db7d50df4a1e18e208898c3c91226d775d9846b487560855015e5fecc824e59f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (14 lines \u00D7 2): src/OpenClaw.Tray.WinUI/App.xaml.cs:1950-1963 | src/OpenClaw.Tray.WinUI/Services/WslGatewayKeepAliveService.cs:186-199"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":1950}}}],"partialFingerprints":{"codehealthFindingId/v1":"265d57b81d388a6bce10c6fdbdcd316c9b12086cdf24aed452fca4a1b9cc548b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/OpenClaw.SetupEngine/SetupSteps.cs:2016-2028 | src/OpenClaw.SetupEngine/SetupSteps.cs:2398-2410"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupSteps.cs"},"region":{"startLine":2016}}}],"partialFingerprints":{"codehealthFindingId/v1":"7dcfdc3886e297b5cd7ef45a250e9f4f3255b2ed1c8e415cd273f75e9d9d7179"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/OpenClaw.Tray.WinUI/App.xaml.cs:1902-1913 | src/OpenClaw.Tray.WinUI/Services/WslGatewayKeepAliveService.cs:138-150"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":1902}}}],"partialFingerprints":{"codehealthFindingId/v1":"a39df304660cb93a13d4678ff28bc4ba6be6234a14cbc80f9a0917d472989eee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (13 lines \u00D7 2): src/OpenClaw.Tray.WinUI/App.xaml.cs:1930-1941 | src/OpenClaw.Tray.WinUI/Services/WslGatewayKeepAliveService.cs:166-178"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":1930}}}],"partialFingerprints":{"codehealthFindingId/v1":"a39df304660cb93a13d4678ff28bc4ba6be6234a14cbc80f9a0917d472989eee"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/OpenClaw.SetupEngine/SetupSteps.cs:2479-2490 | src/OpenClaw.SetupEngine/SetupSteps.cs:2545-2556"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupSteps.cs"},"region":{"startLine":2479}}}],"partialFingerprints":{"codehealthFindingId/v1":"efdc8d48e0693f5b9dbad45b000aeb87f4dff2f5cc3098d7287cd28bb510d2d2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/OpenClaw.Tray.WinUI/App.xaml.cs:1871-1882 | src/OpenClaw.Tray.WinUI/Services/WslGatewayKeepAliveService.cs:107-118"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":1871}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5312fa8059238ed8a87e8dda703cf9aea6291903f7fd88f91783304da213841"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (12 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Pages/ChatPage.xaml.cs:795-806 | src/OpenClaw.Tray.WinUI/Windows/ChatWindow.xaml.cs:592-603"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChatPage.xaml.cs"},"region":{"startLine":795}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9e9dd6d34ade1d2c62c6ef2ce588d75e8f62129dfcda101945253d30c40af76"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/OpenClaw.Shared/Mxc/MxcConfigBuilder.cs:289-299 | src/OpenClaw.Shared/Mxc/MxcPolicyBuilder.cs:125-135"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mxc/MxcConfigBuilder.cs"},"region":{"startLine":289}}}],"partialFingerprints":{"codehealthFindingId/v1":"31df4679db3cfe894e6dfbdadb29868f329febbe039804efb160afaecefc5f31"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Chat/OpenClawComposer.cs:262-271 | src/OpenClaw.Tray.WinUI/Chat/OpenClawComposer.cs:281-291"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawComposer.cs"},"region":{"startLine":262}}}],"partialFingerprints":{"codehealthFindingId/v1":"79a2a9576179321e560a3a59de653856ac1a2963e87046d9774b13130429ea8c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs:87-97 | src/OpenClaw.Tray.WinUI/Pages/ConfigPage.xaml.cs:1255-1265"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Controls/SchemaConfigEditor.xaml.cs"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"acfb5b4f09e5c28d1c6da3a8d3441f62fb28536813b7aeb3945a36060e5dd8f5"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (11 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs:1810-1820 | src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs:1854-1864"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChannelsPage.xaml.cs"},"region":{"startLine":1810}}}],"partialFingerprints":{"codehealthFindingId/v1":"906b358d7e89d9eeae51233fb3c1e3f3bc3acd600d2aa375326da94272d0f04b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/OpenClaw.SetupEngine/SetupContext.cs:306-315 | src/OpenClaw.Tray.WinUI/Services/SetupExistingGatewayClassifier.cs:155-162"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupContext.cs"},"region":{"startLine":306}}}],"partialFingerprints":{"codehealthFindingId/v1":"6b6a8a9d22a8acaaad3e227de883780eabca513da479dfa4bcb601b93c6c0272"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/OpenClaw.SetupEngine/SetupSteps.cs:1670-1679 | src/OpenClaw.SetupEngine/SetupSteps.cs:2092-2100"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupSteps.cs"},"region":{"startLine":1670}}}],"partialFingerprints":{"codehealthFindingId/v1":"69ec945eddd3e7419669b63fb2080d28d776424c0d62b2890e0beee14d5a5465"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/OpenClaw.SetupEngine/SetupSteps.cs:2097-2105 | src/OpenClaw.SetupEngine/SetupSteps.cs:2430-2439"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupSteps.cs"},"region":{"startLine":2097}}}],"partialFingerprints":{"codehealthFindingId/v1":"69ec945eddd3e7419669b63fb2080d28d776424c0d62b2890e0beee14d5a5465"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/OpenClaw.Shared/Audio/PiperVoiceManager.cs:246-255 | src/OpenClaw.Shared/Audio/WhisperModelManager.cs:177-186"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Audio/PiperVoiceManager.cs"},"region":{"startLine":246}}}],"partialFingerprints":{"codehealthFindingId/v1":"786dc48eae770c770d57e32647e778fb4b792b9e404e1c93b2f6c6bed859f17f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/OpenClaw.Shared/Capabilities/CanvasCapability.cs:498-507 | src/OpenClaw.Shared/Capabilities/CanvasCapability.cs:527-534"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Capabilities/CanvasCapability.cs"},"region":{"startLine":498}}}],"partialFingerprints":{"codehealthFindingId/v1":"5ea621ec3996e018abdf42b7f780afa542a83fb2dcb2f4be1cfe37421a3b6dbf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (10 lines \u00D7 2): src/OpenClaw.WinNode.Cli/Program.cs:815-824 | src/OpenClaw.WinNode.Cli/Program.cs:831-840"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.WinNode.Cli/Program.cs"},"region":{"startLine":815}}}],"partialFingerprints":{"codehealthFindingId/v1":"d84f71bb032626af490e704f6411fd28782a8de8ce5755e8ee8c02bf3d83a81a"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/OpenClaw.Shared/ExecShellWrapperParser.cs:91-99 | src/OpenClaw.Shared/ExecShellWrapperParser.cs:111-119"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecShellWrapperParser.cs"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"fb8bb24b5cd6d390ae70ad77a3c4f3866cb02b094e6e1600c446c126a879c170"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/OpenClaw.Tray.WinUI/App.xaml.cs:1887-1895 | src/OpenClaw.Tray.WinUI/Services/WslGatewayKeepAliveService.cs:123-131"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":1887}}}],"partialFingerprints":{"codehealthFindingId/v1":"86dbaa1f904c6ca8acc5c65dc1f58cf43a0b946f53ff69d507decb82876aa0e2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (9 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs:1900-1908 | src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs:2017-2025"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":1900}}}],"partialFingerprints":{"codehealthFindingId/v1":"055bc6da01043caef4c858964eb37f092d5a7dd23f7158a9914df6ad8b19212d"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs:1491-1497 | src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs:1507-1514"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1491}}}],"partialFingerprints":{"codehealthFindingId/v1":"0a3ac29754c64fe9e00a4e7235d32acd47ff4bfb395b5d097a546d90cd362365"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs:1670-1677 | src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs:1728-1735"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":1670}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba642633387522976e48a17a4fb0d86768c75dc936ef62c5813f05e9b07bff9b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs:2165-2172 | src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs:2187-2193"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2165}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba642633387522976e48a17a4fb0d86768c75dc936ef62c5813f05e9b07bff9b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (8 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Services/OnboardingChatBootstrapper.cs:177-184 | src/OpenClaw.Tray.WinUI/Services/OnboardingChatBootstrapper.cs:193-200"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/OnboardingChatBootstrapper.cs"},"region":{"startLine":177}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd04afe31105d4429854934f03551ea87847fc3de15ff5b703440731216344f2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 4): src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs:125-130 | src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs:179-185 | src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs:207-212 | src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs:1344-1349"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/CronPage.xaml.cs"},"region":{"startLine":125}}}],"partialFingerprints":{"codehealthFindingId/v1":"fc9f62164d791833fbd158c9839d5a1a6e220ea905553adf5bdee5fa1a1e9a03"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 3): src/OpenClaw.Shared/NotificationCategorizer.cs:105-111 | src/OpenClaw.Shared/NotificationCategorizer.cs:115-121 | src/OpenClaw.Shared/NotificationCategorizer.cs:123-129"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/NotificationCategorizer.cs"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"97da9adb25c67cc5d83fc5faf1b989464dc4493e06f603dab66afb79972dbbaf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/OpenClaw.SetupEngine/SetupSteps.cs:1726-1732 | src/OpenClaw.SetupEngine/SetupSteps.cs:1756-1762"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupSteps.cs"},"region":{"startLine":1726}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc0afff912a2156c610ebe1841c14db38a96d80b3e2eb52dd988766ae252cf9b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/OpenClaw.SetupEngine/SetupSteps.cs:1916-1922 | src/OpenClaw.SetupEngine/SetupSteps.cs:2340-2346"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupSteps.cs"},"region":{"startLine":1916}}}],"partialFingerprints":{"codehealthFindingId/v1":"cc0afff912a2156c610ebe1841c14db38a96d80b3e2eb52dd988766ae252cf9b"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs:1300-1305 | src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs:1321-1327"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Block.cs"},"region":{"startLine":1300}}}],"partialFingerprints":{"codehealthFindingId/v1":"d99a21f0529d703e6f96b340923465e25cadf9b29d3db75101ae6545ebdd92cf"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs:717-723 | src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs:915-921"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.Inline.cs"},"region":{"startLine":717}}}],"partialFingerprints":{"codehealthFindingId/v1":"7cf4f8c21bb6a8c9fdcd4fd52fc61244bd053fa20ba4c4ad0bb0b3d403983739"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs:3451-3457 | src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs:3460-3466"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":3451}}}],"partialFingerprints":{"codehealthFindingId/v1":"90ada7fe8d60e20e1f33bcd3bcf0888bd0060c3018aa8fd131b1e8c6e55c6e9f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (7 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Pages/VoiceSettingsPage.xaml.cs:249-255 | src/OpenClaw.Tray.WinUI/Pages/VoiceSettingsPage.xaml.cs:673-679"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/VoiceSettingsPage.xaml.cs"},"region":{"startLine":249}}}],"partialFingerprints":{"codehealthFindingId/v1":"3a48c8466e2f32b8a1611676d8d7906b5eb40772c6644397eb9ff8a70f16cacd"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs:2232-2237 | src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs:2274-2278"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2232}}}],"partialFingerprints":{"codehealthFindingId/v1":"43d6b96f3e7c70bf9baa83ac90c0981ec6d19f65b954db689c70e8c1513d1692"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (6 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Services/GatewayNavVisibilityDebouncePolicy.cs:38-43 | src/OpenClaw.Tray.WinUI/Services/GatewayNavVisibilityDebouncePolicy.cs:44-49"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/GatewayNavVisibilityDebouncePolicy.cs"},"region":{"startLine":38}}}],"partialFingerprints":{"codehealthFindingId/v1":"a1069269f1340fcc2f642bf38f874afdec0612695488bdda78e35f9e6046627c"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/OpenClaw.Shared/HttpUrlRiskEvaluator.cs:119-123 | src/OpenClaw.Shared/HttpUrlRiskEvaluator.cs:138-141"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/HttpUrlRiskEvaluator.cs"},"region":{"startLine":119}}}],"partialFingerprints":{"codehealthFindingId/v1":"b93d0ffbe940d16354f9f0417ec9948ddc9024013b2b7049c6568d3bdac8ce53"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/OpenClaw.Shared/HttpUrlRiskEvaluator.cs:132-136 | src/OpenClaw.Shared/HttpUrlRiskEvaluator.cs:140-144"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/HttpUrlRiskEvaluator.cs"},"region":{"startLine":132}}}],"partialFingerprints":{"codehealthFindingId/v1":"b93d0ffbe940d16354f9f0417ec9948ddc9024013b2b7049c6568d3bdac8ce53"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/OpenClaw.Shared/Models.cs:1897-1901 | src/OpenClaw.Shared/Models.cs:1919-1922"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Models.cs"},"region":{"startLine":1897}}}],"partialFingerprints":{"codehealthFindingId/v1":"2053c7891a4927273fb52701786ba63bd30fe05e4947fef050127af180da82c2"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/OpenClaw.Tray.WinUI/A2UI/Hosting/A2UIRouter.cs:195-199 | src/OpenClaw.Tray.WinUI/A2UI/Hosting/SurfaceHost.cs:275-279"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Hosting/A2UIRouter.cs"},"region":{"startLine":195}}}],"partialFingerprints":{"codehealthFindingId/v1":"dd02c1f42e7ff5f6140d50cff5a4c70cbf5e905ae89eb81854932111ee6e1896"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/OpenClaw.Tray.WinUI/A2UI/Theming/A2UITheme.cs:80-84 | src/OpenClaw.Tray.WinUI/A2UI/Theming/A2UITheme.cs:87-91"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Theming/A2UITheme.cs"},"region":{"startLine":80}}}],"partialFingerprints":{"codehealthFindingId/v1":"12adc9c2aa58b4bc602606417a018eda230dee6def7de92f7521941dcac0a695"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Chat/Markdown/ChatMarkdownRenderer.cs:452-456 | src/OpenClaw.Tray.WinUI/Chat/Markdown/ChatMarkdownRenderer.cs:459-463"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/Markdown/ChatMarkdownRenderer.cs"},"region":{"startLine":452}}}],"partialFingerprints":{"codehealthFindingId/v1":"0582833ecab2cb0539e60884c90e0b489111cd49f16e2eb66e402a046956c66f"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Pages/AgentEventsPage.xaml.cs:96-100 | src/OpenClaw.Tray.WinUI/Pages/AgentEventsPage.xaml.cs:106-110"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/AgentEventsPage.xaml.cs"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"08882d46ca5a1c5303e229fea4fce9258cc3be67ca2ee0658ed723cd4f1aa32e"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/OpenClaw.Tray.WinUI/Windows/ConnectionStatusWindow.xaml.cs:468-472 | src/OpenClaw.Tray.WinUI/Windows/ConnectionStatusWindow.xaml.cs:473-477"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/ConnectionStatusWindow.xaml.cs"},"region":{"startLine":468}}}],"partialFingerprints":{"codehealthFindingId/v1":"56b6e14e7fdf6a8283ac3c598773df9756c55c480b9cc7bc44718fb4e4638a81"}},{"ruleId":"D4","level":"warning","message":{"text":"Duplicated block (5 lines \u00D7 2): src/OpenClawTray.FunctionalUI/FunctionalUI.cs:134-138 | src/OpenClawTray.FunctionalUI/FunctionalUI.cs:781-785"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/FunctionalUI.cs"},"region":{"startLine":134}}}],"partialFingerprints":{"codehealthFindingId/v1":"8820d85bff5b2d099938515e0c0b0c350afaf45bf0d2409d0f3f9b7a8a358c4b"}},{"ruleId":"D5","level":"warning","message":{"text":"Unstable project OpenClaw.Tray.WinUI: OpenClaw.Tray.WinUI has instability 0.83 with 1 dependents."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"5e886dee51242a137c7cd1051dfe70509a2fcf38fed4b86108afa457f2afa6c6"}},{"ruleId":"D5","level":"warning","message":{"text":"Off the main sequence: OpenClaw.Shared: OpenClaw.Shared: abstractness 0.07, instability 0.00, distance 0.93 \u2014 zone of pain \u2014 concrete and heavily depended-on, so it\u0027s rigid to change."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"adc740780f5812ede01aa4e1597ec4be371e6bbe865b79bc5722f336f8449dcd"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: ExecApprovalV2Result (LCOM4 10): ExecApprovalV2Result\u0027s methods form 10 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecApprovalV2Result.cs"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9d7faad0d5728b34e8e290f0452dbf15bbb042f07088926ee65b2458fce24df"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: NodeCapabilityBase (LCOM4 10): NodeCapabilityBase\u0027s methods form 10 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/NodeCapabilities.cs"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"51b581ffa0ab196e6f271bdc23793cdb952274d8933e9ca64ac8b04c5670e0b8"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: SetupWindow (LCOM4 9): SetupWindow\u0027s methods form 9 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/SetupWindow.xaml.cs"},"region":{"startLine":11}}}],"partialFingerprints":{"codehealthFindingId/v1":"83da0d1ed586e4827483a9c88f3865550e1adfb9194b3b009ebbcecc2ff96856"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: PermissionsPage (LCOM4 8): PermissionsPage\u0027s methods form 8 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/PermissionsPage.xaml.cs"},"region":{"startLine":14}}}],"partialFingerprints":{"codehealthFindingId/v1":"4f3cfabdd9193c107d263c920b3bff2fbbdf0c1801a7ed1158756f19f945051a"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: Md4cParser (LCOM4 8): Md4cParser\u0027s methods form 8 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Markdown/Md4c/Md4cParser.cs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"3847293934ac125fe96625aa6f1b9b48b6cc1e30aaf6b4328f7fba3f3de7e192"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: OpenClawChatDataProvider (LCOM4 8): OpenClawChatDataProvider\u0027s methods form 8 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"50542eee5a6089cc3e6454dc5f86af25788d80dcc8581f1beac0fee17c768034"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: ChatWindow (LCOM4 8): ChatWindow\u0027s methods form 8 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/ChatWindow.xaml.cs"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"52e4da5dd3b4f9c7f62c0db2422d25d628c4ced1d724845cc6dd2c0203b40648"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: MountedFunctionalChat (LCOM4 6): MountedFunctionalChat\u0027s methods form 6 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/FunctionalChatHostExtensions.cs"},"region":{"startLine":79}}}],"partialFingerprints":{"codehealthFindingId/v1":"e1bf6e89e8b489d6b2aaaee9e310a0e2783cd38798b910838d196f6f7e697b07"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: HubWindow (LCOM4 6): HubWindow\u0027s methods form 6 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"a3abb924aa38e8114694db54f3f48126e913c675e4a1579e05b82979b545114a"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: CanvasWindow (LCOM4 5): CanvasWindow\u0027s methods form 5 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/CanvasWindow.xaml.cs"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"c4082a0951431f9810f8fe5d8b4dee58a63352e111825ecfe2ac15796478fbb9"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: RenderContext (LCOM4 4): RenderContext\u0027s methods form 4 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/IComponentRenderer.cs"},"region":{"startLine":37}}}],"partialFingerprints":{"codehealthFindingId/v1":"26262ca70a7b6c865793f0b0eb936c33e0709b07ae13b0b8a27ca315877c0576"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: ConnectionPage (LCOM4 4): ConnectionPage\u0027s methods form 4 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"13b019893e1ba97547dc4844fc672fafc7baf97dee5f3e1efe05b7fdb66fb8e2"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: DebugPage (LCOM4 4): DebugPage\u0027s methods form 4 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/DebugPage.xaml.cs"},"region":{"startLine":39}}}],"partialFingerprints":{"codehealthFindingId/v1":"7f166cf19184fa8750e3691461daaf795abf4157d6f63bf68345f971831f7dfc"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: PermissionsPage (LCOM4 4): PermissionsPage\u0027s methods form 4 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml.cs"},"region":{"startLine":19}}}],"partialFingerprints":{"codehealthFindingId/v1":"538f3f7561ced6b79731b2ad6a068b4352c4444e56e00c92057f1f80864b4c80"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: DeviceStatusProvider (LCOM4 4): DeviceStatusProvider\u0027s methods form 4 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/DeviceStatusProvider.cs"},"region":{"startLine":18}}}],"partialFingerprints":{"codehealthFindingId/v1":"702bc4ff5b01af74ce455dd088de3ea2cb7319bd951ffe3293aeff703628cc45"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: A2UICanvasWindow (LCOM4 4): A2UICanvasWindow\u0027s methods form 4 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/A2UICanvasWindow.xaml.cs"},"region":{"startLine":30}}}],"partialFingerprints":{"codehealthFindingId/v1":"264dd7361593072a29430caa5a9a46257efbbb7c7d4cd80ecffece80ab0e38e2"}},{"ruleId":"D6","level":"warning","message":{"text":"Low cohesion: TrayMenuWindow (LCOM4 4): TrayMenuWindow\u0027s methods form 4 groups that share no state and don\u0027t call each other \u2014 a sign it may have several responsibilities. Review whether it splits into focused classes."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/TrayMenuWindow.xaml.cs"},"region":{"startLine":22}}}],"partialFingerprints":{"codehealthFindingId/v1":"08cd036b895cb499dc8cb594b3cea060f120e771825348f3977b02fe13e121d8"}},{"ruleId":"D7","level":"note","message":{"text":"No checkable ADRs to assess: No architecture decision records were found and the project graph is acyclic, so architectural integrity could not be assessed. Add ADRs (with \u0060enforcement: analyzer|test\u0060) to make the architecture\u0027s rules checkable."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"9bfa095522c5f2e53a7c1c0405fd8830d318409a6fb74f4288bab05aaf716e52"}},{"ruleId":"D8","level":"warning","message":{"text":"Coverage not measured: The test suite couldn\u0027t be built/run in-image and no coverage report is committed, so line coverage was not measured \u2014 and it is EXCLUDED from the score rather than scored on a LoC-ratio proxy. Commit the Cobertura/OpenCover/lcov report your CI already produces (anywhere in the repo), or make the suite runnable in-image, and real coverage will be measured."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"62e63e619c28f057e129f2997c965d32a457366a9ce18ca019ffb6bdfba85c99"}},{"ruleId":"D9","level":"note","message":{"text":"Unit tests: 2841 unit test method(s)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"3067d72f6515925eded797ae6deb86f74d157d3bd0b8e2d3a80edaa12ea95d24"}},{"ruleId":"D9","level":"note","message":{"text":"Integration tests: 0 integration test method(s)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"b8ce5913e7f0487c282aa29038cefc209006d3bfe4e8418292f03d5a2d9bc5b9"}},{"ruleId":"D9","level":"note","message":{"text":"BDD tests: 0 BDD test method(s)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"2335ff4716b8a3faefb3014515ddf9f836e46276f415e6cd56462b6bf7742991"}},{"ruleId":"D9","level":"note","message":{"text":"E2E tests: 0 end-to-end test method(s)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"9a982d279a9674eceb951bedcbe3f8d344879045f8bee5f9f6f059139e0ed590"}},{"ruleId":"D10","level":"error","message":{"text":"No assertions: Dispose_IsIdempotent: Test method has no assertions \u2014 it may not test anything."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/NodeConnectorTests.cs"},"region":{"startLine":132}}}],"partialFingerprints":{"codehealthFindingId/v1":"ba8e925df456c505f85d809229de41fb44f2309ee7a5c5b036b4963485d6f433"}},{"ruleId":"D10","level":"error","message":{"text":"No assertions: Run_NoCallbacks_ExceptionIsSwallowedCleanly: Test method has no assertions \u2014 it may not test anything."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/AsyncEventHandlerGuardTests.cs"},"region":{"startLine":184}}}],"partialFingerprints":{"codehealthFindingId/v1":"42a3df8768614818741cf06ab9f0eea32890e5f7435e2f3691ebee8d713ee00c"}},{"ruleId":"D10","level":"error","message":{"text":"No assertions: Normalize_LegacyPath_Unaffected: Test method has no assertions \u2014 it may not test anything."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalV2NormalizationTests.cs"},"region":{"startLine":374}}}],"partialFingerprints":{"codehealthFindingId/v1":"ade3413f4997a92e1ea9128dc44948480d0907a10d81cb4eb45f04933c3e5745"}},{"ruleId":"D10","level":"error","message":{"text":"No assertions: Unwrap_BareCommand_NoEnvPrefix_NotCalled: Test method has no assertions \u2014 it may not test anything."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecEnvInvocationUnwrapperTests.cs"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"b5f11e09c0ce17844c66029975525e6fbdab95b18f5fbfa8c3fee128153887aa"}},{"ruleId":"D10","level":"error","message":{"text":"No assertions: Dispose_IsIdempotent: Test method has no assertions \u2014 it may not test anything."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/McpHttpServerTests.cs"},"region":{"startLine":272}}}],"partialFingerprints":{"codehealthFindingId/v1":"86c831b23888bc99de196820431c989e6e56f5aa36ff8e9e051033a3d4f45cb5"}},{"ruleId":"D10","level":"error","message":{"text":"No assertions: RaiseStatusChanged_WithNoSubscribers_DoesNotThrow: Test method has no assertions \u2014 it may not test anything."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/WebSocketClientBaseTests.cs"},"region":{"startLine":179}}}],"partialFingerprints":{"codehealthFindingId/v1":"2a7e281699b2154139b0c9e56b33b61c79839a134357a8477d2b446bd93200e0"}},{"ruleId":"D10","level":"error","message":{"text":"No assertions: ForeignObject_Inert_NoExternalFetch: Test method has no assertions \u2014 it may not test anything."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/A2UISvgTests.cs"},"region":{"startLine":123}}}],"partialFingerprints":{"codehealthFindingId/v1":"a7095f7ea0fc62b30545843006a033e3bb5382e4a85a876571538189e267e2c1"}},{"ruleId":"D10","level":"error","message":{"text":"No assertions: ExternalReferences_Inert_NoNetworkIo: Test method has no assertions \u2014 it may not test anything."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/A2UISvgTests.cs"},"region":{"startLine":143}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ff907757f8fa97a4f84f397a1a95e3462fcc257178e8d8faf7f371941baee78"}},{"ruleId":"D10","level":"error","message":{"text":"No assertions: Xxe_DoctypeStrippedPrePass_NoFileRead: Test method has no assertions \u2014 it may not test anything."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/A2UISvgTests.cs"},"region":{"startLine":160}}}],"partialFingerprints":{"codehealthFindingId/v1":"8eb2b948786ee691193c6330130c6a364ac3ea66c83360fd6afcba8419cd0d19"}},{"ruleId":"D11","level":"note","message":{"text":"No tests discovered: Test reliability not scored \u2014 the test tier(s) built and ran but no tests were discovered, so reliability couldn\u0027t be exercised."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"6e4c0ab67b9e87c02498c138fb50373fdab655734b894db638fb9443a28b824b"}},{"ruleId":"D14","level":"note","message":{"text":"Licenses scanned: 16 packages scanned; 2 distinct SPDX licenses."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"1d29d66daec20840f6831f63c1b66b87c40390635ef3e9f728002964c77e88d4"}},{"ruleId":"D15","level":"warning","message":{"text":"git history depth insufficient: git history depth insufficient \u2014 install a full clone for reliable trend signal."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"ab15c4a7c72fcad940ff795282e210fd7f3769431dab6bffd8ce9ee8f7ee13f1"}},{"ruleId":"D16","level":"warning","message":{"text":"single-maintainer \u2014 knowledge-concentration (bus factor) risk: single-maintainer \u2014 knowledge-concentration (bus factor) risk (0 author(s) across 0 commit(s) sampled)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"b4b49d961df742f0e507f4cc5c8094fb077ba0391a27fd015d18320865187719"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (OperationCanceledException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionManager.cs"},"region":{"startLine":324}}}],"partialFingerprints":{"codehealthFindingId/v1":"1abae54d261552d89b8e0a0ef6667070707c6da5da0070a8fc8b3c0ece1c25cd"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (ObjectDisposedException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionManager.cs"},"region":{"startLine":926}}}],"partialFingerprints":{"codehealthFindingId/v1":"1abae54d261552d89b8e0a0ef6667070707c6da5da0070a8fc8b3c0ece1c25cd"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/PermissionsPage.xaml.cs"},"region":{"startLine":110}}}],"partialFingerprints":{"codehealthFindingId/v1":"0d6a216e47ec112ccf37f35bb0605d95c5a8775d11c622de8b9e5137b51245a6"}},{"ruleId":"D17","level":"warning","message":{"text":"XxxComment: // and \u0022Code: XXX\u0022 patterns as monospace rows with a copy button. Shared by \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: PROJ-123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/WizardPage.xaml.cs"},"region":{"startLine":570}}}],"partialFingerprints":{"codehealthFindingId/v1":"0ec6f8370865e13d01e835af51bd57f3227cf11ae9764f0431578fed24feb876"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/WizardPage.xaml.cs"},"region":{"startLine":618}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3d4acbd93eda47707b250aea198c7754c8af9445d2540b75b26e348ae5b49bb"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/WizardPage.xaml.cs"},"region":{"startLine":629}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3d4acbd93eda47707b250aea198c7754c8af9445d2540b75b26e348ae5b49bb"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/WizardPage.xaml.cs"},"region":{"startLine":631}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3d4acbd93eda47707b250aea198c7754c8af9445d2540b75b26e348ae5b49bb"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/WizardPage.xaml.cs"},"region":{"startLine":773}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3d4acbd93eda47707b250aea198c7754c8af9445d2540b75b26e348ae5b49bb"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/Pages/WizardPage.xaml.cs"},"region":{"startLine":805}}}],"partialFingerprints":{"codehealthFindingId/v1":"c3d4acbd93eda47707b250aea198c7754c8af9445d2540b75b26e348ae5b49bb"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/WizardConsoleTail.cs"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9469e9faf34f09e362f38ac80740ba18835ce07d81a8ae7aee574ddc651e05e"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/WizardConsoleTail.cs"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9469e9faf34f09e362f38ac80740ba18835ce07d81a8ae7aee574ddc651e05e"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/WizardConsoleTail.cs"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"2e6e9f0b72a616119d5c4a72e03b690df145f4f0560c5e30768c29dd4606138c"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Wire OperatorScopes/NodeScopes/CliScopes into pairing requests \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: PROJ-123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupContext.cs"},"region":{"startLine":241}}}],"partialFingerprints":{"codehealthFindingId/v1":"02cf6bac993b945bcc313e5c0fb4ebc6f525d30dc93c226db8a43958fe847784"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupDiagnostics.cs"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"8d354c6d991f0e8620d5c79b310f91cc3a05bb5345adc52c687d38740eb73526"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/SetupWizardRunner.cs"},"region":{"startLine":169}}}],"partialFingerprints":{"codehealthFindingId/v1":"90dc7db6a0b2ffe8b0032298f61c79055dd3aec8c857b52a2c093130a65c81eb"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Audio/WhisperModelManager.cs"},"region":{"startLine":164}}}],"partialFingerprints":{"codehealthFindingId/v1":"199be78ead1747cc8eb0f60e0ea8430e93da789f3d7e82a33267bb0b64b6b7e9"}},{"ruleId":"D17","level":"warning","message":{"text":"ObsoleteWithCallers: [Obsolete] SignPayload"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/DeviceIdentity.cs"},"region":{"startLine":260}}}],"partialFingerprints":{"codehealthFindingId/v1":"4fbc79bd1bb3e202957a0da7fd00f366359fe1d244fe2db59859e2d0edde30ae"}},{"ruleId":"D17","level":"warning","message":{"text":"ObsoleteWithCallers: [Obsolete] BuildDebugPayload"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/DeviceIdentity.cs"},"region":{"startLine":409}}}],"partialFingerprints":{"codehealthFindingId/v1":"4fbc79bd1bb3e202957a0da7fd00f366359fe1d244fe2db59859e2d0edde30ae"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovalPolicy.cs"},"region":{"startLine":434}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5309aa2f8aaa4436ca6a4e0d65e7601a81b61433e3388dfd311153f415f3057"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovalPolicy.cs"},"region":{"startLine":451}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5309aa2f8aaa4436ca6a4e0d65e7601a81b61433e3388dfd311153f415f3057"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecApprovalsStore.cs"},"region":{"startLine":220}}}],"partialFingerprints":{"codehealthFindingId/v1":"2153cdd73a6a0226a6ab3c16622e315f06753df682b02da4c48600672aa75aae"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecApprovalsStore.cs"},"region":{"startLine":225}}}],"partialFingerprints":{"codehealthFindingId/v1":"2153cdd73a6a0226a6ab3c16622e315f06753df682b02da4c48600672aa75aae"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/ExecApprovals/ExecApprovalsStore.cs"},"region":{"startLine":310}}}],"partialFingerprints":{"codehealthFindingId/v1":"2153cdd73a6a0226a6ab3c16622e315f06753df682b02da4c48600672aa75aae"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (ObjectDisposedException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mcp/McpHttpServer.cs"},"region":{"startLine":182}}}],"partialFingerprints":{"codehealthFindingId/v1":"2c2f987552e9113702e7df149e751ec32e358c24f92a140d95308be5fc3fa105"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Models.cs"},"region":{"startLine":1926}}}],"partialFingerprints":{"codehealthFindingId/v1":"9b2b3c8b8c9538325880350e421f9afea73cf95e739973d66b6a4da3a8f56217"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: This is all temporary and a moment in time; feature gate this correctly ASAP. \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: PROJ-123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mxc/MxcAvailability.cs"},"region":{"startLine":27}}}],"partialFingerprints":{"codehealthFindingId/v1":"4e12dec284fa4c58dcdd8a0bab92e76c41a2c7fc39e52ad9b13810b6e5606436"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mxc/MxcAvailability.cs"},"region":{"startLine":148}}}],"partialFingerprints":{"codehealthFindingId/v1":"a67c40df247f06a9a045423069368dbe097316419fb1965bbed259e407941b57"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CA1416 // OperatingSystem.IsWindows() guard above; analyzer doesn\u0027t recognize it through callee."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/Mxc/MxcAvailability.cs"},"region":{"startLine":140}}}],"partialFingerprints":{"codehealthFindingId/v1":"a67c40df247f06a9a045423069368dbe097316419fb1965bbed259e407941b57"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (OperationCanceledException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WebSocketClientBase.cs"},"region":{"startLine":229}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b285f52fdf7ae9ab78b99c03b6a923932b37298b5aa9f9126796817dd08c959"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (ObjectDisposedException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WebSocketClientBase.cs"},"region":{"startLine":230}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b285f52fdf7ae9ab78b99c03b6a923932b37298b5aa9f9126796817dd08c959"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (ObjectDisposedException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WebSocketClientBase.cs"},"region":{"startLine":253}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b285f52fdf7ae9ab78b99c03b6a923932b37298b5aa9f9126796817dd08c959"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (OperationCanceledException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WebSocketClientBase.cs"},"region":{"startLine":298}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b285f52fdf7ae9ab78b99c03b6a923932b37298b5aa9f9126796817dd08c959"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (ObjectDisposedException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WebSocketClientBase.cs"},"region":{"startLine":299}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b285f52fdf7ae9ab78b99c03b6a923932b37298b5aa9f9126796817dd08c959"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (OperationCanceledException) when (\u2026) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WebSocketClientBase.cs"},"region":{"startLine":353}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b285f52fdf7ae9ab78b99c03b6a923932b37298b5aa9f9126796817dd08c959"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (ObjectDisposedException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WebSocketClientBase.cs"},"region":{"startLine":358}}}],"partialFingerprints":{"codehealthFindingId/v1":"4b285f52fdf7ae9ab78b99c03b6a923932b37298b5aa9f9126796817dd08c959"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (OperationCanceledException) when (\u2026) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WindowsNodeClient.cs"},"region":{"startLine":534}}}],"partialFingerprints":{"codehealthFindingId/v1":"e3ee30251509df365e4ff44c054130753c292dd7e2adcfd21d10b111fa52f1cb"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (OperationCanceledException) when (\u2026) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/WindowsNodeClient.cs"},"region":{"startLine":1093}}}],"partialFingerprints":{"codehealthFindingId/v1":"e3ee30251509df365e4ff44c054130753c292dd7e2adcfd21d10b111fa52f1cb"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Actions/IActionSink.cs"},"region":{"startLine":154}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9229029142194a0b5d1400a633b88073194556af14deabf57877c749146b815"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Hosting/A2UIRouter.cs"},"region":{"startLine":90}}}],"partialFingerprints":{"codehealthFindingId/v1":"ec6f9fef9741e6171cfb13a93471924c23ad6d3ba862ff4c3fcd61a2e2f1bad9"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Hosting/SurfaceHost.cs"},"region":{"startLine":286}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a99104d2e9f949cae9324e88d604239442d4988ea8cffb33eea1e55cf1277d5"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/IComponentRenderer.cs"},"region":{"startLine":132}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f563649ae714a67cac0d64fd0a1f6eb4476e77b7e74e61bdd9f0ec71b8c9e3f"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Rendering/Renderers/ContainerRenderers.cs"},"region":{"startLine":279}}}],"partialFingerprints":{"codehealthFindingId/v1":"c72f61823e583a7d16b97d7c81966ffa5759f8219f013021ec337e35599be114"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Theming/A2UITheme.cs"},"region":{"startLine":97}}}],"partialFingerprints":{"codehealthFindingId/v1":"d29cf1bfc12029627f911c429660c2a1fa27f335e7ac5399ce950d0010f5f706"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (ArgumentException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":277}}}],"partialFingerprints":{"codehealthFindingId/v1":"c54911960a80379d5e04582584371de97b8aec855d50f0b6c933690a2227176a"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":284}}}],"partialFingerprints":{"codehealthFindingId/v1":"6772aa6c11af6ee5ad088ee6f185147458d99a667374ea7997a115c6b91714f7"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (Exception) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":319}}}],"partialFingerprints":{"codehealthFindingId/v1":"c54911960a80379d5e04582584371de97b8aec855d50f0b6c933690a2227176a"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (Exception) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/App.xaml.cs"},"region":{"startLine":321}}}],"partialFingerprints":{"codehealthFindingId/v1":"c54911960a80379d5e04582584371de97b8aec855d50f0b6c933690a2227176a"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2196}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b3e980670d66ca659cdaa900197f472ccab5dd47d4957f34d5d7d628b350093"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2208}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b3e980670d66ca659cdaa900197f472ccab5dd47d4957f34d5d7d628b350093"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2289}}}],"partialFingerprints":{"codehealthFindingId/v1":"0b3e980670d66ca659cdaa900197f472ccab5dd47d4957f34d5d7d628b350093"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: wire to a real agent-name source (agents.list response or \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: PROJ-123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatRoot.cs"},"region":{"startLine":303}}}],"partialFingerprints":{"codehealthFindingId/v1":"7fdcc62b6cfbb5e3dc3c30325ab661004ad867ad18175182c64c9e5534d8031e"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (OperationCanceledException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatRoot.cs"},"region":{"startLine":409}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa221d80c4d6491cc491761e81d8354a8314baf95b4c278d4c2e9e6648e4c997"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (OperationCanceledException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatRoot.cs"},"region":{"startLine":868}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa221d80c4d6491cc491761e81d8354a8314baf95b4c278d4c2e9e6648e4c997"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: Restore this delete action once the chat provider can remove \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: PROJ-123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatTimeline.cs"},"region":{"startLine":970}}}],"partialFingerprints":{"codehealthFindingId/v1":"50bbe59cc81c1f55218a8bb7895720af1a0e8e85a91235e179ef66b44fee0eba"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: //     () =\u003E { /* TODO: wire to provider */ AckAction(entryId, \u0022delete\u0022); }).VAlign(VerticalAlignment.Center), \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: PROJ-123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatTimeline.cs"},"region":{"startLine":976}}}],"partialFingerprints":{"codehealthFindingId/v1":"50bbe59cc81c1f55218a8bb7895720af1a0e8e85a91235e179ef66b44fee0eba"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Dialogs/RecordingConsentDialog.cs"},"region":{"startLine":192}}}],"partialFingerprints":{"codehealthFindingId/v1":"687757339e7c8040b41048c588c3d2dd488012bdd85f34e0c6ac3f1f57ce0e04"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Dialogs/RecordingCountdownWindow.cs"},"region":{"startLine":128}}}],"partialFingerprints":{"codehealthFindingId/v1":"fd67a354b4a06580cb0d6347efce2b3469b78d3667f76b3c1877c632b571efa3"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (OperationCanceledException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ChatPage.xaml.cs"},"region":{"startLine":517}}}],"partialFingerprints":{"codehealthFindingId/v1":"67ba0487452bf9706a8524f7d2f76aa7fa5f9dbd5fac16ecfbd3732b69e1846b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (OperationCanceledException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/ConnectionPage.xaml.cs"},"region":{"startLine":2184}}}],"partialFingerprints":{"codehealthFindingId/v1":"64662b8e7b47160f714249796f5703a3f852ea6bab92f27643676e6227c8b577"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml.cs"},"region":{"startLine":764}}}],"partialFingerprints":{"codehealthFindingId/v1":"305808d609c3260a146e0934b631649a73e7d84218fac6caf5ff52e08b4de1e8"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/PermissionsPage.xaml.cs"},"region":{"startLine":852}}}],"partialFingerprints":{"codehealthFindingId/v1":"305808d609c3260a146e0934b631649a73e7d84218fac6caf5ff52e08b4de1e8"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Pages/SandboxPage.xaml.cs"},"region":{"startLine":263}}}],"partialFingerprints":{"codehealthFindingId/v1":"2445d0d650754dcd77e8b5d25b53b597e0974e200953579aba72a60bcf418d9c"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (Exception) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/AppCrashLogger.cs"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"54e45443a673320944fbadb3c0f1a03b7e42dcb710170d4d614eae603f7f9b04"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (Exception) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/AppCrashLogger.cs"},"region":{"startLine":50}}}],"partialFingerprints":{"codehealthFindingId/v1":"54e45443a673320944fbadb3c0f1a03b7e42dcb710170d4d614eae603f7f9b04"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (TaskCanceledException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/AudioPipeline.cs"},"region":{"startLine":208}}}],"partialFingerprints":{"codehealthFindingId/v1":"4da5df3456714019d9470930962df66d69a66e0df60f0ecc380308188dc1bd3e"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/DeviceStatusProvider.cs"},"region":{"startLine":51}}}],"partialFingerprints":{"codehealthFindingId/v1":"381b26266b47c18a35083074d14e11da468ea488cddd766794f03a10ce1b7662"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/DeviceStatusProvider.cs"},"region":{"startLine":81}}}],"partialFingerprints":{"codehealthFindingId/v1":"381b26266b47c18a35083074d14e11da468ea488cddd766794f03a10ce1b7662"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/GatewayDiscoveryService.cs"},"region":{"startLine":152}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2842ed642522c61a51f7350125bc53b4ce05c5552087d8d77daccedd57ded8a"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/GatewayDiscoveryService.cs"},"region":{"startLine":160}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2842ed642522c61a51f7350125bc53b4ce05c5552087d8d77daccedd57ded8a"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/GlobalHotkeyService.cs"},"region":{"startLine":350}}}],"partialFingerprints":{"codehealthFindingId/v1":"9dcdcad979f39524df4257c8d7b561a947224e209f8f93f284d8ffb2bc24ec36"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (Exception) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/Logger.cs"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cc6da376c6400c90565ea776003f5192fe0da84cc8ef21b18cc909acda3a6a1"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (Exception) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/Logger.cs"},"region":{"startLine":177}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cc6da376c6400c90565ea776003f5192fe0da84cc8ef21b18cc909acda3a6a1"}},{"ruleId":"D17","level":"warning","message":{"text":"TodoComment: // TODO: when the port becomes user-configurable (see docs/MCP_MODE.md \u2014 source code is not a task system: move the work to your tracker and leave a reference instead (e.g. \u0060// REF: PROJ-123\u0060), so the task is planned where tasks live and the ticket links back to the code."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/NodeService.cs"},"region":{"startLine":124}}}],"partialFingerprints":{"codehealthFindingId/v1":"f5abdfd961f028905b44ee6900dd6515ddc11c958e2fea81d8468f1b8513b686"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/ScreenCaptureService.cs"},"region":{"startLine":207}}}],"partialFingerprints":{"codehealthFindingId/v1":"a17bd459057f4314485b144072ff1445b3c141b75f0fcb4c0a5a2a40ca0f8b69"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/ScreenRecordingService.cs"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"8fa6986a2dc338962fa44ea9a86f748ebd78d210c240b73ba5bd3076494bad7b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (JsonException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/SettingsManager.cs"},"region":{"startLine":345}}}],"partialFingerprints":{"codehealthFindingId/v1":"407fd516e73c98d3fb50c3122267e8832993ee6b5956bbea8ac4664b610c32cf"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TextToSpeech/PiperTextToSpeechClient.cs"},"region":{"startLine":161}}}],"partialFingerprints":{"codehealthFindingId/v1":"62d43ba062b77375fa543b5278251f8280a8cce84245ff51839b2ba7e09cea5f"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TextToSpeech/PiperTextToSpeechClient.cs"},"region":{"startLine":163}}}],"partialFingerprints":{"codehealthFindingId/v1":"62d43ba062b77375fa543b5278251f8280a8cce84245ff51839b2ba7e09cea5f"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TextToSpeech/TextToSpeechService.cs"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"95099e2991eb17b1610141ac94cb278dfccc5f829c2365f36b03840c771f168a"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/TextToSpeech/TextToSpeechService.cs"},"region":{"startLine":274}}}],"partialFingerprints":{"codehealthFindingId/v1":"95099e2991eb17b1610141ac94cb278dfccc5f829c2365f36b03840c771f168a"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (COMException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/UpdateCoordinator.cs"},"region":{"startLine":455}}}],"partialFingerprints":{"codehealthFindingId/v1":"49578b126d4debec007d1ceb319794a61df20fe40c0b052b7609a35a3e5f9a9f"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (InvalidOperationException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/UpdateCoordinator.cs"},"region":{"startLine":462}}}],"partialFingerprints":{"codehealthFindingId/v1":"49578b126d4debec007d1ceb319794a61df20fe40c0b052b7609a35a3e5f9a9f"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/WslCommandRunner.cs"},"region":{"startLine":160}}}],"partialFingerprints":{"codehealthFindingId/v1":"f270cc5785c529f197e0c7020ac7500cd98c0001ef248e2207852548ecce6867"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/WslCommandRunner.cs"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"f270cc5785c529f197e0c7020ac7500cd98c0001ef248e2207852548ecce6867"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/WslGatewayKeepAliveService.cs"},"region":{"startLine":150}}}],"partialFingerprints":{"codehealthFindingId/v1":"3fc16cb80b1ad8183ff1ed08b335b660afeeb1739f549cbe267523c6de797bc1"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/WslGatewayKeepAliveService.cs"},"region":{"startLine":178}}}],"partialFingerprints":{"codehealthFindingId/v1":"3fc16cb80b1ad8183ff1ed08b335b660afeeb1739f549cbe267523c6de797bc1"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/CanvasWindow.xaml.cs"},"region":{"startLine":715}}}],"partialFingerprints":{"codehealthFindingId/v1":"94fdd7df44c4913ee7b745e4e5755b1517342902e87995722a9eea0204ddf54d"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/HubWindow.xaml.cs"},"region":{"startLine":779}}}],"partialFingerprints":{"codehealthFindingId/v1":"b361fd856e6f443bcb1b211b72d33f072cf794ff5e791d23235ad06b6e200378"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (DllNotFoundException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/TrayMenuWindow.xaml.cs"},"region":{"startLine":1037}}}],"partialFingerprints":{"codehealthFindingId/v1":"111d7616f15ac0181df0c46fd695c069ed2225d3f5341cc14d2c0ec4397f0377"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (EntryPointNotFoundException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/TrayMenuWindow.xaml.cs"},"region":{"startLine":1041}}}],"partialFingerprints":{"codehealthFindingId/v1":"111d7616f15ac0181df0c46fd695c069ed2225d3f5341cc14d2c0ec4397f0377"}},{"ruleId":"D17","level":"error","message":{"text":"EmptyCatchBlock: empty catch block"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Windows/VoiceOverlayWindow.xaml.cs"},"region":{"startLine":88}}}],"partialFingerprints":{"codehealthFindingId/v1":"190a2877f4f75274acc8719e9b3bffa8b6a6e0f63bed0c4da5d60ee457bdc39b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (IOException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.WinNode.Cli/Program.cs"},"region":{"startLine":647}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2b5141712c693e62e8f34991b7d0d4bd24f2f8257c829413c348917d21b4f92"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (IOException) \u2014 narrow/filtered/commented, treated as intentional"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.WinNode.Cli/Program.cs"},"region":{"startLine":663}}}],"partialFingerprints":{"codehealthFindingId/v1":"b2b5141712c693e62e8f34991b7d0d4bd24f2f8257c829413c348917d21b4f92"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/DeviceIdentityStoreTests.cs"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"7053f55cff70eb59173899b778320e15fc10758782052893e3de92d77fa11163"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/GatewayConnectionManagerTests.cs"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"eadac3e1e5f7466fd2e6c605fa057e48fef1bbe4c331393e517ba2ca534f244f"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CS0067 // Events required by interface but not fired in tests"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/GatewayConnectionManagerTests.cs"},"region":{"startLine":1209}}}],"partialFingerprints":{"codehealthFindingId/v1":"eadac3e1e5f7466fd2e6c605fa057e48fef1bbe4c331393e517ba2ca534f244f"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CS0067 // Events required by interface but not fired in tests"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/GatewayConnectionManagerTests.cs"},"region":{"startLine":1255}}}],"partialFingerprints":{"codehealthFindingId/v1":"eadac3e1e5f7466fd2e6c605fa057e48fef1bbe4c331393e517ba2ca534f244f"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CS0067 // Events required by interface but not fired in tests"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/GatewayConnectionManagerTests.cs"},"region":{"startLine":1307}}}],"partialFingerprints":{"codehealthFindingId/v1":"eadac3e1e5f7466fd2e6c605fa057e48fef1bbe4c331393e517ba2ca534f244f"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CS0067 // ClientCreated unused in current tests"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/GatewayConnectionManagerTests.cs"},"region":{"startLine":1389}}}],"partialFingerprints":{"codehealthFindingId/v1":"eadac3e1e5f7466fd2e6c605fa057e48fef1bbe4c331393e517ba2ca534f244f"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/GatewayRegistryMigrationTests.cs"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"549661c3c0384dce9742be9f865b4c38ae807af02155992568c3760cf35026c4"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/GatewayRegistryTests.cs"},"region":{"startLine":21}}}],"partialFingerprints":{"codehealthFindingId/v1":"6586aa37f953a1c0f39d8d5273939341f48930d1fbacbd6985b09521e68432da"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/InteractiveGatewayCredentialResolverTests.cs"},"region":{"startLine":23}}}],"partialFingerprints":{"codehealthFindingId/v1":"dcbd4cf0604d0ee44e2db8a6ca8508a44c76ee53c629169009bfde70f6404e6f"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/NodePairAutoApproveTests.cs"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"767221051704998d34005d8c1c43da48e0e729451f6d1c2005a3b22da7306638"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CS0067 // Events required by interface but not fired in tests"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/NodePairAutoApproveTests.cs"},"region":{"startLine":499}}}],"partialFingerprints":{"codehealthFindingId/v1":"767221051704998d34005d8c1c43da48e0e729451f6d1c2005a3b22da7306638"}},{"ruleId":"D17","level":"warning","message":{"text":"BarePragmaDisable: #pragma warning disable CS0067"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/NodePairAutoApproveTests.cs"},"region":{"startLine":584}}}],"partialFingerprints":{"codehealthFindingId/v1":"989fda649304fd4c4d14ae7a73ecc9af31105283f28478932e5fe3c6bff07d08"}},{"ruleId":"D17","level":"warning","message":{"text":"BarePragmaDisable: #pragma warning disable CS0067"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/OperatorScopeHelperTests.cs"},"region":{"startLine":151}}}],"partialFingerprints":{"codehealthFindingId/v1":"067a91baf6c4f10c4805d58d9d6dc890a405a6dbc0a47230b5b11ba80bf2cca0"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/PairingFlowTests.cs"},"region":{"startLine":34}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9f808d3f4155a96d6b49331a5127df3b53ccc00468aee2e11c20646452e7fef"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CS0067 // Events required by interface but not fired in tests"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/PairingFlowTests.cs"},"region":{"startLine":235}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9f808d3f4155a96d6b49331a5127df3b53ccc00468aee2e11c20646452e7fef"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CS0067 // never raised in this test fixture \u2014 the bridge to NodeService isn\u0027t exercised here"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/PairingFlowTests.cs"},"region":{"startLine":259}}}],"partialFingerprints":{"codehealthFindingId/v1":"a9f808d3f4155a96d6b49331a5127df3b53ccc00468aee2e11c20646452e7fef"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/SetupCodeFlowTests.cs"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ce2a1cc8d6c4c936426682f99ef979770dd4cdba15bd68c1e330195cec35384"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CS0067 // Event never used \u2014 required by interface"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/SetupCodeFlowTests.cs"},"region":{"startLine":448}}}],"partialFingerprints":{"codehealthFindingId/v1":"2ce2a1cc8d6c4c936426682f99ef979770dd4cdba15bd68c1e330195cec35384"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/StaleEventGuardTests.cs"},"region":{"startLine":35}}}],"partialFingerprints":{"codehealthFindingId/v1":"6477102fbeede2c87e27e9b7d1c9ebe3d04eee1489d3608e8a0aeb879222d2e5"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/A2UICapabilitySecurityTests.cs"},"region":{"startLine":82}}}],"partialFingerprints":{"codehealthFindingId/v1":"338a1aa21ac1a9f6e4f5bfb026432cfc9fddaecbaab277dc5a7ea70842138a22"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/A2UICapabilitySecurityTests.cs"},"region":{"startLine":134}}}],"partialFingerprints":{"codehealthFindingId/v1":"338a1aa21ac1a9f6e4f5bfb026432cfc9fddaecbaab277dc5a7ea70842138a22"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/A2UICapabilitySecurityTests.cs"},"region":{"startLine":136}}}],"partialFingerprints":{"codehealthFindingId/v1":"338a1aa21ac1a9f6e4f5bfb026432cfc9fddaecbaab277dc5a7ea70842138a22"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CS0618 // Obsolete - testing legacy methods"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/DeviceIdentityTests.cs"},"region":{"startLine":8}}}],"partialFingerprints":{"codehealthFindingId/v1":"71a3a2af57be77fa3e445ae78ff1dfb93e31ed38dac807bdcfef2070783259f0"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":676}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":707}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":742}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":774}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":817}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":865}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":899}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":946}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":989}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":1050}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":1095}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":1144}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":1185}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalPolicyTests.cs"},"region":{"startLine":1220}}}],"partialFingerprints":{"codehealthFindingId/v1":"c52f33faf7745e7423662a1716678f325ea5bf1a6b175abc989111309ded575b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/ExecApprovalV2RoutingTests.cs"},"region":{"startLine":137}}}],"partialFingerprints":{"codehealthFindingId/v1":"7911c805bdcc32134ac93ce02c8ceaea73afa5a88aefbf7630adeb260379f806"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/IdentityFileMigrationTests.cs"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa96462a9d6dabd8ace59df8be72b6cab4d69aa34925c1ba6b687dbef417827e"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/IdentityFileMigrationTests.cs"},"region":{"startLine":62}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa96462a9d6dabd8ace59df8be72b6cab4d69aa34925c1ba6b687dbef417827e"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/IdentityFileMigrationTests.cs"},"region":{"startLine":94}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa96462a9d6dabd8ace59df8be72b6cab4d69aa34925c1ba6b687dbef417827e"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/IdentityFileMigrationTests.cs"},"region":{"startLine":96}}}],"partialFingerprints":{"codehealthFindingId/v1":"aa96462a9d6dabd8ace59df8be72b6cab4d69aa34925c1ba6b687dbef417827e"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/McpAuthTokenResetTests.cs"},"region":{"startLine":24}}}],"partialFingerprints":{"codehealthFindingId/v1":"ef64fec7027c70d27671256fd7447068817ddf2d5abeaeecd812727f18df4cec"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (HttpRequestException) when (\u2026) in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/McpHttpServerTests.cs"},"region":{"startLine":238}}}],"partialFingerprints":{"codehealthFindingId/v1":"4528bdca44cd21f2c65f6b117d9796b022b293a28a72fad83e24143f768dccaf"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/McpHttpServerTests.cs"},"region":{"startLine":320}}}],"partialFingerprints":{"codehealthFindingId/v1":"4528bdca44cd21f2c65f6b117d9796b022b293a28a72fad83e24143f768dccaf"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/McpHttpServerTests.cs"},"region":{"startLine":379}}}],"partialFingerprints":{"codehealthFindingId/v1":"4528bdca44cd21f2c65f6b117d9796b022b293a28a72fad83e24143f768dccaf"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/Mxc/MxcCommandRunnerIntegrationTests.cs"},"region":{"startLine":182}}}],"partialFingerprints":{"codehealthFindingId/v1":"cba7a037c3cba85a16c4cbf3c309bab054c9b9898f342b81443dd8abf8b6097c"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/Mxc/MxcConfigBuilderTests.cs"},"region":{"startLine":281}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a806d7cf75035138cdb1946fc8b82bc4f2ad60895ae8fe88da0d6f3cb1ef8ee"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/Mxc/MxcConfigBuilderTests.cs"},"region":{"startLine":298}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a806d7cf75035138cdb1946fc8b82bc4f2ad60895ae8fe88da0d6f3cb1ef8ee"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/SystemRunTests.cs"},"region":{"startLine":396}}}],"partialFingerprints":{"codehealthFindingId/v1":"7dab72645ea64ecbc45e18f0d4a42c0056b449757e3319a2c2cd604f8e445281"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/SystemRunTests.cs"},"region":{"startLine":431}}}],"partialFingerprints":{"codehealthFindingId/v1":"7dab72645ea64ecbc45e18f0d4a42c0056b449757e3319a2c2cd604f8e445281"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/SystemRunTests.cs"},"region":{"startLine":468}}}],"partialFingerprints":{"codehealthFindingId/v1":"7dab72645ea64ecbc45e18f0d4a42c0056b449757e3319a2c2cd604f8e445281"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/SystemRunTests.cs"},"region":{"startLine":503}}}],"partialFingerprints":{"codehealthFindingId/v1":"7dab72645ea64ecbc45e18f0d4a42c0056b449757e3319a2c2cd604f8e445281"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/SystemRunTests.cs"},"region":{"startLine":545}}}],"partialFingerprints":{"codehealthFindingId/v1":"7dab72645ea64ecbc45e18f0d4a42c0056b449757e3319a2c2cd604f8e445281"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/SystemRunTests.cs"},"region":{"startLine":587}}}],"partialFingerprints":{"codehealthFindingId/v1":"7dab72645ea64ecbc45e18f0d4a42c0056b449757e3319a2c2cd604f8e445281"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/SystemRunTests.cs"},"region":{"startLine":621}}}],"partialFingerprints":{"codehealthFindingId/v1":"7dab72645ea64ecbc45e18f0d4a42c0056b449757e3319a2c2cd604f8e445281"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.IntegrationTests/TrayAppFixture.cs"},"region":{"startLine":138}}}],"partialFingerprints":{"codehealthFindingId/v1":"36a16cd105f7c4487ea9284383a6a9a3b4ccdf5e38d7b780df1a3189c01000ff"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.IntegrationTests/TrayAppFixture.cs"},"region":{"startLine":145}}}],"partialFingerprints":{"codehealthFindingId/v1":"36a16cd105f7c4487ea9284383a6a9a3b4ccdf5e38d7b780df1a3189c01000ff"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/AutoStartDefaultTests.cs"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"dc500cd74fe0ff8758e1028be72c66c1c786a5b40e332699c9e4830363ec7aa8"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/Connection/ConnectionManagerWindowsNodeConnectorTests.cs"},"region":{"startLine":35}}}],"partialFingerprints":{"codehealthFindingId/v1":"d911a20496b79c6d9a163097556691c6b2331404756c5ca7a29b40c375c4d8ea"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CS0067 // Events are required by interface but not exercised"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/Connection/ConnectionManagerWindowsNodeConnectorTests.cs"},"region":{"startLine":188}}}],"partialFingerprints":{"codehealthFindingId/v1":"d911a20496b79c6d9a163097556691c6b2331404756c5ca7a29b40c375c4d8ea"}},{"ruleId":"D17","level":"warning","message":{"text":"BarePragmaDisable: #pragma warning disable CS0067"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/Connection/ConnectionManagerWindowsNodeConnectorTests.cs"},"region":{"startLine":212}}}],"partialFingerprints":{"codehealthFindingId/v1":"8a30846e9b37a11939b4eff22e87a39ba15778998937de005d02b9c235a35460"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/ConnectionPagePlanApprovalBehaviorTests.cs"},"region":{"startLine":16}}}],"partialFingerprints":{"codehealthFindingId/v1":"1a57fabe84e1821160cc1692ae0d1cda170112451a6230a94a50d46557b8a41c"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/GatewayConnectionManagerConnectTests.cs"},"region":{"startLine":26}}}],"partialFingerprints":{"codehealthFindingId/v1":"36e6f6111ea9b8658acf5a018b891cd1c50eae57cddaefcbd4b390a392a3b003"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: #pragma warning disable CS0067 // Events required by interface but not fired in this regression test."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/GatewayConnectionManagerConnectTests.cs"},"region":{"startLine":74}}}],"partialFingerprints":{"codehealthFindingId/v1":"36e6f6111ea9b8658acf5a018b891cd1c50eae57cddaefcbd4b390a392a3b003"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/OnboardingChatBootstrapperTests.cs"},"region":{"startLine":20}}}],"partialFingerprints":{"codehealthFindingId/v1":"caaf1a3452b6bb35833a8d28df760e90c0715231b6b32a500d369c8a9b12c2a7"}},{"ruleId":"D17","level":"warning","message":{"text":"BarePragmaDisable: #pragma warning disable CS0067"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/OnboardingChatBootstrapperTests.cs"},"region":{"startLine":85}}}],"partialFingerprints":{"codehealthFindingId/v1":"4a2ac5fc4f4a27b1bc3c75981c9aa03ea01ccd3920bc69879a19869fd75c0c00"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/OpenClawChatDataProviderTests.cs"},"region":{"startLine":3741}}}],"partialFingerprints":{"codehealthFindingId/v1":"e5e05072c9d9cc1d9f67c29abb4c9df5d5bd8b442eca9e48f155f3157ee33956"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/Services/TrayTooltipBuilderTests.cs"},"region":{"startLine":25}}}],"partialFingerprints":{"codehealthFindingId/v1":"db9f2070e5f9d35a6b19daa4c20195e3ab8555bea2b1c353ff1b2bb48c07597f"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/SettingsManagerIsolationTests.cs"},"region":{"startLine":59}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e6b6833a8fd9aad990e4f93bb0cbbd76ea0ea472613cbbdb852606bcadf4618"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/SettingsManagerIsolationTests.cs"},"region":{"startLine":105}}}],"partialFingerprints":{"codehealthFindingId/v1":"1e6b6833a8fd9aad990e4f93bb0cbbd76ea0ea472613cbbdb852606bcadf4618"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/ToolMetaCacheTests.cs"},"region":{"startLine":283}}}],"partialFingerprints":{"codehealthFindingId/v1":"069f6d01f529a98c577a261b9518164c5c439474626be83c0478b4deb214d5fc"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2196}}}],"partialFingerprints":{"codehealthFindingId/v1":"e38b633e2f8082e550ecb701fb5694add0ffd8f51a8d0a177c20e232fe4494d9"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2208}}}],"partialFingerprints":{"codehealthFindingId/v1":"e38b633e2f8082e550ecb701fb5694add0ffd8f51a8d0a177c20e232fe4494d9"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Chat/OpenClawChatDataProvider.cs"},"region":{"startLine":2289}}}],"partialFingerprints":{"codehealthFindingId/v1":"e38b633e2f8082e550ecb701fb5694add0ffd8f51a8d0a177c20e232fe4494d9"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (Exception) in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/Logger.cs"},"region":{"startLine":174}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cc6da376c6400c90565ea776003f5192fe0da84cc8ef21b18cc909acda3a6a1"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (Exception) in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/Logger.cs"},"region":{"startLine":177}}}],"partialFingerprints":{"codehealthFindingId/v1":"9cc6da376c6400c90565ea776003f5192fe0da84cc8ef21b18cc909acda3a6a1"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch (JsonException) in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/SettingsManager.cs"},"region":{"startLine":345}}}],"partialFingerprints":{"codehealthFindingId/v1":"407fd516e73c98d3fb50c3122267e8832993ee6b5956bbea8ac4664b610c32cf"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/WslCommandRunner.cs"},"region":{"startLine":160}}}],"partialFingerprints":{"codehealthFindingId/v1":"a803ff591119b30ec2341551138faae8082b2999924016b00913c472cfe8bb2b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/WslCommandRunner.cs"},"region":{"startLine":165}}}],"partialFingerprints":{"codehealthFindingId/v1":"a803ff591119b30ec2341551138faae8082b2999924016b00913c472cfe8bb2b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/GatewayDiscoveryService.cs"},"region":{"startLine":152}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2842ed642522c61a51f7350125bc53b4ce05c5552087d8d77daccedd57ded8a"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Services/GatewayDiscoveryService.cs"},"region":{"startLine":160}}}],"partialFingerprints":{"codehealthFindingId/v1":"f2842ed642522c61a51f7350125bc53b4ce05c5552087d8d77daccedd57ded8a"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/A2UI/Actions/IActionSink.cs"},"region":{"startLine":154}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9229029142194a0b5d1400a633b88073194556af14deabf57877c749146b815"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/WizardConsoleTail.cs"},"region":{"startLine":91}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9469e9faf34f09e362f38ac80740ba18835ce07d81a8ae7aee574ddc651e05e"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/WizardConsoleTail.cs"},"region":{"startLine":129}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9469e9faf34f09e362f38ac80740ba18835ce07d81a8ae7aee574ddc651e05e"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/WizardConsoleTail.cs"},"region":{"startLine":131}}}],"partialFingerprints":{"codehealthFindingId/v1":"b9469e9faf34f09e362f38ac80740ba18835ce07d81a8ae7aee574ddc651e05e"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/TestApp.cs"},"region":{"startLine":36}}}],"partialFingerprints":{"codehealthFindingId/v1":"025c3a98fc7705d43e3128df70e7d3b1269cbb457d6c8b398bcb74144c66e85b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/TestApp.cs"},"region":{"startLine":60}}}],"partialFingerprints":{"codehealthFindingId/v1":"025c3a98fc7705d43e3128df70e7d3b1269cbb457d6c8b398bcb74144c66e85b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/UIThreadFixture.cs"},"region":{"startLine":169}}}],"partialFingerprints":{"codehealthFindingId/v1":"f46c88c63725f54337fedadc6f7a084f9deaf6787c7510506ae2b55aaa4e332b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/UIThreadFixture.cs"},"region":{"startLine":221}}}],"partialFingerprints":{"codehealthFindingId/v1":"f46c88c63725f54337fedadc6f7a084f9deaf6787c7510506ae2b55aaa4e332b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/UIThreadFixture.cs"},"region":{"startLine":264}}}],"partialFingerprints":{"codehealthFindingId/v1":"f46c88c63725f54337fedadc6f7a084f9deaf6787c7510506ae2b55aaa4e332b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/UIThreadFixture.cs"},"region":{"startLine":285}}}],"partialFingerprints":{"codehealthFindingId/v1":"f46c88c63725f54337fedadc6f7a084f9deaf6787c7510506ae2b55aaa4e332b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/UIThreadFixture.cs"},"region":{"startLine":287}}}],"partialFingerprints":{"codehealthFindingId/v1":"f46c88c63725f54337fedadc6f7a084f9deaf6787c7510506ae2b55aaa4e332b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/UIThreadFixture.cs"},"region":{"startLine":294}}}],"partialFingerprints":{"codehealthFindingId/v1":"f46c88c63725f54337fedadc6f7a084f9deaf6787c7510506ae2b55aaa4e332b"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.WinNode.Cli.Tests/AuthTokenTests.cs"},"region":{"startLine":29}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c39616d22ee0d2e5bbe875d2b5091da9ac86389e2dd6c1fb12b72a510ab2624"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.WinNode.Cli.Tests/AuthTokenTests.cs"},"region":{"startLine":339}}}],"partialFingerprints":{"codehealthFindingId/v1":"7c39616d22ee0d2e5bbe875d2b5091da9ac86389e2dd6c1fb12b72a510ab2624"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.WinNode.Cli.Tests/FakeMcpServer.cs"},"region":{"startLine":71}}}],"partialFingerprints":{"codehealthFindingId/v1":"86b6b43f8462b407846da9cf3dc533127ad278efb3e8360664ed9fa701730ec7"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.WinNode.Cli.Tests/FakeMcpServer.cs"},"region":{"startLine":87}}}],"partialFingerprints":{"codehealthFindingId/v1":"86b6b43f8462b407846da9cf3dc533127ad278efb3e8360664ed9fa701730ec7"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.WinNode.Cli.Tests/FakeMcpServer.cs"},"region":{"startLine":108}}}],"partialFingerprints":{"codehealthFindingId/v1":"86b6b43f8462b407846da9cf3dc533127ad278efb3e8360664ed9fa701730ec7"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.WinNode.Cli.Tests/FakeMcpServer.cs"},"region":{"startLine":110}}}],"partialFingerprints":{"codehealthFindingId/v1":"86b6b43f8462b407846da9cf3dc533127ad278efb3e8360664ed9fa701730ec7"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.WinNode.Cli.Tests/FakeMcpServer.cs"},"region":{"startLine":112}}}],"partialFingerprints":{"codehealthFindingId/v1":"86b6b43f8462b407846da9cf3dc533127ad278efb3e8360664ed9fa701730ec7"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.WinNode.Cli.Tests/FakeMcpServer.cs"},"region":{"startLine":114}}}],"partialFingerprints":{"codehealthFindingId/v1":"86b6b43f8462b407846da9cf3dc533127ad278efb3e8360664ed9fa701730ec7"}},{"ruleId":"D17","level":"note","message":{"text":"Justified suppression: empty catch in test code (best-effort teardown)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.WinNode.Cli.Tests/RunAsyncTests.cs"},"region":{"startLine":33}}}],"partialFingerprints":{"codehealthFindingId/v1":"a379b61c8c44599dfb9bb96202d299ddae90cc911693da6a02feb556d036d1c7"}},{"ruleId":"D18","level":"note","message":{"text":"Build status unknown: The build did not finish within its budget on this run; structural metrics are reported, build/warning status is unknown."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"78e40f3b9a0e52c8707cbe4b5154bc230ba104e99fc8a0b453669e73b2ef6814"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.Chat (Production): 3 .cs files, 1008 LoC (601 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Chat/OpenClaw.Chat.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"bf3d2ca42c84f77cd4eaae89f65dc5ddd7bacdfe3794e930e66cf6b931acee73"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.Cli (Production): 1 .cs files, 297 LoC (255 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Cli/OpenClaw.Cli.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"891c2e3b4a372330c73ccb04c8bfa361fc503968772de12b9443b3e68ca838d8"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.Connection (Production): 32 .cs files, 4332 LoC (3312 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/OpenClaw.Connection.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"a4ffca66ff7c3bd7deadcc285daa1185ea0ba0bede4f0945b5b219e09c6c7239"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.SetupEngine.UI (Production): 10 .cs files, 2324 LoC (1908 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/OpenClaw.SetupEngine.UI.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"313e6fc37f2d324ee057688a85a68eb2ac8e4dd2f248a287e96c0a56d2c6ec42"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.SetupEngine (Production): 21 .cs files, 5885 LoC (4630 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/OpenClaw.SetupEngine.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"3102a12084b7a94a42506aced3617d900c8da1bfb179496221fca0bc1727deaa"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.Shared (Production): 112 .cs files, 34373 LoC (26315 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClaw.Shared.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d4b5a19f3219ea3814f2cfc69e12ace8d2d65661c8f2c71b596c67cee164963a"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.Tray.WinUI (Production): 152 .cs files, 63296 LoC (49221 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/OpenClaw.Tray.WinUI.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"d2e4374255755ea286dfc97924027e17ba21d683a15b23a221eb610077c5eea0"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.WinNode.Cli (Production): 1 .cs files, 846 LoC (629 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.WinNode.Cli/OpenClaw.WinNode.Cli.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"120223728718d3aa32331eb38b53de7183fc75817d024e47e6e2955e72aefb6b"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClawTray.FunctionalUI (Production): 1 .cs files, 1783 LoC (1549 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/OpenClawTray.FunctionalUI.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"92be1f59df1835a0e2710fbacf8aa6d327b24a19cc512e43653c1ea298cd72a0"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.Connection.Tests (Test): 19 .cs files, 5759 LoC (4568 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Connection.Tests/OpenClaw.Connection.Tests.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"ab641fb64b32bfbde82703475267a1531f2a55490b2b4ee27859c3b885285592"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.Shared.Tests (Test): 65 .cs files, 28225 LoC (22787 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6eca181ffa3e571c0126fa0a6481c86f0dd3aa41a08b39910bb5b4111fc0ad03"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.Tray.IntegrationTests (Production): 5 .cs files, 1012 LoC (748 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.IntegrationTests/OpenClaw.Tray.IntegrationTests.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6f87fb901847eb086fcca193b73eb1cca2b1e680aeacf803befd37239d17ef50"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.Tray.Tests (Test): 123 .cs files, 30121 LoC (22855 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"8b8ee4e6a4c856d0c05d4e24d6a0e9a78105ff40c9af885f4b0ba8aadaa659b0"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.Tray.UITests (Production): 11 .cs files, 2349 LoC (1778 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.UITests/OpenClaw.Tray.UITests.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"1944b9c16ec711ea8216d64050eb55b91986ed4c101af234c4bcc44723a295e8"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClaw.WinNode.Cli.Tests (Test): 9 .cs files, 1807 LoC (1411 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.WinNode.Cli.Tests/OpenClaw.WinNode.Cli.Tests.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c2783c3787dd9884184ccc5d6fa564f1ecedd02781b22ed98d47ab9c89bcb5c7"}},{"ruleId":"D18","level":"note","message":{"text":"OpenClawTray.FunctionalUI.Tests (Test): 2 .cs files, 157 LoC (119 significant)"},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClawTray.FunctionalUI.Tests/OpenClawTray.FunctionalUI.Tests.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"7655b33c91854bcb6ed18eb4df3d310e89e094fde3b17204f8ffaa4f773400fb"}},{"ruleId":"D19","level":"warning","message":{"text":"Low XML-doc coverage: OpenClaw.Chat: OpenClaw.Chat: 6 % XML-doc coverage (4/69)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Chat/OpenClaw.Chat.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"404da1ed2f3baea2c9439029f7969fdcd1a22b415972501fa3c4122ebf6d6f56"}},{"ruleId":"D19","level":"warning","message":{"text":"Low XML-doc coverage: OpenClaw.Cli: OpenClaw.Cli: 0 % XML-doc coverage (0/9)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Cli/OpenClaw.Cli.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"c5ca24e113795de92a8bf5c947c7a954423c41713367c4eb5fb2acb64114a825"}},{"ruleId":"D19","level":"warning","message":{"text":"Low XML-doc coverage: OpenClaw.Connection: OpenClaw.Connection: 29 % XML-doc coverage (59/202)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/OpenClaw.Connection.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"e0fbf430ea59c068b2c70458cf0bbfc9ecbe3ea5e3be4a42bf4ffa00ebe6390d"}},{"ruleId":"D19","level":"warning","message":{"text":"Low XML-doc coverage: OpenClaw.SetupEngine.UI: OpenClaw.SetupEngine.UI: 5 % XML-doc coverage (2/42)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine.UI/OpenClaw.SetupEngine.UI.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"6523df38b088b6f981eddd9aea5f15d86053cf1f581cdd9cb112e87f1975fa6a"}},{"ruleId":"D19","level":"warning","message":{"text":"Low XML-doc coverage: OpenClaw.SetupEngine: OpenClaw.SetupEngine: 3 % XML-doc coverage (10/332)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.SetupEngine/OpenClaw.SetupEngine.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"313137b6c1672a2ebc10289daad80f13c9e0f491114a32c17e2d426b7733b9a4"}},{"ruleId":"D19","level":"warning","message":{"text":"Low XML-doc coverage: OpenClaw.Shared: OpenClaw.Shared: 25 % XML-doc coverage (472/1857)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Shared/OpenClaw.Shared.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"9a6bb427b153b081020967479885a9baf4f855c40cd0a2d5e672be68b9eadade"}},{"ruleId":"D19","level":"warning","message":{"text":"Low XML-doc coverage: OpenClaw.Tray.WinUI: OpenClaw.Tray.WinUI: 21 % XML-doc coverage (322/1570)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/OpenClaw.Tray.WinUI.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"130532c2a9da6d78e316492b4ab515ac5b9a85c5600348893135f6bfac01b8fb"}},{"ruleId":"D19","level":"warning","message":{"text":"Low XML-doc coverage: OpenClaw.WinNode.Cli: OpenClaw.WinNode.Cli: 0 % XML-doc coverage (0/11)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.WinNode.Cli/OpenClaw.WinNode.Cli.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"08fe5574ae463e930b152cf189235649c4ce815066e7b98d38eda4811df5c8b8"}},{"ruleId":"D19","level":"warning","message":{"text":"Low XML-doc coverage: OpenClawTray.FunctionalUI: OpenClawTray.FunctionalUI: 0 % XML-doc coverage (1/245)."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClawTray.FunctionalUI/OpenClawTray.FunctionalUI.csproj"},"region":{"startLine":1}}}],"partialFingerprints":{"codehealthFindingId/v1":"2b520499694363074670b45413d586fbb0cdab0f839f9568e95f9c59c0e88ddb"}},{"ruleId":"D20","level":"note","message":{"text":"No ADRs found: No ADRs found at common paths; consider documenting architectural decisions in Docs/ADL/ or similar."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"d2bea044ff79d7d275f5a91a6e2f548586178eaf480274c33960ad020c854631"}},{"ruleId":"D22","level":"note","message":{"text":"No exposed public API: No intentionally-exposed types (IsPackable or .Contracts) to evaluate."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"2712d35e1d1ba8e91a90125d29842b77d4ca65e0eeaa52476c739f7165820a6f"}},{"ruleId":"D23","level":"note","message":{"text":"Bounded contexts not declared: The codebase is large and multi-project, indicating distinct modules that require explicit bounded contexts to manage coupling. Declare architecture.contexts (\u22652) in config to assess cross-boundary type coupling."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"1c7e276c9c682731f01819ed5378b90ca320cde1b583c90920172911598362b3"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022// Update snapshot\u0022 \u2014 Remove; the variable name or context likely makes this obvious."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Connection/GatewayConnectionManager.cs"},"region":{"startLine":1387}}}],"partialFingerprints":{"codehealthFindingId/v1":"487f905fb008904a4be56ff0d95e28a4d8679697827220382a06af10887769e3"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022// Size and center the window\u0022 \u2014 Remove; the method name \u0060ShowAsync\u0060 or \u0060CenterWindow\u0060 likely suffices."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"src/OpenClaw.Tray.WinUI/Dialogs/DownloadProgressDialog.cs"},"region":{"startLine":32}}}],"partialFingerprints":{"codehealthFindingId/v1":"512a584cfc940c4d6a11910d3035b0c3c4398447094d29917aefe5308cb5c55c"}},{"ruleId":"D24","level":"note","message":{"text":"redundant comment: \u0022// Resources_AreTranslatedAllOrNoneAcrossNonEnglishLocales requires the\u0022 \u2014 Remove; this is a test setup comment that duplicates the test name."},"locations":[{"physicalLocation":{"artifactLocation":{"uri":"tests/OpenClaw.Tray.Tests/LocalizationValidationTests.cs"},"region":{"startLine":534}}}],"partialFingerprints":{"codehealthFindingId/v1":"f10f0d2460e5825961ca2e76fadc73a0eaf200125f4d96d0fe05d47800ab3710"}},{"ruleId":"D25","level":"note","message":{"text":"no ADRs to check: No ADRs found, so conformance can\u0027t be assessed."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"5f96235c58be08aaae505ba823e9095f206fbc6a447f646e346ee9bd81a5f481"}},{"ruleId":"D26","level":"note","message":{"text":"Split OpenClaw.Shared: With 300 public types across 8 namespaces, this large project likely covers multiple distinct responsibilities rather than a single clear area. Suggested: by namespace: 8 distinct areas"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"84f1929dfc25c8eaedb3d2e247c2d67cda4b69f7eff48cba4bf8847660cd58a0"}},{"ruleId":"D26","level":"note","message":{"text":"Split OpenClaw.Tray.WinUI: This project is extremely large (56k LoC) and spans 17 namespaces, indicating a lack of cohesion and multiple unrelated responsibilities. Suggested: by namespace: 17 distinct areas"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"ac1a2c0297fbe370c4f66ff1adb8a79528616e0bc4094c8ec90bc62acf8cccfb"}},{"ruleId":"D30","level":"note","message":{"text":"Not applicable: the solution did not restore on the analyzer\u0027s .NET SDK (an SDK/target-framework/restore mismatch, common for an older codebase), so there was no restored dependency graph to scan for NuGet CVEs \u2014 excluded rather than scored; re-run on an SDK that can restore this solution"},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"34ff807233366ca1607a49113cb8f9a094878853712c06642d2146b82741378f"}},{"ruleId":"D31","level":"note","message":{"text":"Not applicable: No Infrastructure-as-Code or container manifests found (Dockerfile, Terraform, Kubernetes/Helm, CloudFormation); nothing to scan."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"2e57fca60a46af1c36cbca9e46b2039488d0488a6eab73ad6bc057cd95ef2432"}},{"ruleId":"D32","level":"note","message":{"text":"Not applicable: No PII/GDPR-handling patterns detected (p/gdpr ruleset) \u2014 no data-compliance surface to assess."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"df51e593e9b0b9805626d04fe36a3d12c504b5d7d5da30dc59b5b0f134b5753b"}},{"ruleId":"D34","level":"note","message":{"text":"early-stage repository \u2014 too little history to judge knowledge freshness: early-stage repository \u2014 too little history to judge knowledge freshness (0 commit(s) sampled)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"58b42e8ad1f5e125e8a2d365554e56d01e64a556b28e0c9985ff169722b7c54a"}},{"ruleId":"D36","level":"note","message":{"text":"No build provenance: No SLSA provenance generation or build attestation found in CI (e.g. slsa-github-generator, actions/attest-build-provenance)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"1b213f6eedd4b140d0bc37bdf1496f72811a643f34064f12518b32e9e83bcfc7"}},{"ruleId":"D36","level":"note","message":{"text":"No artifact signing: No artifact signing found in CI (e.g. cosign / sigstore / gitsign)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"0e17f71490e4d120a48b2b2881ab866c93b272bef2febb673a3e8e42b2c288ab"}},{"ruleId":"D36","level":"note","message":{"text":"No SBOM: No SBOM generation or committed SBOM found (e.g. syft / anchore/sbom-action / *.spdx.json / *.cdx.json)."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"eb00976a698a5d68999b7ee6d27206fd374e916853e7ff1ead5eed42386f043f"}},{"ruleId":"D36","level":"warning","message":{"text":"Unpinned build actions: CI references GitHub Actions by a floating ref (@main / @tag) rather than a pinned commit SHA, weakening build integrity."},"locations":[],"partialFingerprints":{"codehealthFindingId/v1":"90f83b4fa27db32740afe9540c905f3c0499caed87f61049a8a903ecc95b41c3"}}],"properties":{"codehealthPublication":{"public":true,"notice":"This is the PUBLIC form of this artifact. Findings are listed in full, but the details of SECURITY findings \u2014 which rule fired, in which file, on which line, and how to fix it \u2014 are deliberately withheld, and any secret-scanner results are excluded entirely. Where detail is absent here it was REMOVED FOR PUBLICATION; it is not missing from the analysis. The complete artifact is available from the repository owner.","securityFindingsRedacted":0,"secretScannerRunsExcluded":0}}}]}