AI Slop Code Risk Monitor

outsourc-e/hermes-workspace

SlopCodeMonitor badge for outsourc-e/hermes-workspace Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

Native web workspace for Hermes Agent — chat, terminal, memory, skills, inspector.

3.9 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for outsourc-e/hermes-workspace, a JavaScript project with 6,780 GitHub stars. SynthScan examined 243,326 lines of code across 1006 source files, recording 523 pattern matches distributed across 14 syntactic categories. The legacy adjusted pattern signal is 3.9 (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.

3.9
Adjusted Signal
3.9
Raw Pattern Score
100%
Time Factor
2026-10-26
Last Push
6.8K
Stars
JavaScript
Language
243.3K
Lines of Code
1.0K
Files
523
Pattern Hits
2026-10-31
Scan Date
0.01
HC Hit Rate

Risk Review · Payload v1

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.

Cognitive Ownership Risk 7.4/100 · LOW

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

Hallucinated Dependency & Supply Chain Risk 1.4/100 · LOW

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

Agent Over-Engineering Ratio 15.2/100 · LOW

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

PR Review Velocity Impact 17.6/100 · LOW

Which changes need focused human review? 523 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 0HIGH 15MEDIUM 172LOW 336

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 523 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.

Decorative Section Separators167 hits · 489 pts
SeverityFileLineSnippetContext
MEDIUMinstall.sh23# ─── helpers ──────────────────────────────────────────────────────────────COMMENT
MEDIUMinstall.sh100# ─── preflight ────────────────────────────────────────────────────────────COMMENT
MEDIUMinstall.sh131# ─── install hermes-agent (delegate to Nous upstream installer) ──────────COMMENT
MEDIUMinstall.sh163# ─── clone workspace ──────────────────────────────────────────────────────COMMENT
MEDIUMinstall.sh179# ─── env + install ────────────────────────────────────────────────────────COMMENT
MEDIUMinstall.sh219# ─── seed Hermes skills (Conductor needs workspace-dispatch) ─────────────COMMENT
MEDIUMinstall.sh236# ─── macOS LaunchAgent (plist) ───────────────────────────────────────────COMMENT
MEDIUMinstall.sh277# ─── done ─────────────────────────────────────────────────────────────────COMMENT
MEDIUMplayground-ws-worker/src/worker.ts144 // ───── Persistence helpers ─────COMMENT
MEDIUMplayground-ws-worker/src/worker.ts256 // ───── Alarm-driven prune ─────COMMENT
MEDIUMplayground-ws-worker/src/worker.ts287 // ───── Hibernation-safe socket helpers ─────COMMENT
MEDIUMplayground-ws-worker/src/worker.ts386 // ───── Fetch handler ─────COMMENT
MEDIUMplayground-ws-worker/src/worker.ts420 // ───── HTTP polling endpoints (reliable fallback for WebSockets) ─────COMMENT
MEDIUMplayground-ws-worker/src/worker.ts588 // ───── Hibernation event handlers ─────COMMENT
MEDIUMsrc/server/swarm-lifecycle.ts145// ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMsrc/server/swarm-lifecycle.ts149// ═══════════════════════════════════════════════════════════════COMMENT
MEDIUMsrc/server/claude-api.ts33// ── Types ─────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/claude-api.ts72// ── Helpers ───────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/claude-api.ts120// ── Health ────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/claude-api.ts126// ── Sessions ─────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/claude-api.ts239// ── Conversion helpers (Claude → Chat format) ─────────────────COMMENT
MEDIUMsrc/server/claude-api.ts360// ── Chat (streaming) ─────────────────────────────────────────────COMMENT
MEDIUMsrc/server/claude-api.ts487// ── Memory ───────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/claude-api.ts493// ── Skills ───────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/claude-api.ts507// ── Config ───────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/claude-api.ts539// ── Models ───────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/claude-api.ts548// ── Connection check ─────────────────────────────────────────────COMMENT
MEDIUMsrc/server/knowledge-browser.ts120// ─── Legacy env-var fallback ──────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/knowledge-browser.ts132// ─── GitHub Knowledge Provider ─────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/knowledge-browser.ts229// ─── Config-aware root resolution ──────────────────────────────────────────────COMMENT
MEDIUMsrc/server/knowledge-browser.ts294// ─── Path helpers ─────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/knowledge-browser.ts322// ─── Page parsing ─────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/chat-event-bus.ts10// ─── Singleton state (survives Vite HMR via globalThis) ─────────────────COMMENT
MEDIUMsrc/server/gateway-capabilities.ts160// ── Types ─────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/gateway-capabilities.ts231// ── State ─────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/gateway-capabilities.ts406// ── Probing ───────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/gateway-capabilities.ts926// ── Accessors ─────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/provider-usage.ts16// ── Types ────────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/provider-usage.ts52// ── Helpers ──────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/provider-usage.ts67// ── Claude OAuth ─────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/provider-usage.ts429// ── Codex (OpenAI ChatGPT/Codex CLI OAuth) ──────────────────────────────────COMMENT
MEDIUMsrc/server/provider-usage.ts768// ── OpenAI (API Key) ─────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/provider-usage.ts888// ── OpenRouter ───────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/provider-usage.ts981// ── Gemini (Google AI Studio) ────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/provider-usage.ts1059// ── Aggregate ────────────────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/gateway.ts56// ── Device Identity (Ed25519) ─────────────────────────────────────COMMENT
MEDIUMsrc/server/gateway.ts102// ── Constants ─────────────────────────────────────────────────────COMMENT
MEDIUMsrc/server/gateway.ts110// ── Circuit breaker ───────────────────────────────────────────────COMMENT
MEDIUMsrc/screens/chat/components/chat-sidebar.tsx139// ── Reusable nav item ───────────────────────────────────────────────────COMMENT
MEDIUMsrc/screens/chat/components/chat-sidebar.tsx333// ── Last-visited route tracking ─────────────────────────────────────────COMMENT
MEDIUMsrc/screens/chat/components/chat-sidebar.tsx359// ── Section header ──────────────────────────────────────────────────────COMMENT
MEDIUMsrc/screens/chat/components/chat-sidebar.tsx443// ── Collapsible section wrapper ─────────────────────────────────────────COMMENT
MEDIUMsrc/screens/chat/components/chat-sidebar.tsx644// ── Persist helper ──────────────────────────────────────────────────────COMMENT
MEDIUMsrc/screens/chat/components/chat-sidebar.tsx673// ── Main component ──────────────────────────────────────────────────────COMMENT
MEDIUMsrc/screens/chat/components/chat-sidebar.tsx937 // ── Nav definitions ─────────────────────────────────────────────────COMMENT
MEDIUM…screens/playground/hooks/use-playground-multiplayer.ts368 // ───── HTTP polling transport (reliable fallback) ─────COMMENT
MEDIUMsrc/screens/agora/hooks/use-agora-room.ts56 // ── Movement (WASD / arrows) ───────────────────────────────COMMENT
MEDIUMsrc/screens/agora/hooks/use-agora-room.ts118 // ── Ambient drift for fake users ──────────────────────────COMMENT
MEDIUMsrc/screens/agora/hooks/use-agora-room.ts132 // ── Tap-to-walk (mobile) ───────────────────────────────────COMMENT
MEDIUMsrc/screens/agora/hooks/use-agora-room.ts157 // ── Chat ──────────────────────────────────────────────────COMMENT
107 more matches not shown…
Hyper-Verbose Identifiers284 hits · 290 pts
SeverityFileLineSnippetContext
LOWsrc/stores/chat-store.ts396function stripFinalTagsFromMessage(msg: ChatMessage): ChatMessage {CODE
LOWsrc/stores/chat-store.ts482function getMessageRealtimeSequence(CODE
LOWsrc/stores/chat-store.ts551function sortMessagesChronologically(CODE
LOWsrc/stores/chat-store.ts564function isExternalInboundUserSource(source: unknown): boolean {CODE
LOWsrc/stores/chat-store.ts587function isOptimisticUserCandidate(CODE
LOWsrc/stores/chat-store.ts598function messageMultipartSignature(CODE
LOWsrc/stores/chat-store.ts1371function ensureAssistantTextContent(msg: ChatMessage): ChatMessage {CODE
LOWsrc/stores/chat-store.ts1384function mergeRealtimeAssistantMetadata(CODE
LOWsrc/stores/mission-store.ts660export function saveMissionStoreBeforeUnload(): void {CODE
LOWsrc/server/swarm-runtime-reset.ts12export function listResettableSwarmWorkerIds(): Array<string> {CODE
LOWsrc/server/swarm-runtime-reset.ts16export function resolveResetTargetWorkerIds(workerIds?: Array<string> | null): {CODE
LOWsrc/server/swarm-profile-config.ts144export function renderSwarmWorkerIdentity(worker: SwarmWorkerIdentity): string {CODE
LOWsrc/server/swarm-lifecycle.ts326function readRuntimeMissionContext(workerId: string): { missionId: string | null; assignmentId: string | null } {CODE
LOWsrc/server/external-memory-browser.ts118export function listExternalMemoryProviders(): {CODE
LOWsrc/server/external-memory-browser.ts295export function listExternalMemoryCandidates(options: {CODE
LOWsrc/server/external-memory-browser.ts320export function searchExternalMemoryCandidates(options: {CODE
LOWsrc/server/external-memory-browser.ts356export function editExternalMemoryCandidate(options: {CODE
LOWsrc/server/external-memory-browser.ts371export function approveExternalMemoryCandidate(options: {CODE
LOWsrc/server/external-memory-browser.ts382export function rejectExternalMemoryCandidate(options: {CODE
LOWsrc/server/external-memory-browser.ts395export function deleteExternalMemoryCandidate(options: {CODE
LOWsrc/server/swarm-missions.ts222export function markMissionAssignmentDispatched(input: {CODE
LOWsrc/server/swarm-missions.ts307export function recordMissionAssignmentBlocked(input: {CODE
LOWsrc/server/swarm-missions.ts364export function appendMissionContinuation(input: {CODE
LOWsrc/server/swarm-missions.ts473export function markMissionAssignmentReviewed(input: { missionId?: string | null; assignmentId: string; reviewerId?: strCODE
LOWsrc/server/swarm-missions.ts490export function markMissionAssignmentsReviewedByWorker(input: {CODE
LOWsrc/server/knowledge-browser.ts74function normalizeFrontmatterValue(input: unknown): string | undefined {CODE
LOWsrc/server/knowledge-browser.ts296function normalizeRelativeKnowledgePath(input: string): string {CODE
LOWsrc/server/profiles-browser.ts71function stickyActiveProfileEnabled(): boolean {CODE
LOWsrc/server/profiles-browser.ts90function validateProfileIdentifier(name: string): string {CODE
LOWsrc/server/auth-middleware.ts157export function isPasswordProtectionEnabled(): boolean {CODE
LOWsrc/server/auth-middleware.ts189export function getSessionTokenFromCookie(CODE
LOWsrc/server/session-utils.ts63export function shouldBindMainToPortableSession({CODE
LOWsrc/server/portable-history.ts6export function shouldReplayPortableHistory(options?: {CODE
LOWsrc/server/portable-history.ts22export function selectPortableConversationHistory(CODE
LOWsrc/server/openai-compat-api.ts156function parseClaudeToolProgressChunk(payload: string): StreamChunkType | null {CODE
LOWsrc/server/hermes-cron-profiles.ts205function validateProfileAndMaybeJob(profile: string, jobId?: string): void {CODE
LOWsrc/server/hermes-config-store.ts234function applyRemoveCustomProvider(CODE
LOWsrc/server/claude-tasks-backend.ts51function mapKanbanStatusToTaskColumn(status: string): TaskColumn {CODE
LOWsrc/server/claude-tasks-backend.ts69function mapTaskColumnToKanbanStatus(column: TaskColumn): 'backlog' | 'ready' | 'running' | 'review' | 'blocked' | 'doneCODE
LOWsrc/server/claude-tasks-backend.ts113export function getClaudeTasksBackendMeta(): KanbanBackendMeta {CODE
LOWsrc/server/aioncore-companion.ts101export function normalizeExternalAgentRuntime(CODE
LOWsrc/server/aioncore-companion.ts180export async function getAionCoreCompanionSnapshot(): Promise<AionCoreCompanionSnapshot> {CODE
LOWsrc/server/aioncore-companion.ts210export async function healthCheckExternalAgentRuntime(CODE
LOWsrc/server/swarm-roster.ts158export function resolveSwarmWorkerDisplayName(workerId: string, worker?: Pick<SwarmRosterWorker, 'name'> | null): stringCODE
LOWsrc/server/swarm-mode.ts45export function applySwarmModeToLoopFlags(input: {CODE
LOWsrc/server/tool-artifacts-store.ts130export function createOrUpdateToolArtifact(input: CreateArtifactInput): ToolArtifact {CODE
LOWsrc/server/context-usage.ts67function stringifyStructuredContent(content: unknown): string {CODE
LOWsrc/server/context-usage.ts93export function estimateContextTokensFromMessages(CODE
LOWsrc/server/context-usage.ts121export function estimateContextTokensFromCacheRead(CODE
LOWsrc/server/context-usage.ts129export function estimateContextTokensFromSessionUsage(CODE
LOWsrc/server/context-usage.ts185function readConfiguredContextLength(payload: Record<string, unknown>): number {CODE
LOWsrc/server/context-usage.ts207async function readConfiguredModelContext(): Promise<ResolvedModelContext | null> {CODE
LOWsrc/server/context-usage.ts232async function readGatewayRuntimeSnapshot(CODE
LOWsrc/server/context-usage.ts313function extractComparableLocalTurns(CODE
LOWsrc/server/context-usage.ts328async function resolveMirroredRuntimeSessionId(CODE
LOWsrc/server/update-system.ts77function persistPendingReleaseNotes(sections: Array<ReleaseNoteSection>): void {CODE
LOWsrc/server/update-system.ts234export function updateAvailableFromDivergence(CODE
LOWsrc/server/update-system.ts283export function readWorkspaceUpdateStatus(CODE
LOWsrc/server/conductor-mission-sanitize.ts44export function sanitizeConductorMissionGoal(CODE
LOWsrc/server/gateway-capabilities.ts689export function getCapabilityWarningMessage(CODE
224 more matches not shown…
Cross-Language Confusion (JS/TS)11 hits · 60 pts
SeverityFileLineSnippetContext
HIGHsrc/server/swarm-lifecycle.ts54 print(json.dumps(result)); raise SystemExitCODE
HIGHsrc/server/swarm-lifecycle.ts78print(json.dumps(result))CODE
HIGHsrc/server/external-memory-browser.ts222elif mode in ("edit", "approve", "reject", "delete"):CODE
HIGHsrc/server/external-memory-browser.ts246 elif mode == "approve":CODE
HIGHsrc/server/external-memory-browser.ts273print(json.dumps(result))CODE
HIGH⚡src/server/swarm-chat-reader.ts95 elif btype == "tool_use":CODE
HIGH⚡src/server/swarm-chat-reader.ts97 elif btype == "tool_result":CODE
HIGH⚡src/server/swarm-chat-reader.ts107 elif isinstance(parsed, dict):CODE
HIGHsrc/server/swarm-chat-reader.ts122 elif isinstance(raw_ts, str):CODE
HIGHsrc/server/swarm-chat-reader.ts135print(json.dumps({CODE
HIGHsrc/routes/api/crew-status.ts164print(json.dumps(out))STRING
Structural Annotation Overuse15 hits · 29 pts
SeverityFileLineSnippetContext
LOWREADME.md183#### Step 1: Start your backendCOMMENT
LOWREADME.md203### Step 2: Install & Run Hermes WorkspaceCOMMENT
LOWREADME.md434### Step 1: Configure EnvironmentCOMMENT
LOWREADME.md455### Step 2: Start the ServicesCOMMENT
LOWREADME.md470### Step 3: Access the WorkspaceCOMMENT
LOWsrc/components/onboarding/tour-steps.tsx4 // Step 1: WelcomeCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx31 // Step 2: SidebarCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx39 // Step 3: New SessionCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx47 // Step 4: DashboardCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx55 // Step 5: Agent HubCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx63 // Step 7: SkillsCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx71 // Step 8: TerminalCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx79 // Step 9: Usage Meter (in header)COMMENT
LOW⚡src/components/onboarding/tour-steps.tsx87 // Step 10: SettingsCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx95 // Step 11: FinishCOMMENT
Verbosity Indicators10 hits · 22 pts
SeverityFileLineSnippetContext
LOWsrc/components/onboarding/tour-steps.tsx4 // Step 1: WelcomeCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx31 // Step 2: SidebarCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx39 // Step 3: New SessionCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx47 // Step 4: DashboardCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx55 // Step 5: Agent HubCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx63 // Step 7: SkillsCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx71 // Step 8: TerminalCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx79 // Step 9: Usage Meter (in header)COMMENT
LOW⚡src/components/onboarding/tour-steps.tsx87 // Step 10: SettingsCOMMENT
LOW⚡src/components/onboarding/tour-steps.tsx95 // Step 11: FinishCOMMENT
Empty Error Handlers3 hits · 15 pts
SeverityFileLineSnippetContext
HIGHsrc/server/pty-helper.py104except (IOError, OSError):CODE
HIGHsrc/server/pty-helper.py78except:CODE
HIGHsrc/server/pty-helper.py111except:CODE
Over-Commented Block14 hits · 14 pts
SeverityFileLineSnippetContext
LOWinstall.sh1#!/usr/bin/env bashCOMMENT
LOWdocker-compose.dev.yml1# Hermes Workspace — Development OverlayCOMMENT
LOWdocker-compose.yml1# Hermes Workspace + Agent — Docker Compose SetupCOMMENT
LOWdocker-compose.yml21# docker compose -f docker-compose.yml -f docker-compose.dev.yml upCOMMENT
LOWdocker-compose.yml101 # Internal Docker network URL (not localhost!)COMMENT
LOWvite.config.ts481 },COMMENT
LOWvite.config.ts501 // 3. default 3000 (matches README/docs/docker-compose expectations)COMMENT
LOWvite.config.ts601 })COMMENT
LOWscripts/swarm-lifecycle-sweep.sh1#!/usr/bin/env bashCOMMENT
LOWsrc/server/mcp-hub/sources/generic-json.ts321 // setCache with an expired entry is not straightforward; instead we use theCOMMENT
LOWsrc/screens/chat/local-model-override.ts1// Module-level local model override — set by composer when user picks a local model.COMMENT
LOWsrc/screens/chat/hooks/use-realtime-chat-history.ts221 //COMMENT
LOW…screens/mcp/-marketplace-install-confirmation.test.tsx341 // Click Install — starts the in-flight fetchCOMMENT
LOWsrc/components/terminal/terminal-workspace.tsx461 }COMMENT
Modern AI Meta-Vocabulary4 hits · 10 pts
SeverityFileLineSnippetContext
MEDIUMOVERNIGHT-PR-SHAKEDOWN.md47- 2026-06-05 17:25 EDT: CYCLE 17 — INTEGRATED ECHO STUDIO LABS GATING + FIXED STALE REMOTE REF. On start, local was 3 coCODE
MEDIUMOVERNIGHT-PR-SHAKEDOWN.md58- 2026-06-05 04:42 EDT: CYCLE 2b complete. Integrated 2 more additive feature PRs: #450 (external memory provider browseCODE
MEDIUM…y/goals/2026-05-05-hermesworld-viral-sprint/handoff.md107### 9. Character/graphics pipeline scaffolding started in codeCOMMENT
MEDIUMdocs/swarm2-agent-ide-spec.md422### Phase 3 — Autopilot orchestrationCOMMENT
Excessive Try-Catch Wrapping5 hits · 6 pts
SeverityFileLineSnippetContext
LOWsrc/server/swarm-lifecycle.ts61 except Exception:CODE
LOWsrc/server/swarm-lifecycle.ts76except Exception as e:CODE
LOWsrc/server/external-memory-browser.ts195 except Exception:CODE
MEDIUMsrc/server/external-memory-browser.ts190def row_to_candidate(row):CODE
LOW⚡src/server/swarm-chat-reader.ts111 except Exception:CODE
Example Usage Blocks4 hits · 6 pts
SeverityFileLineSnippetContext
LOWinstall.sh4# Usage:COMMENT
LOWdocker-compose.dev.yml15# Usage:COMMENT
LOWscripts/ascii-trailer.sh6# Usage:COMMENT
LOWscripts/swarm-lifecycle-sweep.sh11# Usage:COMMENT
Cross-Language Confusion1 hit · 5 pts
SeverityFileLineSnippetContext
HIGHscripts/build-hermesworld-static.py120<script>(function(){if(window.matchMedia&&window.matchMedia("(prefers-reduced-motion: reduce)").matches){return;}var c=dCODE
Fake / Example Data3 hits · 4 pts
SeverityFileLineSnippetContext
LOW.github/workflows/security.yml57 | grep -v "placeholder" \CODE
LOWsrc/screens/agora/hooks/use-agora-room.ts179 // Random fake-user chatter for demo flavor (~every 12-25s)COMMENT
LOW…creens/mcp/-marketplace-placeholder-detection.test.tsx98 id: 'placeholder',CODE
Redundant / Tautological Comments1 hit · 2 pts
SeverityFileLineSnippetContext
LOWsrc/server/pty-helper.py67 # Set stdout to binary/unbufferedCOMMENT
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOWsrc/server/pty-helper.py14CODE