AI Slop Code RIsk Monitor

generalaction/emdash

Emdash is the Open-Source Agentic Development Environment (🧡 YC W26). Run multiple coding agents in parallel. Use any provider.

5.3 Moderate pattern signal View on GitHub

Maintenance and Governance Review

This report summarizes scanner evidence for generalaction/emdash, a TypeScript project with 5,949 GitHub stars. SynthScan examined 703,611 lines of code across 5095 source files, recording 1838 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 5.3 (Moderate 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.

5.3
Adjusted Signal
5.3
Raw Pattern Score
100%
Time Factor
2026-10-10
Last Push
5.9K
Stars
TypeScript
Language
703.6K
Lines of Code
5.1K
Files
1.8K
Pattern Hits
2026-10-12
Scan Date
0.00
HC Hit Rate

Risk Review · v3

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

Cognitive Ownership Risk 6.7/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.6/100 · LOW

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

Agent Over-Engineering Ratio 22.1/100 · LOW

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

PR Review Velocity Impact 22.8/100 · LOW

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

What These Metrics Mean

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

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 14HIGH 5MEDIUM 826LOW 993

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 1838 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Decorative Section Separators824 hits · 2547 pts
SeverityFileLineSnippetContext
MEDIUMpackages/ui/src/styles/surfaces.css.ts29// ── Helpers ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/surfaces.css.ts57// ── 1. Default cascade binding (robust — works wherever .em<id> lands) ────────COMMENT
MEDIUMpackages/ui/src/styles/surfaces.css.ts78// ── 2. Elevation scope classes ────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/surfaces.css.ts151// ── 3. Semantic role: paper ───────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/surfaces.css.ts168// ── 4. Generic emphasis clamp ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/surfaces.css.ts184// ── 5. Status surface rooms ───────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/utilities/sprinkles.css.ts24// ── Layout ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/utilities/sprinkles.css.ts80// ── Spacing ───────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/utilities/sprinkles.css.ts124// ── Typography ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/utilities/sprinkles.css.ts162// ── Colors ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/utilities/sprinkles.css.ts227 // ── Surface cascade — the core of the surface system ──────────────────COMMENT
MEDIUMpackages/ui/src/styles/utilities/sprinkles.css.ts293// ── Borders & Radius ──────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/utilities/sprinkles.css.ts342// ── Combined sprinkles function ───────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/utilities/layout.css.ts17// ── Flex row helpers ─────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/ui/src/styles/utilities/layout.css.ts32// ── Stack / vertical ─────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/ui/src/styles/utilities/layout.css.ts37// ── Centering ────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/ui/src/styles/utilities/layout.css.ts44// ── Sizing helpers ───────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/ui/src/styles/utilities/layout.css.ts49// ── Text overflow ─────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/ui/src/styles/utilities/layout.css.ts59// ── Absolute overlay ─────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/effects/animations.css.ts12// ── Fade (backdrop / overlay) ─────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/effects/animations.css.ts24// ── Popup: fade + zoom (dialog, no-side popups) ───────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/effects/animations.css.ts36// ── Popup: fade + zoom + slide (positioner popups, 0.5rem offset) ─────────────COMMENT
MEDIUMpackages/ui/src/styles/effects/animations.css.ts61// ── Sheet slides (full translate, no zoom) ────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/styles/effects/animations.css.ts103// ── Convenience: selectors blocks for positioner popups ───────────────────────COMMENT
MEDIUMpackages/ui/src/theme/tokens.css.ts24// ── Primitive non-color token contract ────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/theme/tokens.css.ts93// ── Assign static values at :root ─────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/theme/tokens.css.ts132// ── Composite typography role vars ────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/react/story-layout.css.ts16// ── Escape-hatch transforms / positioning ─────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/react/story-layout.css.ts24// ── Fixed-px widths (not in the sx SPACE scale) ───────────────────────────────COMMENT
MEDIUMpackages/ui/src/react/story-layout.css.ts40// ── Fixed-px heights ──────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/react/story-layout.css.ts53// ── Square sizes ──────────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/react/story-layout.css.ts60// ── Grid column templates ─────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/react/story-layout.css.ts79// ── Child-combinator selectors (cannot be expressed in sprinkles) ─────────────COMMENT
MEDIUM⚡packages/ui/src/react/story-layout.css.ts96// ── Effects ───────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/ui/src/react/story-layout.css.ts104// ── Off-scale type ────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/ui/src/react/story-layout.css.ts113// ── Special background ────────────────────────────────────────────────────────COMMENT
MEDIUM⚡packages/ui/src/react/story-layout.css.ts120// ── Composite: story tab strip button ────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/react/patterns/index.ts106// ── Headless list state (createListView) ──────────────────────────────────────COMMENT
MEDIUM…i/src/react/patterns/page-layout/page-sidebar-menu.tsx8// ── Types ─────────────────────────────────────────────────────────────────────COMMENT
MEDIUM…i/src/react/patterns/page-layout/page-sidebar-menu.tsx56// ── Component ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM…src/react/patterns/page-layout/page-layout.stories.tsx15// ── Placeholder helpers ───────────────────────────────────────────────────────COMMENT
MEDIUM…src/react/patterns/page-layout/page-layout.stories.tsx59// ── 1. Library style — sidebar + content (max-w-3xl) ─────────────────────────COMMENT
MEDIUM…src/react/patterns/page-layout/page-layout.stories.tsx124// ── 2. Settings style — sidebar + content (default max-w-4xl) ────────────────COMMENT
MEDIUM…src/react/patterns/page-layout/page-layout.stories.tsx197// ── 3. Automations style — content-only, no sidebar ──────────────────────────COMMENT
MEDIUM…src/react/patterns/page-layout/page-layout.stories.tsx254// ── 4. Custom sidebar — PageLayout.Sidebar bare slot ─────────────────────────COMMENT
MEDIUM…src/react/patterns/page-layout/page-layout.stories.tsx334// ── 5. Sectioned sidebar — PageNavSection labels ──────────────────────────────COMMENT
MEDIUM…src/react/patterns/page-layout/page-layout.stories.tsx401// ── 6. Sidebar with footer — pinned slots + scrolling nav ─────────────────────COMMENT
MEDIUM…s/ui/src/react/patterns/page-layout/page-layout.css.ts6// ── Drag-region helpers ───────────────────────────────────────────────────────COMMENT
MEDIUM…s/ui/src/react/patterns/page-layout/page-layout.css.ts20// ── Root outer / scroll container ─────────────────────────────────────────────COMMENT
MEDIUM…s/ui/src/react/patterns/page-layout/page-layout.css.ts39// ── Centered page container ───────────────────────────────────────────────────COMMENT
MEDIUM…s/ui/src/react/patterns/page-layout/page-layout.css.ts64// ── Sidebar sticky wrapper ─────────────────────────────────────────────────────COMMENT
MEDIUM…s/ui/src/react/patterns/page-layout/page-layout.css.ts79// ── Content container recipe ──────────────────────────────────────────────────COMMENT
MEDIUM…s/ui/src/react/patterns/page-layout/page-layout.css.ts108// ── Background fill (used by sticky header and root) ─────────────────────────COMMENT
MEDIUMpackages/ui/src/react/patterns/page-layout/index.ts5// ── Public namespace ──────────────────────────────────────────────────────────COMMENT
MEDIUMpackages/ui/src/react/patterns/page-layout/index.ts42// ── Re-export types ───────────────────────────────────────────────────────────COMMENT
MEDIUM…s/ui/src/react/patterns/page-layout/page-header.css.ts6// ── Root ──────────────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…s/ui/src/react/patterns/page-layout/page-header.css.ts21// ── Title block ───────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…s/ui/src/react/patterns/page-layout/page-header.css.ts30// ── Actions slot ──────────────────────────────────────────────────────────────COMMENT
MEDIUM⚡…s/ui/src/react/patterns/page-layout/page-header.css.ts40// ── Separator ─────────────────────────────────────────────────────────────────COMMENT
MEDIUM…ages/ui/src/react/patterns/page-layout/page-layout.tsx60// ── Sidebar (bare slot) ───────────────────────────────────────────────────────COMMENT
764 more matches not shown…
Hyper-Verbose Identifiers943 hits · 966 pts
SeverityFileLineSnippetContext
LOWtooling/oxlint/boundary-allowlists.js36export function isBoundaryAllowlistingDisabled(env = process.env) {CODE
LOWtooling/oxlint/boundary-allowlists.js67export function isBoundaryFileAllowlisted(filename, entries, repoRoot = DEFAULT_REPO_ROOT) {CODE
LOWtooling/oxlint/rules/core-host-boundaries.js53export function isMainCoreFeatureSpecifier(specifier) {CODE
LOWtooling/oxlint/rules/core-module-boundaries.js103export function isAllowedCoreModuleDependency(source, target) {CODE
LOWagents/conventions/main-patterns.md10export function createTasksWireController(): Controller {CODE
LOW…tterns/create-task-modal/create-task-modal.fixtures.ts80export function createReadyCreateTaskState(): CreateTaskModalState {CODE
LOW…ct/primitives/animated-height/height-change-tracker.ts11export function createHeightChangeTracker(initialHeight: number | undefined) {CODE
LOW⚡packages/ui/src/react/primitives/hover-card/index.tsx37export function isEventInsideInteractiveLayer(CODE
LOWpackages/ui/src/react/primitives/button/index.tsx26export function resolveButtonControlVariant({CODE
LOW…/primitives/resizable/use-collapsible-panel-binding.ts65export function useCollapsiblePanelBinding(CODE
LOW…components/directory-selector/use-directory-history.ts19export function createDirectoryHistoryState(initialPath: string): DirectoryHistoryState {CODE
LOW…components/directory-selector/use-directory-history.ts39export function goForwardDirectoryHistory(state: DirectoryHistoryState): DirectoryHistoryState {CODE
LOW…t/components/directory-selector/directory-selector.tsx426export function splitDirectorySelectorPath(CODE
LOW…act/components/chat-composer/chat-composer.stories.tsx605 render: function ProviderConfigurationStory() {CODE
LOW…act/components/chat-composer/chat-composer.stories.tsx744function QueuedPromptsWithPermissionRequestsDemo() {CODE
LOW…act/components/chat-composer/chat-composer.stories.tsx792function PermissionBandOverflowStatesDemo() {CODE
LOW…act/components/chat-composer/chat-composer.stories.tsx912function WithoutEffortSelectorDemo() {CODE
LOW…/react/components/prompt-editor/prompt-editor-model.ts344function serializedOffsetAtPosition(doc: ProseMirrorNode, position: number): number {CODE
LOW…t/components/prompt-editor/extensions/slash-command.ts31export function buildSlashCommandExtension(CODE
LOW…core/src/runtimes/host-settings/node/api/controller.ts5export function createHostSettingsController(runtime: HostSettingsRuntime): Controller {CODE
LOW…ges/core/src/runtimes/terminals/node/api/controller.ts5export function createTerminalsController(runtime: TerminalsRuntime) {CODE
LOW…ges/core/src/runtimes/provider-usage/node/component.ts17export function createProviderUsageComponent(options: {CODE
LOW…kages/core/src/runtimes/lsp/node/project-resolution.ts9export async function resolveLanguageProjectRoot(CODE
LOW…ges/core/src/runtimes/lsp/node/server-configuration.ts4export function createServerRequestHandlers(CODE
LOW…times/conversations/node/persistence/payload-codecs.ts47export function serializeProviderLinkPayload(link: ProviderLink): string {CODE
LOW…core/src/runtimes/conversations/node/api/controller.ts6export function createConversationsController(runtime: ConversationsRuntime): Controller {CODE
LOW…kages/core/src/runtimes/agent-config/node/component.ts26export function createAgentConfigComponent(options: CreateAgentConfigComponentOptions) {CODE
LOW…es/core/src/runtimes/agent-config/node/runtime/auth.ts387function stripTrailingUrlPunctuation(url: string): string {CODE
LOW…es/core/src/runtimes/agent-config/node/runtime/auth.ts399function agentConfigAuthErrorMessage(error: AgentConfigAuthError | AgentHostError): string {CODE
LOW⚡…re/src/runtimes/agent-config/node/state/live-models.ts14export function createAgentConfigAgentsLiveHost(CODE
LOW⚡…re/src/runtimes/agent-config/node/state/live-models.ts20export function createAgentConfigMcpLiveHost(model: AgentConfigMcpModel): AgentConfigMcpLiveHost {CODE
LOW⚡…re/src/runtimes/agent-config/node/state/live-models.ts24export function createAgentConfigSkillsLiveHost(CODE
LOW⚡…re/src/runtimes/agent-config/node/state/live-models.ts30export function createAgentConfigAgentsModel(): AgentConfigAgentsModel {CODE
LOW⚡…re/src/runtimes/agent-config/node/state/live-models.ts34export function createAgentConfigMcpModel(): AgentConfigMcpModel {CODE
LOW⚡…re/src/runtimes/agent-config/node/state/live-models.ts38export function createAgentConfigSkillsModel(): AgentConfigSkillsModel {CODE
LOW…/core/src/runtimes/agent-config/node/api/procedures.ts13export function createAgentConfigProcedures(runtime: AgentConfigRuntime) {CODE
LOW…/core/src/runtimes/agent-config/node/api/controller.ts6export function createAgentConfigController(runtime: AgentConfigRuntime) {CODE
LOW…es/core/src/runtimes/files/node/allocation/identity.ts57export async function resolveAbsoluteFileLocation(CODE
LOW…ckages/core/src/runtimes/automations/node/component.ts21export function createAutomationsComponent() {CODE
LOW…/core/src/runtimes/automations/node/scheduling/cron.ts10export function validateAutomationSchedule(CODE
LOW…untimes/automations/node/persistence/payload-codecs.ts36export function serializeDeploymentPayload(deployment: AutomationDeployment): string {CODE
LOW…s/core/src/runtimes/automations/node/api/controller.ts5export function createAutomationsController(runtime: AutomationsRuntime): Controller {CODE
LOW…times/automations/node/ports/workspace-provisioning.ts54export function createWorkspacePortFromDependency(CODE
LOW…times/automations/node/ports/workspace-provisioning.ts171function describeCreateWorkspaceError(error: CreateWorkspaceError): string {CODE
LOW…e/src/runtimes/automations/node/ports/session-start.ts33export function createSessionPortFromDependencies(dependencies: {CODE
LOW…e/src/runtimes/automations/node/ports/session-start.ts142function describeCreateWorkspaceError(error: CreateWorkspaceError): string {CODE
LOW…e/src/runtimes/automations/node/ports/session-start.ts152function describeActivateWorkspaceError(error: ActivateWorkspaceError): string {CODE
LOW…e/src/runtimes/automations/node/ports/session-start.ts165function compileConversationIndexRecord(CODE
LOW…/runtimes/automations/node/ports/session-start.test.ts335function activatingWorkspaceRegistry(): ContractClient<WorkspaceRegistryContract> {CODE
LOW…/runtimes/automations/node/ports/session-start.test.ts341function creatingConversationIndex(): ContractClient<ConversationIndexContract> {CODE
LOW…es/core/src/runtimes/automations/node/runs/executor.ts17export function createAutomationRunExecutor(CODE
LOW…e/src/runtimes/tui-agents/node/runtime/prompt-spill.ts36export function buildPromptPointerMessage(filePath: string): string {CODE
LOW…core/src/runtimes/tui-agents/node/state/live-models.ts22export function createTuiSessionsLiveModel(): TuiSessionsLiveModel {CODE
LOW…core/src/runtimes/tui-agents/node/state/live-models.ts30export function createTuiAgentStatesLiveModel(): TuiAgentStatesLiveModel {CODE
LOW…core/src/runtimes/tui-agents/node/state/live-models.ts42export function createTuiSessionsListModel(liveModel: TuiSessionsLiveModel): TuiSessionsListModel {CODE
LOW…core/src/runtimes/tui-agents/node/state/live-models.ts46export function createTuiAgentStatesListModel(CODE
LOW…es/core/src/runtimes/tui-agents/node/api/procedures.ts15export function createTuiAgentsProcedures(runtime: TuiAgentsRuntime) {CODE
LOW…es/core/src/runtimes/tui-agents/node/api/controller.ts6export function createTuiAgentsController(runtime: TuiAgentsRuntime) {CODE
LOW…ages/core/src/runtimes/file-search/node/node-errors.ts61export function isExpectedPathIndexNodeError(error: unknown): boolean {CODE
LOW…ages/core/src/runtimes/file-search/node/node-errors.ts65export function isExpectedContentScopeNodeError(error: unknown): boolean {CODE
883 more matches not shown…
Hallucination Indicators14 hits · 155 pts
SeverityFileLineSnippetContext
CRITICAL…/runtimes/acp/node/runtime/session-restoration.test.ts141 expect(h.agent.setSessionConfigOption.mock.invocationCallOrder.at(-1)).toBeLessThan(CODE
CRITICAL…/src/runtimes/acp/node/runtime/session-manager.test.ts1487 expect(h.agent.loadSession.mock.calls.map(([request]) => request.sessionId)).toEqual([CODE
CRITICAL…/src/runtimes/acp/node/runtime/session-manager.test.ts2019 expect(h.agent.setSessionConfigOption.mock.calls.map(([input]) => input.configId)).toEqual([CODE
CRITICAL…/src/runtimes/acp/node/runtime/session-manager.test.ts2070 expect(h.agent.setSessionConfigOption.mock.calls.map(([input]) => input.value)).toEqual([CODE
CRITICAL…untimes/acp/node/runtime/session-initial-queue.test.ts100 expect(h.agent.prompt.mock.calls.map(([request]) => request.sessionId)).toEqual([CODE
CRITICAL…untimes/acp/node/runtime/session-initial-queue.test.ts166 expect(h.agent.prompt.mock.calls.map(([request]) => request.sessionId)).toEqual([CODE
CRITICAL…untimes/acp/node/runtime/session-initial-queue.test.ts170 expect(h.agent.prompt.mock.calls.map(([request]) => request.prompt)).toEqual([CODE
CRITICAL⚡…ore/src/runtimes/workspace-registry/node/session-gc.ts79 this.options.clients.terminals.sessions.state(undefined, 'list').snapshot(),CODE
CRITICAL⚡…ore/src/runtimes/workspace-registry/node/session-gc.ts80 this.options.clients.acp.sessions.state(undefined, 'list').snapshot(),CODE
CRITICAL⚡…ore/src/runtimes/workspace-registry/node/session-gc.ts81 this.options.clients.tuiAgents.sessions.state(undefined, 'list').snapshot(),CODE
CRITICAL…src/core/primitives/mementos/browser/memento-client.ts454 const invocation = await this.lease.model.member.mutations.reset(undefined);CODE
CRITICAL…-desktop/src/main/core/acp/agent-status-bridge.test.ts70 remoteRuntime.host.model.states.list.set({ remote: summary('remote', 'ready') });CODE
CRITICAL…main/core/agent-status/tui-agent-status-bridge.test.ts69 remoteRuntime.agentStates.model.states.list.set({ remote: state('remote', 'completed') });CODE
CRITICALapps/workspace-server/src/api/controller.test.ts228 workspace.client.git.repository.model.state({ repository: root.data }, 'refs').snapshot()CODE
Fake / Example Data38 hits · 41 pts
SeverityFileLineSnippetContext
LOW…act/patterns/collection-toolbar/collection-toolbar.tsx11 'aria-label' | 'defaultValue' | 'onChange' | 'onClear' | 'placeholder' | 'size' | 'value'CODE
LOW…ages/ui/src/react/primitives/dialog/dialog.stories.tsx164 {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW…ages/ui/src/react/primitives/dialog/dialog.stories.tsx164 {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW…ages/ui/src/react/primitives/dialog/dialog.stories.tsx196 {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW…ages/ui/src/react/primitives/dialog/dialog.stories.tsx196 {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit.CODE
LOW…ages/ui/src/react/primitives/dialog/dialog.stories.tsx219 {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmodCODE
LOW…ages/ui/src/react/primitives/dialog/dialog.stories.tsx219 {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmodCODE
LOW…ckages/ui/src/react/primitives/sheet/sheet.stories.tsx134 {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmodCODE
LOW…ckages/ui/src/react/primitives/sheet/sheet.stories.tsx134 {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmodCODE
LOW…ct/primitives/scroll-container/scroll-fade.stories.tsx32 Paragraph {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmodCODE
LOW…ct/primitives/scroll-container/scroll-fade.stories.tsx32 Paragraph {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmodCODE
LOW…imitives/scroll-container/scroll-container.stories.tsx32 Paragraph {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmodCODE
LOW…imitives/scroll-container/scroll-container.stories.tsx32 Paragraph {i + 1}. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmodCODE
LOWpackages/plugins/src/agents/impl/claude/auth.test.ts36 email: 'user@example.com',CODE
LOWpackages/plugins/src/agents/impl/claude/auth.test.ts43 account: 'user@example.com',CODE
LOW…ges/plugins/src/integrations/impl/linear/index.test.ts55 organization: Promise.resolve({ id: 'org-1', name: 'Acme Inc' }),CODE
LOW…ges/plugins/src/integrations/impl/linear/index.test.ts64 displayDetail: 'Acme Inc',CODE
LOW…kages/plugins/src/integrations/impl/jira/types.test.ts7 email: 'user@example.com',CODE
LOW…ages/plugins/src/integrations/impl/jira/client.test.ts38 email: 'user@example.com',CODE
LOW…ages/plugins/src/integrations/impl/jira/client.test.ts46 authentication: { basic: { email: 'user@example.com', apiToken: 'basic-token' } },CODE
LOW⚡…ages/plugins/src/integrations/impl/jira/client.test.ts175 email: 'user@example.com',CODE
LOW⚡…ages/plugins/src/integrations/impl/jira/client.test.ts182 account: { id: 'account-1', host: 'example.atlassian.net', login: 'user@example.com' },CODE
LOW⚡…ages/plugins/src/integrations/impl/jira/client.test.ts183 credentials: { authMethod: 'basic', email: 'user@example.com', apiToken: 'api-token' },CODE
LOW⚡…ages/plugins/src/integrations/impl/jira/client.test.ts192 email: 'user@example.com',CODE
LOWpackages/plugins/src/issues/impl/jira/index.test.ts37 email: 'user@example.com',CODE
LOWpackages/chat-ui/src/mock-transcript.ts26 'lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor ' +CODE
LOWpackages/chat-ui/src/mock-transcript.ts26 'lorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor ' +CODE
LOWpackages/chat-ui/src/core/layout/measure.bench.ts32 '## Overview\n\nLorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore.',CODE
LOWpackages/chat-ui/src/core/layout/measure.bench.ts32 '## Overview\n\nLorem ipsum dolor sit amet consectetur adipiscing elit sed do eiusmod tempor incididunt ut labore.',CODE
LOW…eatures/machines/browser/machine-form.browser.test.tsx86 await expect.element(input).toHaveAttribute('placeholder', 'Select or enter a host');CODE
LOW…eatures/machines/browser/machine-form.browser.test.tsx662 await expect.element(password).toHaveAttribute('placeholder', 'Leave blank to keep existing');CODE
LOW…eatures/machines/browser/machine-form.browser.test.tsx669 await expect.element(password).not.toHaveAttribute('placeholder', 'Leave blank to keep existing');CODE
LOW⚡…eatures/machines/browser/machine-form.browser.test.tsx696 .toHaveAttribute('placeholder', 'Leave blank to reuse if verified');CODE
LOW⚡…eatures/machines/browser/machine-form.browser.test.tsx698 await expect.element(passphrase).toHaveAttribute('placeholder', 'Optional');CODE
LOW⚡…eatures/machines/browser/machine-form.browser.test.tsx701 await expect.element(password).not.toHaveAttribute('placeholder', 'Leave blank to keep existing');CODE
LOW…s/account/node/services/emdash-account-service.test.ts90 email: 'test@test.com',CODE
LOW…s/account/node/services/emdash-account-service.test.ts107 email: 'test@test.com',CODE
LOW…s/account/node/services/emdash-account-service.test.ts119 email: 'test@test.com',CODE
Magic Placeholder Names3 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…/emdash-desktop/src/core/primitives/mcp/api/catalog.ts32 CONTEXT7_API_KEY: 'YOUR_API_KEY',CODE
HIGH…/emdash-desktop/src/core/primitives/mcp/api/catalog.ts168 Authorization: 'Bearer YOUR_API_KEY',CODE
HIGH…/emdash-desktop/src/core/primitives/mcp/api/catalog.ts264 RESEND_API_KEY: 'YOUR_API_KEY',CODE
Cross-Language Confusion (JS/TS)2 hits · 10 pts
SeverityFileLineSnippetContext
HIGH…ces/hosts/node/workspace-server/provision/installer.ts211elif command -v wget >/dev/null 2>&1; thenCODE
HIGHapps/workspace-server/scripts/install.test.ts98elif [ "\${1-}" = "--" ]; thenCODE
Over-Commented Block12 hits · 9 pts
SeverityFileLineSnippetContext
LOWpackages/ui/src/styles/effects/animations.css.ts101});COMMENT
LOWpackages/ui/src/react/primitives/theme-provider.tsx41 * a time — nested providers would compete for the <html> class.COMMENT
LOW…/primitives/resizable/use-collapsible-panel-binding.ts81 // the group's `defaultLayout` (only read at group mount) and the panel'sCOMMENT
LOWpackages/chat-ui/src/ChatRoot.tsx101// Leading buffer in the direction of scroll; trailing buffer behind itCOMMENT
LOWpackages/chat-ui/src/ChatRoot.tsx461 // top. As the agent streams a response, tailHeight grows, reserve shrinks,COMMENT
LOWpackages/chat-ui/src/ChatRoot.tsx501 let lastCommitted: readonly TranscriptTurn[] = [];COMMENT
LOWpackages/chat-ui/src/ChatRoot.tsx981 scheduler.request();COMMENT
LOWpackages/chat-ui/src/ChatRoot.tsx1121 if (totalDirty) {COMMENT
LOWpackages/chat-ui/src/ChatRoot.tsx1181 // ── Central tween registry — wired to eager scheduler ────────────────────COMMENT
LOWpackages/chat-ui/src/core/caches.ts41 type HighlightResult,COMMENT
LOW…s/emdash-desktop/tooling/node-deps/pnpm-workspace.yaml1# Anchors tooling/node-deps as its own pnpm workspace root, isolated from theCOMMENT
LOW…desktop/src/renderer/tests/browser/pane-resize.test.ts161 // With the old suppression design this could stick at 400 if the RO for theCOMMENT
AI Slop Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMpackages/ui/src/styles/surfaces.css.ts57// ── 1. Default cascade binding (robust — works wherever .em<id> lands) ────────COMMENT
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUMapps/emdash-desktop/src/main/lib/telemetry.ts160 // Boot watchdog / boot guardrails.COMMENT