A local-first AI agent with persistent memory, emotional intelligence, and a peer-to-peer skills economy.
This report presents the forensic synthetic code analysis of Bitterbot-AI/bitterbot-desktop, a TypeScript project with 2,457 GitHub stars. SynthScan v2.0 examined 905,246 lines of code across 4537 source files, recording 2655 pattern matches distributed across 21 syntactic categories. The overall adjusted score of 3.8 places this repository in the Likely human-written 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).
Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.
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 2655 distinct pattern matches across 21 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 |
|---|---|---|---|---|
| LOW | test/helpers/inbound-contract.ts | 7 | export function expectInboundContextContract(ctx: MsgContext) { | CODE |
| LOW | test/helpers/envelope-timestamp.ts | 41 | export function formatLocalEnvelopeTimestamp(date: Date): string { | CODE |
| LOW | desktop/renderer/src/stores/circles-store.ts | 37 | export function resetUnsupportedMethodsForTests(): void { | CODE |
| LOW | desktop/renderer/src/stores/gateway-store.ts | 113 | export function persistGatewayCredentials(params: { url: string; token: string }): void { | CODE |
| LOW | desktop/renderer/src/stores/gateway-store.ts | 123 | export function clearStoredGatewayCredentials(): void { | CODE |
| LOW | docs/agents/interceptors-author-guide.md | 88 | export function registerBuiltinInterceptors(): void { | CODE |
| LOW | extensions/device-pair/index.ts | 210 | function parsePossiblyNoisyJsonObject(raw: string): Record<string, unknown> { | CODE |
| LOW | extensions/google-gemini-cli-auth/oauth.ts | 62 | export function extractGeminiCliCredentials(): { clientId: string; clientSecret: string } | null { | CODE |
| LOW | extensions/twitch/src/status.ts | 30 | export function collectTwitchStatusIssues( | CODE |
| LOW | extensions/twitch/src/send.ts | 51 | export async function sendMessageTwitchInternal( | CODE |
| LOW | extensions/twitch/src/client-manager-registry.ts | 38 | export function getOrCreateClientManager( | CODE |
| LOW | extensions/twitch/src/client-manager-registry.ts | 104 | export function getRegisteredClientManagerCount(): number { | CODE |
| LOW | …kaggle/bitterbot_memory_py/tests/test_memory_facade.py | 24 | def test_facade_smoke_full_turn(mem: BitterbotMemory) -> None: | CODE |
| LOW⚡ | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 27 | def test_pack_unpack_roundtrip() -> None: | CODE |
| LOW⚡ | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 37 | def test_hash_embedder_dim_and_norm() -> None: | CODE |
| LOW⚡ | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 45 | def test_hash_embedder_overlap_increases_similarity() -> None: | CODE |
| LOW⚡ | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 60 | def test_hash_embedder_handles_empty_input() -> None: | CODE |
| LOW⚡ | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 71 | def test_ensure_embeddings_populates_only_missing(store: MemoryStore) -> None: | CODE |
| LOW⚡ | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 86 | def test_ensure_embeddings_persists_correct_dim(store: MemoryStore) -> None: | CODE |
| LOW⚡ | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 95 | def test_ensure_embeddings_per_model_isolation(store: MemoryStore) -> None: | CODE |
| LOW | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 136 | def test_retriever_returns_topk_by_relevance(populated_store: MemoryStore) -> None: | CODE |
| LOW | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 143 | def test_retriever_returns_empty_for_no_corpus(store: MemoryStore) -> None: | CODE |
| LOW | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 185 | def test_retriever_rrf_score_decreases_with_rank(populated_store: MemoryStore) -> None: | CODE |
| LOW⚡ | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 15 | def test_action_with_xy_coords() -> None: | CODE |
| LOW⚡ | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 21 | def test_action_with_colon_xy_format() -> None: | CODE |
| LOW⚡ | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 27 | def test_action_with_parenthesized_xy() -> None: | CODE |
| LOW⚡ | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 33 | def test_action_without_tag_falls_back_to_token_scan() -> None: | CODE |
| LOW⚡ | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 39 | def test_reset_token_recognized() -> None: | CODE |
| LOW⚡ | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 44 | def test_unparseable_response_defaults_to_directional() -> None: | CODE |
| LOW⚡ | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 50 | def test_click_without_coords_defaults_to_center() -> None: | CODE |
| LOW⚡ | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 56 | def test_rule_observed_extracted() -> None: | CODE |
| LOW⚡ | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 66 | def test_hypothesis_update_extracted() -> None: | STRING |
| LOW⚡ | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 75 | def test_xy_out_of_range_falls_back() -> None: | STRING |
| LOW⚡ | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 83 | def test_action_token_is_case_insensitive() -> None: | CODE |
| LOW⚡ | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 17 | def test_hash_grid_is_stable_and_unique() -> None: | CODE |
| LOW⚡ | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 26 | def test_grid_to_ascii_dimensions() -> None: | CODE |
| LOW⚡ | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 34 | def test_grid_to_ascii_distinct_glyphs_per_value() -> None: | CODE |
| LOW⚡ | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 41 | def test_pixel_diff_zero_when_identical() -> None: | CODE |
| LOW⚡ | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 46 | def test_pixel_diff_counts_changes() -> None: | CODE |
| LOW⚡ | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 54 | def test_diff_region_none_when_identical() -> None: | CODE |
| LOW⚡ | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 59 | def test_diff_region_bounding_box() -> None: | CODE |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 70 | def test_color_histogram_counts() -> None: | CODE |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 76 | def test_connected_components_basic() -> None: | CODE |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 87 | def test_connected_components_distinguishes_colors() -> None: | CODE |
| LOW⚡ | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 108 | def test_connected_components_skips_background() -> None: | CODE |
| LOW⚡ | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 113 | def test_connected_components_centroid_and_bounding_box() -> None: | CODE |
| LOW⚡ | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 122 | def test_connected_components_min_size_filter() -> None: | CODE |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_agent.py | 30 | def test_choose_action_returns_parsed_kind(mem: BitterbotMemory) -> None: | CODE |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_agent.py | 40 | def test_choose_action_logs_transition_after_first_turn(mem: BitterbotMemory) -> None: | CODE |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_agent.py | 51 | def test_choose_action_records_rule_when_emitted(mem: BitterbotMemory) -> None: | CODE |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_agent.py | 65 | def test_choose_action_updates_hypothesis_when_emitted(mem: BitterbotMemory) -> None: | CODE |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_agent.py | 80 | def test_on_episode_end_records_event_and_resets_buffer(mem: BitterbotMemory) -> None: | CODE |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_agent.py | 96 | def test_on_episode_end_refutes_hypothesis_on_loss(mem: BitterbotMemory) -> None: | CODE |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_agent.py | 106 | def test_pixel_delta_triggers_curiosity_event(mem: BitterbotMemory) -> None: | CODE |
| LOW | …/bitterbot_memory_py/tests/test_arc_adapter_offline.py | 15 | def test_module_imports_without_arcengine() -> None: | CODE |
| LOW | …/bitterbot_memory_py/tests/test_arc_adapter_offline.py | 24 | def test_make_arc_agent_class_raises_when_arcengine_missing() -> None: | CODE |
| LOW | …i-3/kaggle/bitterbot_memory_py/tests/test_curiosity.py | 11 | def test_unseen_pair_returns_max_novelty(store: MemoryStore) -> None: | CODE |
| LOW | …i-3/kaggle/bitterbot_memory_py/tests/test_curiosity.py | 18 | def test_novelty_decreases_with_observation_count(store: MemoryStore) -> None: | CODE |
| LOW | …i-3/kaggle/bitterbot_memory_py/tests/test_curiosity.py | 33 | def test_novelty_is_per_state_action_pair(store: MemoryStore) -> None: | CODE |
| LOW | …i-3/kaggle/bitterbot_memory_py/tests/test_curiosity.py | 44 | def test_novelty_cross_game_count_is_shared(store: MemoryStore) -> None: | CODE |
| 2084 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | desktop/setup-local-env.sh | 2 | # ============================================================================= | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 6 | # ============================================================================= | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 28 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 30 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 72 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 74 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 92 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 94 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 166 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 168 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 241 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 243 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 266 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 268 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 297 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 299 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 320 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 322 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 356 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 358 | # ----------------------------------------------------------------------------- | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 392 | # ============================================================================= | COMMENT |
| MEDIUM | desktop/setup-local-env.sh | 394 | # ============================================================================= | COMMENT |
| MEDIUM | benchmarks/arc-agi-3/kaggle/submit_kaggle.py | 36 | # ── Kaggle dataset / model paths ─────────────────────────────────── | COMMENT |
| MEDIUM | benchmarks/arc-agi-3/kaggle/submit_kaggle.py | 56 | # ── Pre-flight ───────────────────────────────────────────────────── | COMMENT |
| MEDIUM | benchmarks/arc-agi-3/kaggle/submit_kaggle.py | 194 | # ── vLLM ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | benchmarks/arc-agi-3/kaggle/submit_kaggle.py | 239 | # ── Main ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 24 | # ── BLOB packing helpers ─────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 34 | # ── HashEmbedder ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 68 | # ── ensure_embeddings ────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 105 | # ── HybridRetriever ──────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …ggle/bitterbot_memory_py/tests/test_knowledge_graph.py | 22 | # ── Entity upserts ───────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …ggle/bitterbot_memory_py/tests/test_knowledge_graph.py | 79 | # ── Entity queries ───────────────────────────────────────────────── | COMMENT |
| MEDIUM⚡ | …ggle/bitterbot_memory_py/tests/test_knowledge_graph.py | 113 | # ── Relationship upserts ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …ggle/bitterbot_memory_py/tests/test_knowledge_graph.py | 186 | # ── Relationship queries ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …ggle/bitterbot_memory_py/tests/test_knowledge_graph.py | 227 | # ── Stats ────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …3/kaggle/bitterbot_memory_py/bitterbot_memory/store.py | 25 | # ── Knowledge Graph: entities ──────────────────────────────────── | COMMENT |
| MEDIUM | …3/kaggle/bitterbot_memory_py/bitterbot_memory/store.py | 42 | # ── Knowledge Graph: relationships ─────────────────────────────── | COMMENT |
| MEDIUM | …3/kaggle/bitterbot_memory_py/bitterbot_memory/store.py | 61 | # ── ARC-AGI-3 transition log ───────────────────────────────────── | COMMENT |
| MEDIUM | …3/kaggle/bitterbot_memory_py/bitterbot_memory/store.py | 78 | # ── Hormonal state ─────────────────────────────────────────────── | COMMENT |
| MEDIUM | …3/kaggle/bitterbot_memory_py/bitterbot_memory/store.py | 91 | # ── Hypotheses (epistemic directives) ──────────────────────────── | COMMENT |
| MEDIUM | …3/kaggle/bitterbot_memory_py/bitterbot_memory/store.py | 101 | # ── Vector embeddings (BLOB-packed float32 little-endian) ──────── | COMMENT |
| MEDIUM | …/kaggle/bitterbot_memory_py/bitterbot_memory/memory.py | 45 | # ── Retrieval / rule lifecycle ──────────────────────────────── | COMMENT |
| MEDIUM | …/kaggle/bitterbot_memory_py/bitterbot_memory/memory.py | 67 | # ── Transition logging / novelty ────────────────────────────── | COMMENT |
| MEDIUM | …/kaggle/bitterbot_memory_py/bitterbot_memory/memory.py | 84 | # ── Hypotheses ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …/kaggle/bitterbot_memory_py/bitterbot_memory/memory.py | 99 | # ── Hormonal state ──────────────────────────────────────────── | COMMENT |
| MEDIUM | …/kaggle/bitterbot_memory_py/bitterbot_memory/memory.py | 107 | # ── Lifecycle ───────────────────────────────────────────────── | COMMENT |
| MEDIUM | …itterbot_memory_py/bitterbot_memory/knowledge_graph.py | 160 | # ── Entity CRUD ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …itterbot_memory_py/bitterbot_memory/knowledge_graph.py | 238 | # ── Relationship CRUD ────────────────────────────────────────── | COMMENT |
| MEDIUM | …itterbot_memory_py/bitterbot_memory/knowledge_graph.py | 359 | # ── Stats / introspection ────────────────────────────────────── | COMMENT |
| MEDIUM | …3/kaggle/bitterbot_memory_py/bitterbot_memory/frame.py | 21 | # ── 16-color ASCII palette ───────────────────────────────────────── | COMMENT |
| MEDIUM | …3/kaggle/bitterbot_memory_py/bitterbot_memory/frame.py | 49 | # ── Hash + ASCII ─────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …3/kaggle/bitterbot_memory_py/bitterbot_memory/frame.py | 72 | # ── Diff ─────────────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …3/kaggle/bitterbot_memory_py/bitterbot_memory/frame.py | 109 | # ── Connected components ─────────────────────────────────────────── | COMMENT |
| MEDIUM | …3/kaggle/bitterbot_memory_py/bitterbot_memory/frame.py | 187 | # ── Color histogram ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ggle/bitterbot_memory_py/bitterbot_memory/retrieval.py | 50 | # ── BLOB <-> ndarray helpers ──────────────────────────────────────── | COMMENT |
| MEDIUM | …ggle/bitterbot_memory_py/bitterbot_memory/retrieval.py | 63 | # ── Embedding population ──────────────────────────────────────────── | COMMENT |
| MEDIUM | …ggle/bitterbot_memory_py/bitterbot_memory/retrieval.py | 128 | # ── Hybrid query ──────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ggle/bitterbot_memory_py/bitterbot_memory/retrieval.py | 158 | # ── BM25 index ────────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ggle/bitterbot_memory_py/bitterbot_memory/retrieval.py | 184 | # ── Vector index ──────────────────────────────────────────────── | COMMENT |
| MEDIUM | …ggle/bitterbot_memory_py/bitterbot_memory/retrieval.py | 198 | # ── Main entry ────────────────────────────────────────────────── | COMMENT |
| 203 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/marketplace/a2a-integration.md | 496 | // Step 1: initial request (expect 402) | COMMENT |
| LOW | docs/marketplace/a2a-integration.md | 511 | // Step 2: read pricing from the JSON-RPC error body | COMMENT |
| LOW | docs/marketplace/a2a-integration.md | 522 | // Step 3: pay on-chain | COMMENT |
| LOW | docs/marketplace/a2a-integration.md | 550 | // Step 4: wait for confirmation, then retry with payment proof | COMMENT |
| LOW | docs/gateway/remote-gateway-readme.md | 36 | ### Step 1: Add SSH Config | COMMENT |
| LOW⚡ | docs/gateway/remote-gateway-readme.md | 50 | ### Step 2: Copy SSH Key | COMMENT |
| LOW⚡ | docs/gateway/remote-gateway-readme.md | 58 | ### Step 3: Set Gateway Token | COMMENT |
| LOW⚡ | docs/gateway/remote-gateway-readme.md | 64 | ### Step 4: Start SSH Tunnel | COMMENT |
| LOW⚡ | docs/gateway/remote-gateway-readme.md | 70 | ### Step 5: Connect | COMMENT |
| LOW | docs/channels/msteams.md | 153 | ### Step 1: Create Azure Bot | COMMENT |
| LOW⚡ | docs/channels/msteams.md | 171 | ### Step 2: Get Credentials | COMMENT |
| LOW⚡ | docs/channels/msteams.md | 179 | ### Step 3: Configure Messaging Endpoint | COMMENT |
| LOW⚡ | docs/channels/msteams.md | 186 | ### Step 4: Enable Teams Channel | COMMENT |
| LOW⚡ | benchmarks/longmemeval/runner.ts | 166 | // Step 0: Reset memory for this question (clean slate per item) | COMMENT |
| LOW⚡ | benchmarks/longmemeval/runner.ts | 169 | // Step 1: Convert all sessions into a single chronological document | COMMENT |
| LOW⚡ | benchmarks/longmemeval/runner.ts | 173 | // Step 2: Ingest the document into memory | COMMENT |
| LOW⚡ | benchmarks/longmemeval/runner.ts | 176 | // Step 3: Search for relevant context | COMMENT |
| LOW | benchmarks/longmemeval/runner.ts | 195 | // Step 4: Generate answer | COMMENT |
| LOW⚡ | scripts/setup-auth-system.sh | 15 | # Step 1: Check current auth status | COMMENT |
| LOW⚡ | scripts/setup-auth-system.sh | 20 | # Step 2: Set up long-lived token | COMMENT |
| LOW | scripts/setup-auth-system.sh | 41 | # Step 3: Set up auth monitoring | COMMENT |
| LOW | scripts/setup-auth-system.sh | 84 | # Step 4: Termux widget setup | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 222 | ### Step 1: Understanding the Skill with Concrete Examples | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 239 | ### Step 2: Planning the Reusable Skill Contents | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 263 | ### Step 3: Initializing the Skill | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 294 | ### Step 4: Edit the Skill | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 335 | ### Step 5: Packaging a Skill | COMMENT |
| LOW | skills/skill-creator/SKILL.md | 361 | ### Step 6: Iterate | COMMENT |
| LOW | src/discord/voice-message.ts | 242 | // Step 1: Request upload URL from Discord | COMMENT |
| LOW | src/discord/voice-message.ts | 265 | // Step 2: Upload the file to Discord's CDN | COMMENT |
| LOW | src/discord/voice-message.ts | 279 | // Step 3: Send the message with voice message flag and metadata | COMMENT |
| LOW⚡ | src/memory/skill-seekers-adapter.ts | 330 | // Step 1: native scraper for URLs it can handle | COMMENT |
| LOW⚡ | src/memory/skill-seekers-adapter.ts | 335 | // Step 2: upstream probe (cached) | COMMENT |
| LOW | src/memory/skill-seekers-adapter.ts | 664 | // Step 1: direct URL extraction | COMMENT |
| LOW | src/memory/skill-seekers-adapter.ts | 689 | // Step 2: web search fallback | COMMENT |
| LOW | src/memory/consolidation.ts | 475 | // Step 1: Compute pairwise cosine (cached) and k-NN for each chunk | COMMENT |
| LOW | src/memory/consolidation.ts | 500 | // Step 2: For near-miss pairs, count shared neighbors | COMMENT |
| LOW | src/agents/tools/deep-recall-tool.ts | 318 | // Step 1: Quick memory_search first — if high-confidence results, skip RLM | COMMENT |
| LOW⚡ | src/agents/tools/deep-recall-tool.ts | 343 | // Step 2: Resolve sub-model | COMMENT |
| LOW⚡ | src/agents/tools/deep-recall-tool.ts | 352 | // Step 3: Live data-access APIs — the context snapshot below is only a | COMMENT |
| LOW | src/agents/tools/deep-recall-tool.ts | 428 | // Step 4: Execute RLM | COMMENT |
| LOW | src/agents/tools/deep-recall-tool.ts | 547 | // Step 5: Trigger hormonal event based on result + Plan 7 self-improvement | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH⚡ | src/agents/rlm/rlm.test.ts | 160 | print(matches.length); | CODE |
| HIGH⚡ | src/agents/rlm/rlm.test.ts | 161 | print(matches[0]); | CODE |
| HIGH⚡ | src/agents/rlm/rlm.test.ts | 170 | print(chunks.length); | CODE |
| HIGH⚡ | src/agents/rlm/rlm.test.ts | 171 | print(chunks[0].length); | CODE |
| HIGH | src/agents/rlm/rlm.test.ts | 207 | print(answer); | CODE |
| HIGH | src/agents/rlm/rlm.test.ts | 215 | print(JSON.stringify(stats)); | CODE |
| HIGH | src/agents/rlm/rlm.test.ts | 226 | print(lines); | CODE |
| HIGH | src/line/markdown-to-line.test.ts | 127 | print("hello") | CODE |
| HIGH | src/line/markdown-to-line.test.ts | 386 | print("done") | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | setup-podman.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | .detect-secrets.cfg | 1 | # detect-secrets exclusion patterns (regex) | COMMENT |
| LOW | deploy/guest-page/deploy.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | deploy/relay-fleet/main.tf | 1 | # Bitterbot relay-fleet — Terraform module for DigitalOcean | COMMENT |
| LOW | deploy/relay-fleet/cloud-init.yaml | 1 | #cloud-config | COMMENT |
| LOW | deploy/relay-fleet/scripts/update-dnsaddr.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | deploy/relay-fleet/scripts/fleet-stats.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | desktop/renderer/src/stores/circles-store.ts | 21 | // re-exported here so existing `from "../../stores/circles-store"` imports | COMMENT |
| LOW | …top/renderer/src/components/circles/MermaidDiagram.tsx | 1 | import { useEffect, useState } from "react"; | COMMENT |
| LOW | desktop/renderer/src/components/circles/InvitePanel.tsx | 1 | import { X } from "lucide-react"; | COMMENT |
| LOW | …top/renderer/src/components/circles/CanvasActivity.tsx | 1 | import { Check, Sparkles, X } from "lucide-react"; | COMMENT |
| LOW | …top/renderer/src/components/circles/CircleMarkdown.tsx | 1 | import type { Components } from "react-markdown"; | COMMENT |
| LOW | desktop/renderer/src/lib/updater.ts | 1 | // Auto-updater hook for the Tauri desktop shell. | COMMENT |
| LOW | desktop/src-tauri/src/computer_use.rs | 1 | // Computer-use IPC commands. | COMMENT |
| LOW | desktop/src-tauri/src/main.rs | 1 | // Bitterbot Desktop Shell — Tauri 2 entry point | COMMENT |
| LOW | desktop/src-tauri/src/main.rs | 61 | COMMENT | |
| LOW | benchmarks/arc-agi-3/runners/run-ablation.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | benchmarks/longmemeval/run-full-hardmode.sh | 1 | #!/bin/bash | COMMENT |
| LOW | scripts/create-dmg.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/notarize-mac-artifact.sh | 1 | #!/usr/bin/env bash | COMMENT |
| LOW | scripts/auth-monitor.sh | 1 | #!/bin/bash | COMMENT |
| LOW | orchestrator/src/computer.rs | 1 | //! Headless OS-control primitives for the orchestrator daemon. | COMMENT |
| LOW | orchestrator/src/ipc.rs | 41 | pub region_hint: Option<String>, | COMMENT |
| LOW | orchestrator/src/main.rs | 41 | /// Also reads from BITTERBOT_ORCHESTRATOR_AUTH_TOKEN env var. | COMMENT |
| LOW | orchestrator/src/main.rs | 61 | #[arg(long, default_value = "auto", value_parser = parse_relay_mode)] | COMMENT |
| LOW | orchestrator/src/swarm/mod.rs | 101 | /// v1: management node key. v2 (Forage): the poster's own pubkey — any | COMMENT |
| LOW | orchestrator/src/swarm/mod.rs | 201 | /// `total_peers_seen` from earlier management-state code). | COMMENT |
| LOW | orchestrator/src/swarm/mod.rs | 221 | #[serde(default)] | COMMENT |
| LOW | orchestrator/src/swarm/mod.rs | 241 | /// Latest AutoNAT verdict: "unknown", "public", or "private". | COMMENT |
| LOW | orchestrator/src/swarm/mod.rs | 1401 | } | COMMENT |
| LOW | src/test-utils/vitest-mock-fn.ts | 1 | // Centralized Vitest mock type for harness modules under `src/`. | COMMENT |
| LOW | src/memory/manager-sync-ops.ts | 201 | // Node event loop in 2–60 s bursts. | COMMENT |
| LOW | src/memory/manager-embedding-ops.ts | 41 | // cooldown elapses rather than staying on the slower synchronous path for the | COMMENT |
| LOW | src/memory/gccrf-reward.ts | 221 | // Per-region dual-EMA: Δη = max(0, ema_long - ema_short) | COMMENT |
| LOW | src/memory/gccrf-reward.ts | 421 | // Shaped reward: I_α = (density + ε)^(-(α+1)/2) - 1 | COMMENT |
| LOW | src/memory/dream-engine.ts | 2181 | // and market_demand (targets arrive priority-ordered); explored- | COMMENT |
| LOW | src/memory/dream-engine.ts | 3561 | // in. Step A (manager.backfillSessionTrust) stamps session chunks on | COMMENT |
| LOW | src/memory/curiosity-engine.ts | 701 | null, | COMMENT |
| LOW | src/circles/sandbox.ts | 1081 | COMMENT | |
| LOW | src/config/io.ts | 881 | } | COMMENT |
| LOW | src/agents/models-config.providers.ts | 861 | githubToken: selectedGithubToken, | COMMENT |
| LOW | src/agents/model-live-discovery.ts | 1 | // Live model discovery: ask each provider what it actually serves right now, | COMMENT |
| LOW | src/agents/model-featured.ts | 1 | // The curated "featured" model set — the lean, defensible menu Bitterbot | COMMENT |
| LOW | src/agents/tools/computer-use-tool.ipc.test.ts | 101 | // attach to ours. The simplest way: mutate the resolved path so | COMMENT |
| LOW | src/agents/pi-embedded-runner/harness-policy.ts | 1 | // PLAN-25: the HarnessPolicy is the single typed, versioned object the embedded | COMMENT |
| LOW | src/agents/pi-embedded-runner/harness-policy-store.ts | 1 | // PLAN-25: versioned on-disk store for the evolved HarnessPolicy, mirroring the | COMMENT |
| LOW | src/agents/skills/capability-runtime.ts | 81 | getGrants, | COMMENT |
| LOW | src/cli/update-cli/update-command.ts | 401 | // update.run path does: if the freshly-updated build never confirms a | COMMENT |
| LOW | src/services/wallet-service.ts | 101 | COMMENT | |
| LOW | src/gateway/a2a/a2a-http.ts | 221 | // exempt BY DESIGN (PLAN-29): hunters are anonymous peers with no way | COMMENT |
| LOW | src/gateway/a2a/circles.ts | 521 | // author, and this node changes nothing about its own roster; the marker | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW⚡ | benchmarks/longmemeval/runner.ts | 166 | // Step 0: Reset memory for this question (clean slate per item) | COMMENT |
| LOW⚡ | benchmarks/longmemeval/runner.ts | 169 | // Step 1: Convert all sessions into a single chronological document | COMMENT |
| LOW⚡ | benchmarks/longmemeval/runner.ts | 173 | // Step 2: Ingest the document into memory | COMMENT |
| LOW⚡ | benchmarks/longmemeval/runner.ts | 176 | // Step 3: Search for relevant context | COMMENT |
| LOW | benchmarks/longmemeval/runner.ts | 195 | // Step 4: Generate answer | COMMENT |
| LOW⚡ | scripts/setup-auth-system.sh | 15 | # Step 1: Check current auth status | COMMENT |
| LOW⚡ | scripts/setup-auth-system.sh | 20 | # Step 2: Set up long-lived token | COMMENT |
| LOW | scripts/setup-auth-system.sh | 41 | # Step 3: Set up auth monitoring | COMMENT |
| LOW | scripts/setup-auth-system.sh | 84 | # Step 4: Termux widget setup | COMMENT |
| LOW | src/discord/voice-message.ts | 242 | // Step 1: Request upload URL from Discord | COMMENT |
| LOW | src/discord/voice-message.ts | 265 | // Step 2: Upload the file to Discord's CDN | COMMENT |
| LOW | src/discord/voice-message.ts | 279 | // Step 3: Send the message with voice message flag and metadata | COMMENT |
| LOW⚡ | src/memory/skill-seekers-adapter.ts | 330 | // Step 1: native scraper for URLs it can handle | COMMENT |
| LOW⚡ | src/memory/skill-seekers-adapter.ts | 335 | // Step 2: upstream probe (cached) | COMMENT |
| LOW | src/memory/skill-seekers-adapter.ts | 664 | // Step 1: direct URL extraction | COMMENT |
| LOW | src/memory/skill-seekers-adapter.ts | 689 | // Step 2: web search fallback | COMMENT |
| LOW | src/memory/consolidation.ts | 475 | // Step 1: Compute pairwise cosine (cached) and k-NN for each chunk | COMMENT |
| LOW | src/memory/consolidation.ts | 500 | // Step 2: For near-miss pairs, count shared neighbors | COMMENT |
| LOW | src/agents/tools/deep-recall-tool.ts | 318 | // Step 1: Quick memory_search first — if high-confidence results, skip RLM | COMMENT |
| LOW⚡ | src/agents/tools/deep-recall-tool.ts | 343 | // Step 2: Resolve sub-model | COMMENT |
| LOW⚡ | src/agents/tools/deep-recall-tool.ts | 352 | // Step 3: Live data-access APIs — the context snapshot below is only a | COMMENT |
| LOW | src/agents/tools/deep-recall-tool.ts | 428 | // Step 4: Execute RLM | COMMENT |
| LOW | src/agents/tools/deep-recall-tool.ts | 547 | // Step 5: Trigger hormonal event based on result + Plan 7 self-improvement | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | benchmarks/arc-agi-3/kaggle/submit_kaggle.py | 19 | CODE | |
| LOW | benchmarks/arc-agi-3/kaggle/scripts/local_smoke.py | 14 | CODE | |
| LOW | …kaggle/bitterbot_memory_py/tests/test_memory_facade.py | 5 | CODE | |
| LOW | …arc-agi-3/kaggle/bitterbot_memory_py/tests/conftest.py | 3 | CODE | |
| LOW | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 8 | CODE | |
| LOW | …i-3/kaggle/bitterbot_memory_py/tests/test_retrieval.py | 13 | CODE | |
| LOW | …kaggle/bitterbot_memory_py/tests/test_action_parser.py | 3 | CODE | |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_frame.py | 3 | CODE | |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_agent.py | 3 | CODE | |
| LOW | …/bitterbot_memory_py/tests/test_arc_adapter_offline.py | 8 | CODE | |
| LOW | …/bitterbot_memory_py/tests/test_arc_adapter_offline.py | 21 | CODE | |
| LOW | …i-3/kaggle/bitterbot_memory_py/tests/test_curiosity.py | 3 | CODE | |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_store.py | 3 | CODE | |
| LOW | …3/kaggle/bitterbot_memory_py/tests/test_vllm_client.py | 3 | CODE | |
| LOW | …i-3/kaggle/bitterbot_memory_py/tests/test_epistemic.py | 3 | CODE | |
| LOW | …c-agi-3/kaggle/bitterbot_memory_py/tests/test_rules.py | 3 | CODE | |
| LOW | …ggle/bitterbot_memory_py/tests/test_knowledge_graph.py | 3 | CODE | |
| LOW | …gi-3/kaggle/bitterbot_memory_py/tests/test_hormonal.py | 3 | CODE | |
| LOW | …3/kaggle/bitterbot_memory_py/bitterbot_memory/store.py | 16 | CODE | |
| LOW | …3/kaggle/bitterbot_memory_py/bitterbot_memory/store.py | 21 | CODE | |
| LOW | …ggle/bitterbot_memory_py/bitterbot_memory/epistemic.py | 16 | CODE | |
| LOW | …/bitterbot_memory_py/bitterbot_memory/action_parser.py | 19 | CODE | |
| LOW | …/kaggle/bitterbot_memory_py/bitterbot_memory/memory.py | 14 | CODE | |
| LOW | …itterbot_memory_py/bitterbot_memory/knowledge_graph.py | 15 | CODE | |
| LOW | …aggle/bitterbot_memory_py/bitterbot_memory/__init__.py | 9 | CODE | |
| LOW | …aggle/bitterbot_memory_py/bitterbot_memory/__init__.py | 10 | CODE | |
| LOW | …aggle/bitterbot_memory_py/bitterbot_memory/__init__.py | 10 | CODE | |
| LOW | …3/kaggle/bitterbot_memory_py/bitterbot_memory/rules.py | 15 | CODE | |
| LOW | …kaggle/bitterbot_memory_py/bitterbot_memory/prompts.py | 16 | CODE | |
| LOW | …3/kaggle/bitterbot_memory_py/bitterbot_memory/frame.py | 13 | CODE | |
| LOW | …ggle/bitterbot_memory_py/bitterbot_memory/retrieval.py | 16 | CODE | |
| LOW | …3/kaggle/bitterbot_memory_py/bitterbot_memory/agent.py | 24 | CODE | |
| LOW | …aggle/bitterbot_memory_py/bitterbot_memory/hormonal.py | 19 | CODE | |
| LOW | …aggle/bitterbot_memory_py/bitterbot_memory/embedder.py | 18 | CODE | |
| LOW | …le/bitterbot_memory_py/bitterbot_memory/vllm_client.py | 12 | CODE | |
| LOW | …ggle/bitterbot_memory_py/bitterbot_memory/curiosity.py | 18 | CODE | |
| LOW | …le/bitterbot_memory_py/bitterbot_memory/arc_adapter.py | 21 | CODE | |
| LOW | …le/bitterbot_memory_py/bitterbot_memory/arc_adapter.py | 39 | CODE | |
| LOW | …le/bitterbot_memory_py/bitterbot_memory/arc_adapter.py | 77 | CODE | |
| LOW | skills/model-usage/scripts/model_usage.py | 8 | CODE | |
| LOW | skills/model-usage/scripts/model_usage.py | 12 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | docs/tools/plugin.md | 273 | "region": { "label": "Region", "placeholder": "us-east-1" } | CODE |
| LOW | docs/automation/hooks.md | 557 | {"timestamp":"2026-01-16T15:45:22.000Z","action":"stop","sessionKey":"agent:main:main","senderId":"user@example.com","so | CODE |
| LOW | docs/gateway/configuration-reference.md | 394 | allowFrom: ["+15555550123", "user@example.com", "chat_id:123"], | CODE |
| LOW | docs/gateway/configuration-examples.md | 320 | imessage: ["user@example.com"], | CODE |
| LOW | docs/gateway/configuration-examples.md | 528 | email: "user@example.com", | CODE |
| LOW | benchmarks/longmemeval/.work-bio/118b2229/b5f561f5_2.md | 127 | 2. **Use placeholder content**: Use placeholder content, such as Lorem Ipsum, to focus on the layout and interactions ra | CODE |
| LOW | benchmarks/longmemeval/.work-bio/118b2229/b5f561f5_2.md | 196 | 2. **Use placeholder content**: Use placeholder content, such as Lorem Ipsum, to focus on the layout and interactions ra | CODE |
| LOW | …bench-runs-bio/25e5f2fe/workspace/memory/b5f561f5_2.md | 127 | 2. **Use placeholder content**: Use placeholder content, such as Lorem Ipsum, to focus on the layout and interactions ra | CODE |
| LOW | …bench-runs-bio/25e5f2fe/workspace/memory/b5f561f5_2.md | 196 | 2. **Use placeholder content**: Use placeholder content, such as Lorem Ipsum, to focus on the layout and interactions ra | CODE |
| LOW | skills/himalaya/references/message-composition.md | 34 | To: "John Doe" <john@example.com> | CODE |
| LOW⚡ | skills/himalaya/references/configuration.md | 9 | email = "user@example.com" | CODE |
| LOW⚡ | skills/himalaya/references/configuration.md | 18 | backend.login = "user@example.com" | CODE |
| LOW⚡ | skills/himalaya/references/configuration.md | 27 | message.send.backend.login = "user@example.com" | CODE |
| LOW | skills/himalaya/references/configuration.md | 143 | email = "user@example.com" | CODE |
| LOW | skills/peekaboo/SKILL.md | 123 | peekaboo type "user@example.com" --app Safari | CODE |
| LOW | skills/notte/SKILL.md | 122 | --email "user@example.com" \ | CODE |
| LOW | src/memory/kg-relationship-extract.test.ts | 153 | expect(typeEntityName("Acme Corp")).toBe("organization"); | CODE |
| LOW | …y/dream-modes/synthesize-interceptor-candidate.test.ts | 32 | rationale: "lorem ipsum", | CODE |
| LOW | …y/dream-modes/synthesize-interceptor-candidate.test.ts | 46 | rationale: "lorem ipsum", | CODE |
| LOW | src/config/schema.ts | 78 | Pick<ConfigUiHint, "label" | "help" | "advanced" | "sensitive" | "placeholder"> | CODE |
| LOW | src/security/external-content.ts | 219 | * sender: "user@example.com", | COMMENT |
| LOW | …key.falls-back-provider-default-per-dm-not.e2e.test.ts | 33 | dms: { "user@example.com": { historyLimit: 7 } }, | CODE |
| LOW | src/hooks/bundled/command-logger/HOOK.md | 34 | {"timestamp":"2026-01-16T15:45:22.000Z","action":"stop","sessionKey":"agent:main:main","senderId":"user@example.com","so | CODE |
| LOW | src/commands/openai-codex-oauth.test.ts | 50 | email: "user@example.com", | CODE |
| LOW | src/imessage/targets.test.ts | 68 | allowFrom: ["user@example.com"], | CODE |
| LOW | src/services/x402-verify.ts | 222 | // blocks fake-token Transfer events emitted by attacker contracts. | COMMENT |
| LOW | src/services/x402-verify.test.ts | 282 | it("rejects Transfer log emitted by a non-USDC contract (#38 fake-token)", async () => { | CODE |
| LOW | src/gateway/auth.test.ts | 276 | allowUsers: ["admin@example.com", "nick@example.com"], | CODE |
| LOW | src/gateway/auth.test.ts | 301 | allowUsers: ["admin@example.com", "nick@example.com"], | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …le/bitterbot_memory_py/bitterbot_memory/arc_adapter.py | 179 | except Exception: | CODE |
| LOW | …le/bitterbot_memory_py/bitterbot_memory/arc_adapter.py | 211 | except Exception: | CODE |
| LOW | …le/bitterbot_memory_py/bitterbot_memory/arc_adapter.py | 223 | except Exception: | CODE |
| LOW | skills/model-usage/scripts/model_usage.py | 82 | except Exception: | CODE |
| LOW | skills/model-usage/scripts/model_usage.py | 250 | except Exception as exc: | CODE |
| LOW | skills/skill-creator/scripts/init_skill.py | 280 | except Exception as e: | CODE |
| LOW | skills/skill-creator/scripts/init_skill.py | 292 | except Exception as e: | CODE |
| LOW | skills/skill-creator/scripts/init_skill.py | 300 | except Exception as e: | CODE |
| LOW | skills/skill-creator/scripts/package_skill.py | 81 | except Exception as e: | CODE |
| MEDIUM | skills/nano-banana-pro/scripts/generate_image.py | 69 | print("Error: No API key provided.", file=sys.stderr) | CODE |
| MEDIUM | skills/nano-banana-pro/scripts/generate_image.py | 92 | print(f"Error: Too many input images ({len(args.input_images)}). Maximum is 14.", file=sys.stderr) | CODE |
| LOW | skills/nano-banana-pro/scripts/generate_image.py | 105 | except Exception as e: | CODE |
| MEDIUM | skills/nano-banana-pro/scripts/generate_image.py | 106 | print(f"Error loading input image '{img_path}': {e}", file=sys.stderr) | CODE |
| MEDIUM⚡ | skills/nano-banana-pro/scripts/generate_image.py | 175 | print("Error: No image was generated in the response.", file=sys.stderr) | CODE |
| LOW⚡ | skills/nano-banana-pro/scripts/generate_image.py | 178 | except Exception as e: | CODE |
| MEDIUM⚡ | skills/nano-banana-pro/scripts/generate_image.py | 179 | print(f"Error generating image: {e}", file=sys.stderr) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | docs/protocol/aubaine-v1/README.md | 40 | ## The three things that make it scaffolding-agnostic | COMMENT |
| MEDIUM | docs/concepts/context.md | 77 | ## What counts toward the context window | COMMENT |
| MEDIUM | docs/reference/token-use.md | 28 | ## What counts in the context window | COMMENT |
| MEDIUM | docs/gateway/troubleshooting.md | 345 | ### 2) Bind and auth guardrails are stricter | COMMENT |
| MEDIUM | docs/gateway/configuration.md | 302 | See [Multi-Agent](/concepts/multi-agent) and [full reference](/gateway/configuration-reference#multi-agent-routing) | CODE |
| MEDIUM | docs/gateway/security/index.md | 600 | ## Per-agent access profiles (multi-agent) | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | docs/observability.md | 50 | export OTEL_EXPORTER_OTLP_HEADERS=x-honeycomb-team=YOUR_API_KEY | CODE |
| HIGH | skills/moltbook/SKILL.md | 63 | Authorization: Bearer YOUR_API_KEY | CODE |
| HIGH | skills/trello/SKILL.md | 22 | export TRELLO_API_KEY="your-api-key" | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| CRITICAL | src/security/audit.ts | 576 | typeof params.cfg.gateway?.remote?.url === "string" ? params.cfg.gateway.remote.url.trim() : ""; | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | benchmarks/arc-agi-3/runners/run-ablation.sh | 5 | # 1. baseline-partner-template — no Bitterbot MCP at all (FUTURE: requires a separate harness; this script currently | COMMENT |
| MEDIUM | src/cli/completion-cli.ts | 477 | // For a robust implementation, usually one maps out the tree. | COMMENT |
| MEDIUM | src/cli/completion-cli.ts | 626 | // Actually, a robust fish completion often requires defining a function to check current line. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | deploy/relay-fleet/.terraform.lock.hcl | 1 | # This file is maintained automatically by "terraform init". | COMMENT |
| MEDIUM | scripts/create-dmg.sh | 4 | # Create a styled DMG containing the app bundle + /Applications symlink. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | deploy/relay-fleet/scripts/update-dnsaddr.sh | 21 | # Usage: | COMMENT |
| LOW | deploy/relay-fleet/scripts/fleet-stats.sh | 12 | # Usage: | COMMENT |
| LOW | scripts/create-dmg.sh | 6 | # Usage: | COMMENT |
| LOW | scripts/notarize-mac-artifact.sh | 6 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …3/kaggle/bitterbot_memory_py/bitterbot_memory/frame.py | 122 | CODE | |
| LOW | …le/bitterbot_memory_py/bitterbot_memory/vllm_client.py | 118 | CODE | |
| LOW | skills/model-usage/scripts/model_usage.py | 122 | CODE | |
| LOW | skills/skill-creator/scripts/init_skill.py | 227 | CODE | |
| LOW | skills/skill-creator/scripts/package_skill.py | 20 | CODE | |
| LOW | skills/nano-banana-pro/scripts/generate_image.py | 32 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | skills/skill-creator/scripts/init_skill.py | 256 | Initialize a new skill directory with template SKILL.md. Args: skill_name: Name of the skill p | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | scripts/auth-monitor.sh | 38 | # Check if we notified recently | COMMENT |
| LOW | scripts/auth-monitor.sh | 46 | # Check if we can still use bitterbot | COMMENT |
| LOW | skills/skill-creator/scripts/init_skill.py | 271 | # Check if directory already exists | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …aggle/bitterbot_memory_py/bitterbot_memory/__init__.py | 12 | __all__ = ["BitterbotMemory", "MemoryStore", "open_store"] | CODE |
| LOW | …3/kaggle/bitterbot_memory_py/bitterbot_memory/agent.py | 36 | logger = logging.getLogger(__name__) | CODE |
| LOW | …le/bitterbot_memory_py/bitterbot_memory/vllm_client.py | 22 | logger = logging.getLogger(__name__) | CODE |
| LOW | …le/bitterbot_memory_py/bitterbot_memory/arc_adapter.py | 41 | logger = logging.getLogger(__name__) | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/auto-reply/chunk.test.ts | 354 | const text = "```python\ndef my_function():\n x = 1\n\n y = 2\n return x + y\n```"; | CODE |
| LOW | src/auto-reply/chunk.test.ts | 359 | const fence = "```python\ndef my_function():\n x = 1\n\n y = 2\n return x + y\n```"; | CODE |
| LOW | src/gateway/server-http.ts | 483 | async function handleRequest(req: IncomingMessage, res: ServerResponse) { | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | …bitterbot_longmemeval_oracle_biological_evaluated.json | 708 | "hypothesis": "I don't have enough information to answer this question.\n\nThe conversation excerpts mention your | CODE |