Your Personal AI super intelligence. A brain that builds a local-first memory of your life, a fantastic orchestrator of agent fleets and workflows, and a deep researcher.
This report presents the forensic synthetic code analysis of tinyhumansai/openhuman, a Rust project with 34,825 GitHub stars. SynthScan v2.0 examined 1,542,118 lines of code across 4955 source files, recording 7818 pattern matches distributed across 14 syntactic categories. The overall adjusted score of 10.1 places this repository in the Low AI signal band.
The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).
This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.
Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.
This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.
The scanner identified 7818 distinct pattern matches across 14 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | app/tailwind.config.js | 37 | // ── Semantic theme tokens (var-backed, themeable at runtime) ───────── | COMMENT |
| MEDIUM | app/test/e2e/mock-server.ts | 21 | // ── Telegram mock helpers ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-composio-tool-flow.spec.ts | 146 | // ── C1.1 — Gmail GMAIL_GET_MAIL ────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-composio-tool-flow.spec.ts | 225 | // ── C1.2 — GitHub GITHUB_LIST_REPOS ────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-composio-tool-flow.spec.ts | 279 | // ── C1.3 — Composio execute failure ────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-composio-tool-flow.spec.ts | 336 | // ── C1.4 — Linear LINEAR_CREATE_ISSUE ──────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-cron-prompt-flow.spec.ts | 180 | // ── CR2.1 — Create cron via natural language ────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-cron-prompt-flow.spec.ts | 274 | // ── CR2.2 — List jobs ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-cron-prompt-flow.spec.ts | 329 | // ── CR2.3 — Update schedule ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-cron-prompt-flow.spec.ts | 411 | // ── CR2.4 — Delete via prompt ───────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/guided-tour-gates.spec.ts | 71 | // ── helpers ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/guided-tour-gates.spec.ts | 201 | // ── suite ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/guided-tour-gates.spec.ts | 222 | // ── Scenario 1: Skills gate ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/guided-tour-gates.spec.ts | 280 | // ── Scenario 2: Chat gate (final step) ──────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/guided-tour-gates.spec.ts | 363 | // ── Scenario 3: Resume after relaunch ───────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-search-tool-flow.spec.ts | 142 | // ── S3.1 — Memory recall ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-search-tool-flow.spec.ts | 214 | // ── S3.2 — Web search ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-search-tool-flow.spec.ts | 277 | // ── S3.3 — File read ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/composio-github-tools-tags.spec.ts | 44 | // ── Fixtures ────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/composio-github-tools-tags.spec.ts | 69 | // ── Seed helper ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/composio-github-tools-tags.spec.ts | 81 | // ── Chat helper ─────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/composio-github-tools-tags.spec.ts | 125 | // ── Suite ───────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/composio-github-tools-tags.spec.ts | 143 | // ── GT.1 — Single tag forwarded and filtered ───────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/composio-github-tools-tags.spec.ts | 185 | // ── GT.2 — OR semantics across multiple tags ───────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/composio-github-tools-tags.spec.ts | 226 | // ── GT.3 — Non-GitHub toolkit strips tags ──────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/composio-github-tools-tags.spec.ts | 273 | // ── GT.4 — Agent prompt triggers starred-repos tool call ───────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 95 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 97 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 121 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 123 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 136 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 138 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 153 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 155 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 201 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 203 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 253 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 255 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 291 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 293 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 332 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 344 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 435 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 441 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 502 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 507 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 596 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 598 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 626 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 628 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 659 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/telegram-channel-flow.spec.ts | 665 | // ────────────────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/logout-relogin-onboarding.spec.ts | 65 | // ── First login: complete onboarding and reach Home ────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/logout-relogin-onboarding.spec.ts | 73 | // ── Logout ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/logout-relogin-onboarding.spec.ts | 108 | // ── Second login (re-login) ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/logout-relogin-onboarding.spec.ts | 123 | // ── Onboarding must appear for the fresh session ───────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/logout-relogin-onboarding.spec.ts | 141 | // ── Onboarding must be in clean first-step state ───────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/mega-flow.spec.ts | 505 | // ── User A login ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/mega-flow.spec.ts | 529 | // ── Switch to user B (mock-only reset — workspace is NOT wiped) ─────── | COMMENT |
| MEDIUM | app/test/e2e/specs/mega-flow.spec.ts | 545 | // ── Re-login as user A to verify persistence claim ──────────────────── | COMMENT |
| 3715 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 61 | # deterministic in-memory capability bundle the flows `dry_run_workflow` agent | COMMENT |
| LOW | Cargo.toml | 81 | # the `rhai_workflows` language-workflow tool (`src/openhuman/rhai_workflows/`). | COMMENT |
| LOW | Cargo.toml | 101 | serde_json = "1" | COMMENT |
| LOW | Cargo.toml | 141 | # Archive extraction for the Node.js runtime bootstrap. Unix Node | COMMENT |
| LOW | Cargo.toml | 241 | # Cross-platform battery probe for the scheduler gate. Maintained fork of | COMMENT |
| LOW | Cargo.toml | 261 | coins-bip39 = "0.8" | COMMENT |
| LOW | Cargo.toml | 321 | # TestTransport only needs the `test` feature. | COMMENT |
| LOW | Cargo.toml | 341 | "tinyjuice/tinyjuice-treesitter", | COMMENT |
| LOW | Cargo.toml | 361 | whatsapp-web = ["tinychannels/whatsapp-web"] | COMMENT |
| LOW | Cargo.toml | 421 | # DWARF generation + linking for every dependency is a dominant, repeated cost | COMMENT |
| LOW | build.rs | 1 | //! Build script for the `openhuman` core crate. | COMMENT |
| LOW | docker-compose.yml | 1 | # OpenHuman Core — Docker Compose for self-hosted cloud deploy. | COMMENT |
| LOW | rust-toolchain.toml | 1 | [toolchain] | COMMENT |
| LOW | pnpm-workspace.yaml | 1 | packages: | COMMENT |
| LOW | .fly/fly.toml | 1 | # .fly/fly.toml — openhuman-core on Fly.io | COMMENT |
| LOW | app/vite.config.ts | 61 | // | COMMENT |
| LOW | app/vite.config.ts | 101 | // that wants a build-time signal in addition to the runtime `isTauri()` | COMMENT |
| LOW | app/vite.config.ts | 141 | react(), | COMMENT |
| LOW | app/test/wdio.conf.ts | 101 | // session-creation error. | COMMENT |
| LOW | app/test/vitest.config.ts | 81 | // lines: 15, | COMMENT |
| LOW | app/test/playwright/specs/tinyplace-messaging.spec.ts | 1 | // UI e2e: tiny.place direct messaging through the real openhuman Messaging | COMMENT |
| LOW | app/test/playwright/helpers/core-rpc.ts | 221 | return; | COMMENT |
| LOW | app/test/e2e/specs/ptt-flow.spec.ts | 281 | COMMENT | |
| LOW | app/test/e2e/specs/ptt-flow.spec.ts | 541 | delete (w as Record<string, unknown>).__e2e_ptt_real_mr; | COMMENT |
| LOW | app/test/e2e/specs/guided-tour-gates.spec.ts | 221 | COMMENT | |
| LOW | app/test/e2e/specs/guided-tour-gates.spec.ts | 241 | COMMENT | |
| LOW | app/test/e2e/specs/guided-tour-gates.spec.ts | 281 | COMMENT | |
| LOW | app/test/e2e/specs/guided-tour-gates.spec.ts | 361 | }); | COMMENT |
| LOW | app/test/e2e/specs/guided-tour-gates.spec.ts | 381 | // when BootCheckGate or auth re-validation delays are present; tooltip | COMMENT |
| LOW | app/test/e2e/specs/voice-mode.spec.ts | 181 | expect(status.stt_available).toBe(false); | COMMENT |
| LOW | app/test/e2e/specs/voice-mode.spec.ts | 381 | // 6.2 — voice_stt_dispatch RPC returns a well-formed result or structured | COMMENT |
| LOW | app/test/e2e/specs/voice-mode.spec.ts | 461 | // into chatSendError('voice_transcription', message). The error banner must | COMMENT |
| LOW | app/test/e2e/specs/voice-mode.spec.ts | 561 | // 'Selected microphone is unavailable — try a different device.' via | COMMENT |
| LOW | app/test/e2e/specs/voice-mode.spec.ts | 661 | // Regression guard. | COMMENT |
| LOW | app/test/e2e/specs/voice-mode.spec.ts | 741 | // The contract is tested at the RPC layer in test 6.2 (voice_stt_dispatch) | COMMENT |
| LOW | app/test/e2e/specs/core-port-conflict-recovery.spec.ts | 101 | // The Tauri app has already been launched by the test harness before | COMMENT |
| LOW | …t/e2e/specs/connectivity-state-differentiation.spec.ts | 161 | // The spec needs to be updated to use `setMockBehavior('httpFaultRules', …)` | COMMENT |
| LOW | …t/e2e/specs/connectivity-state-differentiation.spec.ts | 181 | // window so narrow that it is consistently missed in the e2e harness before | COMMENT |
| LOW | …t/e2e/specs/connectivity-state-differentiation.spec.ts | 201 | // Even with a prior navigateViaHash('/home'), the auth guard may redirect | COMMENT |
| LOW | …t/e2e/specs/connectivity-state-differentiation.spec.ts | 221 | // --------------------------------------------------------------------------- | COMMENT |
| LOW | …t/e2e/specs/connectivity-state-differentiation.spec.ts | 241 | // device-offline copy). Tracked in issue #1527. | COMMENT |
| LOW | …/test/e2e/specs/chat-harness-subagent-continue.spec.ts | 61 | const PROMPT = | COMMENT |
| LOW | app/test/e2e/specs/telegram-channel-flow.spec.ts | 281 | // channels_connect does NOT call getMe (that happens in the polling loop | COMMENT |
| LOW | app/test/e2e/specs/telegram-channel-flow.spec.ts | 321 | COMMENT | |
| LOW | app/test/e2e/specs/telegram-channel-flow.spec.ts | 341 | // window. We assert the mock getUpdates was called and, if a reply appears, | COMMENT |
| LOW | app/test/e2e/specs/telegram-channel-flow.spec.ts | 421 | }); | COMMENT |
| LOW | app/test/e2e/specs/login-flow.spec.ts | 181 | console.log('[LoginFlow] Could not read Redux auth state (persist format may differ)'); | COMMENT |
| LOW | app/test/e2e/specs/mega-flow.spec.ts | 81 | console.log(`${LOG} reset (${label}) — admin reset only (skip destructive core reset)`); | COMMENT |
| LOW | app/test/e2e/specs/mega-flow.spec.ts | 241 | COMMENT | |
| LOW | app/test/e2e/specs/mega-flow.spec.ts | 461 | expect(chats.length).toBeGreaterThan(0); | COMMENT |
| LOW | app/test/e2e/specs/mega-flow.spec.ts | 481 | // ------------------------------------------------------------------------- | COMMENT |
| LOW | app/test/e2e/specs/mega-flow.spec.ts | 561 | // original 1). We assert shape only — this confirms the RPC surface is | COMMENT |
| LOW | app/test/e2e/specs/mega-flow.spec.ts | 801 | // ------------------------------------------------------------------------- | COMMENT |
| LOW | app/test/e2e/specs/harness-channel-bridge-flow.spec.ts | 661 | [{ finish: 'stop' }] | COMMENT |
| LOW | app/src-tauri-mobile/src/lib.rs | 1 | // OpenHuman mobile (iOS + Android) Tauri host. | COMMENT |
| LOW | app/scripts/e2e-preflight.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | app/scripts/e2e-agent-review.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | app/scripts/e2e-run-spec.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | app/scripts/e2e-run-shards.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | app/scripts/e2e-build.sh | 41 | echo "No usable .env at $REPO_ROOT/.env — skipping load-dotenv (optional for CI)." | COMMENT |
| 3186 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | Cargo.toml | 69 | # TinyAgents — Rust LLM orchestration framework (LangGraph/LangChain-style): | COMMENT |
| MEDIUM⚡ | Cargo.toml | 71 | # `.rag` workflow language. openhuman's agent engine + orchestration run on this | COMMENT |
| MEDIUM | …/test/e2e/specs/conversations-web-channel-flow.spec.ts | 56 | // mock's agentic detection path (triggered by the orchestrator sending | COMMENT |
| MEDIUM | app/scripts/e2e-web-session.sh | 107 | # default-on first-turn "super context" scout adds an extra agentic call that | COMMENT |
| MEDIUM | app/scripts/e2e-web-session.sh | 135 | # orchestration builds large async futures and can overflow the default stack. | COMMENT |
| MEDIUM⚡ | app/scripts/e2e-run-all-flows.sh | 88 | # shared session. The old per-spec orchestration paid CEF cold-start tax on | COMMENT |
| MEDIUM | app/src-tauri/src/gmessages_scanner/mod.rs | 30 | //! When this module is promoted from scaffold to running scanner, | COMMENT |
| MEDIUM | app/src/components/layout/PanelPage.tsx | 99 | // Single-body panel: the page header *is* the scaffold header. | COMMENT |
| MEDIUM | app/src/hooks/useUsageState.test.ts | 269 | // OpenRouter key and routed reasoning/agentic/coding away from | COMMENT |
| MEDIUM | app/src/hooks/useUsageState.test.ts | 314 | // logic only consults CHAT_WORKLOADS (chat/reasoning/agentic/coding). | COMMENT |
| MEDIUM | app/src/hooks/useUsageState.test.ts | 411 | // User has saved an OpenRouter key for agentic+coding but left reasoning | COMMENT |
| MEDIUM | app/src/lib/i18n/en.ts | 4228 | // Orchestration tab (#3375) — multi-agent workflow runs. | COMMENT |
| MEDIUM | app/src/pages/Brain.tsx | 262 | // scaffold below and stay flush). | COMMENT |
| MEDIUM | app/src/pages/Brain.tsx | 277 | // Bespoke tabs share the standard scaffold: a single scrolling body, | COMMENT |
| MEDIUM | app/src/pages/__tests__/Brain.test.tsx | 177 | // two-pane shell; the bespoke tabs share the standard scaffold. Drive each via | COMMENT |
| MEDIUM | app/src/services/api/aiSettingsApi.ts | 72 | // the managed `vision-v1` tier and is a delegate (like agentic BYOK), so it does | COMMENT |
| MEDIUM | tests/calendar_grounding_e2e.rs | 197 | // `integrations_agent` ships with `[model] hint = "agentic"`. After | COMMENT |
| MEDIUM | tests/composio_list_tools_stack_overflow_regression.rs | 378 | // "agentic"`, which would otherwise build a fresh provider via the | COMMENT |
| MEDIUM | tests/json_rpc_e2e.rs | 10165 | // The brain turn runs the full agentic path (`run_single`) before it | COMMENT |
| MEDIUM | tests/json_rpc_e2e.rs | 10171 | // agentic timeout. Poll generously (up to ~12 s) so the assertion tracks | COMMENT |
| MEDIUM | tests/memory_fast_retrieve_e2e.rs | 3 | //! These replace the old agentic `memory_tree_walk_e2e.rs`. There is no LLM in | COMMENT |
| MEDIUM | tests/agent_retrieval_e2e.rs | 189 | // Simple recall/store operations stay direct so they do not pay an agentic | COMMENT |
| MEDIUM | gitbooks/developing/architecture.md | 299 | - **Hosted-only brain** — the client-local orchestration graph engine (`src/openhuman/orchestration/graph/`) was retired | CODE |
| MEDIUM | gitbooks/developing/architecture/orchestration.md | 1 | # Subconscious orchestration layer | COMMENT |
| MEDIUM | gitbooks/developing/architecture/agent-harness.md | 194 | ### Why multi-agent | COMMENT |
| MEDIUM | gitbooks/developing/architecture/agent-harness.md | 447 | > **Status (issue #4249, superseded by the published `tinyagents` crate):** the in-house `agent_graph` engine described | CODE |
| MEDIUM | gitbooks/developing/architecture/agent-harness.md | 449 | ## Agent engine + orchestration on tinyagents (live) | COMMENT |
| MEDIUM | gitbooks/features/orchestration.md | 33 | ## 5. Encrypted orchestration across machines | COMMENT |
| MEDIUM | gitbooks/features/tinyplace.md | 24 | ## Agents talking to agents: orchestration sessions | COMMENT |
| MEDIUM | docs/TEST-COVERAGE-MATRIX.md | 486 | | 11.1.14 | MCP "Help & configure" assistant | VU/RU | `app/src/components/channels/m | CODE |
| MEDIUM | docs/tinyagents-drift-ledger.md | 68 | | P1-9 | Harness turn path (`Agent`/`AgentTurnRequest`) carries `Arc<dyn Provider>`, not a crate `ChatModel` | **BLOCKED | CODE |
| MEDIUM | docs/plans/rlm-workflows/phase-3-rlm-domain.md | 14 | ├── ops.rs # eval_cell orchestration: spawn_blocking, cancel, events | CODE |
| MEDIUM | …lans/subconscious-factory/phase-3-tinyplace-profile.md | 1 | # Phase 3 — The tiny.place profile (orchestration steering) | COMMENT |
| MEDIUM | …lans/subconscious-factory/phase-3-tinyplace-profile.md | 38 | ## 3.2 Refactor of `orchestration::ops` | COMMENT |
| MEDIUM | docs/scoping/master-chat.md | 220 | ### Design pivot — agentic tools, not static seed (branch `feat/master-chat-orchestration-tools`) | COMMENT |
| MEDIUM | docs/scoping/master-chat.md | 220 | ### Design pivot — agentic tools, not static seed (branch `feat/master-chat-orchestration-tools`) | COMMENT |
| MEDIUM | …ers/specs/2026-07-09-cursor-windsurf-harness-design.md | 63 | ### Rust core — `src/openhuman/orchestration/` | COMMENT |
| MEDIUM | scripts/test-rust-e2e.sh | 130 | # (the typed sub-agent runner + the full agentic brain turn exercised by | COMMENT |
| MEDIUM | scripts/ci/orch-ip-gate.sh | 3 | # CI gate: the local orchestration "brain" (reasoning/wake graph, its prompt | COMMENT |
| MEDIUM | scripts/ci/orch-ip-gate.sh | 27 | # 3. Any orchestration prompt.md asset (the proprietary prompt IP). | COMMENT |
| MEDIUM | scripts/cef-with-codecs/build-cef-with-codecs.sh | 97 | # `automate-git.py` orchestrates: chromium fetch / sync, depot_tools | COMMENT |
| MEDIUM | .github/workflows/build-desktop.yml | 457 | # orchestration twice. We now resolve libcef.so cheaply and bundle in | COMMENT |
| MEDIUM | .github/workflows/ci-lite.yml | 644 | # Fail if the retired local orchestration brain (reasoning/wake graph, | COMMENT |
| MEDIUM | src/openhuman/agent_registry/agents/loader.rs | 757 | // pay a blocking agentic round-trip (over-delegation, #4744) that | COMMENT |
| MEDIUM | src/openhuman/agent_registry/agents/loader.rs | 1369 | // agentic/reasoning tiers. | COMMENT |
| MEDIUM | src/openhuman/agent_registry/agents/loader.rs | 1520 | // workflow and provider routing still preserves explicit agentic BYOK. | COMMENT |
| MEDIUM | src/openhuman/agent_registry/agents/loader.rs | 1662 | // Hint must be agentic — the agent reasons about market shape vs. | COMMENT |
| MEDIUM | …nhuman/agent_registry/agents/trigger_triage/agent.toml | 10 | # need the identity preamble, safety scaffolding, or skills catalog. | COMMENT |
| MEDIUM | …openhuman/agent_registry/agents/goals_agent/agent.toml | 15 | # Cloud "agentic" model like other background specialists (researcher, | COMMENT |
| MEDIUM | …human/agent_registry/agents/trigger_reactor/agent.toml | 29 | # deliver. The `agentic` hint routes to the backend's agentic tier | COMMENT |
| MEDIUM | …c/openhuman/agent_registry/agents/mcp_agent/agent.toml | 16 | # wants the agentic tier rather than the fast chat tier. | COMMENT |
| MEDIUM | …enhuman/agent_registry/agents/context_scout/agent.toml | 38 | # pricier agentic/reasoning tiers. Resolves to `burst-v1` on the managed backend. | COMMENT |
| MEDIUM | …penhuman/agent_registry/agents/orchestrator/agent.toml | 30 | # intent. That cost a blocking agentic round-trip per turn for a guarantee | COMMENT |
| MEDIUM | …penhuman/agent_registry/agents/orchestrator/agent.toml | 237 | # agentic round-trip (over-delegation, #4744) that can hang or — as observed — | COMMENT |
| MEDIUM | src/openhuman/tools/traits.rs | 36 | /// with the backend's `agentic` model hint), and others scoped to | COMMENT |
| MEDIUM | src/openhuman/memory/query/fast_walk.rs | 1 | //! Deterministic replacement for the former agentic `walk` / `smart_walk` | COMMENT |
| MEDIUM | src/openhuman/meet_agent/session.rs | 520 | // phase still blocks because spawning a parallel agentic turn | COMMENT |
| MEDIUM | src/openhuman/meet_agent/mod.rs | 16 | //! audio. A live agentic loop is the opposite shape: a session registry, | COMMENT |
| MEDIUM | src/openhuman/meet_agent/rpc.rs | 421 | // The agentic path builds an orchestrator Agent on first wake | COMMENT |
| MEDIUM | src/openhuman/meet_agent/rpc.rs | 423 | // even in a minimal test environment. Failing the agentic path | COMMENT |
| 78 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/vite.config.ts | 82 | function guardCefRelListSupportsPlugin(): PluginOption { | CODE |
| LOW | app/test/wdio.conf.ts | 52 | async function resetMockBackendOncePerSpecFile(specFile: string | undefined): Promise<void> { | CODE |
| LOW | app/test/playwright/specs/notifications.spec.ts | 18 | async function waitForNotificationsSections(page: Page): Promise<void> { | CODE |
| LOW | app/test/playwright/specs/voice-mode.spec.ts | 62 | async function switchChatIntoMicComposer(page: Page): Promise<void> { | CODE |
| LOW | …test/playwright/specs/settings-advanced-config.spec.ts | 21 | async function waitForAdvancedRouteReady(page: Page): Promise<void> { | CODE |
| LOW | …playwright/specs/settings-channels-permissions.spec.ts | 10 | async function getDefaultMessagingChannel( | CODE |
| LOW | …/playwright/specs/settings-feature-preferences.spec.ts | 24 | async function getDefaultMessagingChannel(page: Page): Promise<string | null> { | CODE |
| LOW | …/playwright/specs/settings-feature-preferences.spec.ts | 89 | async function getPersistedSelectedMascotId(page: Page): Promise<string | null> { | CODE |
| LOW | …/playwright/specs/settings-feature-preferences.spec.ts | 113 | async function installMascotManifestMock(page: Page): Promise<void> { | CODE |
| LOW | …/playwright/specs/settings-account-preferences.spec.ts | 28 | async function ensureRecoveryPhraseGenerateMode(page: Page): Promise<void> { | CODE |
| LOW | app/test/playwright/specs/onboarding-modes.spec.ts | 42 | async function expectOnboardingCompleted(): Promise<void> { | CODE |
| LOW | app/test/playwright/specs/onboarding-modes.spec.ts | 61 | async function ensureHomeOrForceComplete(page: Page): Promise<void> { | CODE |
| LOW | app/test/playwright/helpers/core-rpc.ts | 64 | async function applyBrowserCoreModeInPage(page: Page): Promise<void> { | CODE |
| LOW | app/test/playwright/helpers/core-rpc.ts | 122 | export async function bootRuntimeReadyGuestPage(page: Page): Promise<void> { | CODE |
| LOW | app/test/playwright/helpers/core-rpc.ts | 181 | export async function dismissWalkthroughIfPresent(page: Page): Promise<void> { | CODE |
| LOW | app/test/playwright/helpers/core-rpc.ts | 264 | async function waitForAuthenticatedSnapshot(page: Page): Promise<void> { | CODE |
| LOW | app/test/e2e/specs/notifications.spec.ts | 30 | async function waitForNotificationsSections(timeout = 10_000): Promise<void> { | CODE |
| LOW | app/test/e2e/specs/chat-harness-wallet-flow.spec.ts | 88 | async function clickRecoveryConsentCheckbox(): Promise<void> { | CODE |
| LOW | app/test/e2e/specs/guided-tour-gates.spec.ts | 116 | async function dispatchWalkthroughRestart(): Promise<void> { | CODE |
| LOW | app/test/e2e/specs/accounts-provider-modal.spec.ts | 35 | async function getVisiblePickerProviderIds(): Promise<string[]> { | CODE |
| LOW | app/test/e2e/specs/settings-feature-preferences.spec.ts | 48 | async function defaultMessagingChannelFromStore(): Promise<string | null> { | CODE |
| LOW | app/test/e2e/specs/chat-harness-subagent.spec.ts | 133 | async function hasRenderedSubagentTimeline(): Promise<boolean> { | CODE |
| LOW | app/test/e2e/specs/harness-channel-bridge-flow.spec.ts | 143 | async function disconnectTelegramChannel(): Promise<void> { | CODE |
| LOW | app/test/e2e/specs/onboarding-modes.spec.ts | 104 | async function resetOnboardingFlagAndReload(): Promise<void> { | CODE |
| LOW | app/test/e2e/specs/onboarding-modes.spec.ts | 159 | async function advanceFromWelcomeToCustomInference(phase: string): Promise<void> { | CODE |
| LOW | app/test/e2e/helpers/shared-flows.ts | 61 | export async function waitForAddAccountModalClosed(timeout = 5_000): Promise<void> { | CODE |
| LOW | app/test/e2e/helpers/shared-flows.ts | 529 | async function onboardingOverlayLikelyVisible(): Promise<boolean> { | CODE |
| LOW⚡ | app/test/e2e/helpers/shared-flows.ts | 548 | export async function isOnboardingOverlayVisible(): Promise<boolean> { | CODE |
| LOW⚡ | app/test/e2e/helpers/shared-flows.ts | 552 | export async function waitForOnboardingOverlayVisible(timeout = 10_000): Promise<boolean> { | CODE |
| LOW⚡ | app/test/e2e/helpers/shared-flows.ts | 561 | export async function waitForOnboardingOverlayHidden(timeout = 10_000): Promise<boolean> { | CODE |
| LOW⚡ | app/test/e2e/helpers/shared-flows.ts | 570 | export async function dismissWalkthroughIfVisible(timeout = 6_000): Promise<boolean> { | CODE |
| LOW | app/test/e2e/helpers/shared-flows.ts | 610 | export async function dismissBootCheckGateIfVisible(timeoutMs = 12_000): Promise<boolean> { | CODE |
| LOW | app/test/e2e/helpers/shared-flows.ts | 650 | async function waitForPostOnboardingHome(logPrefix, timeout = 20_000) { | CODE |
| LOW | app/test/e2e/helpers/shared-flows.ts | 798 | export async function completeOnboardingIfVisible(logPrefix = '[E2E]') { | CODE |
| LOW | app/test/e2e/helpers/loopback-auth-helpers.ts | 155 | async function dismissBootCheckGateInline(): Promise<void> { | CODE |
| LOW | app/test/e2e/helpers/loopback-auth-helpers.ts | 174 | export async function triggerAuthLoopbackBypass(userId: string = 'e2e-user'): Promise<void> { | CODE |
| LOW | app/test/e2e/helpers/deep-link-helpers.ts | 74 | function supportsWebDriverScriptExecute(): boolean { | CODE |
| LOW | app/test/e2e/helpers/deep-link-helpers.ts | 97 | async function trySimulateDeepLinkInWebView(url: string): Promise<boolean> { | CODE |
| LOW | app/test/e2e/helpers/deep-link-helpers.ts | 367 | export async function triggerAuthDeepLinkBypass(userId: string = 'e2e-user'): Promise<void> { | CODE |
| LOW | app/test/e2e/helpers/deep-link-helpers.ts | 385 | async function dismissBootCheckGateIfVisibleInline(timeoutMs = 8_000): Promise<boolean> { | CODE |
| LOW | app/test/e2e/helpers/telegram.ts | 95 | function normalizeTelegramSentMessage(entry: SentMessage): SentMessage { | CODE |
| LOW | app/test/e2e/helpers/composio-helpers.ts | 52 | export async function assertConnectorCardVisible(name: string, timeout = 15_000): Promise<void> { | CODE |
| LOW | app/test/e2e/helpers/chat-harness.ts | 342 | export async function waitForAssistantReplyContaining( | CODE |
| LOW | app/src-tauri/src/cdp/session.rs | 459 | function ensureNotificationGranted(){\ | CODE |
| LOW | app/src-tauri/src/meet_video/camera_bridge.js | 354 | async function collectOutboundVideoStats() { | CODE |
| LOW | app/src-tauri/src/webview_accounts/runtime.js | 129 | (function installGetDisplayMediaShim() { | CODE |
| LOW | app/src/providers/ChatRuntimeProvider.tsx | 155 | function getOrCreateSegmentDelivery( | CODE |
| LOW | app/src/providers/ChatRuntimeProvider.tsx | 155 | function getOrCreateSegmentDelivery( | CODE |
| LOW | app/src/providers/ChatRuntimeProvider.tsx | 195 | function hasCompleteSegmentDelivery( | CODE |
| LOW | app/src/providers/ChatRuntimeProvider.tsx | 293 | function maybeParseWorkflowProposalTool( | CODE |
| LOW | app/src/providers/CoreStateProvider.tsx | 115 | export function coreStatePollFailureWarningMessage(failureCount: number): string | null { | CODE |
| LOW | app/src/providers/CoreStateProvider.tsx | 128 | export function coreStatePollFailureDebugMessage(failureCount: number): string | null { | CODE |
| LOW | …ders/__tests__/CoreStateProvider.identityFlip.test.tsx | 93 | function seedAccountsWithUserAData() { | CODE |
| LOW | …rc/features/autocomplete/useAutocompleteSkillStatus.ts | 22 | export function useAutocompleteSkillStatus(): AutocompleteSkillStatus { | CODE |
| LOW | app/src/features/meet/useMeetingMascots.ts | 97 | export function computeMeetingMascotsRenderState( | CODE |
| LOW | app/src/features/conversations/Conversations.tsx | 241 | export function isComposerInteractionBlocked(args: { | CODE |
| LOW | app/src/features/conversations/utils/format.ts | 14 | export function getInlineCompletionSuffix(input: string, suggestion: string): string { | CODE |
| LOW | app/src/features/conversations/utils/format.ts | 46 | export function buildAcceptedInlineCompletion(input: string, suffix: string): string { | CODE |
| LOW | …/conversations/components/BackgroundProcessesPanel.tsx | 44 | export function selectBackgroundProcesses(timeline: ToolTimelineEntry[]): BackgroundProcess[] { | CODE |
| LOW | app/src/features/wallet/setupLocalWalletFromMnemonic.ts | 9 | export async function persistLocalWalletFromMnemonic(args: { | CODE |
| 262 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | Cargo.toml | 70 | # durable state graphs, agent-loop harness, model/tool registries, REPL + | COMMENT |
| MEDIUM⚡ | Cargo.toml | 73 | # #4249): every turn drives through the harness; the workflow phase DAG, team | COMMENT |
| MEDIUM | …test/playwright/specs/chat-tool-error-recovery.spec.ts | 126 | // visible during the transition. `.first()` keeps the assertion robust | COMMENT |
| MEDIUM | app/test/e2e/specs/chat-harness-send-stream.spec.ts | 167 | // asserting the whole map is empty) keeps the assertion robust to | COMMENT |
| MEDIUM | app/test/e2e/specs/voice-mode.spec.ts | 746 | // Tracked: issue #1610. Remove skip when the test harness supports audio | COMMENT |
| MEDIUM | app/test/e2e/specs/chat-tool-call-flow.spec.ts | 213 | // Accept >=2 to be robust against retries or additional system turns. | COMMENT |
| MEDIUM | app/test/e2e/specs/chat-harness-subagent.spec.ts | 16 | * called (#4517): the sub-agent's own harness loop plus any ancillary | COMMENT |
| MEDIUM | app/test/e2e/specs/chat-harness-subagent.spec.ts | 255 | // Accept ≥2 to stay robust against orchestrator-skipping or tool-loop | COMMENT |
| MEDIUM | app/test/e2e/specs/onboarding-modes.spec.ts | 273 | // Explicitly click the Cloud card so the test is robust against the | COMMENT |
| MEDIUM | app/scripts/e2e-run-spec.sh | 4 | # unified session runner. The harness no longer has separate driver paths | COMMENT |
| MEDIUM⚡ | app/scripts/e2e-run-all-flows.sh | 253 | # Chat & agent harness | COMMENT |
| MEDIUM | app/src-tauri/Cargo.toml | 72 | # but we opt into the feature to stay robust against unexpected responses. | COMMENT |
| MEDIUM | app/src-tauri/Cargo.toml | 134 | # `openhuman-core run` harness when one is already listening. | COMMENT |
| MEDIUM | app/src-tauri/src/core_process_tests.rs | 393 | // robust enough for a single-shot test. | COMMENT |
| MEDIUM | app/src-tauri/src/imessage_scanner/mod.rs | 531 | // year is 2000 or 2001 — keeps the test robust across CI timezones. | COMMENT |
| MEDIUM | …ersations/components/__tests__/SubagentDrawer.test.tsx | 273 | // Case-robust: the label may be rendered as "Cancelled" or "cancelled". | COMMENT |
| MEDIUM | app/src/components/ConnectionIndicator.tsx | 78 | // Simplified two-state label (the dot colour still reflects the nuanced | COMMENT |
| MEDIUM | app/src/components/layout/TwoPanelLayout.tsx | 249 | // In seamless mode the card lives on the wrapper that holds both panes, so the | COMMENT |
| MEDIUM | tests/agent_harness_e2e.rs | 347 | # Most harness tests script the mock-LLM call sequence exactly; the default-on | COMMENT |
| MEDIUM | tests/json_rpc_e2e.rs | 137 | // request body (`when_contains`). That gate is what makes the arc robust against | COMMENT |
| MEDIUM | scripts/test-rust-with-mock.sh | 45 | # The agent harness test surface includes very large async futures in debug | COMMENT |
| MEDIUM | scripts/test-rust-with-mock.sh | 52 | # The tinyagents harness is the agent engine on every build now (issue #4249); | COMMENT |
| MEDIUM | scripts/test-rust-e2e.sh | 129 | # The agent-harness E2E surface drives very large async futures in debug builds | COMMENT |
| MEDIUM | scripts/debug/cli.sh | 4 | # Commands: unit | e2e | rust | logs | harness-cache-audit | COMMENT |
| MEDIUM | .github/workflows/test-reusable.yml | 130 | # Deep async agent-harness tests can overflow libtest's default ~2 MB | COMMENT |
| MEDIUM | .github/workflows/e2e-reusable.yml | 555 | # Pin to 2022 for the CEF/Appium harness. As of June 2026, | COMMENT |
| MEDIUM | .github/workflows/e2e-reusable.yml | 557 | # whisper-rs-sys' CMake build exits with 0xc0000142 before the harness can | COMMENT |
| MEDIUM | .github/workflows/ci-lite.yml | 412 | # harness) overflow the default ~2 MB test-thread stack and SIGABRT the | COMMENT |
| MEDIUM | .github/workflows/ci-lite.yml | 463 | # The tinyagents harness is the agent engine on every build now | COMMENT |
| MEDIUM | .github/workflows/ci-full.yml | 126 | # server + node harness), not just the cargo segments the inner | COMMENT |
| MEDIUM | .github/workflows/e2e.yml | 5 | # to mega-flow but can target a narrower spec, such as the Appium harness smoke | COMMENT |
| MEDIUM | e2e/tinyplace-messaging/run-ui.sh | 5 | # Reuses the app's standard web-session harness (app/scripts/e2e-web-session.sh) | COMMENT |
| MEDIUM | e2e/tinyplace-messaging/run-ui.sh | 69 | # 3) Run the spec through the web session harness. | COMMENT |
| MEDIUM | …penhuman/agent_registry/agents/orchestrator/agent.toml | 12 | # fast path. See `AgentTier` in `src/openhuman/agent/harness/definition.rs`. | COMMENT |
| MEDIUM | …penhuman/agent_registry/agents/orchestrator/agent.toml | 330 | # Coding-harness coordination primitives from #1208. `todo` is the | COMMENT |
| MEDIUM | …penhuman/agent_registry/agents/orchestrator/agent.toml | 354 | # harness injects the active goal into context each turn and can auto-continue | COMMENT |
| MEDIUM | …enhuman/agent_registry/agents/code_executor/agent.toml | 19 | # Coding-harness primitives from #1208 (grep/glob/list/edit/apply_patch/ | COMMENT |
| MEDIUM | src/openhuman/artifacts/store_tests.rs | 269 | // artifact_id + workspace_dir keeps the test robust against parallel | COMMENT |
| MEDIUM | src/openhuman/tools/user_filter.rs | 369 | /// Reuses [`expand_enabled_tool_names`] so it is robust to both persisted | COMMENT |
| MEDIUM | src/openhuman/tools/ops.rs | 1094 | /// only memory + thread/todo tools remain. This is the strict #4796 harness | COMMENT |
| MEDIUM | src/openhuman/context/session_memory.rs | 101 | // already recorded. This is robust to providers that report | COMMENT |
| MEDIUM | src/openhuman/runtime_node/downloader.rs | 133 | /// lines are skipped to be robust against trailing newlines or signature | COMMENT |
| MEDIUM | src/openhuman/tinyplace/payment.rs | 258 | /// The robust cross-check is now implemented as [`ensure_backend_mint_matches`], | COMMENT |
| MEDIUM | src/openhuman/agent/dispatcher.rs | 73 | /// This is robust and works well with models that aren't natively trained for | COMMENT |
| MEDIUM⚡ | src/openhuman/agent/tests.rs | 1195 | // Should not panic; robust parser recovers the JSON tool call. | COMMENT |
| MEDIUM | src/openhuman/agent/tools/plan_exit.rs | 12 | //! (referenced in issue #1205) will wire the harness side. | COMMENT |
| MEDIUM | …c/openhuman/agent/harness/subagent_runner/ops/graph.rs | 255 | // Live transcript snapshot sink (#4466): the harness owns the working message | COMMENT |
| MEDIUM | …c/openhuman/agent/harness/subagent_runner/ops/graph.rs | 341 | // #4466: the harness dropped its partial transcript, but the snapshot | COMMENT |
| MEDIUM | src/openhuman/tinyagents/mod.rs | 146 | /// (issue #4746). Applied as the harness `RunLimits::max_wall_clock_ms` so the | COMMENT |
| MEDIUM | src/openhuman/tinyagents/mod.rs | 183 | // Wall-clock ceiling for the whole turn (issue #4746). The harness bounds | COMMENT |
| MEDIUM | src/openhuman/tinyagents/mod.rs | 961 | // Context-compression provenance (issue #4249, 03.1 item 6): the harness's | COMMENT |
| MEDIUM | src/openhuman/tinyagents/mod.rs | 1847 | // task, but capturing here keeps the wiring robust). When present they fire | COMMENT |
| MEDIUM | src/openhuman/tinyagents/tests.rs | 764 | /// Issue #4746: the harness bounds each model/tool/sub-agent call by the run's | COMMENT |
| MEDIUM | src/openhuman/orchestration/types.rs | 582 | r#"{"envelope_version":"tinyplace.harness.session.v1","scope":{"harness_session_id":""}}"# | CODE |
| MEDIUM | src/openhuman/orchestration/types.rs | 849 | r#"{"envelope_version":"tinyplace.harness.session.v3","scope":{"harness_session_id":"h"}}"# | CODE |
| MEDIUM | src/openhuman/orchestration/types.rs | 854 | r#"{"envelope_version":"tinyplace.harness.session.v2","scope":{"harness_session_id":""}}"# | CODE |
| MEDIUM | src/openhuman/orchestration/store.rs | 869 | // inbound message on the ask session is the answer. A robust many-in-flight | COMMENT |
| MEDIUM | src/openhuman/orchestration/ingest.rs | 1474 | // Regression for the silent drop (#4583). A wrapped Claude harness stamps | COMMENT |
| MEDIUM | src/openhuman/inference/voice/hallucination.rs | 5 | //! This module provides a robust detector that catches: | COMMENT |
| MEDIUM | src/openhuman/skills/run_log.rs | 341 | // `:` and trimming both halves is robust to that padding without | COMMENT |
| 7 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/test/e2e/specs/ptt-flow.spec.ts | 113 | // Step 1: settings → voice → PttSettingsPanel. | COMMENT |
| LOW | app/test/e2e/specs/ptt-flow.spec.ts | 217 | // Step 8: overlay window is created lazily by register_ptt_hotkey. | COMMENT |
| LOW | app/test/e2e/specs/harness-channel-bridge-flow.spec.ts | 680 | // Step 1: navigate to web chat and start sending (does NOT await reply yet). | COMMENT |
| LOW | app/test/e2e/specs/harness-channel-bridge-flow.spec.ts | 704 | // Step 2: While streaming, set up the Telegram forced response and inject | COMMENT |
| LOW | app/test/e2e/specs/harness-channel-bridge-flow.spec.ts | 735 | // Step 3: Wait for the web chat reply to complete (stream all chunks). | COMMENT |
| LOW | app/test/e2e/helpers/chat-harness.ts | 85 | // Step 1: Focus via JS — avoids the coordinate-based click that gets | COMMENT |
| LOW⚡ | app/test/e2e/helpers/chat-harness.ts | 99 | // Step 2: Clear existing content. el.select() inside browser.execute already | COMMENT |
| LOW⚡ | app/test/e2e/helpers/chat-harness.ts | 106 | // Step 3: Type the text using real OS-level keyboard events (browser.keys). | COMMENT |
| LOW⚡ | app/src/components/settings/panels/DevWorkflowPanel.tsx | 156 | // Step 1: Check if GitHub is connected via Composio | COMMENT |
| LOW⚡ | app/src/components/settings/panels/DevWorkflowPanel.tsx | 169 | // Step 2: Fetch repos via composio_execute | COMMENT |
| LOW⚡ | app/src/components/settings/panels/DevWorkflowPanel.tsx | 176 | // Step 3: Parse response — GitHub API returns an array of repo objects | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 58 | // Step 1: Is GitHub connected via Composio? | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 67 | // Step 2: Fetch repos. | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 71 | // Step 3: Parse — GitHub API returns an array of repo objects; | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 105 | // Step 1: Push 5 candidates spanning multiple classes. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 132 | // Step 2: Run rebuild. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 139 | // Step 3: Verify all 5 candidates are now Active. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 148 | // Step 4: Render PROFILE.md via the renderer. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 187 | // Step 5: Pin the style/verbosity facet. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 216 | // Step 6: Forget the identity/name facet. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 241 | // Step 7: list_facets — verify shape. | COMMENT |
| LOW | gitbooks/features/cloud-deploy.md | 469 | ### Step 1: Launch the app | COMMENT |
| LOW | gitbooks/features/cloud-deploy.md | 478 | ### Step 2: Configure `.fly/fly.toml` | COMMENT |
| LOW | gitbooks/features/cloud-deploy.md | 524 | ### Step 3: Create a persistent volume | COMMENT |
| LOW | gitbooks/features/cloud-deploy.md | 533 | ### Step 4: Set secrets | COMMENT |
| LOW | gitbooks/features/cloud-deploy.md | 555 | ### Step 5: Deploy | COMMENT |
| LOW | gitbooks/features/cloud-deploy.md | 567 | ### Step 6: Point the desktop app at the hosted core | COMMENT |
| LOW⚡ | scripts/test-ci-local.sh | 118 | # Step 1: Ensure OpenSSL is installed | COMMENT |
| LOW⚡ | scripts/test-ci-local.sh | 122 | # Step 2: Install Node dependencies | COMMENT |
| LOW⚡ | scripts/test-ci-local.sh | 126 | # Step 3: Install skills dependencies and build | COMMENT |
| LOW⚡ | scripts/test-ci-local.sh | 130 | # Step 4: Build frontend | COMMENT |
| LOW⚡ | scripts/test-ci-local.sh | 134 | # Step 5: Build Tauri (aarch64) | COMMENT |
| LOW⚡ | scripts/deep-work/start.sh | 49 | # Step 0: Ensure we're on main and synced | COMMENT |
| LOW⚡ | scripts/deep-work/start.sh | 54 | # Step 1: Fetch issue details | COMMENT |
| LOW | scripts/deep-work/start.sh | 119 | # Step 2: Planning phase | COMMENT |
| LOW | scripts/deep-work/start.sh | 157 | # Step 3: Implementation phase | COMMENT |
| LOW | scripts/deep-work/start.sh | 200 | # Step 6: Memory updates | COMMENT |
| LOW | scripts/deep-work/start.sh | 222 | # Step 7: Commit | COMMENT |
| LOW | scripts/deep-work/start.sh | 246 | # Step 8: Merge main and resolve conflicts | COMMENT |
| LOW | scripts/deep-work/start.sh | 265 | # Step 9: Push and create draft PR | COMMENT |
| LOW | scripts/deep-work/start.sh | 319 | # Step 10: Review cycle | COMMENT |
| LOW | scripts/deep-work/start.sh | 340 | # Step 11: Mark ready for review (user confirmation) | COMMENT |
| LOW | scripts/deep-work/start.sh | 360 | # Step 12: Cleanup (user confirmation) | COMMENT |
| LOW | src/openhuman/mcp_registry/store.rs | 877 | // Step 1: pre-migration schema (no transport / deployment_url). | COMMENT |
| LOW⚡ | src/openhuman/mcp_registry/store.rs | 903 | // Step 2: simulate the upgrade path — re-run init_schema, which | COMMENT |
| LOW⚡ | src/openhuman/mcp_registry/store.rs | 911 | // Step 3: the legacy row loads as Transport::Stdio. | COMMENT |
| LOW⚡ | src/openhuman/learning/stability_detector.rs | 221 | // Step 4: for each distinct value, compute a candidate score. | COMMENT |
| LOW⚡ | src/openhuman/learning/stability_detector.rs | 224 | // Step 5: compute stability of the winning (class, key) aggregate. | COMMENT |
| LOW | src/openhuman/learning/stability_detector.rs | 241 | // Step 7: state assignment. | COMMENT |
| LOW | src/openhuman/memory_sync/composio/periodic.rs | 361 | // Step 0: scheduler-gate check. When the user has paused Memory Tree | COMMENT |
| LOW⚡ | src/openhuman/memory_sync/composio/periodic.rs | 395 | // Step 1: load config (also gives us the auth token via the | COMMENT |
| LOW⚡ | src/openhuman/memory_sync/composio/periodic.rs | 402 | // Step 2: list active connections — mode-aware. Backend mode walks | COMMENT |
| LOW⚡ | src/openhuman/voice/text_input.rs | 56 | // Step 1: Save current clipboard. | COMMENT |
| LOW⚡ | src/openhuman/voice/text_input.rs | 64 | // Step 2: Write transcription to clipboard. | COMMENT |
| LOW⚡ | src/openhuman/voice/text_input.rs | 70 | // Step 3: Brief delay to let clipboard write settle, then simulate paste. | COMMENT |
| LOW | src/openhuman/voice/text_input.rs | 107 | // Step 4: Restore clipboard after a delay (non-blocking). | COMMENT |
| LOW⚡ | src/openhuman/keyring/encrypted_store_tests.rs | 661 | // Step 1: create the key file and produce a ciphertext to decrypt later. | COMMENT |
| LOW⚡ | src/openhuman/keyring/encrypted_store_tests.rs | 670 | // Step 2: clear the in-memory cache so the next decrypt reads from disk. | COMMENT |
| LOW⚡ | src/openhuman/keyring/encrypted_store_tests.rs | 673 | // Step 3: corrupt the ACL — strip inheritance AND add an explicit DENY for | COMMENT |
| LOW | src/openhuman/keyring/encrypted_store_tests.rs | 687 | // Step 4: check whether the lock actually made the file unreadable. | COMMENT |
| 18 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/test/e2e/specs/ptt-flow.spec.ts | 113 | // Step 1: settings → voice → PttSettingsPanel. | COMMENT |
| LOW | app/test/e2e/specs/ptt-flow.spec.ts | 217 | // Step 8: overlay window is created lazily by register_ptt_hotkey. | COMMENT |
| LOW | app/test/e2e/specs/harness-channel-bridge-flow.spec.ts | 680 | // Step 1: navigate to web chat and start sending (does NOT await reply yet). | COMMENT |
| LOW | app/test/e2e/specs/harness-channel-bridge-flow.spec.ts | 704 | // Step 2: While streaming, set up the Telegram forced response and inject | COMMENT |
| LOW | app/test/e2e/specs/harness-channel-bridge-flow.spec.ts | 735 | // Step 3: Wait for the web chat reply to complete (stream all chunks). | COMMENT |
| LOW | app/test/e2e/helpers/chat-harness.ts | 85 | // Step 1: Focus via JS — avoids the coordinate-based click that gets | COMMENT |
| LOW⚡ | app/test/e2e/helpers/chat-harness.ts | 99 | // Step 2: Clear existing content. el.select() inside browser.execute already | COMMENT |
| LOW⚡ | app/test/e2e/helpers/chat-harness.ts | 106 | // Step 3: Type the text using real OS-level keyboard events (browser.keys). | COMMENT |
| LOW⚡ | app/src/components/settings/panels/DevWorkflowPanel.tsx | 156 | // Step 1: Check if GitHub is connected via Composio | COMMENT |
| LOW⚡ | app/src/components/settings/panels/DevWorkflowPanel.tsx | 169 | // Step 2: Fetch repos via composio_execute | COMMENT |
| LOW⚡ | app/src/components/settings/panels/DevWorkflowPanel.tsx | 176 | // Step 3: Parse response — GitHub API returns an array of repo objects | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 58 | // Step 1: Is GitHub connected via Composio? | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 67 | // Step 2: Fetch repos. | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 71 | // Step 3: Parse — GitHub API returns an array of repo objects; | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 105 | // Step 1: Push 5 candidates spanning multiple classes. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 132 | // Step 2: Run rebuild. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 139 | // Step 3: Verify all 5 candidates are now Active. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 148 | // Step 4: Render PROFILE.md via the renderer. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 187 | // Step 5: Pin the style/verbosity facet. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 216 | // Step 6: Forget the identity/name facet. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 241 | // Step 7: list_facets — verify shape. | COMMENT |
| LOW⚡ | scripts/test-ci-local.sh | 118 | # Step 1: Ensure OpenSSL is installed | COMMENT |
| LOW⚡ | scripts/test-ci-local.sh | 122 | # Step 2: Install Node dependencies | COMMENT |
| LOW⚡ | scripts/test-ci-local.sh | 126 | # Step 3: Install skills dependencies and build | COMMENT |
| LOW⚡ | scripts/test-ci-local.sh | 130 | # Step 4: Build frontend | COMMENT |
| LOW⚡ | scripts/test-ci-local.sh | 134 | # Step 5: Build Tauri (aarch64) | COMMENT |
| LOW⚡ | scripts/deep-work/start.sh | 49 | # Step 0: Ensure we're on main and synced | COMMENT |
| LOW⚡ | scripts/deep-work/start.sh | 54 | # Step 1: Fetch issue details | COMMENT |
| LOW | scripts/deep-work/start.sh | 119 | # Step 2: Planning phase | COMMENT |
| LOW | scripts/deep-work/start.sh | 157 | # Step 3: Implementation phase | COMMENT |
| LOW | scripts/deep-work/start.sh | 200 | # Step 6: Memory updates | COMMENT |
| LOW | scripts/deep-work/start.sh | 222 | # Step 7: Commit | COMMENT |
| LOW | scripts/deep-work/start.sh | 246 | # Step 8: Merge main and resolve conflicts | COMMENT |
| LOW | scripts/deep-work/start.sh | 265 | # Step 9: Push and create draft PR | COMMENT |
| LOW | scripts/deep-work/start.sh | 319 | # Step 10: Review cycle | COMMENT |
| LOW | scripts/deep-work/start.sh | 340 | # Step 11: Mark ready for review (user confirmation) | COMMENT |
| LOW | scripts/deep-work/start.sh | 360 | # Step 12: Cleanup (user confirmation) | COMMENT |
| LOW | src/openhuman/mcp_registry/store.rs | 877 | // Step 1: pre-migration schema (no transport / deployment_url). | COMMENT |
| LOW⚡ | src/openhuman/mcp_registry/store.rs | 903 | // Step 2: simulate the upgrade path — re-run init_schema, which | COMMENT |
| LOW⚡ | src/openhuman/mcp_registry/store.rs | 911 | // Step 3: the legacy row loads as Transport::Stdio. | COMMENT |
| LOW⚡ | src/openhuman/learning/stability_detector.rs | 221 | // Step 4: for each distinct value, compute a candidate score. | COMMENT |
| LOW⚡ | src/openhuman/learning/stability_detector.rs | 224 | // Step 5: compute stability of the winning (class, key) aggregate. | COMMENT |
| LOW | src/openhuman/learning/stability_detector.rs | 241 | // Step 7: state assignment. | COMMENT |
| LOW | src/openhuman/memory_sync/composio/periodic.rs | 361 | // Step 0: scheduler-gate check. When the user has paused Memory Tree | COMMENT |
| LOW⚡ | src/openhuman/memory_sync/composio/periodic.rs | 395 | // Step 1: load config (also gives us the auth token via the | COMMENT |
| LOW⚡ | src/openhuman/memory_sync/composio/periodic.rs | 402 | // Step 2: list active connections — mode-aware. Backend mode walks | COMMENT |
| LOW⚡ | src/openhuman/voice/text_input.rs | 56 | // Step 1: Save current clipboard. | COMMENT |
| LOW⚡ | src/openhuman/voice/text_input.rs | 64 | // Step 2: Write transcription to clipboard. | COMMENT |
| LOW⚡ | src/openhuman/voice/text_input.rs | 70 | // Step 3: Brief delay to let clipboard write settle, then simulate paste. | COMMENT |
| LOW | src/openhuman/voice/text_input.rs | 107 | // Step 4: Restore clipboard after a delay (non-blocking). | COMMENT |
| LOW⚡ | src/openhuman/keyring/encrypted_store_tests.rs | 661 | // Step 1: create the key file and produce a ciphertext to decrypt later. | COMMENT |
| LOW⚡ | src/openhuman/keyring/encrypted_store_tests.rs | 670 | // Step 2: clear the in-memory cache so the next decrypt reads from disk. | COMMENT |
| LOW⚡ | src/openhuman/keyring/encrypted_store_tests.rs | 673 | // Step 3: corrupt the ACL — strip inheritance AND add an explicit DENY for | COMMENT |
| LOW | src/openhuman/keyring/encrypted_store_tests.rs | 687 | // Step 4: check whether the lock actually made the file unreadable. | COMMENT |
| LOW | src/openhuman/keyring/encrypted_store.rs | 569 | // Step 1: restore inheritance. | COMMENT |
| LOW | src/openhuman/keyring/encrypted_store.rs | 596 | // Step 2: explicit grant for current user — handles CI environments | COMMENT |
| LOW⚡ | src/openhuman/keyring/ops.rs | 248 | // Step 1: check if already migrated. | COMMENT |
| LOW⚡ | src/openhuman/keyring/ops.rs | 254 | // Step 2: check if source file exists. | COMMENT |
| LOW⚡ | src/openhuman/keyring/ops.rs | 263 | // Step 3: read the file. | COMMENT |
| LOW⚡ | src/openhuman/keyring/ops.rs | 275 | // Step 4: write to backend. | COMMENT |
| 12 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docker-compose.yml | 7 | # Usage: | COMMENT |
| LOW | app/scripts/e2e-agent-review.sh | 8 | # Usage: | COMMENT |
| LOW | app/scripts/e2e-run-session.sh | 16 | # Usage: | COMMENT |
| LOW | scripts/debug-composio-login.sh | 27 | # Usage: | COMMENT |
| LOW⚡ | scripts/build-apt-repo.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/load-env-json.sh | 3 | # Usage: | COMMENT |
| LOW | scripts/build-macos-signed.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/weekly-code-review.sh | 20 | # Usage: | COMMENT |
| LOW | scripts/install.sh | 3 | # Usage: | COMMENT |
| LOW | scripts/test-rust-with-mock.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/tree-summarizer-run-all.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/run-macos-arm64-build.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/dev-staging.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/debug-skill.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/validate-release-assets.sh | 11 | # Usage: | COMMENT |
| LOW | scripts/act-build-desktop.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/print-core-token.sh | 11 | # Usage: | COMMENT |
| LOW | scripts/upload_sentry_symbols.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/load-dotenv.sh | 3 | # Usage: | COMMENT |
| LOW | scripts/test-rust-e2e.sh | 15 | # Usage: | COMMENT |
| LOW | scripts/live-flows-demo.sh | 17 | # Usage: | COMMENT |
| LOW⚡ | scripts/test-channel-messaging.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/test-release-act.sh | 15 | # Usage: | COMMENT |
| LOW | scripts/memory-tree-progress.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/act-staging.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/load-env.sh | 3 | # Usage: | COMMENT |
| LOW | scripts/test-rust-inference-e2e.sh | 12 | # Usage: | COMMENT |
| LOW | scripts/bench-memory-retrieval.sh | 8 | # Usage: | COMMENT |
| LOW | scripts/test-ci-local.sh | 11 | # Usage: | COMMENT |
| LOW | scripts/debug-notion-sync-memory.sh | 12 | # Usage: | COMMENT |
| LOW | scripts/debug-agent-prompts.sh | 28 | # Usage: | COMMENT |
| LOW | scripts/debug-notion-live.sh | 12 | # Usage: | COMMENT |
| LOW | scripts/bench-memory-walk.sh | 7 | # Usage: | COMMENT |
| LOW | scripts/release/build-linux-arm64.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/release/update-homebrew.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/release/upload-macos-artifacts.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/release/publish-npm.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/release/build-apt-packages.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/release/repackage-dmg.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/release/render-homebrew-core-formula.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/release/package-cli-tarball.sh | 4 | # Usage: | COMMENT |
| LOW | scripts/release/sign-and-notarize-macos.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/cef-with-codecs/build-cef-with-codecs.sh | 16 | # Usage: | COMMENT |
| LOW | e2e/run-local.sh | 8 | # Usage: | COMMENT |
| LOW | e2e/docker-compose.yml | 11 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/src-tauri/src/whatsapp_scanner/dom_snapshot.rs | 688 | /// Parse `"[12:34, 3/15/2025] John Doe: "` → `("12:34, 3/15/2025", "John Doe")`. | COMMENT |
| LOW | app/src-tauri/src/whatsapp_scanner/dom_snapshot.rs | 832 | assert_eq!(author, "Jane Doe"); | CODE |
| LOW | app/src-tauri/src/imessage_scanner/mod.rs | 597 | assert!(chat_allowed("user@example.com", &allowed)); | CODE |
| LOW | app/src/components/chat/__tests__/ChatComposer.test.tsx | 61 | expect(textarea).toHaveAttribute('placeholder', 'chat.typeMessage'); | CODE |
| LOW | app/src/components/chat/__tests__/ChatComposer.test.tsx | 289 | expect(screen.getByRole('textbox')).toHaveAttribute('placeholder', 'chat.followupHint'); | CODE |
| LOW | …components/intelligence/AddMemorySourceDialog.test.tsx | 92 | accountEmail: 'user@example.com', | CODE |
| LOW | …rc/components/meetings/__tests__/MeetComposer.test.tsx | 87 | expect(urlInput).toHaveAttribute('placeholder', 'zoom.us/j/...'); | CODE |
| LOW | …rc/components/meetings/__tests__/MeetComposer.test.tsx | 101 | expect(urlInput).toHaveAttribute('placeholder', 'webex.com/meet/...'); | CODE |
| LOW | …/src/components/composio/ComposioConnectModal.test.tsx | 167 | accountEmail: 'foo@bar.com', | CODE |
| LOW | …/src/components/composio/ComposioConnectModal.test.tsx | 212 | accountEmail: 'foo@bar.com', | CODE |
| LOW | …p/src/components/channels/mcp/McpServerSearch.test.tsx | 20 | expect(input).toHaveAttribute('placeholder', 'Filter servers…'); | CODE |
| LOW | app/src/lib/recallCalendar/hooks.test.ts | 31 | email: 'user@example.com', | CODE |
| LOW | app/src/lib/recallCalendar/hooks.test.ts | 103 | email: 'user@example.com', | CODE |
| LOW | …boarding/steps/__tests__/ContextGatheringStep.test.tsx | 272 | return { data: { name: 'Jane Doe' }, markdown: '# Jane Doe\n\nFounder at Acme.' }; | CODE |
| LOW | app/src/services/api/__tests__/authApi.test.ts | 16 | await sendEmailMagicLink('user@example.com', 'openhuman://'); | CODE |
| LOW | app/src/services/api/__tests__/authApi.test.ts | 22 | body: JSON.stringify({ email: 'user@example.com', frontendRedirectUri: 'openhuman://' }), | CODE |
| LOW | app/src/services/api/__tests__/authApi.test.ts | 39 | const request = sendEmailMagicLink('user@example.com', 'openhuman://', 100); | CODE |
| LOW | tests/raw_coverage/memory_threads_raw_coverage_e2e.rs | 1104 | assert!(policy.topic_hotness("user@example.com", &stats, now) > 0.0); | CODE |
| LOW | scripts/i18n-react-audit.ts | 11 | const ATTRIBUTE_NAMES = new Set(['aria-label', 'placeholder', 'title', 'alt', 'label']); | CODE |
| LOW⚡ | src/openhuman/tools/impl/browser/browser_tests.rs | 602 | "fill_value": "user@example.com" | CODE |
| LOW⚡ | src/openhuman/tools/impl/browser/browser_tests.rs | 607 | assert_eq!(fill_value.as_deref(), Some("user@example.com")); | CODE |
| LOW | src/openhuman/tools/impl/browser/native_backend.rs | 444 | "placeholder" => format!(r#"[placeholder=\"{escaped}\"]"#), | CODE |
| LOW | src/openhuman/tools/impl/browser/browser.rs | 863 | "enum": ["role", "text", "label", "placeholder", "testid"], | CODE |
| LOW | src/openhuman/security/pii/tests.rs | 186 | let r = scan("email me: bob@example.org"); | CODE |
| LOW | src/openhuman/security/pii/tests.rs | 221 | let one = scan("bob@example.org").score; | CODE |
| LOW | src/openhuman/tinyplace/manifest.rs | 5756 | Value::String("user@example.com".into()), | CODE |
| LOW | src/openhuman/tinyplace/manifest.rs | 5766 | Value::String("user@example.com".into()), | CODE |
| LOW⚡ | …openhuman/memory_sync/composio/providers/profile_md.rs | 436 | display_name: Some("Jane Doe".into()), | CODE |
| LOW | …openhuman/memory_sync/composio/providers/profile_md.rs | 472 | assert!(!body.contains("Jane Doe")); | CODE |
| LOW | src/openhuman/memory_sync/composio/providers/mod.rs | 306 | Some("user@example.com".to_string()) | CODE |
| LOW | src/openhuman/agent/tool_policy.rs | 443 | serde_json::json!({ "to": "user@example.com" }), | CODE |
| LOW | src/openhuman/agent/harness/session/transcript_tests.rs | 179 | fs::write(&path0, "placeholder").unwrap(); | CODE |
| LOW | src/openhuman/agent/prompts/mod_tests.rs | 878 | rendered.contains("Jane Doe"), | CODE |
| LOW | src/openhuman/agent/prompts/mod_tests.rs | 929 | !rendered.contains("Jane Doe"), | CODE |
| LOW | src/openhuman/agent/prompts/mod_tests.rs | 1465 | rendered.contains("### PROFILE.md") && rendered.contains("Jane Doe"), | CODE |
| LOW | src/openhuman/integrations/tools/google_places.rs | 354 | "formattedAddress": "123 Main St", | CODE |
| LOW | src/openhuman/integrations/tools/google_places.rs | 405 | "formattedAddress": "123 Main St", | CODE |
| LOW | src/openhuman/people/types.rs | 51 | // An apple id email handle ("foo@bar.com") is treated the | COMMENT |
| LOW | src/openhuman/people/types.rs | 138 | Handle::IMessage("foo@bar.com".into()) | CODE |
| LOW | …penhuman/inference/provider/claude_code/auth_status.rs | 90 | /// "email": "user@example.com", | COMMENT |
| LOW | …penhuman/inference/provider/claude_code/auth_status.rs | 278 | "email": "user@example.com", | CODE |
| LOW | …penhuman/inference/provider/claude_code/auth_status.rs | 287 | assert_eq!(account_email.as_deref(), Some("user@example.com")); | CODE |
| LOW | …penhuman/inference/provider/claude_code/auth_status.rs | 337 | let raw = r#"{ "authMethod": "claude.ai", "email": "user@example.com" }"#; | CODE |
| LOW | src/openhuman/flows/ops_tests.rs | 1552 | Some("user@example.com"), | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | scripts/build-apt-repo.sh | 9 | # Set APT_SIGNING_KEY_ID to select the key; leave unset to use the default. | COMMENT |
| LOW | scripts/bench-memory-walk.sh | 96 | # Check if the core binary exists | COMMENT |
| LOW | scripts/release/strip-appimage-graphics-libs.sh | 553 | # Check if the file is a shell script (not an ELF binary). | COMMENT |
| LOW | scripts/deep-work/continue.sh | 47 | # Check if worktree exists | COMMENT |
| LOW | scripts/deep-work/continue.sh | 168 | # Check if we have unpushed commits | COMMENT |
| LOW | scripts/deep-work/status.sh | 76 | # Check if working tree is clean | COMMENT |
| LOW | scripts/deep-work/status.sh | 92 | # Check if PR exists | COMMENT |
| LOW | scripts/deep-work/lib.sh | 38 | # Check if worktree exists for issue | COMMENT |
| LOW | scripts/deep-work/lib.sh | 51 | # Check if we're in a worktree by looking for oh-<number> pattern | COMMENT |
| LOW | scripts/deep-work/list.sh | 50 | # Check if we found any worktrees (need to use a different approach since the while loop runs in a subshell) | COMMENT |
| LOW | scripts/deep-work/cleanup.sh | 37 | # Check if worktree exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | app/scripts/e2e-run-session.sh | 482 | except Exception: | CODE |
| LOW | app/scripts/e2e-run-session.sh | 505 | except Exception: | CODE |
| LOW | scripts/weekly-code-review.sh | 110 | except Exception as e: | CODE |
| LOW | scripts/weekly-code-review.sh | 240 | except Exception: | CODE |
| MEDIUM | scripts/weekly-code-review.sh | 237 | def parse(s): | CODE |
| LOW | scripts/install.sh | 186 | except Exception as e: | CODE |
| LOW | src/openhuman/runtime_python_server/server.py | 68 | except Exception: | CODE |
| LOW | src/openhuman/runtime_python_server/server.py | 112 | except Exception: | CODE |
| LOW | src/openhuman/runtime_python_server/server.py | 204 | except Exception as exc: | CODE |
| LOW | src/openhuman/runtime_python_server/server.py | 215 | except Exception as exc: | CODE |
| LOW | src/openhuman/runtime_python_server/server.py | 223 | except Exception as exc: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/openhuman/routing/quality.rs | 75 | "i'm unable to", | CODE |
| MEDIUM | src/openhuman/routing/quality.rs | 94 | "as a language model", | CODE |
| MEDIUM | src/openhuman/routing/quality.rs | 266 | assert!(is_low_quality("I'm unable to process this request.")); | CODE |
| MEDIUM | src/openhuman/routing/quality.rs | 269 | assert!(is_low_quality("As an AI language model, I cannot...")); | CODE |
| MEDIUM | src/openhuman/routing/quality.rs | 283 | assert!(is_low_quality("AS AN AI LANGUAGE MODEL, ...")); | CODE |
| MEDIUM | src/openhuman/routing/quality.rs | 308 | "As a language model, I cannot predict the future." | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | app/src/components/settings/panels/AIPanel.tsx | 707 | : (builtinCloudProvider(slug)?.keyPlaceholder ?? 'your-api-key'); | CODE |
| HIGH | app/src/components/settings/panels/AIPanel.tsx | 708 | const keyPlaceholder = builtinCloudProvider(slug)?.keyPlaceholder ?? 'your-api-key'; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | app/src/components/orchestration/OverviewPanel.tsx | 61 | ? pairing.state.snapshot.contacts.contacts.filter(c => c.status === 'accepted') | CODE |