-
Notifications
You must be signed in to change notification settings - Fork 246
[deep-review] Tracking: 26 issues from senior-engineer multi-axis architecture review #372
Copy link
Copy link
Open
Labels
P1Urgent regression or broken agent/channel workflow affecting real users now.Urgent regression or broken agent/channel workflow affecting real users now.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerThis issue is about auth, provider routing, model choice, or SecretRef resolution.This issue is about auth, provider routing, model choice, or SecretRef resolution.impact:securityThis issue is about security boundaries, credentials, authz, sandboxing, or sensitive data.This issue is about security boundaries, credentials, authz, sandboxing, or sensitive data.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.needs triage
Description
Metadata
Metadata
Assignees
Labels
P1Urgent regression or broken agent/channel workflow affecting real users now.Urgent regression or broken agent/channel workflow affecting real users now.clawsweeper:needs-live-reproClawSweeper needs live local, crabbox, or manual validation to confirm this issue.ClawSweeper needs live local, crabbox, or manual validation to confirm this issue.clawsweeper:needs-maintainer-reviewClawSweeper marked this issue as needing maintainer review before automation.ClawSweeper marked this issue as needing maintainer review before automation.clawsweeper:needs-product-decisionClawSweeper marked this issue as needing a product or behavior decision.ClawSweeper marked this issue as needing a product or behavior decision.clawsweeper:needs-security-reviewClawSweeper marked this issue as needing security-sensitive review.ClawSweeper marked this issue as needing security-sensitive review.clawsweeper:no-new-fix-prClawSweeper does not recommend queueing a new automated fix PR for this issue.ClawSweeper does not recommend queueing a new automated fix PR for this issue.impact:auth-providerThis issue is about auth, provider routing, model choice, or SecretRef resolution.This issue is about auth, provider routing, model choice, or SecretRef resolution.impact:securityThis issue is about security boundaries, credentials, authz, sandboxing, or sensitive data.This issue is about security boundaries, credentials, authz, sandboxing, or sensitive data.issue-rating: 🐚 platinum hermitGood issue quality with a plausible reproduction path needing some confirmation.Good issue quality with a plausible reproduction path needing some confirmation.needs triage
Type
Fields
Priority
High
Projects
StatusShow more project fields
Backlog
Summary
Tracking issue for the 26 actionable findings from a recent multi-axis architecture/security/code-quality/UX/extensibility/AI-ergonomics/duplication review of the Windows companion suite. Each finding has its own issue with full context, source citations (
file_path:line_number), and a proposed fix.The review was conducted by seven parallel senior-engineer sub-agents, each assigned one axis, each given the same shared context document with framework lineage (MFC → WinForms → WPF → UWP → WinUI 3) and comparables (Adaptive Cards, MCP reference, Discord/Slack tray-app pattern, AppLocker, iOS App Intents, Avalonia).
Issues by category
Critical / High-priority bugs (12)
WindowsNodeClientleaksex.Messageto gateway, defeats Stt privacy invariantNodeService.ShowToastbypasses user sound preferences for capture/recordCardBackgroundtheme override parsed but never appliedopenclaw://agent?message=…sends chat with no UI confirmationPipeSecurity/PipeOptions.CurrentUserOnlysystem.execApprovals.setvalidator accepts arbitrary path Allow rulesapp.settings.setover MCP accepts arbitrary keys without validationws://gateway URLs accepted with no TLS warningtools/listRecordingConsentDialogis aWindowEx, notContentDialog— fails assistive techArchitectural / Structural (10)
App.xaml.cs(4617 lines) has become the gateway data storetools/listships permissiveinputSchemafor every toolComponentRendererRegistryctor isinternal— no 3rd-party renderersCancellationTokencontract exists butWindowsNodeClientnever passes oneTryGetPropertywalksAutomationIdtest hooks but only 3AutomationProperties.Nameinitializehas noinstructions;skill.mdinvisible to MCP clientsdotnet format, noDebug.AssertWindowsNodeClientsingle-threaded receive loop has no back-pressureCode duplication / "AI slop" (8 — two further duplication items consolidated into C2 and A5)
CopyTextToClipboardduplicated across 17 sitestry/catchblocks across 41 files_useV2Signaturestate machine duplicated across both WS clientsModels.cs(1972 lines) contains ~700 lines of non-DTO helpersDeepLinkActions+AppCapabilityare same delegate-per-verb pattern twiceJsonSerializerOptionssingletons with drifted defaultsSuggested order of attack
The deep review proposed a 3-phase plan:
Phase 1 — Stop the bleeds (1-2 weeks): C1, C2, C3, C4, C5, C6, C7, C8, C9, C11, C12. Concrete bugs, small/medium changes.
Phase 2 — Hygiene and discoverability (1 month): A2, A3, A4, A5, A6, A8, A9, A10, C10, D1-D8.
Phase 3 — Keystone refactor (1+ quarter): A1 (introduce GatewayDataStore between ConnectionManager and UI). Once A1 is done, the single-instance pipe (C6 long-term fix), A7 RTL plumbing, and the
App.xaml.cssplit all become tractable.Methodology
file_path:line_numberfor every finding.docs/architecture/deep-review/plus a synthesized root summary.Open questions for the maintainer
The review couldn't decide these from code alone:
AppInstance.FindOrRegisterForKey(which the codebase already uses for protocol activation)?_useV2Signaturepersisting across reconnects (C10 unblocker)?