Agent Orchestration Command Center
This report summarizes scanner evidence for RunMaestro/Maestro, a TypeScript project with 3,526 GitHub stars. SynthScan examined 1,745,081 lines of code across 5448 source files, recording 2383 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 2.2 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 1873 finding(s).
Are imports declared and package/API names verified? 70 finding(s).
Are wrappers, guards, and repeated structures necessary? 1499 finding(s).
Which changes need focused human review? 2383 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 2383 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | docs/maestro-cue-karpathy-loop.md | 81 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | docs/maestro-cue-karpathy-loop.md | 86 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | docs/maestro-cue-karpathy-loop.md | 88 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | docs/maestro-cue-karpathy-loop.md | 90 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/maestro-cue-karpathy-loop.md | 121 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/maestro-cue-karpathy-loop.md | 123 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/maestro-cue-karpathy-loop.md | 171 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | docs/maestro-cue-karpathy-loop.md | 173 | # ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | e2e/plugins.spec.ts | 969 | // ── First-party Encore tiles (L6 management-surface contract) ───── | COMMENT |
| MEDIUM | src/renderer/utils/terminalTabHelpers.ts | 20 | // ─── Factory ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/terminalTabHelpers.ts | 47 | // ─── Selectors ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/terminalTabHelpers.ts | 128 | // ─── Session ID Helpers ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/terminalTabHelpers.ts | 159 | // ─── CRUD Mutations ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/terminalTabHelpers.ts | 437 | // ─── State Updates ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/jqFilter.ts | 9 | // ── Error ──────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/jqFilter.ts | 20 | // ── Tokens ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/jqFilter.ts | 55 | // ── AST ────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/jqFilter.ts | 71 | // ── Tokenizer ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/jqFilter.ts | 185 | // ── Parser ─────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/jqFilter.ts | 436 | // ── Evaluator ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/jqFilter.ts | 541 | // ── Built-in Functions ─────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/jqFilter.ts | 973 | // ── Public API ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/fileLinks/markdownItAdapter.ts | 60 | // ─── Pass 1: standard markdown link href rewriting ─────────────────────────── | COMMENT |
| MEDIUM | src/renderer/utils/fileLinks/markdownItAdapter.ts | 129 | // ─── Pass 2: inline [[wiki]] and ![[image]] rewriting ───────────────────────── | COMMENT |
| MEDIUM | src/renderer/components/JsonlViewer.tsx | 57 | // ── JSONL parsing ──────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/components/JsonlViewer.tsx | 113 | // ── Schema detection for table view ────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/components/JsonlViewer.tsx | 155 | // ── Inline value renderer for collapsed one-liners ─────────────────────────── | COMMENT |
| MEDIUM | src/renderer/components/JsonlViewer.tsx | 188 | // ── Copy button ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/components/JsonlViewer.tsx | 222 | // ── Single JSONL tree row ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/components/JsonlViewer.tsx | 295 | // ── Table view ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/components/JsonlViewer.tsx | 536 | // ── Syntax help popover ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/components/JsonlViewer.tsx | 557 | // ── View mode toggle ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | src/renderer/components/JsonlViewer.tsx | 606 | // ── Main component ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/FileExplorerPanel/FileExplorerPanel.tsx | 190 | // ── Flatten + Selection ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/FileExplorerPanel/FileExplorerPanel.tsx | 233 | // ── Virtualizer ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/FileExplorerPanel/FileExplorerPanel.tsx | 272 | // ── Filter ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/FileExplorerPanel/FileExplorerPanel.tsx | 288 | // ── Auto-refresh ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/FileExplorerPanel/FileExplorerPanel.tsx | 310 | // ── expandFolder - shared between file ops and drag-to-move ─────────────── | COMMENT |
| MEDIUM | …rer/components/FileExplorerPanel/FileExplorerPanel.tsx | 327 | // ── File operations (rename / create / delete) ──────────────────────────── | COMMENT |
| MEDIUM | …rer/components/FileExplorerPanel/FileExplorerPanel.tsx | 360 | // ── Drag-to-move ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/FileExplorerPanel/FileExplorerPanel.tsx | 392 | // ── Context menu ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/FileExplorerPanel/FileExplorerPanel.tsx | 446 | // ── Drag-out hint ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/FileExplorerPanel/FileExplorerPanel.tsx | 473 | // ── Internal drag bubble suppression ────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/FileExplorerPanel/FileExplorerPanel.tsx | 486 | // ── Render ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/CuePipelineEditor/CuePipelineEditor.tsx | 262 | // ─── Agent clusters ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/CuePipelineEditor/CuePipelineEditor.tsx | 277 | // ─── Agent scope (All Pipelines view only) ───────────────────────────── | COMMENT |
| MEDIUM | …rer/components/CuePipelineEditor/CuePipelineEditor.tsx | 429 | // ─── ReactFlow nodes/edges ────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/CuePipelineEditor/CuePipelineEditor.tsx | 597 | // ─── Auto-arrange ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/CuePipelineEditor/CuePipelineEditor.tsx | 689 | // ─── Auto-heal: the layout maintains itself ──────────────────────────── | COMMENT |
| MEDIUM | …rer/components/CuePipelineEditor/CuePipelineEditor.tsx | 860 | // ─── Canvas callbacks ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/CuePipelineEditor/CuePipelineEditor.tsx | 870 | // ─── Keyboard shortcuts ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/CuePipelineEditor/CuePipelineEditor.tsx | 896 | // ─── Context menu ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …rer/components/CuePipelineEditor/CuePipelineEditor.tsx | 911 | // ─── Read-only click wrappers for All Pipelines view ─────────────────── | COMMENT |
| MEDIUM | …rer/components/CuePipelineEditor/CuePipelineEditor.tsx | 932 | // ─── Render ────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …er/components/CuePipelineEditor/utils/pipelineGraph.ts | 41 | // ─── Pipeline Y-offset (for "All Pipelines" view) ────────────────────────── | COMMENT |
| MEDIUM | …er/components/CuePipelineEditor/utils/pipelineGraph.ts | 126 | // ─── Pipeline bounding-box & overlap resolution ────────────────────────────── | COMMENT |
| MEDIUM | …er/components/CuePipelineEditor/utils/pipelineGraph.ts | 260 | // ─── Node conversion ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …er/components/CuePipelineEditor/utils/pipelineGraph.ts | 603 | // ─── Edge conversion ───────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …er/components/CuePipelineEditor/utils/nodeFootprint.ts | 64 | // ─── Width estimation (layout without a DOM) ──────────────────────────────── | COMMENT |
| MEDIUM | …er/components/CuePipelineEditor/utils/nodeFootprint.ts | 236 | // ─── Agent clusters (All Pipelines view) ──────────────────────────────────── | COMMENT |
| 380 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/agent-guides/IPC-PATTERNS.md | 108 | export function registerMyFeatureHandlers(deps: MyFeatureHandlerDependencies): void { | CODE |
| LOW | packages/plugin-sdk/src/__tests__/sdk.test.ts | 43 | function assertNoRepoInternalImports(filePath: string): void { | CODE |
| LOW | e2e/bionify-reading-mode.spec.ts | 11 | function shouldWriteDurableScreenshots(): boolean { | CODE |
| LOW | src/renderer/App.tsx | 3813 | function GitStatusProviderFromStore({ children }: { children: ReactNode }) { | CODE |
| LOW | src/renderer/constants/app.ts | 36 | export function isLikelyConcatenatedToolNames(text: string): boolean { | CODE |
| LOW | src/renderer/constants/app.ts | 136 | export function getSlashCommandDescription(cmd: string, agentId?: string): string { | CODE |
| LOW | src/renderer/constants/colorblindPalettes.ts | 72 | export function getColorBlindHeatmapColor(intensity: number): string { | CODE |
| LOW | src/renderer/constants/colorblindPalettes.ts | 249 | export function getColorBlindExtensionColor( | CODE |
| LOW | src/renderer/stores/crossAgentInFlightStore.ts | 101 | export function useSessionIsBeingConsulted(sessionId: string): boolean { | CODE |
| LOW | src/renderer/stores/crossAgentInFlightStore.ts | 117 | export function selectConsultedSessionIds( | CODE |
| LOW | src/renderer/stores/claudeUsageStore.ts | 171 | export function getClaudeUsageSnapshotForSession( | CODE |
| LOW | src/renderer/stores/claudeUsageStore.ts | 243 | function resolveSessionConfigDirKey( | CODE |
| LOW | src/renderer/stores/claudeUsageStore.ts | 277 | export function useResolvedClaudeConfigDirKey( | CODE |
| LOW | src/renderer/stores/settingsStore.ts | 676 | export function clampAutoRunMaxTaskDurationMin(value: number): number { | CODE |
| LOW | src/renderer/stores/settingsStore.ts | 688 | export function sanitizeLoadedAutoRunMaxTaskDurationMin(raw: unknown): number { | CODE |
| LOW | src/renderer/stores/settingsStore.ts | 1903 | export function selectIsLeaderboardRegistered(s: SettingsStoreState): boolean { | CODE |
| LOW⚡ | src/renderer/stores/onboardingSeriesStore.ts | 93 | export function selectCurrentOnboardingStep(state: OnboardingSeriesState): OnboardingStep | null { | CODE |
| LOW⚡ | src/renderer/stores/onboardingSeriesStore.ts | 98 | export function selectCanGoBackInOnboarding(state: OnboardingSeriesState): boolean { | CODE |
| LOW⚡ | src/renderer/stores/onboardingSeriesStore.ts | 103 | export function getOnboardingSeriesActions() { | CODE |
| LOW | src/renderer/stores/onboardingSeriesStore.ts | 144 | export function exposeOnboardingSeriesDebug(): void { | CODE |
| LOW | src/renderer/stores/groupChatStore.ts | 76 | function readLegacyModeratorOnlyView(): boolean { | CODE |
| LOW | src/renderer/stores/groupChatStore.ts | 380 | export function isGroupChatVisibleInWindow( | CODE |
| LOW | src/renderer/stores/groupChatStore.ts | 394 | export function selectActiveGroupChatStagedImages(state: GroupChatStoreState): string[] { | CODE |
| LOW | src/renderer/stores/pluginCommandRegistry.ts | 41 | export function createPluginCommandRegistry(): PluginCommandRegistry { | CODE |
| LOW | src/renderer/stores/autoRunResumeStore.ts | 257 | export function resetAutoResumeStateForTests(): void { | CODE |
| LOW | src/renderer/stores/settingsFileExplorerSlice.ts | 172 | export function hydrateFileExplorerSettings( | CODE |
| LOW | src/renderer/stores/settingsNotificationsSlice.ts | 209 | export function hydrateNotificationsSettings( | CODE |
| LOW | src/renderer/stores/mediaPlaybackStore.ts | 714 | export function selectCanRestoreFloatingPlayer(state: MediaPlaybackStoreState): boolean { | CODE |
| LOW | src/renderer/stores/mediaPlaybackStore.ts | 726 | export function selectShowNowPlayingIndicator(state: MediaPlaybackStoreState): boolean { | CODE |
| LOW | src/renderer/stores/mediaPlaybackStore.ts | 752 | export function selectMediaPlayerTargetId(state: MediaPlaybackStoreState): string | null { | CODE |
| LOW | src/renderer/stores/permissionRequestStore.ts | 99 | export function selectActivePermissionRequest( | CODE |
| LOW | src/renderer/stores/codexUsageStore.ts | 82 | export function getAllCodexUsageSnapshots(): Record<string, CodexUsageSnapshot> { | CODE |
| LOW | src/renderer/stores/retryStore.ts | 258 | export async function persistDispatchSnapshotForAuth( | CODE |
| LOW | src/renderer/stores/retryStore.ts | 299 | export function registerDispatchDepsProvider(fn: (() => ProcessQueuedItemDeps) | null): void { | CODE |
| LOW | src/renderer/stores/retryStore.ts | 733 | function rescheduleAfterFailedDispatch(key: string, reason: string): void { | CODE |
| LOW | src/renderer/stores/retryStore.ts | 1296 | function collectActiveOutageSessionIds(outages: Record<string, OutageRecord>): Set<string> { | CODE |
| LOW | src/renderer/stores/retryStore.ts | 1310 | export function getActiveOutageSessionIds(): Set<string> { | CODE |
| LOW | src/renderer/stores/retryStore.ts | 1315 | export function useSessionHasActiveOutage(sessionId: string): boolean { | CODE |
| LOW | src/renderer/stores/retryStore.ts | 1341 | export function useActiveOutageSessionSignature(): string { | CODE |
| LOW⚡ | src/renderer/stores/uiStore.ts | 388 | function persistBookmarksCollapsed(value: boolean): void { | CODE |
| LOW⚡ | src/renderer/stores/uiStore.ts | 397 | function persistHiddenQuotaAccounts(value: Record<string, string[]>): void { | CODE |
| LOW⚡ | src/renderer/stores/uiStore.ts | 406 | function persistUsageRefreshIntervals(value: Record<string, number>): void { | CODE |
| LOW⚡ | src/renderer/stores/uiStore.ts | 415 | function persistHiddenPluginPanels(value: string[]): void { | CODE |
| LOW | src/renderer/stores/contextTimelineStore.ts | 125 | export function resolveContextSurfaceWidth(savedSize: unknown): number { | CODE |
| LOW | src/renderer/stores/notificationStore.ts | 177 | export function selectUnreadNotificationCount(s: NotificationStoreState): number { | CODE |
| LOW | src/renderer/stores/notificationStore.ts | 329 | function persistNotificationHistoryChange(change: NotificationHistoryChange): void { | CODE |
| LOW | src/renderer/stores/notificationStore.ts | 360 | export async function flushNotificationHistoryWrites(): Promise<void> { | CODE |
| LOW | src/renderer/stores/notificationStore.ts | 365 | export function startNotificationHistorySync(): () => void { | CODE |
| LOW | src/renderer/stores/notificationStore.ts | 583 | export function triggerCustomNotification( | CODE |
| LOW | src/renderer/stores/batchStore.ts | 122 | export function selectActiveBatchSessionIds(s: BatchStoreState): string[] { | CODE |
| LOW | src/renderer/stores/modalStore.ts | 36 | function readStoredPromptComposerFullscreen(): boolean { | CODE |
| LOW | src/renderer/stores/modalStore.ts | 40 | function writeStoredPromptComposerFullscreen(value: boolean): void { | CODE |
| LOW | src/renderer/stores/modalStore.ts | 535 | export function registerExternalDestination(close: DestinationCloser): () => void { | CODE |
| LOW | src/renderer/stores/settingsLeftPanelDisplaySlice.ts | 158 | export function hydrateLeftPanelDisplaySettings( | CODE |
| LOW | src/renderer/stores/settingsBrowserTabsSlice.ts | 154 | export function hydrateBrowserTabsSettings( | CODE |
| LOW | src/renderer/stores/statsIndexingStore.ts | 59 | export function selectStatsIndexingActive(s: { state: StatsIndexingState }): boolean { | CODE |
| LOW | src/renderer/stores/sessionEquality.ts | 131 | export function projectRootSessionEquality(a: Session[], b: Session[]): boolean { | CODE |
| LOW | src/renderer/stores/sessionEquality.ts | 152 | export function selectCueDiscoverySignature(state: { sessions: Session[] }): string { | CODE |
| LOW | src/renderer/stores/sessionEquality.ts | 198 | export function activeSessionChromeEquality(a: Session | null, b: Session | null): boolean { | CODE |
| LOW | src/renderer/utils/participantColors.ts | 130 | export function buildParticipantColorMapWithPreferences( | CODE |
| 999 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | CONTRIBUTING.md | 641 | #### 6. Test the Integration | COMMENT |
| LOW | examples/plugins/agent-flow/main.js | 1 | // Agent Flow - tier-2 Maestro plugin sandbox entry. | COMMENT |
| LOW | examples/plugins/agent-flow/main.js | 41 | var LANE_NODE_CAP = 300; | COMMENT |
| LOW | scripts/install-maestro-p/maestro-p-install.sh | 1 | #!/bin/sh | COMMENT |
| LOW | scripts/showcase/setup.js | 161 | ); | COMMENT |
| LOW | .github/workflows/release.yml | 661 | # | COMMENT |
| LOW | .github/workflows/guard-rc-carries-main.yml | 1 | name: Guard - rc must carry main | COMMENT |
| LOW | .github/workflows/stale.yml | 1 | name: Mark stale issues and PRs | COMMENT |
| LOW | .github/workflows/guard-main-not-rc.yml | 1 | name: Guard - main must not carry rc | COMMENT |
| LOW | .github/scripts/verify-glibc-floor.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | e2e/autorun-editing.spec.ts | 321 | // Skip until clipboard mocking is implemented | COMMENT |
| LOW | e2e/autorun-editing.spec.ts | 721 | // 3. Saving | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 321 | // 2. Configure batch in modal | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 401 | // Skip until full batch run infrastructure is available | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 441 | // 2. Button shows "Stopping..." state | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 461 | // 2. Run button reappears | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 481 | // 1. During batch run | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 501 | }); | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 521 | }); | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 561 | // Skip until batch modal infrastructure is complete | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 581 | // 2. Run batch | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 621 | // This test verifies multi-document progress | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 681 | test.describe('Batch Processing Error Handling', () => { | COMMENT |
| LOW | e2e/autorun-batch.spec.ts | 701 | }); | COMMENT |
| LOW | e2e/autorun-setup.spec.ts | 161 | } | COMMENT |
| LOW | e2e/autorun-setup.spec.ts | 321 | // Partial completion, exit, relaunch | COMMENT |
| LOW | src/renderer/App.tsx | 681 | // This is the net for anything that changes the active agent without going | COMMENT |
| LOW | src/renderer/App.tsx | 901 | const [gistPublishModalOpen, setGistPublishModalOpen] = useState(false); | COMMENT |
| LOW | src/renderer/App.tsx | 1981 | // Force Send eligibility for the inline QUEUED card: whether the item can be | COMMENT |
| LOW | src/renderer/App.tsx | 2841 | COMMENT | |
| LOW | src/renderer/types/index.ts | 301 | // pipeline from `claude --print`; 'text-stream' marks entries captured during | COMMENT |
| LOW | src/renderer/types/index.ts | 481 | type: QueuedItemType; // 'message' or 'command' | COMMENT |
| LOW | src/renderer/types/index.ts | 501 | paused?: boolean; | COMMENT |
| LOW | src/renderer/types/index.ts | 981 | navigationHistory?: FilePreviewHistoryEntry[]; // Stack of visited files | COMMENT |
| LOW | src/renderer/types/index.ts | 1401 | pendingJumpPath?: string; | COMMENT |
| LOW | src/renderer/types/index.ts | 1421 | bookmarked?: boolean; | COMMENT |
| LOW | src/renderer/types/index.ts | 1441 | // diff comparator stays in lock-step with this producer's contract. | COMMENT |
| LOW | src/renderer/types/index.ts | 1581 | syncHistory?: boolean; // When SSH is enabled: push entries to the remote's .maestro/history/ | COMMENT |
| LOW | src/renderer/types/index.ts | 1601 | maestroPMode?: 'interactive' | 'dynamic'; | COMMENT |
| LOW | src/renderer/types/index.ts | 1821 | // Optional so existing literals (older fixtures, persisted settings without | COMMENT |
| LOW | src/renderer/contexts/WindowContext.tsx | 281 | COMMENT | |
| LOW | src/renderer/constants/cuePatterns.ts | 121 | subscriptions: | COMMENT |
| LOW | src/renderer/constants/cuePatterns.ts | 281 | body.action: opened | COMMENT |
| LOW | src/renderer/constants/shortcuts.ts | 221 | // it and the action would arrive unbound. Alt+Meta+ArrowDown is free. | COMMENT |
| LOW | src/renderer/constants/shortcuts.ts | 361 | // letter one modifier over. | COMMENT |
| LOW | src/renderer/constants/cueYamlDefaults.ts | 1 | /** Default YAML template shown when no cue.yaml file exists yet. */ | COMMENT |
| LOW | src/renderer/constants/cueYamlDefaults.ts | 21 | # enabled: true | COMMENT |
| LOW | src/renderer/constants/cueYamlDefaults.ts | 41 | # # max_notifications: 10 # per-issue cap on re-fires (0 = unlimited) | COMMENT |
| LOW | src/renderer/constants/cueYamlDefaults.ts | 61 | # event: cli.trigger | COMMENT |
| LOW | src/renderer/stores/settingsStore.ts | 2121 | allSettings['customAICommands'] !== undefined && | COMMENT |
| LOW | src/renderer/stores/settingsStore.ts | 2181 | } | COMMENT |
| LOW | src/renderer/stores/settingsStore.ts | 2301 | // whatever is loaded (audio has no picture, video wants its own aspect | COMMENT |
| LOW | src/renderer/stores/settingsStore.ts | 2321 | // RESTORE ONLY ONTO AN EMPTY PLAYER. `loadAllSettings` is not a | COMMENT |
| LOW | src/renderer/stores/settingsStore.ts | 2581 | if (allSettings['autoRunMaxTaskDurationMin'] !== undefined) { | COMMENT |
| LOW | src/renderer/stores/groupChatStore.ts | 21 | // ============================================================================ | COMMENT |
| LOW | src/renderer/stores/groupChatStore.ts | 41 | // busy delivery chat is worth reading in full, a noisy one is only worth the | COMMENT |
| LOW | src/renderer/stores/mediaPlaybackStore.ts | 441 | // Queueing NEVER interrupts: whatever is loaded stays loaded and keeps | COMMENT |
| LOW | src/renderer/stores/retryStore.ts | 841 | // nothing busy itself. Skipping the busy half left every resend a ghost | COMMENT |
| LOW | src/renderer/stores/retryStore.ts | 1001 | ): Promise<void> { | COMMENT |
| LOW | src/renderer/stores/uiStore.ts | 81 | // MainPanelContent. Addressed EITHER by tiled pane leaf id or by tab ref, since | COMMENT |
| 478 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | PROVIDER-SUPPORT.md | 293 | ### Step 1: Agent Discovery | COMMENT |
| LOW | PROVIDER-SUPPORT.md | 329 | ### Step 2: Add Agent Definition | COMMENT |
| LOW | PROVIDER-SUPPORT.md | 432 | ### Step 3: Define Capabilities | COMMENT |
| LOW | PROVIDER-SUPPORT.md | 521 | ### Step 4: Create Output Parser | COMMENT |
| LOW | PROVIDER-SUPPORT.md | 598 | ### Step 5: Register Parser in Factory | COMMENT |
| LOW | PROVIDER-SUPPORT.md | 619 | ### Step 6: Add Error Patterns (Optional but Recommended) | COMMENT |
| LOW | PROVIDER-SUPPORT.md | 631 | ### Step 7: Implement Session Storage (Optional) | COMMENT |
| LOW | PROVIDER-SUPPORT.md | 656 | ### Step 8: Test Your Integration | COMMENT |
| LOW⚡ | CLAUDE-WIZARD.md | 19 | │ ├── AgentSelectionScreen.tsx # Step 1: Choose AI agent | CODE |
| LOW⚡ | CLAUDE-WIZARD.md | 20 | │ ├── DirectorySelectionScreen.tsx # Step 2: Select project folder | CODE |
| LOW⚡ | CLAUDE-WIZARD.md | 21 | │ ├── ConversationScreen.tsx # Step 3: AI project discovery | CODE |
| LOW⚡ | CLAUDE-WIZARD.md | 22 | │ └── PhaseReviewScreen.tsx # Step 4: Review generated plan | CODE |
| LOW | Plans/pianola-implementation-plan.md | 36 | ### Step 0 - Encore flag `pianola` (foundation) [THIS SESSION] | COMMENT |
| LOW | Plans/pianola-implementation-plan.md | 48 | ### Step 1 - Shared contracts + PURE classifier & policy [THIS SESSION] | COMMENT |
| LOW | Plans/pianola-implementation-plan.md | 56 | ### Step 2 - Structured awaiting-input signal (narrow) [DONE] | COMMENT |
| LOW | Plans/pianola-implementation-plan.md | 71 | ### Step 3 - Storage [DONE] | COMMENT |
| LOW | Plans/pianola-implementation-plan.md | 84 | ### Step 4 - CLI `pianola watch` [DONE] | COMMENT |
| LOW | Plans/pianola-implementation-plan.md | 92 | ### Step 5 - Desktop integration [DONE] | COMMENT |
| LOW | Plans/pianola-phase2-goal.md | 42 | ## Step 0 - Prerequisite: consolidate AgentCapabilities (S) | COMMENT |
| LOW | Plans/pianola-phase2-goal.md | 48 | ## Step 1 - Capability/load-aware agent selection (M) | COMMENT |
| LOW | Plans/pianola-phase2-goal.md | 61 | ## Step 2 - Scheduled re-learn + watcher relaunch (M) | COMMENT |
| LOW | Plans/pianola-phase2-goal.md | 75 | ## Step 3 - In-app outcome to profile learning suggestions (L) | COMMENT |
| LOW | docs/local-manifest.md | 94 | ### Step 1: Create Playbook Files | COMMENT |
| LOW | docs/local-manifest.md | 109 | ### Step 2: Create local-manifest.json | COMMENT |
| LOW | docs/local-manifest.md | 140 | ### Step 3: Open Playbook Exchange | COMMENT |
| LOW | docs/local-manifest.md | 144 | ### Step 4: Import and Use | COMMENT |
| LOW⚡ | docs/maestro-cue-advanced.md | 186 | # Step 1: Lint | COMMENT |
| LOW⚡ | docs/maestro-cue-advanced.md | 192 | # Step 2: Test (after lint passes) | COMMENT |
| LOW⚡ | docs/maestro-cue-advanced.md | 200 | # Step 3: Build (after tests pass) | COMMENT |
| LOW | docs/performance-profiling.md | 15 | ### Step 1: Start profiling | COMMENT |
| LOW | docs/performance-profiling.md | 23 | ### Step 2: Reproduce the slowness | COMMENT |
| LOW | docs/performance-profiling.md | 35 | ### Step 3: Stop profiling and save | COMMENT |
| LOW | docs/performance-profiling.md | 41 | ### Step 4: Send us the trace | COMMENT |
| LOW | docs/performance-profiling.md | 79 | ### Step 1: Launch React Developer Tools | COMMENT |
| LOW | docs/performance-profiling.md | 89 | ### Step 2: Start Maestro with your production data | COMMENT |
| LOW⚡ | docs/performance-profiling.md | 105 | ### Step 3: Start profiling | COMMENT |
| LOW⚡ | docs/performance-profiling.md | 115 | ### Step 4: Reproduce the slowness | COMMENT |
| LOW⚡ | docs/performance-profiling.md | 119 | ### Step 5: Stop profiling | COMMENT |
| LOW⚡ | docs/performance-profiling.md | 123 | ### Step 6: Export and send the profile | COMMENT |
| LOW | docs/agent-guides/IPC-PATTERNS.md | 87 | ### Step 1: Create the handler file | COMMENT |
| LOW | docs/agent-guides/IPC-PATTERNS.md | 139 | ### Step 2: Register in the handler index | COMMENT |
| LOW | docs/agent-guides/IPC-PATTERNS.md | 152 | ### Step 3: Create the preload bridge | COMMENT |
| LOW | docs/agent-guides/IPC-PATTERNS.md | 176 | ### Step 4: Expose in preload index | COMMENT |
| LOW | docs/agent-guides/IPC-PATTERNS.md | 190 | ### Step 5: Add TypeScript types | COMMENT |
| LOW⚡ | src/renderer/utils/worktreeSpawn.ts | 65 | // Step 1: Resolve worktree path. Sanitize the branch so user input like | COMMENT |
| LOW | src/renderer/utils/worktreeSpawn.ts | 94 | // Step 2: Create worktree on disk. Pass baseBranch so the new branch is | COMMENT |
| LOW | src/renderer/utils/worktreeSpawn.ts | 187 | // Step 3: Fetch git info for the worktree. | COMMENT |
| LOW | src/renderer/utils/worktreeSpawn.ts | 240 | // Step 4: Build the session | COMMENT |
| LOW⚡ | src/renderer/utils/worktreeSpawn.ts | 252 | // Step 5: Add session to store and expand parent's worktrees | COMMENT |
| LOW⚡ | src/renderer/utils/worktreeSpawn.ts | 262 | // Step 6: Populate config.worktree for PR creation if requested | COMMENT |
| LOW | …/renderer/components/DocumentGraph/graphDataBuilder.ts | 661 | // Step 1: Parse the focus file FIRST so we can render it immediately, before | COMMENT |
| LOW | …/renderer/components/DocumentGraph/graphDataBuilder.ts | 703 | // Step 2: Kick off the directory scan in parallel with the focus emit. | COMMENT |
| LOW | …/renderer/components/DocumentGraph/graphDataBuilder.ts | 748 | // Step 3: BFS depth-by-depth, parallelizing parses within a depth level. | COMMENT |
| LOW | …/renderer/components/DocumentGraph/graphDataBuilder.ts | 858 | // Step 3: Build document nodes and collect external link data | COMMENT |
| LOW | …/renderer/components/DocumentGraph/graphDataBuilder.ts | 922 | // Step 4: Build external domain nodes | COMMENT |
| LOW | src/renderer/hooks/symphony/useSymphony.ts | 361 | // Step 1: Clone the repository | COMMENT |
| LOW | src/renderer/hooks/symphony/useSymphony.ts | 374 | // Step 2: Start contribution (creates branch, sets up docs, opens draft PR to claim issue) | COMMENT |
| LOW | src/renderer/hooks/agent/useMergeSession.ts | 270 | // Step 1: Validate inputs and get tabs | COMMENT |
| LOW | src/renderer/hooks/agent/useMergeSession.ts | 322 | // Step 2: Extract contexts from both tabs | COMMENT |
| LOW | src/renderer/hooks/agent/useMergeSession.ts | 348 | // Step 3: Determine which logs to use (groomed or raw) | COMMENT |
| 111 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL⚡ | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 35 | window.maestro.feedback.drafts.list.mockResolvedValue({ drafts: [] }); | CODE |
| CRITICAL⚡ | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 36 | window.maestro.feedback.drafts.save.mockImplementation((draft: FeedbackDraft) => | CODE |
| CRITICAL⚡ | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 39 | window.maestro.feedback.drafts.delete.mockResolvedValue({}); | CODE |
| CRITICAL⚡ | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 44 | window.maestro.feedback.drafts.list.mockResolvedValue({ drafts: [draft] }); | CODE |
| CRITICAL⚡ | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 54 | window.maestro.feedback.drafts.save.mockResolvedValue({ draft }); | CODE |
| CRITICAL⚡ | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 55 | window.maestro.feedback.drafts.list.mockResolvedValue({ drafts: [draft] }); | CODE |
| CRITICAL | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 68 | window.maestro.feedback.drafts.list.mockResolvedValue({ drafts: [] }); | CODE |
| CRITICAL | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 104 | window.maestro.feedback.drafts.save.mockResolvedValue({ draft: makeDraft({ id: 'quit-1' }) }); | CODE |
| CRITICAL | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 124 | window.maestro.feedback.drafts.save.mockRejectedValue(new Error('disk full')); | CODE |
| CRITICAL | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 135 | window.maestro.feedback.drafts.save.mockResolvedValue({ draft: makeDraft({ id: 'minted-1' }) }); | CODE |
| CRITICAL | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 151 | window.maestro.feedback.drafts.save.mockImplementation(async (incoming: FeedbackDraft) => { | CODE |
| CRITICAL | …c/__tests__/renderer/stores/feedbackDraftStore.test.ts | 159 | window.maestro.feedback.drafts.list.mockImplementation(async () => ({ | CODE |
| CRITICAL⚡ | …ts__/renderer/stores/feedbackIssueHistoryStore.test.ts | 22 | window.maestro.feedback.issues.list.mockResolvedValue({ issues: [] }); | CODE |
| CRITICAL⚡ | …ts__/renderer/stores/feedbackIssueHistoryStore.test.ts | 23 | window.maestro.feedback.issues.delete.mockResolvedValue({}); | CODE |
| CRITICAL⚡ | …ts__/renderer/stores/feedbackIssueHistoryStore.test.ts | 24 | window.maestro.feedback.issues.refreshStates.mockResolvedValue({ issues: [] }); | CODE |
| CRITICAL⚡ | …ts__/renderer/stores/feedbackIssueHistoryStore.test.ts | 29 | window.maestro.feedback.issues.list.mockResolvedValue({ issues: [issue] }); | CODE |
| CRITICAL | …ts__/renderer/stores/feedbackIssueHistoryStore.test.ts | 40 | window.maestro.feedback.issues.list.mockRejectedValue(new Error('offline')); | CODE |
| CRITICAL | …ts__/renderer/stores/feedbackIssueHistoryStore.test.ts | 50 | window.maestro.feedback.issues.refreshStates.mockImplementation(async () => { | CODE |
| CRITICAL | …ts__/renderer/stores/feedbackIssueHistoryStore.test.ts | 65 | window.maestro.feedback.issues.refreshStates.mockRejectedValue(new Error('gh missing')); | CODE |
| CRITICAL | …ts__/renderer/stores/feedbackIssueHistoryStore.test.ts | 74 | window.maestro.feedback.issues.list.mockResolvedValue({ issues: [] }); | CODE |
| CRITICAL | …c/__tests__/renderer/hooks/useInterruptHandler.test.ts | 443 | const calls = mockMaestro.process.interrupt.mock.calls.filter( | CODE |
| CRITICAL | src/__tests__/main/cue/cue-auth-detector.test.ts | 167 | win.webContents.send.mock.calls.map( | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | src/renderer/utils/worktreeSpawn.ts | 65 | // Step 1: Resolve worktree path. Sanitize the branch so user input like | COMMENT |
| LOW | src/renderer/utils/worktreeSpawn.ts | 94 | // Step 2: Create worktree on disk. Pass baseBranch so the new branch is | COMMENT |
| LOW | src/renderer/utils/worktreeSpawn.ts | 187 | // Step 3: Fetch git info for the worktree. | COMMENT |
| LOW | src/renderer/utils/worktreeSpawn.ts | 240 | // Step 4: Build the session | COMMENT |
| LOW⚡ | src/renderer/utils/worktreeSpawn.ts | 252 | // Step 5: Add session to store and expand parent's worktrees | COMMENT |
| LOW⚡ | src/renderer/utils/worktreeSpawn.ts | 262 | // Step 6: Populate config.worktree for PR creation if requested | COMMENT |
| LOW | …/renderer/components/DocumentGraph/graphDataBuilder.ts | 661 | // Step 1: Parse the focus file FIRST so we can render it immediately, before | COMMENT |
| LOW | …/renderer/components/DocumentGraph/graphDataBuilder.ts | 703 | // Step 2: Kick off the directory scan in parallel with the focus emit. | COMMENT |
| LOW | …/renderer/components/DocumentGraph/graphDataBuilder.ts | 748 | // Step 3: BFS depth-by-depth, parallelizing parses within a depth level. | COMMENT |
| LOW | …/renderer/components/DocumentGraph/graphDataBuilder.ts | 858 | // Step 3: Build document nodes and collect external link data | COMMENT |
| LOW | …/renderer/components/DocumentGraph/graphDataBuilder.ts | 922 | // Step 4: Build external domain nodes | COMMENT |
| LOW | src/renderer/hooks/symphony/useSymphony.ts | 361 | // Step 1: Clone the repository | COMMENT |
| LOW | src/renderer/hooks/symphony/useSymphony.ts | 374 | // Step 2: Start contribution (creates branch, sets up docs, opens draft PR to claim issue) | COMMENT |
| LOW | src/renderer/hooks/agent/useMergeSession.ts | 270 | // Step 1: Validate inputs and get tabs | COMMENT |
| LOW | src/renderer/hooks/agent/useMergeSession.ts | 322 | // Step 2: Extract contexts from both tabs | COMMENT |
| LOW | src/renderer/hooks/agent/useMergeSession.ts | 348 | // Step 3: Determine which logs to use (groomed or raw) | COMMENT |
| LOW | src/renderer/hooks/agent/useMergeSession.ts | 411 | // Step 4: Create the merged result | COMMENT |
| LOW | src/renderer/hooks/agent/useSendToAgent.ts | 236 | // Step 1: Validate inputs and get source tab | COMMENT |
| LOW | src/renderer/hooks/agent/useSendToAgent.ts | 277 | // Step 2: Extract context from source tab | COMMENT |
| LOW | src/renderer/hooks/agent/useSendToAgent.ts | 297 | // Step 3: Groom context if enabled | COMMENT |
| LOW | src/renderer/hooks/agent/useSendToAgent.ts | 366 | // Step 4: Create new session with target agent | COMMENT |
| LOW | src/renderer/hooks/agent/useSendToAgent.ts | 407 | // Step 5: Complete! | COMMENT |
| LOW | src/renderer/hooks/session/useSessionCategories.ts | 126 | // Step 1: Filter sessions based on search query and unread filter | COMMENT |
| LOW | src/renderer/hooks/session/useSessionCategories.ts | 186 | // Step 2: Categorize sessions in a single pass | COMMENT |
| LOW | src/renderer/hooks/session/useSessionCategories.ts | 207 | // Step 3: Sort each category once | COMMENT |
| LOW⚡ | src/__tests__/renderer/stores/sessionStore.test.ts | 708 | // Step 1: Load sessions from disk | COMMENT |
| LOW⚡ | src/__tests__/renderer/stores/sessionStore.test.ts | 717 | // Step 2: Mark as loaded | COMMENT |
| LOW⚡ | src/__tests__/renderer/stores/sessionStore.test.ts | 720 | // Step 3: Set active session | COMMENT |
| LOW⚡ | src/__tests__/renderer/stores/sessionStore.test.ts | 723 | // Step 4: Mark initial load complete | COMMENT |
| LOW | …/__tests__/renderer/hooks/batch/batchUtilsHitl.test.ts | 17 | '## Step 5: Review Specification', | CODE |
| LOW | src/__tests__/integration/InlineWizardFlow.test.tsx | 881 | // Step 1: Start wizard | COMMENT |
| LOW | src/__tests__/integration/InlineWizardFlow.test.tsx | 896 | // Step 2: Simulate AI responses with increasing confidence | COMMENT |
| LOW | src/__tests__/integration/InlineWizardFlow.test.tsx | 920 | // Step 3: Verify ready state | COMMENT |
| LOW | …c/__tests__/integration/group-chat-integration.test.ts | 417 | // Step 1: User message to moderator | COMMENT |
| LOW | …c/__tests__/integration/group-chat-integration.test.ts | 434 | // Step 2: Forward to participant | COMMENT |
| LOW | …c/__tests__/integration/group-chat-integration.test.ts | 459 | // Step 3: Moderator summarizes | COMMENT |
| LOW | …c/__tests__/integration/group-chat-integration.test.ts | 490 | // Step 1: Moderator assigns task to Agent1 | COMMENT |
| LOW | …c/__tests__/integration/group-chat-integration.test.ts | 503 | // Step 2: Moderator asks Agent2 to add to it | COMMENT |
| LOW | …c/__tests__/integration/group-chat-integration.test.ts | 516 | // Step 3: Moderator verifies | COMMENT |
| LOW | …c/__tests__/integration/group-chat-integration.test.ts | 545 | // Step 1: User asks moderator to coordinate a task | COMMENT |
| LOW | …c/__tests__/integration/group-chat-integration.test.ts | 571 | // Step 2: Coder writes the function (output only, no file creation) | COMMENT |
| LOW | …c/__tests__/integration/group-chat-integration.test.ts | 587 | // Step 3: Moderator routes to reviewer with the code | COMMENT |
| LOW | …c/__tests__/integration/group-chat-integration.test.ts | 603 | // Step 4: Reviewer evaluates the code | COMMENT |
| LOW | …c/__tests__/integration/group-chat-integration.test.ts | 624 | // Step 5: Moderator summarizes to user | COMMENT |
| LOW⚡ | …tests__/main/cue/cue-fanout-vanishing-pipeline.test.ts | 189 | // Step 1: renderer save - write yaml + per-agent prompt files | COMMENT |
| LOW⚡ | …tests__/main/cue/cue-fanout-vanishing-pipeline.test.ts | 199 | // Step 2: engine reload - three separate sessions all pointing at | COMMENT |
| LOW⚡ | …tests__/main/cue/cue-fanout-vanishing-pipeline.test.ts | 207 | // Step 3: graph data - each of the three sessions reports the | COMMENT |
| LOW | …tests__/main/cue/cue-fanout-vanishing-pipeline.test.ts | 243 | // Step 4: the pipeline must be present with all three agents and | COMMENT |
| LOW⚡ | src/__tests__/main/cue/cue-agent-delete-prune.test.ts | 177 | // Step 1: save the initial pipeline. Every node has its own .md file. | COMMENT |
| LOW⚡ | src/__tests__/main/cue/cue-agent-delete-prune.test.ts | 186 | // Step 2: user deletes the SECOND Codex instance (the tail of the chain) | COMMENT |
| LOW⚡ | src/__tests__/main/cue/cue-agent-delete-prune.test.ts | 194 | // Step 3: save again - prune must remove ONLY the tail Codex file. | COMMENT |
| LOW | …__/main/process-manager/handlers/StdoutHandler.test.ts | 2642 | // Step 1: tool call with no text before it | COMMENT |
| LOW | …__/main/process-manager/handlers/StdoutHandler.test.ts | 2655 | // Step 2: intermediate thinking text + more tool calls | COMMENT |
| LOW | …__/main/process-manager/handlers/StdoutHandler.test.ts | 2673 | // Step 3: final answer | COMMENT |
| LOW | src/__tests__/main/stats/auto-run.test.ts | 799 | // Step 1: Start Auto Run session | COMMENT |
| LOW | src/__tests__/main/stats/auto-run.test.ts | 813 | // Step 2: Record individual tasks as they complete | COMMENT |
| LOW | src/__tests__/main/stats/auto-run.test.ts | 831 | // Step 3: End Auto Run session | COMMENT |
| LOW | src/main/ipc/handlers/symphony/sync.ts | 386 | // Step 1: Check if we have PR info or fork info in metadata but not in state | COMMENT |
| LOW | src/main/ipc/handlers/symphony/sync.ts | 430 | // Step 2: If still no PR, try to discover it from GitHub by branch name | COMMENT |
| LOW | src/main/ipc/handlers/symphony/sync.ts | 454 | // Step 3: If still no PR, log info for manual intervention | COMMENT |
| 1 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | AGENTS.md | 510 | │ ├── cue/ # Maestro Cue event-driven automation engine | CODE |
| MEDIUM | CLAUDE.md | 510 | │ ├── cue/ # Maestro Cue event-driven automation engine | CODE |
| MEDIUM | Plans/pianola-orchestrator-audit.md | 42 | ## Track A - Pianola orchestration spine (only if we want a true orchestrator) | COMMENT |
| MEDIUM | Plans/autonomous-manager-agent-investigation.md | 102 | ### Cue is the event-driven automation engine | COMMENT |
| MEDIUM | Plans/autonomous-manager-agent-investigation.md | 246 | ### Phase 4: Recipes as orchestration manifests | COMMENT |
| MEDIUM | docs/configuration.md | 16 | | **Display** | [Typography](#typography) (a font and size per surface, presets, custom fonts, zoom) | CODE |
| MEDIUM | docs/cli-reference.md | 1775 | ## `maestro-cli pianola orchestrate <planId>` | COMMENT |
| MEDIUM | docs/cli-reference.md | 1801 | ## `maestro-cli pianola supervise orchestrate <planId>` | COMMENT |
| MEDIUM | docs/agent-guides/PLUGIN-DEVELOPMENT.md | 11 | ## Quickstart: scaffold your first plugin | COMMENT |
| MEDIUM | scripts/showcase/seed/data/maestro-sessions.json | 303 | "text": "\n\n# Q1 2026 Investor Update - Draft\n\n## Headline Numbers\n- **MRR**: $142K (+38% QoQ)\n- **Active Us | CODE |
| MEDIUM | scripts/showcase/seed/data/maestro-sessions.json | 303 | "text": "\n\n# Q1 2026 Investor Update - Draft\n\n## Headline Numbers\n- **MRR**: $142K (+38% QoQ)\n- **Active Us | CODE |
| MEDIUM | scripts/showcase/seed/data/maestro-sessions.json | 1035 | "text": "\n\n# Maestro Architecture Overview\n\n## High-Level Structure\n\nMaestro follows Electron's standard tw | CODE |
| MEDIUM | src/renderer/constants/cueYamlDefaults.ts | 3 | # Define event-driven subscriptions for your agents. | COMMENT |
| MEDIUM | src/cli/index.ts | 2589 | // Plugin authoring commands - scaffold, validate, sign, and package a Maestro | COMMENT |
| MEDIUM | src/cli/commands/plugin.ts | 423 | // same validator the host uses, or the scaffold is useless. | COMMENT |
| MEDIUM | src/__tests__/cli/commands/plugin.test.ts | 88 | // Code-tier scaffold ships the entrypoint + SDK references. | COMMENT |
| MEDIUM | src/__tests__/cli/commands/plugin.test.ts | 95 | // so the scaffold must not use ESM `export` syntax or it fails to parse. | COMMENT |
| MEDIUM | src/__tests__/cli/commands/plugin.test.ts | 329 | // Reproduce the scaffold README flow: --gen-key writes the private key | COMMENT |
| MEDIUM | src/__tests__/main/ipc/handlers/tabNaming.test.ts | 523 | // is stripped, the model runs a real agentic turn, and its raw terminal | COMMENT |
| MEDIUM | src/__tests__/main/ipc/handlers/tabNaming.test.ts | 1510 | // flags (including the `--tools ""` guard), so naming runs a real agentic | COMMENT |
| MEDIUM | src/prompts/bmad/bmad.party-mode.md | 198 | ## src/core/skills/bmad-party-mode/steps/step-02-discussion-orchestration.md | COMMENT |
| MEDIUM | src/main/agents/definitions.ts | 106 | noToolsArgs?: string[]; // Args that disable ALL tool use, forcing a pure text response (e.g., ['--tools', ''] for Clau | CODE |
| MEDIUM | src/main/agents/definitions.ts | 422 | // a real agentic run. The CLI exposes no tool-disabling flag, so there is | COMMENT |
| MEDIUM | src/main/agents/definitions.ts | 595 | noToolsArgs: ['--no-tools'], // Tab naming disables all tools so a task-like first message yields a name, not a real a | CODE |
| MEDIUM | src/main/ipc/handlers/tabNaming.ts | 232 | // agentic session (Bash/Read/Grep) instead of emitting a name: it never | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/shared/formatters.ts | 614 | * 3. Multi-word (split on whitespace, "_", "-", "/") → initials ("Acme Corp" → "AC"). | COMMENT |
| LOW | src/__tests__/renderer/stores/settingsStore.test.ts | 837 | const reg = { email: 'test@test.com', emailConfirmed: true, authToken: 'abc' }; | CODE |
| LOW | src/__tests__/renderer/stores/settingsStore.test.ts | 3365 | email: 'test@test.com', | CODE |
| LOW | src/__tests__/renderer/stores/settingsStore.test.ts | 3376 | email: 'test@test.com', | CODE |
| LOW | …_tests__/renderer/components/RenameGroupModal.test.tsx | 208 | expect(input).toHaveAttribute('placeholder', 'Enter group name...'); | CODE |
| LOW | …ests__/renderer/components/RenameSessionModal.test.tsx | 252 | expect(input).toHaveAttribute('placeholder', 'Enter agent name...'); | CODE |
| LOW | …derer/components/LeaderboardRegistrationModal.test.tsx | 149 | expect(blueskyInput).toHaveAttribute('placeholder', 'username.bsky.social'); | CODE |
| LOW | …_/renderer/components/DeleteAgentConfirmModal.test.tsx | 425 | expect(input).toHaveAttribute('placeholder', ''); | CODE |
| LOW | …/__tests__/renderer/components/RenameTabModal.test.tsx | 129 | expect(input).toHaveAttribute('placeholder', 'Enter tab name...'); | CODE |
| LOW | …/__tests__/renderer/components/RenameTabModal.test.tsx | 146 | expect(input).toHaveAttribute('placeholder', 'Rename ABC123...'); | CODE |
| LOW | …/__tests__/renderer/components/RenameTabModal.test.tsx | 163 | expect(input).toHaveAttribute('placeholder', 'Enter tab name...'); | CODE |
| LOW | …/components/UsageDashboard/GroupOverviewCards.test.tsx | 96 | { id: 'g-acme', name: 'Acme Corp', emoji: '🏢' }, | CODE |
| LOW | …/components/UsageDashboard/GroupOverviewCards.test.tsx | 263 | name: 'Acme Corp', | CODE |
| LOW | …er/components/UsageDashboard/GroupDetailModal.test.tsx | 42 | const GROUPS = [{ id: 'g-acme', name: 'Acme Corp', emoji: '🏢' }]; | CODE |
| LOW | …/components/UsageDashboard/AgentOverviewCards.test.tsx | 790 | { id: 'g-acme', name: 'Acme Corp', emoji: '\u{1F3E2}' }, | CODE |
| LOW | …/renderer/components/Wizard/WizardIntegration.test.tsx | 1519 | expect(input).toHaveAttribute('placeholder', expect.stringContaining('Test Server')); | CODE |
| LOW | …/__tests__/renderer/hooks/useNavigationHistory.test.ts | 982 | let backEntry: NavHistoryEntry | null = { sessionId: 'placeholder' }; | CODE |
| LOW | …/__tests__/renderer/hooks/useNavigationHistory.test.ts | 983 | let forwardEntry: NavHistoryEntry | null = { sessionId: 'placeholder' }; | CODE |
| LOW | …/__tests__/renderer/hooks/useAppInitialization.test.ts | 732 | email: 'user@example.com', | CODE |
| LOW | …/__tests__/renderer/hooks/useAppInitialization.test.ts | 762 | email: 'user@example.com', | CODE |
| LOW | …/__tests__/renderer/hooks/useAppInitialization.test.ts | 776 | email: 'user@example.com', | CODE |
| LOW | …/__tests__/renderer/hooks/useAppInitialization.test.ts | 792 | mockSettingsState.leaderboardRegistration = { email: 'user@example.com' }; | CODE |
| LOW | …/__tests__/renderer/hooks/useAppInitialization.test.ts | 808 | email: 'user@example.com', | CODE |
| LOW | …/__tests__/renderer/hooks/useAppInitialization.test.ts | 844 | email: 'user@example.com', | CODE |
| LOW | …/__tests__/renderer/hooks/useAppInitialization.test.ts | 876 | email: 'user@example.com', | CODE |
| LOW | …/__tests__/renderer/hooks/useAppInitialization.test.ts | 911 | email: 'user@example.com', | CODE |
| LOW | src/__tests__/renderer/hooks/useBatchHandlers.test.ts | 1918 | email: 'user@example.com', | CODE |
| LOW | src/__tests__/renderer/services/leaderboard.test.ts | 75 | email: 'user@example.com', | CODE |
| LOW | src/__tests__/renderer/services/leaderboard.test.ts | 105 | email: 'user@example.com', | CODE |
| LOW | src/__tests__/renderer/services/leaderboard.test.ts | 162 | email: 'user@example.com', | CODE |
| LOW | src/__tests__/integration/provider-integration.test.ts | 1957 | const args = provider.buildInitialArgs(prompt, { images: ['placeholder'] }); | CODE |
| LOW | src/__tests__/shared/statsGroupRollup.test.ts | 27 | { id: 'g-acme', name: 'Acme Corp', emoji: '🏢' }, | CODE |
| LOW | src/__tests__/shared/statsGroupRollup.test.ts | 237 | expect(rollups[0].name).toBe('Acme Corp'); | CODE |
| LOW | src/__tests__/performance/AutoRunLargeDocument.test.tsx | 205 | `Line ${i}: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore.` | CODE |
| LOW | src/__tests__/performance/AutoRunLargeDocument.test.tsx | 205 | `Line ${i}: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore.` | CODE |
| LOW | src/__tests__/main/group-chat-images.test.ts | 224 | mockReadFile.mockResolvedValue(Buffer.from('fake-data')); | CODE |
| LOW | src/__tests__/main/group-chat-images.test.ts | 240 | mockReadFile.mockResolvedValue(Buffer.from('fake-data')); | CODE |
| LOW | src/__tests__/main/group-chat-images.test.ts | 253 | mockReadFile.mockResolvedValue(Buffer.from('fake-data')); | CODE |
| LOW | src/__tests__/main/group-chat-images.test.ts | 328 | mockReadFile.mockResolvedValue(Buffer.from('fake-data')); | CODE |
| LOW | src/__tests__/main/group-chat-images.test.ts | 342 | mockReadFile.mockResolvedValue(Buffer.from('fake-data')); | CODE |
| LOW | src/__tests__/main/group-chat-images.test.ts | 357 | mockReadFile.mockResolvedValue(Buffer.from('fake-data')); | CODE |
| LOW | src/__tests__/main/group-chat-images.test.ts | 391 | mockReadFile.mockResolvedValue(Buffer.from('fake-data')); | CODE |
| LOW | src/__tests__/main/group-chat-images.test.ts | 405 | mockReadFile.mockResolvedValue(Buffer.from('fake-data')); | CODE |
| LOW | src/__tests__/main/group-chat-images.test.ts | 419 | mockReadFile.mockResolvedValue(Buffer.from('fake-data')); | CODE |
| LOW | src/__tests__/main/ipc/handlers/git.test.ts | 1171 | author: 'John Doe', | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | package-lock.json | 17373 | "resolved": "https://registry.npmjs.org/robust-predicates/-/robust-predicates-3.0.3.tgz", | CODE |
| MEDIUM | scripts/showcase/seed/data/maestro-sessions.json | 996 | "text": "\n\n# Maestro: Multi-Agent AI Coding Assistant Manager\n\n## What Is It?\n\nMaestro is an Electron deskt | CODE |
| MEDIUM | src/renderer/stores/modalStore.ts | 832 | // These exports mirror the ModalContext API exactly, making migration seamless. | COMMENT |
| MEDIUM | …components/FileExplorerPanel/hooks/useOsFileDragOut.ts | 92 | // All bytes are already local (downloaded on a prior drag) - seamless. | COMMENT |
| MEDIUM | src/renderer/hooks/keyboard/useMainKeyboardHandler.ts | 271 | // When layers (modals/overlays) are open, we need nuanced shortcut handling: | COMMENT |
| MEDIUM | src/maestro-p/index.ts | 394 | // us robust against weird PTY timing. | COMMENT |
| MEDIUM | src/maestro-p/tui-driver.ts | 250 | // fallback (see READY_TAP_INTERVAL_MS) is what actually keeps us robust | COMMENT |
| MEDIUM | …nents/FileExplorerPanel/hooks/useOsFileDragOut.test.ts | 119 | // Second drag is now seamless. | COMMENT |
| MEDIUM | …components/FilePreview/markdownFast/searchHits.test.ts | 89 | // helper is structurally robust), offsetWithinBlock must not go negative. | COMMENT |
| MEDIUM | src/main/plugins/net-egress-guard.ts | 163 | // Pure IPv6 specials, derived from bytes (robust to any textual form). | COMMENT |
| MEDIUM | src/main/process-manager/handlers/StdoutHandler.ts | 1034 | // Copilot's post-exit events.jsonl wait, and we want to be robust to | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/symphony.md | 38 | 5. **Receive quality pull requests** generated by AI-assisted workflows | CODE |
| HIGH | src/renderer/utils/markdownConfig.ts | 531 | // pass through as strings from AI-generated HTML, which React rejects. | COMMENT |
| HIGH | src/renderer/components/Markdown/chatComponents.tsx | 237 | // pass through as strings from AI-generated HTML, which React rejects. | COMMENT |
| HIGH | src/renderer/components/FilePreview/FilePreview.tsx | 990 | // pass through as strings from AI-generated HTML, which React rejects. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | chocolatey/README.md | 68 | choco apikey --key <YOUR_API_KEY> --source https://push.chocolatey.org/ | CODE |
| HIGH | chocolatey/README.md | 68 | choco apikey --key <YOUR_API_KEY> --source https://push.chocolatey.org/ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …derer/components/Wizard/services/wizardPrompts.test.ts | 229 | 'I understand. Here is my response:\n\n```json\n{"confidence": 55, "ready": false, "message": "Got it!"}\n```\n\nLe | CODE |
| MEDIUM | …erer/components/Wizard/services/phaseGenerator.test.ts | 61 | Let me know if you need any changes!`; | CODE |
| MEDIUM | …erer/components/Wizard/services/phaseGenerator.test.ts | 210 | Let me know if you need changes! | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | src/__tests__/renderer/components/FilePreview.test.tsx | 1255 | print("world") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/renderer/constants/cuePatterns.ts | 258 | # Usage: | COMMENT |