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 38,711 GitHub stars. SynthScan v2.0 examined 1,496,420 lines of code across 4766 source files, recording 8003 pattern matches distributed across 17 syntactic categories. The overall adjusted score of 9.5 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 8003 distinct pattern matches across 17 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 | Cargo.toml | 68 | # ── Integration tests that need a PRODUCT gate ────────────────────────────── | COMMENT |
| MEDIUM | Cargo.toml | 967 | # ── This gate is FORWARDED, and it was silently broken before it was ───────── | COMMENT |
| MEDIUM | app/test/e2e/mock-server.ts | 19 | // ── 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 | 176 | // ── CR2.1 — Create cron via natural language ────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-cron-prompt-flow.spec.ts | 270 | // ── CR2.2 — List jobs ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-cron-prompt-flow.spec.ts | 325 | // ── CR2.3 — Update schedule ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-cron-prompt-flow.spec.ts | 407 | // ── 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 | 374 | // ── Scenario 3: Resume after relaunch ───────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-search-tool-flow.spec.ts | 137 | // ── S3.1 — Memory recall ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-search-tool-flow.spec.ts | 209 | // ── S3.2 — Web search ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/harness-search-tool-flow.spec.ts | 272 | // ── 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 | 60 | // ── First login: complete onboarding and reach Home ────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/logout-relogin-onboarding.spec.ts | 68 | // ── Logout ──────────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/logout-relogin-onboarding.spec.ts | 103 | // ── Second login (re-login) ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/logout-relogin-onboarding.spec.ts | 118 | // ── Onboarding must appear for the fresh session ───────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/logout-relogin-onboarding.spec.ts | 136 | // ── Onboarding must be in clean first-step state ───────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/mega-flow.spec.ts | 486 | // ── User A login ────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | app/test/e2e/specs/mega-flow.spec.ts | 510 | // ── Switch to user B (mock-only reset — workspace is NOT wiped) ─────── | COMMENT |
| 3006 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | Cargo.toml | 1 | [package] | COMMENT |
| LOW | Cargo.toml | 21 | # rather than deleted — an unsuppressed false positive is how a real finding | COMMENT |
| LOW | Cargo.toml | 61 | # Stateful library profiling workloads (memory ingestion + real sub-agent | COMMENT |
| LOW | Cargo.toml | 121 | COMMENT | |
| LOW | Cargo.toml | 141 | # tinyflows — host-agnostic workflow engine (typed node graph → validate → compile → | COMMENT |
| LOW | Cargo.toml | 161 | # We wire openhuman's own Provider/Tool, not the removed bundled openai client. | COMMENT |
| LOW | Cargo.toml | 181 | # crate through the adapter seam in `src/openhuman/tinycortex/` (mirroring the | COMMENT |
| LOW | Cargo.toml | 201 | # only `{error, traits, types}`; `capabilities`, `provider`, `null`, `health`, | COMMENT |
| LOW | Cargo.toml | 221 | # | COMMENT |
| LOW | Cargo.toml | 241 | tinymemory = { path = "vendor/tinymemory/crates/tinymemory" } | COMMENT |
| LOW | Cargo.toml | 261 | # | COMMENT |
| LOW | Cargo.toml | 281 | # pins the v0.3.1 release — but the host still calls the library directly, because | COMMENT |
| LOW | Cargo.toml | 301 | tinymcp = { path = "vendor/tinymcp/crates/tinymcp", default-features = false, features = [ | COMMENT |
| LOW | Cargo.toml | 321 | # The dynamic module loader is NOT enabled here. It arrives through this | COMMENT |
| LOW | Cargo.toml | 341 | # `regex::replace_all` passes in `clean_markdown` each producing a | COMMENT |
| LOW | Cargo.toml | 381 | hmac = "0.12" | COMMENT |
| LOW | Cargo.toml | 461 | # Cross-platform battery probe for the scheduler gate. Maintained fork of | COMMENT |
| LOW | Cargo.toml | 481 | # The WhatsApp Web provider (and its `whatsapp-rust` / `wacore` / `serde-big-array` | COMMENT |
| LOW | Cargo.toml | 501 | # (`src/openhuman/modules/`), so this build carries the shape of a document | COMMENT |
| LOW | Cargo.toml | 521 | # it is. The comment here said "default-ON", which was true before #4919 split | COMMENT |
| LOW | Cargo.toml | 541 | # | COMMENT |
| LOW | Cargo.toml | 561 | # environment and its domains on it in the one order that works. | COMMENT |
| LOW | Cargo.toml | 581 | # the crate deliberately refuses to own: RPC endpoint resolution, transaction | COMMENT |
| LOW | Cargo.toml | 601 | # implements, and the Tron verifier that checks what a node handed back before | COMMENT |
| LOW | Cargo.toml | 661 | # extracted crate exposes them behind `test-support` instead. | COMMENT |
| LOW | Cargo.toml | 681 | # those tests compiling in ALL test builds without per-file `#[cfg]` — mirrors | COMMENT |
| LOW | Cargo.toml | 701 | COMMENT | |
| LOW | Cargo.toml | 721 | # | COMMENT |
| LOW | Cargo.toml | 741 | # (`modules`: Contrib=ON, Product=ON) and with `scripts/ci/product-features.txt`, | COMMENT |
| LOW | Cargo.toml | 761 | # (`WebChannelEvent`, `TurnUsagePayload`, `SubagentUsagePayload`, | COMMENT |
| LOW | Cargo.toml | 781 | # be a second definition of one serde shape, free to drift. tinycortex makes the | COMMENT |
| LOW | Cargo.toml | 801 | # bundled whisper.cpp STT engine (`whisper-rs` + the `whisper-rs-sys` CRT | COMMENT |
| LOW | Cargo.toml | 821 | # Leaf gate (no stub facade): when off, the two tools are absent from the tool | COMMENT |
| LOW | Cargo.toml | 841 | # compiled `cdylib` through tinybus's ABI descriptor, manifest, dependency and | COMMENT |
| LOW | Cargo.toml | 861 | # used to be on that list; WAV framing moved to the `tinyvoice` module, so the | COMMENT |
| LOW | Cargo.toml | 881 | # The member names and payload types the module answers with. Contract | COMMENT |
| LOW | Cargo.toml | 901 | # compile-time surface, `DomainSet` gates it at runtime. When off, tinyplace | COMMENT |
| LOW | Cargo.toml | 921 | ] | COMMENT |
| LOW | Cargo.toml | 941 | # | COMMENT |
| LOW | Cargo.toml | 961 | # | COMMENT |
| LOW | Cargo.toml | 981 | # Media-generation + image domains: the `media_generate_*` agent tools | COMMENT |
| LOW | Cargo.toml | 1001 | # surface, `DomainSet` gates it at runtime. | COMMENT |
| LOW | Cargo.toml | 1021 | # out of `skills::types` and ~236 files consume them, so those inert serde | COMMENT |
| LOW | Cargo.toml | 1041 | # NOTE: the family root `pub mod mcp;` and `mcp::http_client` stay ALWAYS | COMMENT |
| LOW | Cargo.toml | 1061 | # string classifiers (`is_transient_message_failure`, | COMMENT |
| LOW | Cargo.toml | 1081 | # the always-compiled CLI dispatcher returns a build-fact "tui feature disabled | COMMENT |
| LOW | Cargo.toml | 1101 | # the rule the `skills` / `mcp` gates established: carve inert types | COMMENT |
| LOW | Cargo.toml | 1121 | # | COMMENT |
| LOW | Cargo.toml | 1141 | # that a workflow-only build has no use for. The crate itself still cannot be | COMMENT |
| LOW | Cargo.toml | 1161 | # ENGINE declares, for builds that embed that engine in-process. | COMMENT |
| LOW | Cargo.toml | 1181 | # `required-features = ["bin-tools"]`, so those targets are simply skipped | COMMENT |
| LOW | Cargo.toml | 1221 | should_implement_trait = "allow" | COMMENT |
| LOW | Cargo.toml | 1241 | motosan-ai-oauth = { path = "vendor/motosan-ai-oauth" } | COMMENT |
| LOW | Cargo.toml | 1261 | # panics + render surrounding source lines. `line-tables-only` keeps the | COMMENT |
| LOW | Cargo.toml | 1281 | # and it is not even generic (it already takes | COMMENT |
| LOW | Cargo.toml | 1301 | # `strip` is applied to the linked executable only — the dSYM is emitted by | COMMENT |
| LOW | Cargo.toml | 1341 | # debuginfo, so panics/backtraces in OpenHuman code still resolve to | 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 |
| 4117 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | Cargo.toml | 155 | # TinyAgents — Rust LLM orchestration framework (LangGraph/LangChain-style): | COMMENT |
| MEDIUM⚡ | Cargo.toml | 157 | # `.rag` workflow language. openhuman's agent engine + orchestration run on this | COMMENT |
| MEDIUM | Cargo.toml | 875 | # Wake-word gating, command routing and hallucination detection run in the | COMMENT |
| MEDIUM | Cargo.toml | 905 | # `bs58` and `ed25519-dalek` deliberately stay always-on: `orchestration/ingest` | COMMENT |
| MEDIUM | Cargo.toml | 983 | # contracts scaffold. Default-ON. Slim builds opt out via | COMMENT |
| MEDIUM | Cargo.toml | 990 | # `openhuman::image` is currently unwired scaffold (added #2997). | COMMENT |
| MEDIUM | Cargo.toml | 1085 | # Medulla integration: the HTTP/SSE client for the Medulla orchestration backend | COMMENT |
| MEDIUM | Cargo.toml | 1088 | # orchestration runs, the public feedback board, and the onboarding history | COMMENT |
| MEDIUM | AGENTS.md | 422 | **Family directories (in progress).** The flat tree is being collapsed so that **one directory equals one feature gate** | CODE |
| MEDIUM | AGENTS.md | 754 | **Leaf-gate variant (`media`, #4804).** Unlike `voice`, the `media` gate needs **no** stub facade: `media::generation` h | CODE |
| MEDIUM | CLAUDE.md | 422 | **Family directories (in progress).** The flat tree is being collapsed so that **one directory equals one feature gate** | CODE |
| MEDIUM | CLAUDE.md | 754 | **Leaf-gate variant (`media`, #4804).** Unlike `voice`, the `media` gate needs **no** stub facade: `media::generation` h | CODE |
| MEDIUM | app/test/e2e/specs/navigation.spec.ts | 50 | // fail the `^#/orchestration` match, same reasoning as /home above). | 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 | 132 | # 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/components/settings/layout/SettingsPanel.tsx | 119 | // A tab's `description` was rendered by the scaffold `PanelPage` gave each | COMMENT |
| MEDIUM | app/src/components/layout/PanelPage.tsx | 139 | // 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 | 4126 | // Orchestration tab (#3375): multi-agent workflow runs. | COMMENT |
| MEDIUM | app/src/pages/Brain.tsx | 244 | // sits outside the shared max-w scaffold the other tabs use. | COMMENT |
| MEDIUM | app/src/pages/__tests__/Brain.test.tsx | 174 | // All tabs share the standard scaffold. Drive each via the `?tab=` query | COMMENT |
| MEDIUM | app/src/services/api/aiSettingsApi.ts | 66 | // the managed `vision-v1` tier and is a delegate (like agentic BYOK), so it does | COMMENT |
| MEDIUM | tests/calendar_grounding_e2e.rs | 193 | // `integrations_agent` ships with `[model] hint = "agentic"`. After | COMMENT |
| MEDIUM | tests/composio_list_tools_stack_overflow_regression.rs | 372 | // "agentic"`, which would otherwise build a fresh model via the | 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 | 191 | // Simple recall/store operations stay direct so they do not pay an agentic | COMMENT |
| MEDIUM | gitbooks/developing/architecture.md | 298 | - **Hosted-only brain** — the client-local orchestration graph engine (`src/openhuman/hosted/orchestration/graph/`) was | CODE |
| MEDIUM | gitbooks/developing/architecture/orchestration.md | 1 | # Subconscious orchestration layer | COMMENT |
| MEDIUM | gitbooks/developing/architecture/agent-harness.md | 240 | ### Why multi-agent | COMMENT |
| MEDIUM | gitbooks/developing/architecture/agent-harness.md | 496 | > **Status (issue #4249, superseded by the published `tinyagents` crate):** the in-house `agent_graph` engine described | CODE |
| MEDIUM | gitbooks/developing/architecture/agent-harness.md | 498 | ## 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 | 488 | | 11.1.14 | MCP "Help & configure" assistant | VU/RU | `app/src/components/channels/m | CODE |
| MEDIUM | docs/TEST-COVERAGE-MATRIX.md | 606 | ## 15. Agent Profile Homes (multi-agent profiles) | COMMENT |
| 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/tinyagents-migration-plan-2026-07-22.md | 403 | ### WP-5 — Seam shrink + orchestration lifecycle upstreaming | COMMENT |
| MEDIUM | docs/plans/2026-07-24-knip-cleanup.md | 479 | ### Task 6: Internalize conversations, flows, orchestration, and hook exports | COMMENT |
| MEDIUM | docs/plans/2026-07-24-appimage-sharun-lib-path.md | 26 | ## Scope guardrails | COMMENT |
| 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/hosted/orchestration/` | COMMENT |
| MEDIUM | scripts/test-rust-e2e.sh | 133 | # (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 | .github/workflows/ci-lite.yml | 1021 | # Fail if the retired local orchestration brain (reasoning/wake graph, | COMMENT |
| MEDIUM | src/openhuman/tools/traits.rs | 36 | /// with the backend's `agentic` model hint), and others scoped to | COMMENT |
| MEDIUM | src/openhuman/memory/tools/search/mod.rs | 20 | // Re-export existing tools from memory::query. The former agentic `walk` / | COMMENT |
| MEDIUM | src/openhuman/memory/query/fast_walk.rs | 1 | //! Deterministic replacement for the former agentic `walk` / `smart_walk` | COMMENT |
| MEDIUM | src/openhuman/config/workspace/tools.rs | 8 | //! identity/scaffold, so they ship default-OFF via `tools/user_filter.rs` | COMMENT |
| MEDIUM | src/openhuman/config/schema/types.rs | 663 | /// `"chat"`, `"reasoning"`, `"agentic"`, `"coding"`, `"memory"`, `"embeddings"`, | COMMENT |
| MEDIUM | src/openhuman/config/schema/activity_level.rs | 29 | /// Real-time sync. Full autonomy within guardrails. | COMMENT |
| MEDIUM | src/openhuman/config/schema/ephemeral_route.rs | 27 | //! reasoning, agentic, coding. It deliberately leaves the background roles | COMMENT |
| MEDIUM | src/openhuman/platform/about_app/catalog_data.rs | 462 | // Enrichment runs a cloud agentic model, so goal/context text can leave | COMMENT |
| 74 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 | 53 | 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 getPersistedNotificationPreference( | CODE |
| LOW | …/playwright/specs/settings-feature-preferences.spec.ts | 135 | 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 | 120 | export async function bootRuntimeReadyGuestPage(page: Page): Promise<void> { | CODE |
| LOW | app/test/playwright/helpers/core-rpc.ts | 190 | export async function dismissWalkthroughIfPresent(page: Page): Promise<void> { | CODE |
| LOW | app/test/playwright/helpers/core-rpc.ts | 273 | 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/settings-feature-preferences.spec.ts | 48 | async function defaultMessagingChannelFromStore(): Promise<string | null> { | CODE |
| LOW | app/test/e2e/specs/chat-harness-subagent.spec.ts | 136 | 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 | 174 | 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 | 543 | async function onboardingOverlayLikelyVisible(): Promise<boolean> { | CODE |
| LOW | app/test/e2e/helpers/shared-flows.ts | 562 | export async function waitForOnboardingOverlayVisible(timeout = 10_000): Promise<boolean> { | CODE |
| LOW | app/test/e2e/helpers/shared-flows.ts | 571 | export async function dismissWalkthroughIfVisible(timeout = 6_000): Promise<boolean> { | CODE |
| LOW | app/test/e2e/helpers/shared-flows.ts | 611 | export async function dismissBootCheckGateIfVisible(timeoutMs = 12_000): Promise<boolean> { | CODE |
| LOW | app/test/e2e/helpers/shared-flows.ts | 651 | async function waitForPostOnboardingHome(logPrefix, timeout = 20_000) { | CODE |
| LOW | app/test/e2e/helpers/shared-flows.ts | 803 | 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 | 377 | export async function waitForAssistantReplyContaining( | CODE |
| LOW | app/src/providers/ChatRuntimeProvider.tsx | 158 | function getOrCreateSegmentDelivery( | CODE |
| LOW | app/src/providers/ChatRuntimeProvider.tsx | 158 | function getOrCreateSegmentDelivery( | CODE |
| LOW | app/src/providers/ChatRuntimeProvider.tsx | 198 | function hasCompleteSegmentDelivery( | CODE |
| LOW | app/src/providers/CoreStateProvider.tsx | 125 | export function coreStatePollFailureWarningMessage(failureCount: number): string | null { | CODE |
| LOW | app/src/providers/CoreStateProvider.tsx | 138 | export function coreStatePollFailureDebugMessage(failureCount: number): string | null { | CODE |
| LOW | app/src/providers/proactiveThreadPins.ts | 33 | export function isProactiveConversationSurface(incomingThreadId: string): boolean { | CODE |
| LOW | app/src/providers/proactiveThreadPins.ts | 58 | export function clearAllProactiveThreadPins(): void { | CODE |
| LOW | app/src/providers/AssistantUiRuntimeProvider.tsx | 44 | export function AssistantUiRuntimeProvider({ | CODE |
| LOW | app/src/providers/useOpenHumanExternalStore.ts | 30 | export function useOpenHumanExternalStore(threadId: string | null) { | CODE |
| LOW | …ders/__tests__/CoreStateProvider.identityFlip.test.tsx | 87 | function seedAccountsWithUserAData() { | CODE |
| LOW | app/src/features/conversations/Conversations.tsx | 185 | export function isComposerInteractionBlocked(args: { | CODE |
| LOW | …/src/features/conversations/derived/mapDisplayItems.ts | 84 | function timelineStatusFromDerived(status: DerivedToolCallStatus): ToolTimelineEntryStatus { | CODE |
| LOW | …/conversations/components/BackgroundProcessesPanel.tsx | 43 | export function selectBackgroundProcesses(timeline: ToolTimelineEntry[]): BackgroundProcess[] { | CODE |
| LOW | …ures/conversations/components/aui/StreamingPreview.tsx | 44 | export function StreamingAssistantPreview({ content }: { content: string }) { | CODE |
| LOW | …onversations/components/composer/ContextWindowPill.tsx | 33 | export function contextUsageFromTokenUsage( | CODE |
| LOW | …ures/conversations/hooks/useChatSurfaceRegistration.ts | 30 | export function useChatSurfaceRegistration( | CODE |
| LOW | app/src/features/wallet/setupLocalWalletFromMnemonic.ts | 9 | export async function persistLocalWalletFromMnemonic(args: { | CODE |
| LOW | app/src/features/human/RealtimeVoiceControls.tsx | 18 | function RealtimeVoiceControlsInner({ | CODE |
| LOW | app/src/features/human/MicComposer.tsx | 48 | function isTranscriptionCancelledError(err: unknown): err is TranscriptionCancelledError { | CODE |
| 227 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | Cargo.toml | 156 | # durable state graphs, agent-loop harness, model/tool registries, REPL + | COMMENT |
| MEDIUM⚡ | Cargo.toml | 159 | # #4249): every turn drives through the harness; the workflow phase DAG, team | COMMENT |
| MEDIUM | Cargo.toml | 53 | # Embedded-RSS benchmark harness (#5046). Gated behind the default-OFF | COMMENT |
| MEDIUM | Cargo.toml | 172 | # web chat and the agent harness both resolve attachment markers on every turn | COMMENT |
| MEDIUM | Cargo.toml | 660 | # downstream test harness cannot see those across a crate boundary, so the | COMMENT |
| MEDIUM | Cargo.toml | 926 | # the `node_runtime` harness-init step. Default-ON. Slim builds opt out via | COMMENT |
| MEDIUM | Cargo.toml | 1137 | # harness interactive loop. See AGENTS.md "channels gate" + `channels/mod.rs`. | 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 | 735 | // 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 | 305 | // 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 | 66 | # but we opt into the feature to stay robust against unexpected responses. | COMMENT |
| MEDIUM | app/src-tauri/Cargo.toml | 140 | # `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 | 524 | // 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 | 228 | // In seamless mode the card lives on the wrapper that holds both panes, so the | COMMENT |
| MEDIUM | app/src/components/flows/WorkflowCopilotPanel.tsx | 411 | // promises ("keep building from the current draft"), not seamless | COMMENT |
| MEDIUM | tests/json_rpc_e2e.rs | 192 | // 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 only agent engine on every build (issue #4249), | COMMENT |
| MEDIUM | scripts/test-rust-e2e.sh | 132 | # The agent-harness E2E surface drives very large async futures in debug builds | COMMENT |
| MEDIUM | scripts/bench/run-agent-scale.sh | 133 | # starting empty. That turns the harness into a controlled experiment: run once | COMMENT |
| MEDIUM | scripts/bench/run-agent-scale.sh | 138 | # entirely different fixes, and nothing else in this harness separates them. | COMMENT |
| MEDIUM | scripts/debug/cli.sh | 4 | # Commands: unit | e2e | rust | logs | harness-cache-audit | COMMENT |
| MEDIUM | .github/workflows/test-reusable.yml | 131 | # Deep async agent-harness tests can overflow libtest's default ~2 MB | COMMENT |
| MEDIUM | .github/workflows/e2e-reusable.yml | 79 | # startup, which can delay the ready signal past the harness timeout. | COMMENT |
| MEDIUM | .github/workflows/e2e-reusable.yml | 599 | # Pin to 2022 for the CEF/Appium harness. As of June 2026, | COMMENT |
| MEDIUM | .github/workflows/e2e-reusable.yml | 601 | # whisper-rs-sys' CMake build exits with 0xc0000142 before the harness can | COMMENT |
| MEDIUM | .github/workflows/ci-lite.yml | 527 | # `--lib` harness — so the filter matched zero tests while reading like | COMMENT |
| MEDIUM | .github/workflows/ci-lite.yml | 532 | # task_local stack overflow (`agent::harness::session::tests:: | COMMENT |
| MEDIUM | .github/workflows/ci-lite.yml | 703 | # harness) overflow the default ~2 MB test-thread stack and SIGABRT the | COMMENT |
| MEDIUM | .github/workflows/ci-lite.yml | 808 | # The tinyagents harness is the agent engine on every build now | COMMENT |
| MEDIUM | .github/workflows/ci-full.yml | 163 | # server + node harness), not just the cargo segments the inner | COMMENT |
| MEDIUM | .github/workflows/ci-full.yml | 345 | # Full desktop E2E suite on the currently supported Linux harness | 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 | src/openhuman/tinyplace/payment.rs | 258 | /// The robust cross-check is now implemented as [`ensure_backend_mint_matches`], | COMMENT |
| MEDIUM | src/openhuman/platform/proc_metrics/mod.rs | 503 | // close-paren, to prove the last-`)` split is robust. | COMMENT |
| MEDIUM | src/openhuman/hosted/orchestration/types.rs | 582 | r#"{"envelope_version":"tinyplace.harness.session.v1","scope":{"harness_session_id":""}}"# | CODE |
| MEDIUM | src/openhuman/hosted/orchestration/types.rs | 849 | r#"{"envelope_version":"tinyplace.harness.session.v3","scope":{"harness_session_id":"h"}}"# | CODE |
| MEDIUM | src/openhuman/hosted/orchestration/types.rs | 854 | r#"{"envelope_version":"tinyplace.harness.session.v2","scope":{"harness_session_id":""}}"# | CODE |
| MEDIUM | src/openhuman/hosted/orchestration/store.rs | 896 | // inbound message on the ask session is the answer. A robust many-in-flight | COMMENT |
| MEDIUM | src/openhuman/hosted/orchestration/ingest.rs | 1485 | // Regression for the silent drop (#4583). A wrapped Claude harness stamps | COMMENT |
| MEDIUM | src/openhuman/web_chat/ops.rs | 160 | /// issue #4746) — the turn wedged outside the harness and produced no | COMMENT |
| MEDIUM | src/openhuman/web_chat/web_tests.rs | 573 | // Issue #4746: the root-cause guard is the tinyagents harness policy | COMMENT |
| MEDIUM | src/openhuman/web_chat/web_tests.rs | 622 | // Issue #5804. The harness `Timeout` used to be suppressed by the same arm | COMMENT |
| MEDIUM⚡ | src/openhuman/agent/dispatcher.rs | 313 | /// This is robust and works well with models that aren't natively trained for | COMMENT |
| MEDIUM⚡ | src/openhuman/agent/tests.rs | 1191 | // Should not panic; robust parser recovers the JSON tool call. | COMMENT |
| MEDIUM | src/openhuman/agent/artifacts/store_tests.rs | 270 | // artifact_id + workspace_dir keeps the test robust against parallel | COMMENT |
| MEDIUM | src/openhuman/agent/tools/plan_exit.rs | 12 | //! (referenced in issue #1205) will wire the harness side. | COMMENT |
| MEDIUM | src/openhuman/agent/context/session_memory.rs | 101 | // already recorded. This is robust to providers that report | COMMENT |
| MEDIUM | …c/openhuman/agent/harness/subagent_runner/ops/graph.rs | 262 | // Live transcript snapshot sink (#4466): the harness owns the working message | 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 | 675 | // 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 | 699 | // Step 2: While streaming, set up the Telegram forced response and inject | COMMENT |
| LOW | app/test/e2e/specs/harness-channel-bridge-flow.spec.ts | 730 | // Step 3: Wait for the web chat reply to complete (stream all chunks). | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 59 | // Step 1: Is GitHub connected via Composio? | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 68 | // Step 2: Fetch repos. | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 72 | // Step 3: Parse — GitHub API returns an array of repo objects; | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 109 | // Step 1: Push 5 candidates spanning multiple classes. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 136 | // Step 2: Run rebuild. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 143 | // Step 3: Verify all 5 candidates are now Active. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 152 | // Step 4: Render PROFILE.md via the renderer. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 191 | // Step 5: Pin the style/verbosity facet. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 221 | // Step 6: Forget the identity/name facet. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 246 | // 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 | docs/plans/2026-07-24-macos-clippy-ci.md | 56 | ### Step 1: Prove the required workflow structure is absent | COMMENT |
| LOW | docs/plans/2026-07-24-macos-clippy-ci.md | 101 | ### Step 2: Insert the smallest workflow change | COMMENT |
| LOW | docs/plans/2026-07-24-macos-clippy-ci.md | 126 | ### Step 3: Re-run the focused structural check | COMMENT |
| LOW | docs/plans/2026-07-24-macos-clippy-ci.md | 135 | ### Step 4: Validate YAML and formatting | COMMENT |
| LOW | docs/plans/2026-07-24-macos-clippy-ci.md | 154 | ### Step 5: Review scope and topology in the diff | COMMENT |
| LOW | docs/plans/2026-07-24-macos-clippy-ci.md | 178 | ### Step 6: Create the atomic implementation commit | COMMENT |
| LOW | docs/plans/2026-07-24-macos-clippy-ci.md | 197 | ### Step 7: Verify the committed implementation | 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/memory/guard/families.rs | 869 | // Step 3: the batch taint is the guard's to decide. `stamp_taint` never | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/encrypted_store_tests.rs | 661 | // Step 1: create the key file and produce a ciphertext to decrypt later. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/encrypted_store_tests.rs | 670 | // Step 2: clear the in-memory cache so the next decrypt reads from disk. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/encrypted_store_tests.rs | 673 | // Step 3: corrupt the ACL — strip inheritance AND add an explicit DENY for | COMMENT |
| LOW | src/openhuman/security/keyring/encrypted_store_tests.rs | 687 | // Step 4: check whether the lock actually made the file unreadable. | COMMENT |
| LOW | src/openhuman/security/keyring/encrypted_store.rs | 574 | // Step 1: restore inheritance. | COMMENT |
| LOW | src/openhuman/security/keyring/encrypted_store.rs | 601 | // Step 2: explicit grant for current user — handles CI environments | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/ops.rs | 248 | // Step 1: check if already migrated. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/ops.rs | 254 | // Step 2: check if source file exists. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/ops.rs | 263 | // Step 3: read the file. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/ops.rs | 275 | // Step 4: write to backend. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/ops.rs | 279 | // Step 5: verify read-back matches. | COMMENT |
| LOW | src/openhuman/security/keyring/ops.rs | 290 | // Step 6: delete the source file (only after verified write). | COMMENT |
| LOW | src/openhuman/web3/x402/tools.rs | 112 | // Step 1: Initial request to get the 402 challenge | COMMENT |
| LOW | src/openhuman/web3/x402/tools.rs | 135 | // Step 2: Parse the 402 challenge | COMMENT |
| LOW | src/openhuman/web3/x402/tools.rs | 147 | // Step 3: Build and sign the payment | COMMENT |
| 15 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 | 675 | // 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 | 699 | // Step 2: While streaming, set up the Telegram forced response and inject | COMMENT |
| LOW | app/test/e2e/specs/harness-channel-bridge-flow.spec.ts | 730 | // Step 3: Wait for the web chat reply to complete (stream all chunks). | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 59 | // Step 1: Is GitHub connected via Composio? | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 68 | // Step 2: Fetch repos. | COMMENT |
| LOW⚡ | app/src/components/skills/inputs/RepoPicker.tsx | 72 | // Step 3: Parse — GitHub API returns an array of repo objects; | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 109 | // Step 1: Push 5 candidates spanning multiple classes. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 136 | // Step 2: Run rebuild. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 143 | // Step 3: Verify all 5 candidates are now Active. | COMMENT |
| LOW⚡ | tests/learning_phase4_integration_test.rs | 152 | // Step 4: Render PROFILE.md via the renderer. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 191 | // Step 5: Pin the style/verbosity facet. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 221 | // Step 6: Forget the identity/name facet. | COMMENT |
| LOW | tests/learning_phase4_integration_test.rs | 246 | // 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/memory/guard/families.rs | 869 | // Step 3: the batch taint is the guard's to decide. `stamp_taint` never | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/encrypted_store_tests.rs | 661 | // Step 1: create the key file and produce a ciphertext to decrypt later. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/encrypted_store_tests.rs | 670 | // Step 2: clear the in-memory cache so the next decrypt reads from disk. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/encrypted_store_tests.rs | 673 | // Step 3: corrupt the ACL — strip inheritance AND add an explicit DENY for | COMMENT |
| LOW | src/openhuman/security/keyring/encrypted_store_tests.rs | 687 | // Step 4: check whether the lock actually made the file unreadable. | COMMENT |
| LOW | src/openhuman/security/keyring/encrypted_store.rs | 574 | // Step 1: restore inheritance. | COMMENT |
| LOW | src/openhuman/security/keyring/encrypted_store.rs | 601 | // Step 2: explicit grant for current user — handles CI environments | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/ops.rs | 248 | // Step 1: check if already migrated. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/ops.rs | 254 | // Step 2: check if source file exists. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/ops.rs | 263 | // Step 3: read the file. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/ops.rs | 275 | // Step 4: write to backend. | COMMENT |
| LOW⚡ | src/openhuman/security/keyring/ops.rs | 279 | // Step 5: verify read-back matches. | COMMENT |
| LOW | src/openhuman/security/keyring/ops.rs | 290 | // Step 6: delete the source file (only after verified write). | COMMENT |
| LOW | src/openhuman/web3/x402/tools.rs | 112 | // Step 1: Initial request to get the 402 challenge | COMMENT |
| LOW | src/openhuman/web3/x402/tools.rs | 135 | // Step 2: Parse the 402 challenge | COMMENT |
| LOW | src/openhuman/web3/x402/tools.rs | 147 | // Step 3: Build and sign the payment | COMMENT |
| LOW | src/openhuman/web3/x402/tools.rs | 182 | // Step 4: Retry with the payment signature | COMMENT |
| LOW | src/openhuman/web3/x402/tools.rs | 213 | // Step 5: Parse settlement response and update ledger | COMMENT |
| LOW | src/openhuman/web3/x402/tools.rs | 263 | // Step 6: Format and return the response with payment metadata | COMMENT |
| LOW⚡ | src/openhuman/agent/learning/stability_detector.rs | 225 | // Step 4: for each distinct value, compute a candidate score. | COMMENT |
| LOW⚡ | src/openhuman/agent/learning/stability_detector.rs | 228 | // Step 5: compute stability of the winning (class, key) aggregate. | COMMENT |
| LOW | src/openhuman/agent/learning/stability_detector.rs | 245 | // Step 7: state assignment. | COMMENT |
| LOW | src/openhuman/agent/profiles/paths.rs | 60 | // Step 1: the per-profile home SOUL.md. Only attempted for ids that pass the | 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/channels/controllers/ops/telegram.rs | 36 | /// Step 1: Create a channel link token for Telegram and return the deep link URL. | COMMENT |
| LOW | src/openhuman/channels/controllers/ops/telegram.rs | 94 | /// Step 2: Check whether the user has completed the Telegram link (clicked /start). | COMMENT |
| 2 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 | 17 | # 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/regen-memory-golden-fixture.sh | 27 | # Usage: | COMMENT |
| LOW | scripts/dev-setup-linker.sh | 15 | # 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/kernel-floor.sh | 22 | # 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/bench/run-agent-scale.sh | 22 | # Usage: | COMMENT |
| LOW | scripts/ci/assert-coverage-presence.sh | 21 | # 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/profile/library-pool-gate.sh | 13 | # Usage: | COMMENT |
| LOW | scripts/profile/library-instances.sh | 13 | # Usage: | COMMENT |
| LOW | scripts/profile/library-bench.sh | 10 | # Usage: | COMMENT |
| LOW | scripts/profile/library-heap.sh | 14 | # Usage: | COMMENT |
| LOW | scripts/profile/library-cpu.sh | 5 | # Usage: | COMMENT |
| LOW | scripts/profile/library-fleet.sh | 8 | # 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/imessage_scanner/mod.rs | 590 | assert!(chat_allowed("user@example.com", &allowed)); | CODE |
| LOW | app/src/components/ui/Input.test.tsx | 13 | expect(input).toHaveAttribute('placeholder', 'Ada'); | CODE |
| LOW | app/src/components/chat/__tests__/ChatComposer.test.tsx | 122 | expect(textarea).toHaveAttribute('placeholder', 'chat.typeMessage'); | CODE |
| LOW | app/src/components/chat/__tests__/ChatComposer.test.tsx | 606 | expect(screen.getByRole('textbox')).toHaveAttribute('placeholder', 'chat.followupHint'); | CODE |
| LOW | …components/intelligence/AddMemorySourceDialog.test.tsx | 92 | accountEmail: 'user@example.com', | 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 | …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 | 1195 | 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 | 612 | "fill_value": "user@example.com" | CODE |
| LOW⚡ | src/openhuman/tools/impl/browser/browser_tests.rs | 617 | assert_eq!(fill_value.as_deref(), Some("user@example.com")); | CODE |
| LOW | src/openhuman/tools/impl/browser/native_backend.rs | 418 | "placeholder" => format!(r#"[placeholder=\"{escaped}\"]"#), | CODE |
| LOW | src/openhuman/tools/impl/browser/browser.rs | 843 | "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 | 6348 | Value::String("user@example.com".into()), | CODE |
| LOW | src/openhuman/tinyplace/manifest.rs | 6358 | Value::String("user@example.com".into()), | 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 | 912 | rendered.contains("Jane Doe"), | CODE |
| LOW | src/openhuman/agent/prompts/mod_tests.rs | 963 | !rendered.contains("Jane Doe"), | CODE |
| LOW | src/openhuman/agent/prompts/mod_tests.rs | 1501 | rendered.contains("### PROFILE.md") && rendered.contains("Jane Doe"), | CODE |
| LOW | src/openhuman/agent/profiles/home.rs | 646 | let mut profile = test_profile("placeholder"); | CODE |
| LOW | src/openhuman/agent/profiles/home.rs | 752 | let mut profile = test_profile("placeholder"); | CODE |
| LOW | src/openhuman/agent/profiles/paths.rs | 426 | let mut profile = test_profile("placeholder"); | CODE |
| LOW | src/openhuman/agent/profiles/paths.rs | 471 | let mut profile = test_profile("placeholder"); | CODE |
| LOW | src/openhuman/agent/profiles/paths.rs | 499 | let mut profile = test_profile("placeholder"); | CODE |
| LOW | src/openhuman/agent/profiles/ops.rs | 437 | let mut p = profile("placeholder", "orchestrator"); | CODE |
| LOW | src/openhuman/search/tools/exa_tests.rs | 33 | "author": "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 | …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 | 3796 | 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 | 696 | # 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 |
|---|---|---|---|---|
| HIGH | …ponents/settings/panels/ai/ProviderConnectControls.tsx | 126 | : (builtinCloudProvider(slug)?.keyPlaceholder ?? 'your-api-key'); | CODE |
| HIGH | …ponents/settings/panels/ai/ProviderConnectControls.tsx | 127 | 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 |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| 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 |
|---|---|---|---|---|
| HIGH | src/openhuman/agent/hooks.rs | 183 | /// Run the tool as requested. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | scripts/release/validate-appimage-runtime.sh | 4 | # This file is sourceable for fixture tests. When executed directly it extracts | COMMENT |
| MEDIUM | src/openhuman/medulla/events/mod.rs | 9 | //! # This module is an ungated type carve-out | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/dep-sim.py | 43 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/dep-sim.py | 161 | CODE |