{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "foundry_unresolved_feedback", "name": "Foundry mined unresolved feedback: TiveauHRTMN/weerzone.nl", "shortDescription": {"text": "Foundry mined unresolved feedback: TiveauHRTMN/weerzone.nl"}, "fullDescription": {"text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#4\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 4\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 40\nNode types: {'link_quality': 6, 'comment': 3, 'pr_file': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'ali"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: TiveauHRTMN/weerzone.nl", "shortDescription": {"text": "Foundry mined blueprint gap alignment: TiveauHRTMN/weerzone.nl"}, "fullDescription": {"text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#4\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 4\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 40\nNode types: {'link_quality': 6, 'comment': 3, 'pr_file': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, "}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_schema_ui_api_gap", "name": "Foundry mined schema ui api mismatch: TiveauHRTMN/weerzone.nl", "shortDescription": {"text": "Foundry mined schema ui api mismatch: TiveauHRTMN/weerzone.nl"}, "fullDescription": {"text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#4\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 4\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 40\nNode types: {'link_quality': 6, 'comment': 3, 'pr_file': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'"}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: TiveauHRTMN/weerzone.nl", "shortDescription": {"text": "Foundry mined bad chains: TiveauHRTMN/weerzone.nl"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: TiveauHRTMN/weerzone.nl#4\nRepo: TiveauHRTMN/weerzone.nl\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'build_install_failure': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 3}\nChanged file labels: {'dependency_or_build': 2, 'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8b929dc87fc5cae8\",\n    \"kind\": \"pul"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "high", "confidence": 0.84, "cwe": "", "owasp": ""}}, {"id": "foundry_fake_real_gap", "name": "Foundry mined mock as real or placeholder: TiveauHRTMN/weerzone.nl", "shortDescription": {"text": "Foundry mined mock as real or placeholder: TiveauHRTMN/weerzone.nl"}, "fullDescription": {"text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#1\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#1\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 15\nEdges: 27\nNode types: {'pr_file': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-11802da5f7272af3", "name": "Possibly dead Python function: run_background", "shortDescription": {"text": "Possibly dead Python function: run_background"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e7c8485a8c44f233", "name": "Possibly dead Python function: stream_callback", "shortDescription": {"text": "Possibly dead Python function: stream_callback"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a3b750d9a9b24ed", "name": "Possibly dead Python function: apply_transformation", "shortDescription": {"text": "Possibly dead Python function: apply_transformation"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c876d438f3e1899", "name": "Possibly dead Python function: spinner_loop", "shortDescription": {"text": "Possibly dead Python function: spinner_loop"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b433a3dbecde929f", "name": "Possibly dead Python function: process_loop", "shortDescription": {"text": "Possibly dead Python function: process_loop"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4156bd59c6d0536b", "name": "Possibly dead Python function: env_int", "shortDescription": {"text": "Possibly dead Python function: env_int"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9ade7539ace8784", "name": "Possibly dead Python function: env_bool", "shortDescription": {"text": "Possibly dead Python function: env_bool"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-32954f750aca6e72", "name": "Possibly dead Python function: process_entry", "shortDescription": {"text": "Possibly dead Python function: process_entry"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b403595ec23faa24", "name": "Possibly dead Python function: crawl_source", "shortDescription": {"text": "Possibly dead Python function: crawl_source"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aee56dcab45783e2", "name": "Possibly dead Python function: sub_link", "shortDescription": {"text": "Possibly dead Python function: sub_link"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c980b6f6f182c80", "name": "Possibly dead Python function: expires_unix_seconds", "shortDescription": {"text": "Possibly dead Python function: expires_unix_seconds"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-992736aacbb06d6c", "name": "Possibly dead Python function: log_message", "shortDescription": {"text": "Possibly dead Python function: log_message"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-294d8c8dde9e8567", "name": "Possibly dead Python function: save_trajectory", "shortDescription": {"text": "Possibly dead Python function: save_trajectory"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13936bc5291a10a5", "name": "Possibly dead Python function: read_claude_managed_key", "shortDescription": {"text": "Possibly dead Python function: read_claude_managed_key"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fb58d8d19a9a78d3", "name": "Possibly dead Python function: auxiliary_max_tokens_param", "shortDescription": {"text": "Possibly dead Python function: auxiliary_max_tokens_param"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ee83e539e7b5b8c", "name": "Possibly dead Python function: dec", "shortDescription": {"text": "Possibly dead Python function: dec"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7c267ae9b944afa", "name": "Possibly dead Python function: secret_cb", "shortDescription": {"text": "Possibly dead Python function: secret_cb"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f87cf77d9b5fd37", "name": "Possibly dead Python function: run_after_agent_ready", "shortDescription": {"text": "Possibly dead Python function: run_after_agent_ready"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-432cd78b87709bc0", "name": "Possibly dead Python function: go", "shortDescription": {"text": "Possibly dead Python function: go"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d0b018972abd9c86", "name": "Possibly dead Python function: check_ssl", "shortDescription": {"text": "Possibly dead Python function: check_ssl"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-423f87e819ca8b8b", "name": "Possibly dead Python function: whois_lookup", "shortDescription": {"text": "Possibly dead Python function: whois_lookup"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-273e471ba78c392d", "name": "Possibly dead Python function: dns_records", "shortDescription": {"text": "Possibly dead Python function: dns_records"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5639cde6d45aaf62", "name": "Stray `console.log` in TS/JS \u2014 test-buffer.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test-buffer.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9f394b0d5bab494b", "name": "Stray `console.log` in TS/JS \u2014 check-metrics.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 check-metrics.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-239545cddb4ea104", "name": "Stray `console.log` in TS/JS \u2014 test-db-faq.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 test-db-faq.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2e6bb18e9904a39", "name": "Stray `console.log` in TS/JS \u2014 proxy.ts:58", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 proxy.ts:58"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bd1dc4866dbf0ce7", "name": "Stray `console.log` in TS/JS \u2014 hermes-agent-main/scripts/whatsapp-bridge/bridge.js:150", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hermes-agent-main/scripts/whatsapp-bridge/bridge.js:150"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-052fd91cbdcb2ace", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/App.tsx:668", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/App.tsx:668"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-70af03e82e8de577", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ToolCall.tsx:107", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ToolCall.tsx:107"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d4b6a439865cca18", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/OAuthProvidersCard.tsx:177", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/OAuthProvidersCard.tsx:177"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-76aef2b907f5b9b2", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ModelPickerDialog.tsx:357", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ModelPickerDialog.tsx:357"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d1756e98ce4ca06", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/SlashPopover.tsx:156", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/SlashPopover.tsx:156"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91aa80a1406954d9", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/PlatformsCard.tsx:60", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/PlatformsCard.tsx:60"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5b839cae92f91624", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ThemeSwitcher.tsx:122", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ThemeSwitcher.tsx:122"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-320f0ff11751c94a", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ChatSidebar.tsx:329", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ChatSidebar.tsx:329"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-060ed1650a1b7fa0", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/contexts/PageHeaderProvider.tsx:72", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/contexts/PageHeaderProvider.tsx:72"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-91e4aeeb5076b257", "name": "Stray `console.log` in TS/JS \u2014 hermes-agent-main/web/src/lib/gatewayClient.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hermes-agent-main/web/src/lib/gatewayClient.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-789d7000f36af404", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/PluginsPage.tsx:419", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/PluginsPage.tsx:419"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b8fa110da0a7d2dc", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/EnvPage.tsx:140", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/EnvPage.tsx:140"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2d0502b1c76886f1", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/SessionsPage.tsx:86", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/SessionsPage.tsx:86"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d651e4c92cd0276b", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/ModelsPage.tsx:330", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/ModelsPage.tsx:330"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d250c8901791fccc", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/SkillsPage.tsx:314", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/SkillsPage.tsx:314"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aa54abdae215e99d", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/ProfilesPage.tsx:290", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/ProfilesPage.tsx:290"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9449e95155ddbcd3", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/CronPage.tsx:273", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/CronPage.tsx:273"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c1399b60c0e67f0c", "name": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/ConfigPage.tsx:552", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/ConfigPage.tsx:552"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-60cea34c60f20cd2", "name": "TODO/FIXME marker in shipping code \u2014 hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/events/input-event.ts:54", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/events/input-event.ts:54"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c091356714351e8d", "name": "Stray `console.log` in TS/JS \u2014 hermes-agent-main/ui-tui/src/entry.tsx:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 hermes-agent-main/ui-tui/src/entry.tsx:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-58e170f3f53db347", "name": "TODO/FIXME marker in shipping code \u2014 hermes-agent-main/ui-tui/src/__tests__/createGatewayEventHandler.test.ts:84", "shortDescription": {"text": "TODO/FIXME marker in shipping code \u2014 hermes-agent-main/ui-tui/src/__tests__/createGatewayEventHandler.test.ts:84"}, "fullDescription": {"text": "Track in /reviews or /issues, not as a code comment that rots.\n\nWhy: Drift control \u2014 shouldn't be the same as Quality TODO scanner.\nRule id: fq.todo-marker"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e95c420a05a8fffd", "name": "Stray `console.log` in TS/JS \u2014 scripts/ingest-places.ts:51", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest-places.ts:51"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f17b07eb30368479", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-koos-getaway.ts:128", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-koos-getaway.ts:128"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c49feaa22bec82f6", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-seo-full.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-seo-full.ts:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce52622ce57c7a81", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-osm-nl-pois.ts:199", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-osm-nl-pois.ts:199"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf33971b0b046468", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-subscriber-prefs.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-subscriber-prefs.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a2b870a4ab8329f", "name": "Stray `console.log` in TS/JS \u2014 scripts/hermes-wws-agent.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/hermes-wws-agent.ts:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c8208de551ffe57", "name": "Stray `console.log` in TS/JS \u2014 scripts/import-osm-nl-campings.ts:177", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-osm-nl-campings.ts:177"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1fb0e5b2148e1fa3", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-koos-agent.ts:36", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-koos-agent.ts:36"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec05175a8a0ef0e7", "name": "Stray `console.log` in TS/JS \u2014 scripts/gen-berkhout-short.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-berkhout-short.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf021236760706d5", "name": "Stray `console.log` in TS/JS \u2014 scripts/ping-google.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ping-google.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-39cc400c2e2a1bf9", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-piet-view.ts:87", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-piet-view.ts:87"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5eb925aefe876918", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug-mijnweer.js:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-mijnweer.js:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4b3cf85d55050c9e", "name": "Stray `console.log` in TS/JS \u2014 scripts/gen-youtube-script.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-youtube-script.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5474ecbf6bc312da", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-piet-agent.ts:39", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-piet-agent.ts:39"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb9c9ddb9fd97d39", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-venues.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-venues.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0843bc2799a563da", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-reed-agent.ts:38", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-reed-agent.ts:38"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bdeac0c882fc57cc", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-risk-analysis.ts:96", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-risk-analysis.ts:96"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5dda87543be3e691", "name": "Stray `console.log` in TS/JS \u2014 scripts/fix-limburg-places.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-limburg-places.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-961391ebbd9921c3", "name": "Stray `console.log` in TS/JS \u2014 scripts/ingest-v3.ts:42", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest-v3.ts:42"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f01b159da49b3bd6", "name": "Stray `console.log` in TS/JS \u2014 scripts/seed-poule.ts:86", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-poule.ts:86"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8e637e56093427ba", "name": "Stray `console.log` in TS/JS \u2014 scripts/gen-sitemap.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-sitemap.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f31bac60ae99bcd0", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-piet-context.ts:71", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-piet-context.ts:71"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80b3bb8f30d68e58", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-social-post.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-social-post.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ba880ea0b3fd186", "name": "Stray `console.log` in TS/JS \u2014 scripts/send-og-preview.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/send-og-preview.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-730541f954eccfd4", "name": "Stray `console.log` in TS/JS \u2014 scripts/refine-places.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/refine-places.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-45732fa8671c6a4c", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-persona-brief.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-persona-brief.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22df3de183297e72", "name": "Stray `console.log` in TS/JS \u2014 scripts/test-social-local.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-social-local.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-201ccd58d8fa2b8f", "name": "Stray `console.log` in TS/JS \u2014 scripts/discover-places.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/discover-places.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d18dbd87569fdcc", "name": "Stray `console.log` in TS/JS \u2014 scripts/seo-status.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seo-status.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50bf2d2e918ebb37", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-affiliate-stats.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-affiliate-stats.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48158635cb18357c", "name": "Stray `console.log` in TS/JS \u2014 scripts/count-places.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count-places.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e88ecfdce71146d7", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-agent-context-types.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-agent-context-types.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2e4fa3ff4900e706", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-reed-view.ts:97", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-reed-view.ts:97"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aecac5c656fd7d3b", "name": "Stray `console.log` in TS/JS \u2014 scripts/debug-remaining.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-remaining.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fa49cadf1feb42c6", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-agents-orchestrator.ts:65", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-agents-orchestrator.ts:65"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6823953199a1d4df", "name": "Stray `console.log` in TS/JS \u2014 scripts/check-reed-view-tesla.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-reed-view-tesla.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2747e1e09961d179", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-niedorp.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-niedorp.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e2a0b2f2c86b0c08", "name": "Stray `console.log` in TS/JS \u2014 scratch/introspect-buffer.ts:29", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/introspect-buffer.ts:29"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cf6bd264f6dc3ad4", "name": "Stray `console.log` in TS/JS \u2014 scratch/set-home-winkel.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/set-home-winkel.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89bbbf2e011a279e", "name": "Stray `console.log` in TS/JS \u2014 scratch/set-test-location.ts:19", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/set-test-location.ts:19"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5fe277bb3b623273", "name": "Stray `console.log` in TS/JS \u2014 scratch/debug-harmonie.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/debug-harmonie.ts:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d15f7db4c5c307f3", "name": "Stray `console.log` in TS/JS \u2014 scratch/final-api-proof.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/final-api-proof.ts:5"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d28f7f8ce533370", "name": "Stray `console.log` in TS/JS \u2014 scratch/test-resend.ts:13", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-resend.ts:13"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f57196d7418fe54a", "name": "Stray `console.log` in TS/JS \u2014 scratch/compare-models.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/compare-models.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-170f5e7c6dfaaa98", "name": "Stray `console.log` in TS/JS \u2014 scratch/test-resend-simple.ts:18", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-resend-simple.ts:18"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7f9994d7b4ecd9b7", "name": "Stray `console.log` in TS/JS \u2014 scratch/reality-check.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/reality-check.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ff851abcaee614d", "name": "Stray `console.log` in TS/JS \u2014 scratch/full-test-briefing.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/full-test-briefing.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2e484f692cf5570", "name": "Stray `console.log` in TS/JS \u2014 scratch/test-piet-briefing.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-piet-briefing.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be5d9d2a82357b47", "name": "Stray `console.log` in TS/JS \u2014 scratch/ultra-test-briefing.ts:11", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/ultra-test-briefing.ts:11"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47bb4d5a71d21f99", "name": "Stray `console.log` in TS/JS \u2014 scratch/list-all-models.ts:21", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/list-all-models.ts:21"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dcea5caa28d83b6e", "name": "Stray `console.log` in TS/JS \u2014 scratch/test_image_gen.ts:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test_image_gen.ts:24"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ef6b9f967764b5d", "name": "Stray `console.log` in TS/JS \u2014 scratch/test-full-branded-flow.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-full-branded-flow.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-97ac5d02e69e6f41", "name": "Stray `console.log` in TS/JS \u2014 scratch/test-admin.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-admin.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b233f1231df5246e", "name": "Stray `console.log` in TS/JS \u2014 scratch/direct-test-mail.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/direct-test-mail.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9361e8af3805c785", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-dupes.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-dupes.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6fe54d4de11c8024", "name": "Stray `console.log` in TS/JS \u2014 scratch/test-matcher.ts:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-matcher.ts:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-10af2f644403fde5", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-resend-emails.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-resend-emails.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ad3f1a99ad659e0f", "name": "Stray `console.log` in TS/JS \u2014 scratch/list_models.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/list_models.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d90cf3747b3650f8", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-limburg-leak.ts:23", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-limburg-leak.ts:23"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-212ac2cca2ee2b75", "name": "Stray `console.log` in TS/JS \u2014 scratch/test-hunter-vlissingen.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-hunter-vlissingen.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-139493b4beba2d42", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-dupes.js:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-dupes.js:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ca51a6cb42ec34e8", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-agents.ts:8", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-agents.ts:8"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4b9c9cecc938b366", "name": "Stray `console.log` in TS/JS \u2014 scratch/test-admin-simple.ts:20", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-admin-simple.ts:20"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dbd7c908ea9f6906", "name": "Stray `console.log` in TS/JS \u2014 scratch/test-matcher.js:47", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-matcher.js:47"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aeff743fdc24ffba", "name": "Stray `console.log` in TS/JS \u2014 scratch/verify-db.ts:14", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/verify-db.ts:14"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5e6f2b6dc0378d26", "name": "Stray `console.log` in TS/JS \u2014 scratch/download-social-test.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/download-social-test.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d57403a4c5789d11", "name": "Stray `console.log` in TS/JS \u2014 scratch/trace-tags.js:28", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/trace-tags.js:28"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c11a8484fd8006b", "name": "Stray `console.log` in TS/JS \u2014 scratch/prove-affiliate-logic.ts:5", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/prove-affiliate-logic.ts:5"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-546679ecaa32d393", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-db.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-db.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-411696407d5fcc96", "name": "Stray `console.log` in TS/JS \u2014 scratch/test-log.ts:4", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-log.ts:4"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-04a7d7fc5a85859e", "name": "Stray `console.log` in TS/JS \u2014 scratch/national-hunt.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/national-hunt.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-51d61b8741aad469", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-resend-domains.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-resend-domains.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-16f35e54359b81b7", "name": "Stray `console.log` in TS/JS \u2014 scratch/regional-test-briefing.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/regional-test-briefing.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2bff4d3efe5ecfe7", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-env.ts:7", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-env.ts:7"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a6dd3b374e7cdabf", "name": "Stray `console.log` in TS/JS \u2014 scratch/reset-user-password.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/reset-user-password.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6fa20252dffde366", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-user-profile.ts:10", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-user-profile.ts:10"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b4f60f2ac5679b26", "name": "Stray `console.log` in TS/JS \u2014 scratch/test-social-final.ts:33", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-social-final.ts:33"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38dcc099c2b46e67", "name": "Stray `console.log` in TS/JS \u2014 scratch/validate-syntax.js:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/validate-syntax.js:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-97d2927c9e2e5c56", "name": "Stray `console.log` in TS/JS \u2014 scratch/fix-user-data.ts:12", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/fix-user-data.ts:12"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5eb1fbf9b87761fb", "name": "Stray `console.log` in TS/JS \u2014 scratch/check-user-status.ts:15", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-user-status.ts:15"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6debaa9b94cfcfb8", "name": "Stray `console.log` in TS/JS \u2014 scratch/validate-tags.js:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 scratch/validate-tags.js:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-31409ac17854cc69", "name": "Stray `console.log` in TS/JS \u2014 pipeline/index.ts:76", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 pipeline/index.ts:76"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a5dfa35c0f535e03", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/PollenWidget.tsx:77", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/PollenWidget.tsx:77"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-70124e49f1033879", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/PietWeatherPage.tsx:634", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/PietWeatherPage.tsx:634"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-965fb2754755a163", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/NeuralInsights.tsx:85", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/NeuralInsights.tsx:85"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dd5e1ebe278b8516", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/SiteShell.tsx:63", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/SiteShell.tsx:63"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-97f18716c9d8592d", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/KoosTravelPage.tsx:350", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/KoosTravelPage.tsx:350"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2e7ea6e8f87d7189", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/wkpoule/WkNav.tsx:45", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/wkpoule/WkNav.tsx:45"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cc74df456e3a956a", "name": "\"active\" state uses light bg in a dark theme \u2014 src/components/wkpoule/WkNav.tsx:59", "shortDescription": {"text": "\"active\" state uses light bg in a dark theme \u2014 src/components/wkpoule/WkNav.tsx:59"}, "fullDescription": {"text": "A ternary like `active ? 'bg-white' : '...'` (or bg-gray-100/200) on a dark theme produces jarring white pills. Use a dark-emphasized active state instead \u2014 border + ring or slightly brighter dark bg. Example: `active ? 'bg-gray-800 border-gray-500 ring-1 ring-blue-500/30' : '\u2026'`.\n\nWhy: P-E in CHECKLIST.md \u2014 light bg in a dark theme is a class of regression.\nRule id: fq.active-light-bg"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4d52d479fd59ae87", "name": "`truncate` class without `title=` for hover reveal \u2014 src/components/wz/LocatieButton.tsx:125", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/wz/LocatieButton.tsx:125"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dc5baa6e044bfd00", "name": "Icon-only button without accessible name \u2014 src/components/hartmanwk/PouleApp.tsx:647", "shortDescription": {"text": "Icon-only button without accessible name \u2014 src/components/hartmanwk/PouleApp.tsx:647"}, "fullDescription": {"text": "A `<button>` whose only child is a single glyph or symbol needs `title=` or `aria-label=` so screen readers (and tooltips on hover) work.\n\nWhy: P3 in CHECKLIST.md \u2014 icon-only buttons skipped a title.\nRule id: fq.button.no-label"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4ef9b331f80572a1", "name": "Stray `console.log` in TS/JS \u2014 src/app/actions.ts:411", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/actions.ts:411"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6143dc4f9867cf7d", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/wkpoule/page.tsx:194", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/wkpoule/page.tsx:194"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-59bf835dea6999e3", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/wkpoule/groep/[id]/page.tsx:130", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/wkpoule/groep/[id]/page.tsx:130"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-02424361e9b9b075", "name": "Stray `console.log` in TS/JS \u2014 src/app/(site)/auth/callback/route.ts:17", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/auth/callback/route.ts:17"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b028298851bbaf44", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/mijn-weerzone/page.tsx:133", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/mijn-weerzone/page.tsx:133"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e4a3e231d4924601", "name": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/wws/route.ts:35", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/wws/route.ts:35"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f16c624843aef779", "name": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/cron/hermes-patrol/route.ts:25", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/cron/hermes-patrol/route.ts:25"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-80d86421690e08c9", "name": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/cron/openclaw-harvester/route.ts:32", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/cron/openclaw-harvester/route.ts:32"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-10e883b8260d9709", "name": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/cron/b2b-hunter/route.ts:66", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/cron/b2b-hunter/route.ts:66"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc17e9bcfc5b0cba", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/magnolia/page.tsx:226", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/magnolia/page.tsx:226"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0357046862299f95", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/app/login/LoginClient.tsx:164", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/app/login/LoginClient.tsx:164"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8023dc3a38e58144", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/app/onboarding/OnboardingClient.tsx:305", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/app/onboarding/OnboardingClient.tsx:305"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a7e18ce627e619e2", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/piet/page.tsx:123", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/piet/page.tsx:123"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-903b6dddc60ea36d", "name": "Stray `console.log` in TS/JS \u2014 src/app/(site)/admin/page.tsx:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/admin/page.tsx:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d8621435aa949a9", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/admin/architect/page.tsx:150", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/admin/architect/page.tsx:150"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e2eb6f80ee2f66c6", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/over/page.tsx:119", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/over/page.tsx:119"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cd5816fcbd3e0f9b", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/weer/page.tsx:45", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/weer/page.tsx:45"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e77dd057b22599c5", "name": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/weer/[province]/page.tsx:187", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/weer/[province]/page.tsx:187"}, "fullDescription": {"text": "A truncated value should reveal the full text on hover. Pass the full string via `title={...}` so the user can read it.\n\nWhy: P2 in CHECKLIST.md \u2014 truncate without hover-reveal.\nRule id: fq.truncate.no-title"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bf3e3eab88c75553", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/weer/[province]/page.tsx:122", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/weer/[province]/page.tsx:122"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-eba78b82e48fce68", "name": "`dangerouslySetInnerHTML` used in a React component \u2014 src/lib/schema.ts:27", "shortDescription": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/lib/schema.ts:27"}, "fullDescription": {"text": "Open XSS surface unless the input is provably trusted. Replace with explicit JSX or sanitize via a vetted library.\n\nWhy: OWASP basics. Already partially flagged by the security analyzer.\nRule id: fq.dangerous-html"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-22522278558aaecd", "name": "Stray `console.log` in TS/JS \u2014 src/lib/agent-logger.ts:16", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/agent-logger.ts:16"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce11f56381733ff3", "name": "Stray `console.log` in TS/JS \u2014 src/lib/google/earthengine.ts:9", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/google/earthengine.ts:9"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-579656f643a2e6c9", "name": "Dockerfile runs as root: hermes-agent-main/Dockerfile", "shortDescription": {"text": "Dockerfile runs as root: hermes-agent-main/Dockerfile"}, "fullDescription": {"text": "No non-root USER set. Containers running as root expand the blast radius of any vulnerability inside the image."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-04fb6061e5cfb674", "name": "Docker base image is tag-pinned but not digest-pinned: debian:13.4", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: debian:13.4"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e2ad01a6f11f64b8", "name": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/cli.py:6672", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/cli.py:6672"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2e68c5482db53170", "name": "Insecure pattern 'node_child_process' in hermes-agent-main/website/scripts/prebuild.mjs:17", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/website/scripts/prebuild.mjs:17"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bb28d9691a0d44ad", "name": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/tui_gateway/server.py:4205", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/tui_gateway/server.py:4205"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cd6b0be51ad39f94", "name": "Possible secret in hermes-agent-main/optional-skills/security/1password/SKILL.md", "shortDescription": {"text": "Possible secret in hermes-agent-main/optional-skills/security/1password/SKILL.md"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-7db2dcdb40945eed", "name": "Insecure pattern 'eval_used' in hermes-agent-main/optional-skills/mlops/guidance/SKILL.md:387", "shortDescription": {"text": "Insecure pattern 'eval_used' in hermes-agent-main/optional-skills/mlops/guidance/SKILL.md:387"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1f7d7484d48e089a", "name": "Insecure pattern 'exec_used' in hermes-agent-main/hermes_cli/tips.py:306", "shortDescription": {"text": "Insecure pattern 'exec_used' in hermes-agent-main/hermes_cli/tips.py:306"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-472edcfe11cbda82", "name": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/hermes_cli/memory_setup.py:137", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/hermes_cli/memory_setup.py:137"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-208b7376f4429377", "name": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/tools/transcription_tools.py:504", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/tools/transcription_tools.py:504"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f2fe3e105a754e64", "name": "Insecure pattern 'eval_used' in hermes-agent-main/tools/skills_guard.py:294", "shortDescription": {"text": "Insecure pattern 'eval_used' in hermes-agent-main/tools/skills_guard.py:294"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a6d1d081c387a304", "name": "Insecure pattern 'exec_used' in hermes-agent-main/tools/skills_guard.py:297", "shortDescription": {"text": "Insecure pattern 'exec_used' in hermes-agent-main/tools/skills_guard.py:297"}, "fullDescription": {"text": "Found a known-risky pattern (exec_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8618632429f26cf5", "name": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/tools/environments/docker.py:627", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/tools/environments/docker.py:627"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0b824facf211d6ed", "name": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/packages/hermes-ink/src/utils/execFileNoThrow.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/packages/hermes-ink/src/utils/execFileNoThrow.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8391a31b6c8ad572", "name": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/gatewayClient.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/gatewayClient.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b07756d9c3240b67", "name": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/__tests__/slashParity.test.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/__tests__/slashParity.test.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ccf7fdd1a94c089f", "name": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/app/useComposerState.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/app/useComposerState.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f1673814d346d094", "name": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/lib/externalCli.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/lib/externalCli.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e4992f5bdd16107f", "name": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/lib/clipboard.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/lib/clipboard.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1da5c519a046ab36", "name": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/hooks/useGitBranch.ts:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/hooks/useGitBranch.ts:1"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de96656b02be0a6d", "name": "Insecure pattern 'eval_used' in hermes-agent-main/environments/benchmarks/yc_bench/README.md:109", "shortDescription": {"text": "Insecure pattern 'eval_used' in hermes-agent-main/environments/benchmarks/yc_bench/README.md:109"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cafd0cdcfbce16ad", "name": "Possible secret in scratch/reset-user-password.ts", "shortDescription": {"text": "Possible secret in scratch/reset-user-password.ts"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-6bca26f0b6483ee4", "name": "Insecure pattern 'direct_innerhtml_assignment' in pipeline/deck-stage.js:814", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in pipeline/deck-stage.js:814"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c9a6e9b95784e52f", "name": "Insecure pattern 'dangerous_innerhtml' in src/components/SiteShell.tsx:63", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/SiteShell.tsx:63"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-39e198d455280851", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/piet/page.tsx:123", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/piet/page.tsx:123"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ed4326cb6e074e09", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/over/page.tsx:119", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/over/page.tsx:119"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a40e33d6e1faae41", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/weer/page.tsx:45", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/weer/page.tsx:45"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-790e3c4c6f6b35e4", "name": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/weer/[province]/page.tsx:122", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/weer/[province]/page.tsx:122"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7b0fb11e39190263", "name": "Insecure pattern 'dangerous_innerhtml' in src/lib/schema.ts:27", "shortDescription": {"text": "Insecure pattern 'dangerous_innerhtml' in src/lib/schema.ts:27"}, "fullDescription": {"text": "Found a known-risky pattern (dangerous_innerhtml). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7e8fe1795c886458", "name": "Possible secret in src/lib/auth-i18n.tsx", "shortDescription": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-43026d6589ed1ba3", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cf40408511c3285d", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-485784cb0b8c4fc6", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-828dbc9e00498252", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v4 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4046697e05811d59", "name": "package.json defines install-time lifecycle scripts", "shortDescription": {"text": "package.json defines install-time lifecycle scripts"}, "fullDescription": {"text": "preinstall/install/postinstall/prepare scripts execute during dependency installation. Review them carefully for network calls, obfuscation, shell execution, or credential access."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ba70aab4cfed02fd", "name": "Very large file: install.sh (1566 lines)", "shortDescription": {"text": "Very large file: install.sh (1566 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-20489704956e7600", "name": "Very large file: hermes-agent-main/hermes_state.py (2630 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_state.py (2630 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-695f53e48a44c121", "name": "Very large file: hermes-agent-main/run_agent.py (14302 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/run_agent.py (14302 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f4d178ce3d6b12a", "name": "Very large file: hermes-agent-main/cli.py (12272 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/cli.py (12272 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e8bd7f8465dd75f8", "name": "Very large file: hermes-agent-main/batch_runner.py (1287 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/batch_runner.py (1287 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f1f8dba57a97409", "name": "Very large file: hermes-agent-main/trajectory_compressor.py (1508 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/trajectory_compressor.py (1508 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3125653ddb086316", "name": "Very large file: hermes-agent-main/tests/test_tui_gateway_server.py (4300 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/test_tui_gateway_server.py (4300 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3051666e24ea5984", "name": "Very large file: hermes-agent-main/tests/test_hermes_state.py (2912 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/test_hermes_state.py (2912 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c876fd4e21e7fe7d", "name": "Very large file: hermes-agent-main/tests/honcho_plugin/test_session.py (1793 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/honcho_plugin/test_session.py (1793 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e26e5937e67679c2", "name": "Very large file: hermes-agent-main/tests/agent/test_auxiliary_client.py (1945 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/agent/test_auxiliary_client.py (1945 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a5dbe950a6780033", "name": "Very large file: hermes-agent-main/tests/agent/test_bedrock_adapter.py (1463 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/agent/test_bedrock_adapter.py (1463 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cfe70e2219fb3e34", "name": "Very large file: hermes-agent-main/tests/agent/test_context_compressor.py (1511 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/agent/test_context_compressor.py (1511 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02ce027a4f55e4e6", "name": "Very large file: hermes-agent-main/tests/agent/test_credential_pool.py (1570 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/agent/test_credential_pool.py (1570 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d1d5e5eec668214", "name": "Very large file: hermes-agent-main/tests/agent/test_error_classifier.py (1236 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/agent/test_error_classifier.py (1236 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6e1ade8237cc805e", "name": "Very large file: hermes-agent-main/tests/agent/test_anthropic_adapter.py (1929 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/agent/test_anthropic_adapter.py (1929 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c42961377c38069", "name": "Very large file: hermes-agent-main/tests/run_agent/test_run_agent.py (5050 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/run_agent/test_run_agent.py (5050 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4039d8924591320c", "name": "Very large file: hermes-agent-main/tests/run_agent/test_streaming.py (1507 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/run_agent/test_streaming.py (1507 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a2b7f8450ff11f9", "name": "Very large file: hermes-agent-main/tests/run_agent/test_provider_parity.py (1164 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/run_agent/test_provider_parity.py (1164 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7569e1f0d9f429f1", "name": "Very large file: hermes-agent-main/tests/run_agent/test_run_agent_codex_responses.py (1770 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/run_agent/test_run_agent_codex_responses.py (1770 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89498d81825a00f1", "name": "Very large file: hermes-agent-main/tests/cron/test_scheduler.py (2294 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/cron/test_scheduler.py (2294 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-028efef78407c686", "name": "Very large file: hermes-agent-main/tests/hermes_cli/test_plugins.py (1233 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_plugins.py (1233 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6e8b2997b17ba0b1", "name": "Very large file: hermes-agent-main/tests/hermes_cli/test_runtime_provider_resolution.py (2287 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_runtime_provider_resolution.py (2287 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-191b5599181638a0", "name": "Very large file: hermes-agent-main/tests/hermes_cli/test_commands.py (1773 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_commands.py (1773 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8178491d38cacb90", "name": "Very large file: hermes-agent-main/tests/hermes_cli/test_gateway_service.py (2179 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_gateway_service.py (2179 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7715549dfc1fe22e", "name": "Very large file: hermes-agent-main/tests/hermes_cli/test_kanban_core_functionality.py (2788 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_kanban_core_functionality.py (2788 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e76225cdcd3d6c0a", "name": "Very large file: hermes-agent-main/tests/hermes_cli/test_api_key_providers.py (1159 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_api_key_providers.py (1159 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f6031dfac73bc9f2", "name": "Very large file: hermes-agent-main/tests/hermes_cli/test_backup.py (1637 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_backup.py (1637 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-218ef99f5210bb18", "name": "Very large file: hermes-agent-main/tests/hermes_cli/test_auth_commands.py (1644 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_auth_commands.py (1644 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9f9b1a416dfa58b", "name": "Very large file: hermes-agent-main/tests/hermes_cli/test_web_server.py (2215 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_web_server.py (2215 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-18eb237d53fa33a6", "name": "Very large file: hermes-agent-main/tests/hermes_cli/test_update_gateway_restart.py (1338 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_update_gateway_restart.py (1338 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-293b80fcd0ba8a46", "name": "Very large file: hermes-agent-main/tests/tools/test_voice_cli_integration.py (1315 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/tools/test_voice_cli_integration.py (1315 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8a9aaeb03b13d4fc", "name": "Very large file: hermes-agent-main/tests/tools/test_send_message_tool.py (1994 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/tools/test_send_message_tool.py (1994 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-28f6e37c24fe68c8", "name": "Very large file: hermes-agent-main/tests/tools/test_tirith_security.py (1009 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/tools/test_tirith_security.py (1009 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d64673364fb885f8", "name": "Very large file: hermes-agent-main/tests/tools/test_skills_hub.py (1641 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/tools/test_skills_hub.py (1641 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5aae551e9f3880de", "name": "Very large file: hermes-agent-main/tests/tools/test_clipboard.py (1101 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/tools/test_clipboard.py (1101 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4745a6b201289908", "name": "Very large file: hermes-agent-main/tests/tools/test_delegate.py (2499 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/tools/test_delegate.py (2499 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e4dce97174d4c843", "name": "Very large file: hermes-agent-main/tests/tools/test_transcription_tools.py (1348 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/tools/test_transcription_tools.py (1348 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb6f927d490058f4", "name": "Very large file: hermes-agent-main/tests/tools/test_mcp_tool.py (3619 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/tools/test_mcp_tool.py (3619 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a929fb8186a61374", "name": "Very large file: hermes-agent-main/tests/gateway/test_voice_command.py (2848 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/gateway/test_voice_command.py (2848 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-94c965cc184fe6be", "name": "Very large file: hermes-agent-main/tests/gateway/test_feishu.py (4725 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/gateway/test_feishu.py (4725 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f2c18a4e16e2837", "name": "Very large file: hermes-agent-main/tests/gateway/test_stream_consumer.py (1495 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/gateway/test_stream_consumer.py (1495 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e158d76d6fe1fd06", "name": "Very large file: hermes-agent-main/tests/gateway/test_api_server.py (2565 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/gateway/test_api_server.py (2565 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc4875148a2cc354", "name": "Very large file: hermes-agent-main/tests/gateway/test_agent_cache.py (1361 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/gateway/test_agent_cache.py (1361 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ac5ac5c3adaf64ca", "name": "Very large file: hermes-agent-main/tests/gateway/test_slack.py (3091 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/gateway/test_slack.py (3091 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc84e7e777552398", "name": "Very large file: hermes-agent-main/tests/gateway/test_signal.py (1796 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/gateway/test_signal.py (1796 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bcfb5b0a92bc0a96", "name": "Very large file: hermes-agent-main/tests/gateway/test_matrix.py (2348 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/gateway/test_matrix.py (2348 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-44814fd2540a4a13", "name": "Very large file: hermes-agent-main/tests/plugins/memory/test_hindsight_provider.py (1447 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tests/plugins/memory/test_hindsight_provider.py (1447 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-35a6c5616d2153fa", "name": "Very large file: hermes-agent-main/scripts/install.sh (1566 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/scripts/install.sh (1566 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4bc8e85db87864e0", "name": "Very large file: hermes-agent-main/scripts/release.py (1350 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/scripts/release.py (1350 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c9bb9eb540729eff", "name": "Very large file: hermes-agent-main/agent/context_compressor.py (1478 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/agent/context_compressor.py (1478 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b628476e6c826a0e", "name": "Very large file: hermes-agent-main/agent/credential_pool.py (1584 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/agent/credential_pool.py (1584 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2963cca70ba3e314", "name": "Very large file: hermes-agent-main/agent/curator.py (1674 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/agent/curator.py (1674 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e49976cbbe3e1cd4", "name": "Very large file: hermes-agent-main/agent/anthropic_adapter.py (1970 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/agent/anthropic_adapter.py (1970 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6cf47f094d80020f", "name": "Very large file: hermes-agent-main/agent/auxiliary_client.py (3917 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/agent/auxiliary_client.py (3917 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e827abf72afad6ab", "name": "Very large file: hermes-agent-main/agent/model_metadata.py (1472 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/agent/model_metadata.py (1472 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-946595e5a62530ba", "name": "Very large file: hermes-agent-main/agent/prompt_builder.py (1180 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/agent/prompt_builder.py (1180 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c8e682b0e5fa68cf", "name": "Very large file: hermes-agent-main/tui_gateway/server.py (6223 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tui_gateway/server.py (6223 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4eca3dafd56bc69e", "name": "Very large file: hermes-agent-main/optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py (3136 line", "shortDescription": {"text": "Very large file: hermes-agent-main/optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py (3136 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72457524a742eba4", "name": "Very large file: hermes-agent-main/cron/scheduler.py (1585 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/cron/scheduler.py (1585 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2e9b1585f1d7ddfc", "name": "Very large file: hermes-agent-main/hermes_cli/plugins.py (1332 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/plugins.py (1332 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b17a0f56ec1ead4", "name": "Very large file: hermes-agent-main/hermes_cli/tools_config.py (2547 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/tools_config.py (2547 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-87f74576e532435e", "name": "Very large file: hermes-agent-main/hermes_cli/commands.py (1713 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/commands.py (1713 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ed582a81b03207c", "name": "Very large file: hermes-agent-main/hermes_cli/config.py (4837 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/config.py (4837 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-552998e6e8f44677", "name": "Very large file: hermes-agent-main/hermes_cli/auth.py (4994 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/auth.py (4994 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f527d5402e397d08", "name": "Very large file: hermes-agent-main/hermes_cli/skills_hub.py (1594 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/skills_hub.py (1594 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8ce30fc62285fda2", "name": "Very large file: hermes-agent-main/hermes_cli/model_switch.py (1654 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/model_switch.py (1654 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9bea93d504aeeef8", "name": "Very large file: hermes-agent-main/hermes_cli/gateway.py (4609 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/gateway.py (4609 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9490379fb10a12b1", "name": "Very large file: hermes-agent-main/hermes_cli/plugins_cmd.py (1544 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/plugins_cmd.py (1544 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-966ceef9c3d680ed", "name": "Very large file: hermes-agent-main/hermes_cli/runtime_provider.py (1340 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/runtime_provider.py (1340 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d33a770c8e10956a", "name": "Very large file: hermes-agent-main/hermes_cli/web_server.py (4062 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/web_server.py (4062 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4cef5eb1404108bb", "name": "Very large file: hermes-agent-main/hermes_cli/setup.py (3417 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/setup.py (3417 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d8e94f9b7fe670a9", "name": "Very large file: hermes-agent-main/hermes_cli/models.py (3505 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/models.py (3505 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8deac8f1d0def8d1", "name": "Very large file: hermes-agent-main/hermes_cli/doctor.py (1443 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/doctor.py (1443 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63fe59d0a212b06c", "name": "Very large file: hermes-agent-main/hermes_cli/kanban.py (1759 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/kanban.py (1759 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6961b4e66c9d38ad", "name": "Very large file: hermes-agent-main/hermes_cli/main.py (10564 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/main.py (10564 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d6729899628efb00", "name": "Very large file: hermes-agent-main/hermes_cli/kanban_db.py (3484 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/hermes_cli/kanban_db.py (3484 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b98dc0ca72497c49", "name": "Very large file: hermes-agent-main/tools/mcp_tool.py (3146 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/mcp_tool.py (3146 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-48b03a60748ff186", "name": "Very large file: hermes-agent-main/tools/web_tools.py (2153 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/web_tools.py (2153 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-307471b781d36eb9", "name": "Very large file: hermes-agent-main/tools/file_tools.py (1143 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/file_tools.py (1143 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38317a439ef65476", "name": "Very large file: hermes-agent-main/tools/send_message_tool.py (1780 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/send_message_tool.py (1780 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-17a7ea4eeaecc11f", "name": "Very large file: hermes-agent-main/tools/delegate_tool.py (2562 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/delegate_tool.py (2562 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-86d44bd3fa2b48ad", "name": "Very large file: hermes-agent-main/tools/browser_supervisor.py (1366 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/browser_supervisor.py (1366 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-861432da1574fea4", "name": "Very large file: hermes-agent-main/tools/browser_tool.py (3047 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/browser_tool.py (3047 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cb4b11761a04b24b", "name": "Very large file: hermes-agent-main/tools/skills_hub.py (3229 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/skills_hub.py (3229 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7b24dda4514006c", "name": "Very large file: hermes-agent-main/tools/code_execution_tool.py (1621 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/code_execution_tool.py (1621 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f6714dc321c81e4d", "name": "Very large file: hermes-agent-main/tools/tts_tool.py (2185 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/tts_tool.py (2185 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-99a1473162b75701", "name": "Very large file: hermes-agent-main/tools/skills_tool.py (1519 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/skills_tool.py (1519 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cae1b3281dc45cb4", "name": "Very large file: hermes-agent-main/tools/rl_training_tool.py (1396 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/rl_training_tool.py (1396 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf5ceda8a9d7ec75", "name": "Very large file: hermes-agent-main/tools/file_operations.py (1561 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/file_operations.py (1561 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84699b90ef63445d", "name": "Very large file: hermes-agent-main/tools/process_registry.py (1434 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/process_registry.py (1434 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-140cf289e7b479f2", "name": "Very large file: hermes-agent-main/tools/approval.py (1255 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/approval.py (1255 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-df9ec4bba94acf35", "name": "Very large file: hermes-agent-main/tools/terminal_tool.py (2342 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/tools/terminal_tool.py (2342 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c3c3a74da7753ea0", "name": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/ink.tsx (2476 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/ink.tsx (2476 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8f4eb1746de8c850", "name": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/screen.ts (1590 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/screen.ts (1590 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cbe275365347630c", "name": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/render-node-to-output.ts (1593 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/render-node-to-output.ts (1593 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec8beb96c1595ea0", "name": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/native-ts/yoga-layout/index.ts (2326 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/native-ts/yoga-layout/index.ts (2326 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2b9c5f4b112b3f8a", "name": "Very large file: hermes-agent-main/gateway/config.py (1625 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/config.py (1625 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c312bb3c8c15ccb1", "name": "Very large file: hermes-agent-main/gateway/session.py (1386 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/session.py (1386 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bcdb3f4ca5b38ddd", "name": "Very large file: hermes-agent-main/gateway/run.py (14943 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/run.py (14943 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1a5dabef3cb525b8", "name": "Very large file: hermes-agent-main/gateway/platforms/signal.py (1516 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/signal.py (1516 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5e3f199ddf32c36a", "name": "Very large file: hermes-agent-main/gateway/platforms/feishu_comment.py (1382 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/feishu_comment.py (1382 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-438e8d14d01bad77", "name": "Very large file: hermes-agent-main/gateway/platforms/matrix.py (2676 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/matrix.py (2676 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3c9e665d4ab57443", "name": "Very large file: hermes-agent-main/gateway/platforms/api_server.py (2933 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/api_server.py (2933 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-67bdae7d324e031d", "name": "Very large file: hermes-agent-main/gateway/platforms/telegram.py (3663 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/telegram.py (3663 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f56511cb22064600", "name": "Very large file: hermes-agent-main/gateway/platforms/base.py (3382 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/base.py (3382 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bda6e99e991081f3", "name": "Very large file: hermes-agent-main/gateway/platforms/feishu.py (4801 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/feishu.py (4801 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c5ec92c91c7c54c4", "name": "Very large file: hermes-agent-main/gateway/platforms/discord.py (4686 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/discord.py (4686 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b105177e80df0bcb", "name": "Very large file: hermes-agent-main/gateway/platforms/yuanbao.py (4756 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/yuanbao.py (4756 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f3b2472e5d30892", "name": "Very large file: hermes-agent-main/gateway/platforms/wecom.py (1607 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/wecom.py (1607 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc220d873ff98523", "name": "Very large file: hermes-agent-main/gateway/platforms/weixin.py (2110 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/weixin.py (2110 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f0ffff7086df8f5", "name": "Very large file: hermes-agent-main/gateway/platforms/slack.py (2926 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/slack.py (2926 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72c50bdccf5b3809", "name": "Very large file: hermes-agent-main/gateway/platforms/dingtalk.py (1366 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/dingtalk.py (1366 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8933f5bbb915296f", "name": "Very large file: hermes-agent-main/gateway/platforms/qqbot/adapter.py (2413 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/gateway/platforms/qqbot/adapter.py (2413 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-465bda89105830e9", "name": "Very large file: hermes-agent-main/acp_adapter/server.py (1428 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/acp_adapter/server.py (1428 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-50d4beae9bb4d155", "name": "Very large file: hermes-agent-main/plugins/memory/honcho/__init__.py (1328 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/plugins/memory/honcho/__init__.py (1328 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c3df629d8802b95a", "name": "Very large file: hermes-agent-main/plugins/memory/honcho/cli.py (1451 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/plugins/memory/honcho/cli.py (1451 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c57fdd6e4b3fe4c", "name": "Very large file: hermes-agent-main/plugins/memory/honcho/session.py (1254 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/plugins/memory/honcho/session.py (1254 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4448aa44d431a0a9", "name": "Very large file: hermes-agent-main/plugins/memory/hindsight/__init__.py (1608 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/plugins/memory/hindsight/__init__.py (1608 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7bbd84c229f6746f", "name": "Very large file: hermes-agent-main/plugins/hermes-achievements/dashboard/plugin_api.py (1061 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/plugins/hermes-achievements/dashboard/plugin_api.py (1061 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1fdee3c89aa23dbe", "name": "Very large file: hermes-agent-main/environments/agentic_opd_env.py (1214 lines)", "shortDescription": {"text": "Very large file: hermes-agent-main/environments/agentic_opd_env.py (1214 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc04104844090875", "name": "Very large file: magnolia/oracle_prophet.py (1209 lines)", "shortDescription": {"text": "Very large file: magnolia/oracle_prophet.py (1209 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-579de2552d288a68", "name": "Very large file: pipeline/deck-stage.js (1709 lines)", "shortDescription": {"text": "Very large file: pipeline/deck-stage.js (1709 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b96d57a54b8ae20e", "name": "Very large file: src/components/ReedExtended.tsx (1098 lines)", "shortDescription": {"text": "Very large file: src/components/ReedExtended.tsx (1098 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a6d8f086f19a6194", "name": "Very large file: src/lib/nl-poi-places.generated.ts (9270 lines)", "shortDescription": {"text": "Very large file: src/lib/nl-poi-places.generated.ts (9270 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f6690a0ce0156a02", "name": "Very large file: src/lib/koos-nl-camping-places.generated.ts (28574 lines)", "shortDescription": {"text": "Very large file: src/lib/koos-nl-camping-places.generated.ts (28574 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e45f130a8587532e", "name": "75 TODO/FIXME markers", "shortDescription": {"text": "75 TODO/FIXME markers"}, "fullDescription": {"text": "High count of TODO/FIXME/HACK markers \u2014 track them as issues so they're not forgotten."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 5411 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 300 placeholder/mock markers across 115 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd89cfec58152b9d", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/security/sherlock/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/security/sherlock/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-45e1154432f01810", "name": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/creative/hyperframes/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/creative/hyperframes/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-13b8adcf8d7c5e47", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/email/agentmail/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/email/agentmail/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8f6a8348374ab11b", "name": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/email/agentmail/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/email/agentmail/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f16dfe37e9e33bb2", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/chroma/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/chroma/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ad737fe629392eb5", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/tensorrt-llm/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/tensorrt-llm/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cae476716b00a988", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/hermes-atropos-environments/SKILL.", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/hermes-atropos-environments/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-552362e03c8183d6", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/saelens/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/saelens/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f73dc8bbe23999d4", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/simpo/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/simpo/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-479489c477d474df", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/simpo/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/simpo/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f9c451d5e59c247d", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/accelerate/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/accelerate/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-05a99438e27458c9", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/accelerate/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/accelerate/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b07c6752e983ff57", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/lambda-labs/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/lambda-labs/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0ddad79bcd3f5c11", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/huggingface-tokenizers/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/huggingface-tokenizers/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1979e3b5687a2e66", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/whisper/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/whisper/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1456a72c09190149", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/llava/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/llava/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-030eadec8b018333", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/clip/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/clip/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5c2d698a99cb259b", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/clip/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/clip/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-545511453d9d54cb", "name": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/mlops/clip/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/mlops/clip/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-78cc8fb084327314", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/pytorch-lightning/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/pytorch-lightning/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-39134ac505ec5177", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/flash-attention/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/flash-attention/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b3dd3b5ded990761", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/nemo-curator/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/nemo-curator/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0f91a47c339552c4", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/peft/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/peft/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2577008b6fd211ee", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-edd167618a772e80", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-efc2cde3337d19fb", "name": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b6ff21d1757e549a", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mcp/mcporter/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mcp/mcporter/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-891fcf9869ca726d", "name": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/mcp/mcporter/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/mcp/mcporter/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-65628106b31cd2e0", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/autonomous-ai-agents/blackbox/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-94a2503596818719", "name": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/autonomous-ai-agents/blackbox/SKIL", "shortDescription": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a9d8fbe7c0297b39", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/research/bioinformatics/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/research/bioinformatics/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7890c99ebcebf0bf", "name": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/research/qmd/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/research/qmd/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-30632ef09afa4674", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/research/domain-intel/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/research/domain-intel/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-efdc56fd0a8487e2", "name": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/research/parallel-cli/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/research/parallel-cli/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-03230c3879405d90", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/research/scrapling/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/research/scrapling/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c591adf8d04fb575", "name": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/migration/openclaw-migration/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/migration/openclaw-migration/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2cf859e4cd1018a7", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/productivity/shopify/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/productivity/shopify/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4b83ea9f687eb029", "name": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/devops/cli/SKILL.md", "shortDescription": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/devops/cli/SKILL.md"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-97ea6578884261fa", "name": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/devops/docker-management/SKILL.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/devops/docker-management/SKILL.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-86e2ef03642d538d", "name": "Agent instruction/config may expose a secret: .windsurf/skills/google-agents-cli-adk-code/references/adk-python.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .windsurf/skills/google-agents-cli-adk-code/references/adk-python.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-08d70e68ef8217c9", "name": "Agent authority lacks a verifier contract: magnolia/.claude/settings.local.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: magnolia/.claude/settings.local.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7278cc9f5cff4a27", "name": "Agent instruction/config may expose a secret: .continue/skills/google-agents-cli-adk-code/references/adk-python.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .continue/skills/google-agents-cli-adk-code/references/adk-python.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-505bc666a82f9849", "name": "Agent instruction/config may expose a secret: .claude/settings.local.json", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/settings.local.json"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c7b59c8c5aa85a27", "name": "Agent instruction/config may expose a secret: .claude/skills/google-agents-cli-adk-code/references/adk-python.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/skills/google-agents-cli-adk-code/references/adk-python.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5fa33c73bdb206b7", "name": "Commented-code block (5 lines) in playwright.config.ts:74", "shortDescription": {"text": "Commented-code block (5 lines) in playwright.config.ts:74"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-062dc9bf4b519094", "name": "Commented-code block (6 lines) in temp_extract/design_handoff_weerzone_auth/tweaks-panel.jsx:12", "shortDescription": {"text": "Commented-code block (6 lines) in temp_extract/design_handoff_weerzone_auth/tweaks-panel.jsx:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7379ac611e4b6f7a", "name": "Commented-code block (6 lines) in temp_extract/design_handoff_weerzone_auth/design-canvas.jsx:2", "shortDescription": {"text": "Commented-code block (6 lines) in temp_extract/design_handoff_weerzone_auth/design-canvas.jsx:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7231bfd2d2bd5354", "name": "`fetch()` without try/.catch or AbortSignal \u2014 temp_extract/design_handoff_weerzone_auth/design-canvas.jsx:63", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 temp_extract/design_handoff_weerzone_auth/design-canvas.jsx:63"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1cbb2711b582a2c0", "name": "Legacy-named symbol `cfg_backup` in hermes-agent-main/hermes_logging.py:203", "shortDescription": {"text": "Legacy-named symbol `cfg_backup` in hermes-agent-main/hermes_logging.py:203"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-119819bf0ad1702e", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_state.py:167", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_state.py:167"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-699c5ffa650a59d3", "name": "Legacy-named symbol `children_copy` in hermes-agent-main/run_agent.py:4416", "shortDescription": {"text": "Legacy-named symbol `children_copy` in hermes-agent-main/run_agent.py:4416"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6e24fd275d0d2f2e", "name": "Commented-code block (6 lines) in hermes-agent-main/run_agent.py:45", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/run_agent.py:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b4fc5fe87cd16367", "name": "Commented-code block (5 lines) in hermes-agent-main/model_tools.py:110", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/model_tools.py:110"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88bfa2349db23edd", "name": "Commented-code block (5 lines) in hermes-agent-main/toolsets.py:363", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/toolsets.py:363"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1d6e1b2a9b5aef7f", "name": "Legacy-named symbol `ghost_session_prune_v1` in hermes-agent-main/cli.py:933", "shortDescription": {"text": "Legacy-named symbol `ghost_session_prune_v1` in hermes-agent-main/cli.py:933"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37945b18e7130cb0", "name": "Commented-code block (6 lines) in hermes-agent-main/cli.py:397", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/cli.py:397"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ef350b1a4d75efa2", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_constants.py:48", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_constants.py:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8f6e38957e4df90e", "name": "Commented-code block (7 lines) in hermes-agent-main/tests/conftest.py:264", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/tests/conftest.py:264"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7b71323a01028e94", "name": "Legacy-named symbol `get_legacy` in hermes-agent-main/tests/test_tui_gateway_server.py:1334", "shortDescription": {"text": "Legacy-named symbol `get_legacy` in hermes-agent-main/tests/test_tui_gateway_server.py:1334"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4cd68c2272c59f37", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/test_tui_gateway_server.py:97", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/test_tui_gateway_server.py:97"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2850f406b642bea9", "name": "Legacy-named symbol `test_custom_max_size_and_backup` in hermes-agent-main/tests/test_hermes_logging.py:130", "shortDescription": {"text": "Legacy-named symbol `test_custom_max_size_and_backup` in hermes-agent-main/tests/test_hermes_logging.py:130"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7a64dcf636fdfb30", "name": "Legacy-named symbol `test_migration_from_v2` in hermes-agent-main/tests/test_hermes_state.py:1661", "shortDescription": {"text": "Legacy-named symbol `test_migration_from_v2` in hermes-agent-main/tests/test_hermes_state.py:1661"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-69795da2882de5ac", "name": "Legacy-named symbol `test_returns_copy` in hermes-agent-main/tests/test_toolset_distributions.py:37", "shortDescription": {"text": "Legacy-named symbol `test_returns_copy` in hermes-agent-main/tests/test_toolset_distributions.py:37"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1cb8b900cbbfdbce", "name": "Commented-code block (7 lines) in hermes-agent-main/tests/honcho_plugin/test_cli.py:70", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/tests/honcho_plugin/test_cli.py:70"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87f1f87875c8008c", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/cli/test_cli_status_bar.py:269", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/cli/test_cli_status_bar.py:269"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fdeca5ae6b8c2e1b", "name": "Legacy-named symbol `config_copy` in hermes-agent-main/tests/cli/test_cli_provider_resolution.py:221", "shortDescription": {"text": "Legacy-named symbol `config_copy` in hermes-agent-main/tests/cli/test_cli_provider_resolution.py:221"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbfdd31a3c85c372", "name": "Legacy-named symbol `mock_copy` in hermes-agent-main/tests/cli/test_cli_copy_command.py:28", "shortDescription": {"text": "Legacy-named symbol `mock_copy` in hermes-agent-main/tests/cli/test_cli_copy_command.py:28"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-30408b91ef05930b", "name": "Legacy-named symbol `s_old` in hermes-agent-main/tests/agent/test_insights.py:127", "shortDescription": {"text": "Legacy-named symbol `s_old` in hermes-agent-main/tests/agent/test_insights.py:127"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d557a2e9f0c22ea", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/agent/test_context_compressor.py:891", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/agent/test_context_compressor.py:891"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1271d7710c4fba67", "name": "Legacy-named symbol `test_returns_deep_copy` in hermes-agent-main/tests/agent/test_prompt_caching.py:73", "shortDescription": {"text": "Legacy-named symbol `test_returns_deep_copy` in hermes-agent-main/tests/agent/test_prompt_caching.py:73"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42f1e08a243b4699", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/agent/test_error_classifier.py:318", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/agent/test_error_classifier.py:318"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1e6deca1cfdf6086", "name": "Legacy-named symbol `curator_backup` in hermes-agent-main/tests/agent/test_curator_backup.py:1", "shortDescription": {"text": "Legacy-named symbol `curator_backup` in hermes-agent-main/tests/agent/test_curator_backup.py:1"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-455cb3679af99155", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/agent/test_memory_session_switch.py:240", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/agent/test_memory_session_switch.py:240"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-22e24f780450e0e5", "name": "Legacy-named symbol `super_old` in hermes-agent-main/tests/agent/test_curator.py:173", "shortDescription": {"text": "Legacy-named symbol `super_old` in hermes-agent-main/tests/agent/test_curator.py:173"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a00760c90fa302c6", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/agent/test_curator.py:527", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/agent/test_curator.py:527"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-305e395c29461288", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/agent/test_bedrock_integration.py:281", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/agent/test_bedrock_integration.py:281"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c17049ebb74243c3", "name": "Legacy-named symbol `sig_old` in hermes-agent-main/tests/agent/test_anthropic_adapter.py:1508", "shortDescription": {"text": "Legacy-named symbol `sig_old` in hermes-agent-main/tests/agent/test_anthropic_adapter.py:1508"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-85f88b27d4c7df12", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/agent/test_anthropic_adapter.py:42", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/agent/test_anthropic_adapter.py:42"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5dac4bc2667db3ce", "name": "Commented-code block (7 lines) in hermes-agent-main/tests/agent/test_curator_classification.py:212", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/tests/agent/test_curator_classification.py:212"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-de1ce0373ed8ce10", "name": "Legacy-named symbol `test_no_assistant_returns_copy` in hermes-agent-main/tests/run_agent/test_run_agent.py:544", "shortDescription": {"text": "Legacy-named symbol `test_no_assistant_returns_copy` in hermes-agent-main/tests/run_agent/test_run_agent.py:544"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-99d62ff20d6cd65e", "name": "Legacy-named symbol `call_old` in hermes-agent-main/tests/run_agent/test_background_review_summary.py:35", "shortDescription": {"text": "Legacy-named symbol `call_old` in hermes-agent-main/tests/run_agent/test_background_review_summary.py:35"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-64cb508b599e9113", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/stress/test_subprocess_e2e.py:151", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/stress/test_subprocess_e2e.py:151"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5c446518a69412b6", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/hermes_cli/test_runtime_provider_resolution.py:1839", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/hermes_cli/test_runtime_provider_resolution.py:1839"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9b97663e038ab190", "name": "Legacy-named symbol `user_legacy` in hermes-agent-main/tests/hermes_cli/test_gateway_service.py:1904", "shortDescription": {"text": "Legacy-named symbol `user_legacy` in hermes-agent-main/tests/hermes_cli/test_gateway_service.py:1904"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-231ac0c14932e4d7", "name": "Legacy-named symbol `test_profiles_nav_label_uses_short_multi_agents_copy` in hermes-agent-main/tests/hermes_cli/test_da", "shortDescription": {"text": "Legacy-named symbol `test_profiles_nav_label_uses_short_multi_agents_copy` in hermes-agent-main/tests/hermes_cli/test_dashboard_profiles_nav_label.py:5"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7486fe68d38a92e9", "name": "Commented-code block (8 lines) in hermes-agent-main/tests/hermes_cli/test_tools_config.py:127", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/tests/hermes_cli/test_tools_config.py:127"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-abd94c9b6da8a2cf", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/hermes_cli/test_voice_wrapper.py:144", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/hermes_cli/test_voice_wrapper.py:144"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-900b2b5d11dcc7db", "name": "Legacy-named symbol `test_switch_to_minimax_m27_strips_v1` in hermes-agent-main/tests/hermes_cli/test_model_switch_openc", "shortDescription": {"text": "Legacy-named symbol `test_switch_to_minimax_m27_strips_v1` in hermes-agent-main/tests/hermes_cli/test_model_switch_opencode_anthropic.py:80"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-70823d5fe9f8915c", "name": "Legacy-named symbol `test_cli_daemon_help_marks_deprecated` in hermes-agent-main/tests/hermes_cli/test_kanban_core_funct", "shortDescription": {"text": "Legacy-named symbol `test_cli_daemon_help_marks_deprecated` in hermes-agent-main/tests/hermes_cli/test_kanban_core_functionality.py:2690"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bee45480a2298be6", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/hermes_cli/test_kanban_core_functionality.py:2052", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/hermes_cli/test_kanban_core_functionality.py:2052"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f7f3d596bf46f4e", "name": "Legacy-named symbol `test_env_override_wins_over_legacy` in hermes-agent-main/tests/hermes_cli/test_api_key_providers.py", "shortDescription": {"text": "Legacy-named symbol `test_env_override_wins_over_legacy` in hermes-agent-main/tests/hermes_cli/test_api_key_providers.py:925"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed50ee8efbc22971", "name": "Legacy-named symbol `run_backup` in hermes-agent-main/tests/hermes_cli/test_backup.py:161", "shortDescription": {"text": "Legacy-named symbol `run_backup` in hermes-agent-main/tests/hermes_cli/test_backup.py:161"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5dd9f16d5ad615ca", "name": "Legacy-named symbol `very_old` in hermes-agent-main/tests/hermes_cli/test_debug.py:1079", "shortDescription": {"text": "Legacy-named symbol `very_old` in hermes-agent-main/tests/hermes_cli/test_debug.py:1079"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f03deeee5818cae7", "name": "Legacy-named symbol `no_backup` in hermes-agent-main/tests/hermes_cli/test_claw.py:468", "shortDescription": {"text": "Legacy-named symbol `no_backup` in hermes-agent-main/tests/hermes_cli/test_claw.py:468"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-16bb27f0cb325058", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/hermes_cli/test_web_server.py:2185", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/hermes_cli/test_web_server.py:2185"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f892f73909c85fc2", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/hermes_cli/test_custom_provider_model_switch.py:296", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/hermes_cli/test_custom_provider_model_switch.py:296"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1ec37f271e9b6be9", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/tools/test_mcp_dynamic_discovery.py:91", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/tools/test_mcp_dynamic_discovery.py:91"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-046e975b5640499e", "name": "Legacy-named symbol `test_plain_text_uses_markdown_v2` in hermes-agent-main/tests/tools/test_send_message_tool.py:653", "shortDescription": {"text": "Legacy-named symbol `test_plain_text_uses_markdown_v2` in hermes-agent-main/tests/tools/test_send_message_tool.py:653"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-489b16bf2559b5a1", "name": "Legacy-named symbol `test_read_returns_copy` in hermes-agent-main/tests/tools/test_todo_tool.py:20", "shortDescription": {"text": "Legacy-named symbol `test_read_returns_copy` in hermes-agent-main/tests/tools/test_todo_tool.py:20"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-41ea62825449e2ae", "name": "Legacy-named symbol `_run_in_copy` in hermes-agent-main/tests/tools/test_skill_provenance.py:94", "shortDescription": {"text": "Legacy-named symbol `_run_in_copy` in hermes-agent-main/tests/tools/test_skill_provenance.py:94"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-316fefba2e8ba321", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/tools/test_kanban_tools.py:501", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/tools/test_kanban_tools.py:501"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c540dc824de522ca", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/tools/test_file_read_guards.py:749", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/tools/test_file_read_guards.py:749"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6a8815a739e0e2a2", "name": "Legacy-named symbol `_call_tool_unused` in hermes-agent-main/tests/tools/test_mcp_circuit_breaker.py:201", "shortDescription": {"text": "Legacy-named symbol `_call_tool_unused` in hermes-agent-main/tests/tools/test_mcp_circuit_breaker.py:201"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a5c354afa2d799b6", "name": "Legacy-named symbol `proc_old` in hermes-agent-main/tests/tools/test_process_registry.py:391", "shortDescription": {"text": "Legacy-named symbol `proc_old` in hermes-agent-main/tests/tools/test_process_registry.py:391"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89a28aab3164366c", "name": "Legacy-named symbol `test_corrupt_owner_pid_falls_back_to_legacy` in hermes-agent-main/tests/tools/test_browser_orphan_r", "shortDescription": {"text": "Legacy-named symbol `test_corrupt_owner_pid_falls_back_to_legacy` in hermes-agent-main/tests/tools/test_browser_orphan_reaper.py:243"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-09b283242f1559a7", "name": "Legacy-named symbol `test_elevenlabs_default_model_multilingual_v2` in hermes-agent-main/tests/tools/test_tts_max_text_l", "shortDescription": {"text": "Legacy-named symbol `test_elevenlabs_default_model_multilingual_v2` in hermes-agent-main/tests/tools/test_tts_max_text_length.py:81"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-021e9a95911a94f5", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/tools/test_terminal_config_env_sync.py:135", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/tools/test_terminal_config_env_sync.py:135"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-965078db79761f95", "name": "Legacy-named symbol `test_write_and_read_roundtrip_v2` in hermes-agent-main/tests/tools/test_skills_sync.py:30", "shortDescription": {"text": "Legacy-named symbol `test_write_and_read_roundtrip_v2` in hermes-agent-main/tests/tools/test_skills_sync.py:30"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d42a111c4397944", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/tools/test_file_state_registry.py:269", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/tools/test_file_state_registry.py:269"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a66d4d590f45c443", "name": "Commented-code block (7 lines) in hermes-agent-main/tests/tools/test_clipboard.py:233", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/tests/tools/test_clipboard.py:233"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d91f68d6005c170b", "name": "Legacy-named symbol `env_backup` in hermes-agent-main/tests/tools/test_code_execution.py:685", "shortDescription": {"text": "Legacy-named symbol `env_backup` in hermes-agent-main/tests/tools/test_code_execution.py:685"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3179a2d0223fe67b", "name": "Legacy-named symbol `expected_legacy` in hermes-agent-main/tests/tools/test_delegate.py:1771", "shortDescription": {"text": "Legacy-named symbol `expected_legacy` in hermes-agent-main/tests/tools/test_delegate.py:1771"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-27a1694382e67f2d", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/tools/test_delegate.py:1580", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/tools/test_delegate.py:1580"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-495393b26aab9b3f", "name": "Legacy-named symbol `clawhub_catalog_v1` in hermes-agent-main/tests/tools/test_search_hidden_dirs.py:4", "shortDescription": {"text": "Legacy-named symbol `clawhub_catalog_v1` in hermes-agent-main/tests/tools/test_search_hidden_dirs.py:4"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1f83b700b2168940", "name": "Legacy-named symbol `mcp_srv_old` in hermes-agent-main/tests/tools/test_mcp_tool.py:720", "shortDescription": {"text": "Legacy-named symbol `mcp_srv_old` in hermes-agent-main/tests/tools/test_mcp_tool.py:720"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-182e7f2cc0c1396b", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_update_command.py:81", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_update_command.py:81"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5fd73cc1032a587d", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_telegram_webhook_secret.py:87", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_telegram_webhook_secret.py:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9cfed99c85396d69", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_config_cwd_bridge.py:130", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_config_cwd_bridge.py:130"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c34587e3d39409d", "name": "Commented-code block (16 lines) in hermes-agent-main/tests/gateway/test_voice_command.py:316", "shortDescription": {"text": "Commented-code block (16 lines) in hermes-agent-main/tests/gateway/test_voice_command.py:316"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3cdf5ba3e20045bd", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_shutdown_memory_provider_messages.py:44", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_shutdown_memory_provider_messages.py:44"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0409391756d67f0", "name": "Legacy-named symbol `register_p2_im_message_message_read_v1` in hermes-agent-main/tests/gateway/test_feishu.py:25", "shortDescription": {"text": "Legacy-named symbol `register_p2_im_message_message_read_v1` in hermes-agent-main/tests/gateway/test_feishu.py:25"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b8ea0378fb94761d", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_internal_event_bypass_pairing.py:361", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_internal_event_bypass_pairing.py:361"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2580ea9cefdb9ab1", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_message_deduplicator.py:97", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_message_deduplicator.py:97"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-61f1c911704eaa99", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_stream_consumer.py:769", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_stream_consumer.py:769"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-12b4276c3c37a566", "name": "Legacy-named symbol `receive_v1` in hermes-agent-main/tests/gateway/test_feishu_bot_admission.py:669", "shortDescription": {"text": "Legacy-named symbol `receive_v1` in hermes-agent-main/tests/gateway/test_feishu_bot_admission.py:669"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a4ded4aa85b3061b", "name": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/tests/gateway/test_send_multiple_images.py:8", "shortDescription": {"text": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/tests/gateway/test_send_multiple_images.py:8"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-612ff48c49a79317", "name": "Legacy-named symbol `test_text_as_dict_legacy` in hermes-agent-main/tests/gateway/test_dingtalk.py:354", "shortDescription": {"text": "Legacy-named symbol `test_text_as_dict_legacy` in hermes-agent-main/tests/gateway/test_dingtalk.py:354"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b18569b67ad49179", "name": "Legacy-named symbol `sig_old` in hermes-agent-main/tests/gateway/test_agent_cache.py:538", "shortDescription": {"text": "Legacy-named symbol `sig_old` in hermes-agent-main/tests/gateway/test_agent_cache.py:538"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-554ef4f373f80517", "name": "Legacy-named symbol `sess_old` in hermes-agent-main/tests/gateway/test_mirror.py:43", "shortDescription": {"text": "Legacy-named symbol `sess_old` in hermes-agent-main/tests/gateway/test_mirror.py:43"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d34dc759e467f4d6", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_queue_consumption.py:286", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_queue_consumption.py:286"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-362c3a51b8df0eb1", "name": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/tests/gateway/test_slack.py:486", "shortDescription": {"text": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/tests/gateway/test_slack.py:486"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c86bb3082c799ecc", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_webhook_adapter.py:151", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_webhook_adapter.py:151"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-72a8f82091ba4d62", "name": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_ephemeral_reply.py:304", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_ephemeral_reply.py:304"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-495d110d459018e2", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_discord_slash_commands.py:973", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_discord_slash_commands.py:973"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e3a1ce7ae5cd4b36", "name": "Legacy-named symbol `test_new_platforms_takes_precedence_over_legacy` in hermes-agent-main/tests/gateway/test_display_co", "shortDescription": {"text": "Legacy-named symbol `test_new_platforms_takes_precedence_over_legacy` in hermes-agent-main/tests/gateway/test_display_config.py:105"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-54e54d3f73798c64", "name": "Legacy-named symbol `another_old` in hermes-agent-main/tests/gateway/test_voice_mode_platform_isolation.py:176", "shortDescription": {"text": "Legacy-named symbol `another_old` in hermes-agent-main/tests/gateway/test_voice_mode_platform_isolation.py:176"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c21713a1db2a5d16", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_running_agent_session_toggles.py:93", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_running_agent_session_toggles.py:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-178d07b207cc0ce4", "name": "Legacy-named symbol `sess_v1` in hermes-agent-main/tests/gateway/test_resume_command.py:162", "shortDescription": {"text": "Legacy-named symbol `sess_v1` in hermes-agent-main/tests/gateway/test_resume_command.py:162"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6dd4316f987b6b18", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_webhook_signature_rate_limit.py:114", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_webhook_signature_rate_limit.py:114"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-46093b0692685945", "name": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/tests/gateway/test_send_image_file.py:328", "shortDescription": {"text": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/tests/gateway/test_send_image_file.py:328"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-58522735ea586cd9", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_discord_free_response.py:224", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_discord_free_response.py:224"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-87018b380c3a4561", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/acp_adapter/test_acp_commands.py:104", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/acp_adapter/test_acp_commands.py:104"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c2bfde7bd39ab8b7", "name": "Commented-code block (5 lines) in hermes-agent-main/tests/plugins/test_achievements_plugin.py:53", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/plugins/test_achievements_plugin.py:53"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-beb8b61affd656cf", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/scripts/profile-tui.py:568", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/scripts/profile-tui.py:568"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-424bb5a25ba8b001", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/scripts/contributor_audit.py:77", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/scripts/contributor_audit.py:77"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-adc6a6ceae50b2df", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/scripts/release.py:797", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/scripts/release.py:797"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-14fa5b7dd0d04fd1", "name": "Commented-code block (6 lines) in hermes-agent-main/scripts/whatsapp-bridge/bridge.js:375", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/scripts/whatsapp-bridge/bridge.js:375"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-54688b8d19b83588", "name": "Commented-code block (5 lines) in hermes-agent-main/website/docusaurus.config.ts:43", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/website/docusaurus.config.ts:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6d2e007e9828a1d4", "name": "Commented-code block (5 lines) in hermes-agent-main/website/scripts/generate-skill-docs.py:41", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/website/scripts/generate-skill-docs.py:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-889f531e39a2ec69", "name": "Commented-code block (8 lines) in hermes-agent-main/website/scripts/prebuild.mjs:2", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/website/scripts/prebuild.mjs:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4941bd22513adfc7", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/codex_responses_adapter.py:347", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/codex_responses_adapter.py:347"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88afda239c7457a1", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/moonshot_schema.py:118", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/moonshot_schema.py:118"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c9bd5aff1ba8f08b", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/context_compressor.py:64", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/context_compressor.py:64"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dec8a5e411ff9bb3", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/gemini_cloudcode_adapter.py:790", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/gemini_cloudcode_adapter.py:790"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0fc23c9f189e5da5", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/credential_pool.py:855", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/credential_pool.py:855"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f4855432dea41786", "name": "Legacy-named symbol `_prune_old` in hermes-agent-main/agent/curator_backup.py:277", "shortDescription": {"text": "Legacy-named symbol `_prune_old` in hermes-agent-main/agent/curator_backup.py:277"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fd1025031a48c58b", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/curator_backup.py:106", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/curator_backup.py:106"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9c5914b4c84d4daa", "name": "Legacy-named symbol `curator_backup` in hermes-agent-main/agent/curator.py:1321", "shortDescription": {"text": "Legacy-named symbol `curator_backup` in hermes-agent-main/agent/curator.py:1321"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6b0e229976953fde", "name": "Commented-code block (7 lines) in hermes-agent-main/agent/curator.py:568", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/agent/curator.py:568"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7c4626b7d131239d", "name": "Commented-code block (7 lines) in hermes-agent-main/agent/gemini_schema.py:77", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/agent/gemini_schema.py:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6485045ca41e1794", "name": "Commented-code block (9 lines) in hermes-agent-main/agent/bedrock_adapter.py:110", "shortDescription": {"text": "Commented-code block (9 lines) in hermes-agent-main/agent/bedrock_adapter.py:110"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-41e27b8eb2058404", "name": "Commented-code block (6 lines) in hermes-agent-main/agent/redact.py:58", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/agent/redact.py:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e4e937f5787f2291", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/error_classifier.py:154", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/error_classifier.py:154"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9122fea830937746", "name": "Commented-code block (6 lines) in hermes-agent-main/agent/anthropic_adapter.py:25", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/agent/anthropic_adapter.py:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-accf1e1b0ae0e47d", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/image_routing.py:132", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/image_routing.py:132"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-80e2f35bc6814b00", "name": "Commented-code block (6 lines) in hermes-agent-main/agent/usage_pricing.py:557", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/agent/usage_pricing.py:557"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-910f3508f081853d", "name": "Commented-code block (6 lines) in hermes-agent-main/agent/shell_hooks.py:87", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/agent/shell_hooks.py:87"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fc780fa091e7d45d", "name": "Commented-code block (13 lines) in hermes-agent-main/agent/auxiliary_client.py:53", "shortDescription": {"text": "Commented-code block (13 lines) in hermes-agent-main/agent/auxiliary_client.py:53"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-159283fe156b0048", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/display.py:713", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/display.py:713"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1271626b58bb14c8", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/think_scrubber.py:135", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/think_scrubber.py:135"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-19716defc36ab615", "name": "Commented-code block (6 lines) in hermes-agent-main/agent/model_metadata.py:150", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/agent/model_metadata.py:150"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2b35e874788c1e89", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/prompt_builder.py:348", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/prompt_builder.py:348"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5420b7f58ba964ea", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/transports/types.py:40", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/transports/types.py:40"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-038b6d229586ea21", "name": "Commented-code block (5 lines) in hermes-agent-main/agent/transports/chat_completions.py:31", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/transports/chat_completions.py:31"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a9778652694c2a48", "name": "Commented-code block (5 lines) in hermes-agent-main/tui_gateway/ws.py:154", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tui_gateway/ws.py:154"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fbe9a9b91981b1cf", "name": "Commented-code block (9 lines) in hermes-agent-main/tui_gateway/server.py:37", "shortDescription": {"text": "Commented-code block (9 lines) in hermes-agent-main/tui_gateway/server.py:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7d51ebcfbfa0ee97", "name": "Stub function `print` (body is just `pass`/`return`) \u2014 hermes-agent-main/tui_gateway/server.py:6167", "shortDescription": {"text": "Stub function `print` (body is just `pass`/`return`) \u2014 hermes-agent-main/tui_gateway/server.py:6167"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-180c1975e7db4dae", "name": "Commented-code block (6 lines) in hermes-agent-main/tui_gateway/transport.py:52", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tui_gateway/transport.py:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fbc01eadf4f02e63", "name": "Stub function `close` (body is just `pass`/`return`) \u2014 hermes-agent-main/tui_gateway/transport.py:182", "shortDescription": {"text": "Stub function `close` (body is just `pass`/`return`) \u2014 hermes-agent-main/tui_gateway/transport.py:182"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a47b9f46002c4f64", "name": "Commented-code block (8 lines) in hermes-agent-main/tui_gateway/entry.py:43", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/tui_gateway/entry.py:43"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aecc03fb959dd5c9", "name": "Commented-code block (5 lines) in hermes-agent-main/web/vite.config.ts:73", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/web/vite.config.ts:73"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3dd21e6bc9405255", "name": "Commented-code block (8 lines) in hermes-agent-main/web/src/App.tsx:319", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/web/src/App.tsx:319"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-156f91c61998f3f8", "name": "Commented-code block (8 lines) in hermes-agent-main/web/src/pages/ChatPage.tsx:124", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/web/src/pages/ChatPage.tsx:124"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f18ccc3f6448ccb0", "name": "Commented-code block (6 lines) in hermes-agent-main/web/src/pages/ConfigPage.tsx:285", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/web/src/pages/ConfigPage.tsx:285"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-906dfa426d7dbef0", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/optional-skills/creative/kanban-video-orchestr", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/optional-skills/creative/kanban-video-orchestrator/scripts/monitor.py:46"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d1490b8154f53e5d", "name": "Legacy-named symbol `20Legacy` in hermes-agent-main/optional-skills/health/fitness-nutrition/scripts/nutrition_search.py", "shortDescription": {"text": "Legacy-named symbol `20Legacy` in hermes-agent-main/optional-skills/health/fitness-nutrition/scripts/nutrition_search.py:30"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-54bd8327f46a2997", "name": "Legacy-named symbol `maybe_backup` in hermes-agent-main/optional-skills/migration/openclaw-migration/scripts/openclaw_to", "shortDescription": {"text": "Legacy-named symbol `maybe_backup` in hermes-agent-main/optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py:1094"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-078277317a8d1ce7", "name": "Commented-code block (5 lines) in hermes-agent-main/optional-skills/migration/openclaw-migration/scripts/openclaw_to_her", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py:749"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4a73c822e2bb5566", "name": "Commented-code block (7 lines) in hermes-agent-main/cron/scheduler.py:867", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/cron/scheduler.py:867"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-168670c615650709", "name": "Commented-code block (6 lines) in hermes-agent-main/cron/jobs.py:741", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/cron/jobs.py:741"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b371d511cb366e3a", "name": "Commented-code block (7 lines) in hermes-agent-main/hermes_cli/plugins.py:92", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/hermes_cli/plugins.py:92"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-00b6e2c4b2a6559c", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/model_normalize.py:109", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/model_normalize.py:109"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-55f629ce60ed7cb0", "name": "Legacy-named symbol `run_backup` in hermes-agent-main/hermes_cli/backup.py:128", "shortDescription": {"text": "Legacy-named symbol `run_backup` in hermes-agent-main/hermes_cli/backup.py:128"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-93833713b1bd4f48", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/backup.py:48", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/backup.py:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d55b8f4cddf71a2", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/tools_config.py:664", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/tools_config.py:664"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7389c255ce4b91c4", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/tools_config.py:486", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/tools_config.py:486"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ee9e9e34f358258f", "name": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/commands.py:638", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/commands.py:638"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-20654347f674c032", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/uninstall.py:176", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/uninstall.py:176"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0979c1e32c366ddf", "name": "Legacy-named symbol `eleven_multilingual_v2` in hermes-agent-main/hermes_cli/config.py:838", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in hermes-agent-main/hermes_cli/config.py:838"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-725473a1560b7f1f", "name": "Commented-code block (7 lines) in hermes-agent-main/hermes_cli/config.py:33", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/hermes_cli/config.py:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9a32ba72cef5b145", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/config.py:4609", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/config.py:4609"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-89b8102769c64b05", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/auth.py:451", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/auth.py:451"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d1aa867adcaaf8ba", "name": "Stub function `print` (body is just `pass`/`return`) \u2014 hermes-agent-main/hermes_cli/skills_hub.py:728", "shortDescription": {"text": "Stub function `print` (body is just `pass`/`return`) \u2014 hermes-agent-main/hermes_cli/skills_hub.py:728"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2117f0004cf2168b", "name": "Legacy-named symbol `_cmd_backup` in hermes-agent-main/hermes_cli/curator.py:248", "shortDescription": {"text": "Legacy-named symbol `_cmd_backup` in hermes-agent-main/hermes_cli/curator.py:248"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4bce81147f2dae35", "name": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/curator.py:111", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/curator.py:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-56306d4cc43d5d5f", "name": "Commented-code block (8 lines) in hermes-agent-main/hermes_cli/voice.py:34", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/hermes_cli/voice.py:34"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89fbf195012eaf7a", "name": "Commented-code block (8 lines) in hermes-agent-main/hermes_cli/model_switch.py:956", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/hermes_cli/model_switch.py:956"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-44aa5453955853ee", "name": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/gateway.py:1725", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/gateway.py:1725"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b4dea07e485fbd9f", "name": "Legacy-named symbol `_strip_trailing_v1` in hermes-agent-main/hermes_cli/azure_detect.py:109", "shortDescription": {"text": "Legacy-named symbol `_strip_trailing_v1` in hermes-agent-main/hermes_cli/azure_detect.py:109"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4b1fe8a5174878b0", "name": "Commented-code block (7 lines) in hermes-agent-main/hermes_cli/plugins_cmd.py:1006", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/hermes_cli/plugins_cmd.py:1006"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b92c4908f42263e1", "name": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/runtime_provider.py:189", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/runtime_provider.py:189"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-824b0cc8a482fe05", "name": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/web_server.py:139", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/web_server.py:139"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9d2517630aca58a4", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/web_server.py:683", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/web_server.py:683"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-168c6020776a7a97", "name": "Legacy-named symbol `no_backup` in hermes-agent-main/hermes_cli/claw.py:326", "shortDescription": {"text": "Legacy-named symbol `no_backup` in hermes-agent-main/hermes_cli/claw.py:326"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-020fb883ea68fbcb", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/claw.py:328", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/claw.py:328"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-055a977303eda514", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/setup.py:3110", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/setup.py:3110"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a5232b396279ca03", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/setup.py:1019", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/setup.py:1019"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5260cc9c96498867", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/models.py:111", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/models.py:111"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c62d67d7cd535bb4", "name": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/doctor.py:421", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/doctor.py:421"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-874810118e800f92", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/kanban.py:548", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/kanban.py:548"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e19ce71bb22a7a6f", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/hooks.py:107", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/hooks.py:107"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-874dd3037bbd0a06", "name": "Legacy-named symbol `_add_v1` in hermes-agent-main/hermes_cli/main.py:2927", "shortDescription": {"text": "Legacy-named symbol `_add_v1` in hermes-agent-main/hermes_cli/main.py:2927"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b373d9c0ff0932b", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/main.py:186", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/main.py:186"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-26909a5a99b2b803", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/main.py:1007", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/main.py:1007"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9884c1f52d90e489", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/env_loader.py:89", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/env_loader.py:89"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c22e8b0b5f2f30ae", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/oneshot.py:143", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/oneshot.py:143"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b9b6610d1328afe2", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/auth_commands.py:177", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/auth_commands.py:177"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-77c7462a8c1ec031", "name": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/kanban_db.py:101", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/kanban_db.py:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e90bfc24e50fbf09", "name": "Commented-code block (5 lines) in hermes-agent-main/tools/schema_sanitizer.py:81", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/schema_sanitizer.py:81"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-952fd2d7082fccca", "name": "Commented-code block (6 lines) in hermes-agent-main/tools/mcp_tool.py:94", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/mcp_tool.py:94"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2fded797f86e5994", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/tools/transcription_tools.py:504", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/tools/transcription_tools.py:504"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c961864d17567e2d", "name": "Commented-code block (6 lines) in hermes-agent-main/tools/session_search_tool.py:470", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/session_search_tool.py:470"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f32a6de271a8336d", "name": "Commented-code block (7 lines) in hermes-agent-main/tools/web_tools.py:50", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/tools/web_tools.py:50"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fb565b2f16d9a855", "name": "Legacy-named symbol `deleted_user_copy` in hermes-agent-main/tools/skills_sync.py:370", "shortDescription": {"text": "Legacy-named symbol `deleted_user_copy` in hermes-agent-main/tools/skills_sync.py:370"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f9a90825464b0075", "name": "Commented-code block (9 lines) in hermes-agent-main/tools/skills_sync.py:210", "shortDescription": {"text": "Commented-code block (9 lines) in hermes-agent-main/tools/skills_sync.py:210"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9f86dc7ca132cdc8", "name": "Commented-code block (5 lines) in hermes-agent-main/tools/checkpoint_manager.py:236", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/checkpoint_manager.py:236"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a984bcaf28ceefdb", "name": "Commented-code block (15 lines) in hermes-agent-main/tools/file_tools.py:189", "shortDescription": {"text": "Commented-code block (15 lines) in hermes-agent-main/tools/file_tools.py:189"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd1ecf98f52ac1d7", "name": "Commented-code block (6 lines) in hermes-agent-main/tools/send_message_tool.py:24", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/send_message_tool.py:24"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-189518b7ef7de571", "name": "Commented-code block (8 lines) in hermes-agent-main/tools/delegate_tool.py:60", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/tools/delegate_tool.py:60"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bd0c4751f260dee1", "name": "Commented-code block (10 lines) in hermes-agent-main/tools/fuzzy_match.py:96", "shortDescription": {"text": "Commented-code block (10 lines) in hermes-agent-main/tools/fuzzy_match.py:96"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e0ffa0d5269a4dfc", "name": "Legacy-named symbol `snapshot_copy` in hermes-agent-main/tools/browser_supervisor.py:442", "shortDescription": {"text": "Legacy-named symbol `snapshot_copy` in hermes-agent-main/tools/browser_supervisor.py:442"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8de5fc29f4bd942c", "name": "Commented-code block (5 lines) in hermes-agent-main/tools/browser_supervisor.py:68", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/browser_supervisor.py:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-437035d7edc1b7c1", "name": "Commented-code block (5 lines) in hermes-agent-main/tools/registry.py:154", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/registry.py:154"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dea295d90968f0c7", "name": "Commented-code block (5 lines) in hermes-agent-main/tools/tirith_security.py:317", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/tirith_security.py:317"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a796441e3b7b5a80", "name": "Commented-code block (5 lines) in hermes-agent-main/tools/cronjob_tools.py:290", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/cronjob_tools.py:290"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-20ef4007c5fe0b4a", "name": "Commented-code block (9 lines) in hermes-agent-main/tools/mcp_oauth_manager.py:253", "shortDescription": {"text": "Commented-code block (9 lines) in hermes-agent-main/tools/mcp_oauth_manager.py:253"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea8747aa61b6fb11", "name": "Commented-code block (5 lines) in hermes-agent-main/tools/browser_tool.py:672", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/browser_tool.py:672"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-afd88e4d911b5d1d", "name": "Commented-code block (6 lines) in hermes-agent-main/tools/skill_manager_tool.py:785", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/skill_manager_tool.py:785"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8dd709d4203d0d8", "name": "Legacy-named symbol `clawhub_catalog_v1` in hermes-agent-main/tools/skills_hub.py:1877", "shortDescription": {"text": "Legacy-named symbol `clawhub_catalog_v1` in hermes-agent-main/tools/skills_hub.py:1877"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-59c27fa7e45ebe25", "name": "Commented-code block (5 lines) in hermes-agent-main/tools/skills_hub.py:1024", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/skills_hub.py:1024"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0fc25eac71970642", "name": "Commented-code block (5 lines) in hermes-agent-main/tools/code_execution_tool.py:1084", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/code_execution_tool.py:1084"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f7e52874268b6df3", "name": "Commented-code block (7 lines) in hermes-agent-main/tools/homeassistant_tool.py:41", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/tools/homeassistant_tool.py:41"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4857f1aae08c8413", "name": "Legacy-named symbol `eleven_multilingual_v2` in hermes-agent-main/tools/tts_tool.py:131", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in hermes-agent-main/tools/tts_tool.py:131"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6abf47ff78943637", "name": "Commented-code block (7 lines) in hermes-agent-main/tools/tts_tool.py:294", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/tools/tts_tool.py:294"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d9e77ca02d4f08c0", "name": "Commented-code block (6 lines) in hermes-agent-main/tools/mcp_oauth.py:204", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/mcp_oauth.py:204"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c99a3750a920195", "name": "Commented-code block (7 lines) in hermes-agent-main/tools/image_generation_tool.py:52", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/tools/image_generation_tool.py:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd117eab9ba0b4fc", "name": "Commented-code block (5 lines) in hermes-agent-main/tools/file_operations.py:385", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/file_operations.py:385"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-28718020f6a2f2e5", "name": "Commented-code block (6 lines) in hermes-agent-main/tools/process_registry.py:61", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/process_registry.py:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f769faa0044deb0f", "name": "Commented-code block (5 lines) in hermes-agent-main/tools/approval.py:119", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/approval.py:119"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-10f44da8ef8bec3b", "name": "Commented-code block (7 lines) in hermes-agent-main/tools/terminal_tool.py:222", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/tools/terminal_tool.py:222"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b3b238bd56ec33a", "name": "Commented-code block (6 lines) in hermes-agent-main/tools/environments/local.py:294", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/environments/local.py:294"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2137e4886a8a2111", "name": "Commented-code block (13 lines) in hermes-agent-main/tools/environments/docker.py:146", "shortDescription": {"text": "Commented-code block (13 lines) in hermes-agent-main/tools/environments/docker.py:146"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-80adae62a28d46a2", "name": "Commented-code block (8 lines) in hermes-agent-main/tools/environments/ssh.py:51", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/tools/environments/ssh.py:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cf2f8ed9063d7bae", "name": "Commented-code block (6 lines) in hermes-agent-main/tools/environments/base.py:394", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/environments/base.py:394"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea53a5f3a78ceca4", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/utils/sliceAnsi.ts:14", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/utils/sliceAnsi.ts:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b655d7a14bbf2c4e", "name": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/log-update.test.ts:89", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/log-update.test.ts:89"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-20a2788854a4c8e4", "name": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/log-update.ts:144", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/log-update.ts:144"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-258199d1527d9cb7", "name": "Commented-code block (12 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/searchHighlight.ts:36", "shortDescription": {"text": "Commented-code block (12 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/searchHighlight.ts:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f0aec08a859c1de5", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/selection.ts:101", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/selection.ts:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cbe8d88ac6081dad", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/output.ts:290", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/output.ts:290"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2eae454c7edfb460", "name": "Commented-code block (11 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/renderer.ts:77", "shortDescription": {"text": "Commented-code block (11 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/renderer.ts:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-16f12b26b84208d3", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/cache-eviction.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/cache-eviction.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-967fd89f37c0e250", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/terminal.ts:140", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/terminal.ts:140"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-de2037954c812800", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/optimizer.ts:66", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/optimizer.ts:66"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9fb962b56ead7648", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/ink.tsx:181", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/ink.tsx:181"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d79a40b780a57605", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/screen.ts:103", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/screen.ts:103"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b43b5aa0e7c1d110", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/dom.ts:62", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/dom.ts:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c730eac066ee3cb9", "name": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/parse-keypress.ts:25", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/parse-keypress.ts:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-693ccf2c09d87501", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/terminal-focus-state.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/terminal-focus-state.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-53768acd92a50044", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/render-to-screen.ts:150", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/render-to-screen.ts:150"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f5b9b28407bfd34c", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/stringWidth.ts:263", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/stringWidth.ts:263"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ead92252506c1beb", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/wrap-text.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/wrap-text.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-94f89fc60cd12baf", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/render-node-to-output.ts:25", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/render-node-to-output.ts:25"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-30ba440cdcc46eda", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/colorize.ts:224", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/colorize.ts:224"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84cb22d869f15a85", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/events/input-event.ts:77", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/events/input-event.ts:77"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a7f636f3bb9320f", "name": "Commented-code block (8 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/components/ScrollBox.tsx:88", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/components/ScrollBox.tsx:88"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8fee47857a13afc5", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/components/App.tsx:45", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/components/App.tsx:45"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8a80870a05712c9d", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/hooks/use-input.ts:47", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/hooks/use-input.ts:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0c3e0284e01fc62f", "name": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/hooks/use-terminal-viewport.ts:54", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/hooks/use-terminal-viewport.ts:54"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-34cf56f4b593f351", "name": "Commented-code block (13 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/hooks/use-declared-cursor.ts:42", "shortDescription": {"text": "Commented-code block (13 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/hooks/use-declared-cursor.ts:42"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a975b1a19f2b2fbe", "name": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/termio/tokenize.ts:199", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/termio/tokenize.ts:199"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89bcb12d33c60725", "name": "Commented-code block (9 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/termio/osc.ts:191", "shortDescription": {"text": "Commented-code block (9 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/termio/osc.ts:191"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-73af017ba5087a08", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/theme.ts:262", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/theme.ts:262"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ff4a3306eb59a09f", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/types.ts:128", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/types.ts:128"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-72143f764e5bcb07", "name": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/__tests__/platform.test.ts:122", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/__tests__/platform.test.ts:122"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b7fd98eff7736e46", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/mathUnicode.test.ts:79", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/mathUnicode.test.ts:79"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-62b74be1ad0a83e0", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/useConfigSync.test.ts:211", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/useConfigSync.test.ts:211"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-531819cccfd1c680", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/createSlashHandler.test.ts:176", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/createSlashHandler.test.ts:176"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-173f153a8d7df140", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/markdown.test.ts:103", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/markdown.test.ts:103"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5551913f7cfa21ae", "name": "Commented-code block (8 lines) in hermes-agent-main/ui-tui/src/__tests__/theme.test.ts:3", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/ui-tui/src/__tests__/theme.test.ts:3"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-89472ab5c308dc3d", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/config/limits.ts:6", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/config/limits.ts:6"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e58109246d84086b", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/components/thinking.tsx:729", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/components/thinking.tsx:729"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3f53e33bc6949f1f", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/components/textInput.tsx:710", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/components/textInput.tsx:710"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-49de62f416e828d6", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/components/markdown.tsx:9", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/components/markdown.tsx:9"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-56efd9a0455bb0ba", "name": "Commented-code block (9 lines) in hermes-agent-main/ui-tui/src/components/streamingMarkdown.tsx:7", "shortDescription": {"text": "Commented-code block (9 lines) in hermes-agent-main/ui-tui/src/components/streamingMarkdown.tsx:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3d400e085781acec", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/components/messageLine.tsx:37", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/components/messageLine.tsx:37"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-88dd1dfd369286f8", "name": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/app/turnController.ts:434", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/app/turnController.ts:434"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-933ea7e04797f444", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/useInputHandlers.ts:163", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/useInputHandlers.ts:163"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f0073a73b7044c9f", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/delegationStore.ts:33", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/delegationStore.ts:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-213427b37395f981", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/useSubmission.ts:218", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/useSubmission.ts:218"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09d8250d54a4cba7", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/useConfigSync.ts:39", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/useConfigSync.ts:39"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f1cbd6409fa1d5ba", "name": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/app/createGatewayEventHandler.ts:388", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/app/createGatewayEventHandler.ts:388"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-34c2262e1e00bd6c", "name": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/app/useMainApp.ts:365", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/app/useMainApp.ts:365"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f094869d036b6c14", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/app/slash/commands/session.ts:230", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/app/slash/commands/session.ts:230"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a361614efdf6ea8c", "name": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/lib/emoji.ts:38", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/lib/emoji.ts:38"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e7fee73e57faeefc", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/lib/mathUnicode.ts:1", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/lib/mathUnicode.ts:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dab36f960c1013a9", "name": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/lib/wheelAccel.ts:7", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/lib/wheelAccel.ts:7"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3aec7eaedadb8780", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/lib/memoryMonitor.ts:21", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/lib/memoryMonitor.ts:21"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-539ee9cfeaef8fef", "name": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/lib/platform.ts:248", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/lib/platform.ts:248"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b5d4d55255ec5b97", "name": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/hooks/useVirtualHistory.ts:14", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/hooks/useVirtualHistory.ts:14"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ab93f7eb5ca5db22", "name": "Commented-code block (10 lines) in hermes-agent-main/ui-tui/src/domain/details.ts:10", "shortDescription": {"text": "Commented-code block (10 lines) in hermes-agent-main/ui-tui/src/domain/details.ts:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-903737768eb138aa", "name": "Commented-code block (7 lines) in hermes-agent-main/gateway/config.py:316", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/config.py:316"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3a91fca8249158a1", "name": "Commented-code block (7 lines) in hermes-agent-main/gateway/stream_consumer.py:47", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/stream_consumer.py:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-04d22625d476f49e", "name": "Commented-code block (8 lines) in hermes-agent-main/gateway/status.py:621", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/gateway/status.py:621"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e17984177123c69", "name": "Commented-code block (7 lines) in hermes-agent-main/gateway/session.py:296", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/session.py:296"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8b5f07bcc0af2eae", "name": "Legacy-named symbol `_warned_telegram_group_users_legacy` in hermes-agent-main/gateway/run.py:4446", "shortDescription": {"text": "Legacy-named symbol `_warned_telegram_group_users_legacy` in hermes-agent-main/gateway/run.py:4446"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-61c8444114406c97", "name": "Commented-code block (6 lines) in hermes-agent-main/gateway/run.py:35", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/gateway/run.py:35"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9ea8dfe5fdaa9b9a", "name": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 hermes-agent-main/gateway/run.py:14634", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 hermes-agent-main/gateway/run.py:14634"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1f7b75f4874ebb2c", "name": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 hermes-agent-main/gateway/run.py:14645", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 hermes-agent-main/gateway/run.py:14645"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5be06806b5b77ddb", "name": "Commented-code block (7 lines) in hermes-agent-main/gateway/hooks.py:101", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/hooks.py:101"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8976bb166dfd022c", "name": "Commented-code block (8 lines) in hermes-agent-main/gateway/whatsapp_identity.py:93", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/gateway/whatsapp_identity.py:93"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f79c84b6a4d18160", "name": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/signal.py:195", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/signal.py:195"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f7cbc959ae036c5", "name": "Legacy-named symbol `comment_add_v1` in hermes-agent-main/gateway/platforms/feishu_comment.py:4", "shortDescription": {"text": "Legacy-named symbol `comment_add_v1` in hermes-agent-main/gateway/platforms/feishu_comment.py:4"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8fccf62d16a0ec92", "name": "Commented-code block (11 lines) in hermes-agent-main/gateway/platforms/matrix.py:652", "shortDescription": {"text": "Commented-code block (11 lines) in hermes-agent-main/gateway/platforms/matrix.py:652"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ffb42fa6e97b4056", "name": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/api_server.py:986", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/api_server.py:986"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-eed81f275bc84c20", "name": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/whatsapp.py:188", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/whatsapp.py:188"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-83b6c1d33a14ecb6", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/gateway/platforms/whatsapp.py:449", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/gateway/platforms/whatsapp.py:449"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-67b7062ee4d4f829", "name": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/telegram.py:515", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/telegram.py:515"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-54dd0d7597c1bfc5", "name": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/base.py:887", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/base.py:887"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-811686b60ff08385", "name": "Legacy-named symbol `receive_v1` in hermes-agent-main/gateway/platforms/feishu.py:427", "shortDescription": {"text": "Legacy-named symbol `receive_v1` in hermes-agent-main/gateway/platforms/feishu.py:427"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c9e45831881bf96", "name": "Commented-code block (5 lines) in hermes-agent-main/gateway/platforms/discord.py:612", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/gateway/platforms/discord.py:612"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-08226aa705affff7", "name": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/gateway/platforms/slack.py:962", "shortDescription": {"text": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/gateway/platforms/slack.py:962"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d1f1e52805ca2649", "name": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/slack.py:55", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/slack.py:55"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-566856cbb53df44d", "name": "Stub function `handle_file_shared` (body is just `pass`/`return`) \u2014 hermes-agent-main/gateway/platforms/slack.py:593", "shortDescription": {"text": "Stub function `handle_file_shared` (body is just `pass`/`return`) \u2014 hermes-agent-main/gateway/platforms/slack.py:593"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0ee67c124863d8af", "name": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/webhook.py:84", "shortDescription": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/webhook.py:84"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fa406cbd63d2fa93", "name": "Commented-code block (10 lines) in hermes-agent-main/gateway/platforms/yuanbao_proto.py:276", "shortDescription": {"text": "Commented-code block (10 lines) in hermes-agent-main/gateway/platforms/yuanbao_proto.py:276"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f623239bdba018a", "name": "Commented-code block (5 lines) in hermes-agent-main/gateway/platforms/email.py:419", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/gateway/platforms/email.py:419"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a62ad44cafdbb44e", "name": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/dingtalk.py:18", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/dingtalk.py:18"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-869c8b579af3572e", "name": "Commented-code block (6 lines) in hermes-agent-main/acp_adapter/server.py:496", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/acp_adapter/server.py:496"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea2f58445caefefb", "name": "Commented-code block (8 lines) in hermes-agent-main/acp_adapter/entry.py:23", "shortDescription": {"text": "Commented-code block (8 lines) in hermes-agent-main/acp_adapter/entry.py:23"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a4e2f28625cdd2c4", "name": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 hermes-agent-main/plugins/context_engine/__init__.py:209", "shortDescription": {"text": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 hermes-agent-main/plugins/context_engine/__init__.py:209"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c138a34893e70ecb", "name": "Stub function `serve_static` (body is just `pass`/`return`) \u2014 hermes-agent-main/plugins/platforms/teams/adapter.py:126", "shortDescription": {"text": "Stub function `serve_static` (body is just `pass`/`return`) \u2014 hermes-agent-main/plugins/platforms/teams/adapter.py:126"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5e31d8ec72b1df4e", "name": "Commented-code block (5 lines) in hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:369", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:369"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1769340a6dcb3245", "name": "Commented-code block (6 lines) in hermes-agent-main/plugins/google_meet/meet_bot.py:369", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/plugins/google_meet/meet_bot.py:369"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c4a3d2d3b278a9ba", "name": "Commented-code block (5 lines) in hermes-agent-main/plugins/google_meet/process_manager.py:27", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/plugins/google_meet/process_manager.py:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-620d20c78808f4c7", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/plugins/google_meet/audio_bridge.py:141", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/plugins/google_meet/audio_bridge.py:141"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-beb259d7b07889bf", "name": "Commented-code block (5 lines) in hermes-agent-main/plugins/disk-cleanup/__init__.py:94", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/plugins/disk-cleanup/__init__.py:94"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f05e970fb656e43b", "name": "Commented-code block (5 lines) in hermes-agent-main/plugins/observability/langfuse/__init__.py:593", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/plugins/observability/langfuse/__init__.py:593"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-12640a6ddb23af69", "name": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 hermes-agent-main/plugins/memory/__init__.py:298", "shortDescription": {"text": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 hermes-agent-main/plugins/memory/__init__.py:298"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aeb636361a446399", "name": "Commented-code block (6 lines) in hermes-agent-main/plugins/memory/honcho/client.py:157", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/plugins/memory/honcho/client.py:157"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e855b8580d3c427", "name": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/plugins/memory/honcho/cli.py:343", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/plugins/memory/honcho/cli.py:343"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ff594733734a1c45", "name": "Commented-code block (14 lines) in hermes-agent-main/plugins/memory/honcho/session.py:285", "shortDescription": {"text": "Commented-code block (14 lines) in hermes-agent-main/plugins/memory/honcho/session.py:285"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a559b20e9eea9dcc", "name": "Commented-code block (6 lines) in hermes-agent-main/plugins/memory/openviking/__init__.py:626", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/plugins/memory/openviking/__init__.py:626"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d0a62363ded086be", "name": "Commented-code block (5 lines) in hermes-agent-main/plugins/memory/hindsight/__init__.py:925", "shortDescription": {"text": "Commented-code block (5 lines) in hermes-agent-main/plugins/memory/hindsight/__init__.py:925"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4598840c307179fa", "name": "Commented-code block (6 lines) in hermes-agent-main/environments/agent_loop.py:27", "shortDescription": {"text": "Commented-code block (6 lines) in hermes-agent-main/environments/agent_loop.py:27"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a23d84ec7966374d", "name": "Stub function `score` (body is just `pass`/`return`) \u2014 hermes-agent-main/environments/benchmarks/yc_bench/yc_bench_env.p", "shortDescription": {"text": "Stub function `score` (body is just `pass`/`return`) \u2014 hermes-agent-main/environments/benchmarks/yc_bench/yc_bench_env.py:475"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-abd655a1c4b322ba", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-osm-nl-campings.ts:111", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-osm-nl-campings.ts:111"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e47d66ce43ca7494", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-poule.ts:21", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-poule.ts:21"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ac6e3001faaf64ba", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-social-post.ts:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-social-post.ts:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de8b267336654a9a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/introspect-buffer.ts:18", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/introspect-buffer.ts:18"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ae6e48ebdf4e2f6c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/list-all-models.ts:19", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/list-all-models.ts:19"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d8f5a62166b32fab", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/check-resend-emails.ts:11", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/check-resend-emails.ts:11"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-205e5b9b62451c9d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/list_models.ts:10", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/list_models.ts:10"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ff3185f9289cee99", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/download-social-test.ts:5", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/download-social-test.ts:5"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2f22447b0305b9f3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/check-resend-domains.ts:11", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/check-resend-domains.ts:11"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8b9ff0fa498c2ea0", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/test-social-final.ts:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/test-social-final.ts:23"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d60b8c0e0b3342cc", "name": "Commented-code block (6 lines) in scratch/new_handoff/design_handoff_weerzone_auth/tweaks-panel.jsx:12", "shortDescription": {"text": "Commented-code block (6 lines) in scratch/new_handoff/design_handoff_weerzone_auth/tweaks-panel.jsx:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-22e912fc144f1b8d", "name": "Commented-code block (6 lines) in scratch/new_handoff/design_handoff_weerzone_auth/design-canvas.jsx:2", "shortDescription": {"text": "Commented-code block (6 lines) in scratch/new_handoff/design_handoff_weerzone_auth/design-canvas.jsx:2"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fc142bd1c9e890bc", "name": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/new_handoff/design_handoff_weerzone_auth/design-canvas.jsx:63", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/new_handoff/design_handoff_weerzone_auth/design-canvas.jsx:63"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f71b55dc44c756fc", "name": "Commented-code block (7 lines) in pipeline/tweaks-panel.jsx:12", "shortDescription": {"text": "Commented-code block (7 lines) in pipeline/tweaks-panel.jsx:12"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6f28cad65d94a6fd", "name": "Commented-code block (5 lines) in pipeline/deck-stage.js:592", "shortDescription": {"text": "Commented-code block (5 lines) in pipeline/deck-stage.js:592"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c09726676de26342", "name": "`fetch()` without try/.catch or AbortSignal \u2014 pipeline/index.ts:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 pipeline/index.ts:34"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ef19030d42d87fb1", "name": "Commented-code block (7 lines) in public/hartmanwk2026-prototype/tweaks-panel.jsx:16", "shortDescription": {"text": "Commented-code block (7 lines) in public/hartmanwk2026-prototype/tweaks-panel.jsx:16"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b0c1d596ff63ac04", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/PietExtended.tsx:331", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/PietExtended.tsx:331"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fd3ebb80cc778379", "name": "Commented-code block (5 lines) in src/app/layout.tsx:62", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/layout.tsx:62"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a7de2dd5df4aadcd", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/voorkeuren/VoorkeurenForm.tsx:12", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/voorkeuren/VoorkeurenForm.tsx:12"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-331b941ef30ca44d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/magnolia/balance/route.ts:63", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/magnolia/balance/route.ts:63"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bf17320d2a84165e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/visuals/gen/route.tsx:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/visuals/gen/route.tsx:32"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7ad2494ad3411e6a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/social/dagelijks/route.tsx:16", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/social/dagelijks/route.tsx:16"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-cd28af55126ce255", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/social/wz-slide/route.tsx:62", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/social/wz-slide/route.tsx:62"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b5245ad55ada3cb4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/indexnow/route.ts:46", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/indexnow/route.ts:46"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f31de9028913cfee", "name": "Commented-code block (5 lines) in src/app/(site)/api/cron/indexnow-ping/route.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(site)/api/cron/indexnow-ping/route.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a6472e098260f87b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/cron/openclaw-harvester/route.ts:41", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/cron/openclaw-harvester/route.ts:41"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-dad2c47e0914a40f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/cron/piet-morning-email/route.ts:48", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/cron/piet-morning-email/route.ts:48"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ee571232bf1e9c44", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/magnolia/page.tsx:55", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/magnolia/page.tsx:55"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f6322087143a762d", "name": "Commented-code block (5 lines) in src/app/(site)/app/page.tsx:5", "shortDescription": {"text": "Commented-code block (5 lines) in src/app/(site)/app/page.tsx:5"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c89f0db9e58eb1a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/weather.ts:561", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/weather.ts:561"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a209b6a6121918a4", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/knmi-warnings.ts:244", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/knmi-warnings.ts:244"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-431786089ecb2f50", "name": "Commented-code block (5 lines) in src/lib/auth-i18n.tsx:683", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/auth-i18n.tsx:683"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-84f1fd822dfc9869", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/b2b-discovery.ts:13", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/b2b-discovery.ts:13"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3f91d579c76e0051", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/hartmanwk-fifa.ts:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/hartmanwk-fifa.ts:34"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-44b8256b5ecb50be", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/indexnow.ts:23", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/indexnow.ts:23"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a92ad6ddbb3ab554", "name": "Commented-code block (5 lines) in src/lib/commentary.ts:4", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/commentary.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8cfecdeb3d33029", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/knmi-edr.ts:306", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/knmi-edr.ts:306"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d35fee4adb25aa36", "name": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/google/maps.ts:16", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/google/maps.ts:16"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-212bd259f5f07de5", "name": "Commented-code block (5 lines) in src/lib/mariana/tesla/client.ts:83", "shortDescription": {"text": "Commented-code block (5 lines) in src/lib/mariana/tesla/client.ts:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nhermes-agent-main/run_agent.py:base_url, hermes-agent-main/run_agent.py:base_url\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nhermes-agent-main/agent/gemini_cloudcode_adapter.py:close, hermes-agent-main/agent/gemini_native_adapter.py:close, hermes-agent-main/agent/gemini_native_adapter.py:close\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nhermes-agent-main/agent/image_gen_provider.py:generate, hermes-agent-main/plugins/image_gen/openai/__init__.py:generate, hermes-agent-main/plugins/image_gen/xai/__init__.py:generate, hermes-agent-main/plugins/image_gen/openai-codex/__init__.py:generate\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nhermes-agent-main/agent/transports/anthropic.py:build_kwargs, hermes-agent-main/agent/transports/codex.py:build_kwargs, hermes-agent-main/agent/transports/bedrock.py:build_kwargs, hermes-agent-main/agent/transports/base.py:build_kwargs\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-326235215659b74c", "name": "FastAPI POST `restart_gateway` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:702", "shortDescription": {"text": "FastAPI POST `restart_gateway` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:702"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e5eebd72853de754", "name": "FastAPI POST `update_hermes` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:717", "shortDescription": {"text": "FastAPI POST `update_hermes` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:717"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-61589c1901275256", "name": "FastAPI POST `set_model_assignment` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1065", "shortDescription": {"text": "FastAPI POST `set_model_assignment` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1065"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4e08a0b59c0598ab", "name": "FastAPI PUT `update_config` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1206", "shortDescription": {"text": "FastAPI PUT `update_config` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1206"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c85dcf7f926c36dd", "name": "FastAPI PUT `set_env_var` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1235", "shortDescription": {"text": "FastAPI PUT `set_env_var` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1235"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ce25ddec4c17d925", "name": "FastAPI DELETE `remove_env_var` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1245", "shortDescription": {"text": "FastAPI DELETE `remove_env_var` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1245"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d51bc4422725dadc", "name": "FastAPI POST `reveal_env_var` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1259", "shortDescription": {"text": "FastAPI POST `reveal_env_var` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1259"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-abbe43ec4b2fc087", "name": "FastAPI DELETE `disconnect_oauth_provider` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1555", "shortDescription": {"text": "FastAPI DELETE `disconnect_oauth_provider` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1555"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-40e26e6c50570610", "name": "FastAPI POST `start_oauth_login` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2100", "shortDescription": {"text": "FastAPI POST `start_oauth_login` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2100"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-36d366a43bdbed46", "name": "FastAPI POST `submit_oauth_code` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2132", "shortDescription": {"text": "FastAPI POST `submit_oauth_code` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2132"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7174b9a451983690", "name": "FastAPI DELETE `cancel_oauth_session` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2160", "shortDescription": {"text": "FastAPI DELETE `cancel_oauth_session` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2160"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-184ab535ebeca5f3", "name": "FastAPI DELETE `delete_session_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2204", "shortDescription": {"text": "FastAPI DELETE `delete_session_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2204"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e08c5f0cf6960ba6", "name": "FastAPI POST `create_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2305", "shortDescription": {"text": "FastAPI POST `create_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2305"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-def4ed670a7edc04", "name": "FastAPI PUT `update_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2317", "shortDescription": {"text": "FastAPI PUT `update_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2317"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5356b673c82d8912", "name": "FastAPI POST `pause_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2326", "shortDescription": {"text": "FastAPI POST `pause_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2326"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ec618df7f467290c", "name": "FastAPI POST `resume_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2335", "shortDescription": {"text": "FastAPI POST `resume_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2335"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fc1ec71e5830112e", "name": "FastAPI POST `trigger_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2344", "shortDescription": {"text": "FastAPI POST `trigger_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2344"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fabd50211c192ef8", "name": "FastAPI DELETE `delete_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2353", "shortDescription": {"text": "FastAPI DELETE `delete_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2353"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ea83d7ae22e67fc4", "name": "FastAPI POST `create_profile_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2466", "shortDescription": {"text": "FastAPI POST `create_profile_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2466"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c954c652e457c216", "name": "FastAPI POST `open_profile_terminal_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2500", "shortDescription": {"text": "FastAPI POST `open_profile_terminal_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2500"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dbc66c5e98019de0", "name": "FastAPI PATCH `rename_profile_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2554", "shortDescription": {"text": "FastAPI PATCH `rename_profile_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2554"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c0470bd1ecdb8c2b", "name": "FastAPI DELETE `delete_profile_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2569", "shortDescription": {"text": "FastAPI DELETE `delete_profile_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2569"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9f953545db693c6e", "name": "FastAPI PUT `update_profile_soul` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2598", "shortDescription": {"text": "FastAPI PUT `update_profile_soul` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2598"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-cfce813c7bb8df52", "name": "FastAPI PUT `toggle_skill` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2631", "shortDescription": {"text": "FastAPI PUT `toggle_skill` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2631"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2c74715c4b8133c0", "name": "FastAPI PUT `update_config_raw` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2693", "shortDescription": {"text": "FastAPI PUT `update_config_raw` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2693"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d04445930d298822", "name": "FastAPI PUT `set_dashboard_theme` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3543", "shortDescription": {"text": "FastAPI PUT `set_dashboard_theme` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3543"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b2fd27b29c50e0a1", "name": "FastAPI POST `post_agent_plugin_install` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3805", "shortDescription": {"text": "FastAPI POST `post_agent_plugin_install` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3805"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-77d297fb136abcd1", "name": "FastAPI POST `post_agent_plugin_enable` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3833", "shortDescription": {"text": "FastAPI POST `post_agent_plugin_enable` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3833"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e212c7cb82a4dfde", "name": "FastAPI POST `post_agent_plugin_disable` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3845", "shortDescription": {"text": "FastAPI POST `post_agent_plugin_disable` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3845"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-9cd8ab2b0ed5a2af", "name": "FastAPI POST `post_agent_plugin_update` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3857", "shortDescription": {"text": "FastAPI POST `post_agent_plugin_update` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3857"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8f31eec827824323", "name": "FastAPI DELETE `delete_agent_plugin` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3870", "shortDescription": {"text": "FastAPI DELETE `delete_agent_plugin` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3870"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e202f5f968024aa5", "name": "FastAPI PUT `put_plugin_providers` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3888", "shortDescription": {"text": "FastAPI PUT `put_plugin_providers` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3888"}, "fullDescription": {"text": "`@router.put` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6b614f74bc038a6b", "name": "FastAPI POST `post_plugin_visibility` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3908", "shortDescription": {"text": "FastAPI POST `post_plugin_visibility` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3908"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6a50d1ba054cf428", "name": "FastAPI POST `create_task` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:346", "shortDescription": {"text": "FastAPI POST `create_task` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:346"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5fd756e5b928ac7d", "name": "FastAPI PATCH `update_task` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:409", "shortDescription": {"text": "FastAPI PATCH `update_task` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:409"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-eb5329daee43129c", "name": "FastAPI POST `add_comment` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:569", "shortDescription": {"text": "FastAPI POST `add_comment` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:569"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7031fef5491d45b9", "name": "FastAPI POST `add_link` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:595", "shortDescription": {"text": "FastAPI POST `add_link` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:595"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5b5797806e41adf1", "name": "FastAPI DELETE `delete_link` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:608", "shortDescription": {"text": "FastAPI DELETE `delete_link` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:608"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-39ad1bac55e9affc", "name": "FastAPI POST `bulk_update` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:638", "shortDescription": {"text": "FastAPI POST `bulk_update` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:638"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-184fa2e1005eb637", "name": "FastAPI POST `subscribe_home` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:834", "shortDescription": {"text": "FastAPI POST `subscribe_home` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:834"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-74d15ad14f35ba35", "name": "FastAPI DELETE `unsubscribe_home` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:868", "shortDescription": {"text": "FastAPI DELETE `unsubscribe_home` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:868"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-56be647c11ce77c5", "name": "FastAPI POST `dispatch` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:974", "shortDescription": {"text": "FastAPI POST `dispatch` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:974"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d6b9f13a39afc081", "name": "FastAPI POST `create_board_endpoint` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:", "shortDescription": {"text": "FastAPI POST `create_board_endpoint` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:1045"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8ecea1370b31e2a3", "name": "FastAPI PATCH `rename_board` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:1066", "shortDescription": {"text": "FastAPI PATCH `rename_board` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:1066"}, "fullDescription": {"text": "`@router.patch` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0a45d0ebf5b331f4", "name": "FastAPI DELETE `delete_board` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:1085", "shortDescription": {"text": "FastAPI DELETE `delete_board` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:1085"}, "fullDescription": {"text": "`@router.delete` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3e1303631d721e49", "name": "FastAPI POST `switch_board` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:1095", "shortDescription": {"text": "FastAPI POST `switch_board` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:1095"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-41e0ab408fb1c286", "name": "FastAPI POST `rescan` without auth dependency \u2014 hermes-agent-main/plugins/hermes-achievements/dashboard/plugin_api.py:10", "shortDescription": {"text": "FastAPI POST `rescan` without auth dependency \u2014 hermes-agent-main/plugins/hermes-achievements/dashboard/plugin_api.py:1037"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd0077352cd576a5", "name": "FastAPI POST `reset_state` without auth dependency \u2014 hermes-agent-main/plugins/hermes-achievements/dashboard/plugin_api.", "shortDescription": {"text": "FastAPI POST `reset_state` without auth dependency \u2014 hermes-agent-main/plugins/hermes-achievements/dashboard/plugin_api.py:1042"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-58c327909469d8c6", "name": "Dangling fetch: POST https://overpass-api.de/api/interpreter (scripts/import-osm-nl-campings.ts:111)", "shortDescription": {"text": "Dangling fetch: POST https://overpass-api.de/api/interpreter (scripts/import-osm-nl-campings.ts:111)"}, "fullDescription": {"text": "`scripts/import-osm-nl-campings.ts:111` calls `POST https://overpass-api.de/api/interpreter` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/overpass-api.de/api/interpreter`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-94d7bf98e619c77e", "name": "Dangling fetch: POST https://overpass-api.de/api/interpreter (scripts/discover-places.ts:25)", "shortDescription": {"text": "Dangling fetch: POST https://overpass-api.de/api/interpreter (scripts/discover-places.ts:25)"}, "fullDescription": {"text": "`scripts/discover-places.ts:25` calls `POST https://overpass-api.de/api/interpreter` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/overpass-api.de/api/interpreter`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-441ddb94371b58bb", "name": "Dangling fetch: POST https://api.buffer.com (scratch/introspect-buffer.ts:18)", "shortDescription": {"text": "Dangling fetch: POST https://api.buffer.com (scratch/introspect-buffer.ts:18)"}, "fullDescription": {"text": "`scratch/introspect-buffer.ts:18` calls `POST https://api.buffer.com` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.buffer.com`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0fa332d7189667ce", "name": "Dangling fetch: GET https://api.resend.com/emails (scratch/check-resend-emails.ts:11)", "shortDescription": {"text": "Dangling fetch: GET https://api.resend.com/emails (scratch/check-resend-emails.ts:11)"}, "fullDescription": {"text": "`scratch/check-resend-emails.ts:11` calls `GET https://api.resend.com/emails` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/emails`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6949208707f11f94", "name": "Dangling fetch: GET https://generativelanguage.googleapis.com/v1/models?key=${key} (scratch/list_models.ts:10)", "shortDescription": {"text": "Dangling fetch: GET https://generativelanguage.googleapis.com/v1/models?key=${key} (scratch/list_models.ts:10)"}, "fullDescription": {"text": "`scratch/list_models.ts:10` calls `GET https://generativelanguage.googleapis.com/v1/models?key=${key}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/generativelanguage.googleapis.com/v1/models`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8e539aa1ce0676e6", "name": "Dangling fetch: GET https://api.resend.com/domains (scratch/check-resend-domains.ts:11)", "shortDescription": {"text": "Dangling fetch: GET https://api.resend.com/domains (scratch/check-resend-domains.ts:11)"}, "fullDescription": {"text": "`scratch/check-resend-domains.ts:11` calls `GET https://api.resend.com/domains` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.resend.com/domains`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-024a2a8e172126f3", "name": "Dangling fetch: POST https://api.buffer.com (scratch/test-social-final.ts:23)", "shortDescription": {"text": "Dangling fetch: POST https://api.buffer.com (scratch/test-social-final.ts:23)"}, "fullDescription": {"text": "`scratch/test-social-final.ts:23` calls `POST https://api.buffer.com` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.buffer.com`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-4fe00250339aba46", "name": "Dangling fetch: POST https://api.buffer.com (pipeline/index.ts:241)", "shortDescription": {"text": "Dangling fetch: POST https://api.buffer.com (pipeline/index.ts:241)"}, "fullDescription": {"text": "`pipeline/index.ts:241` calls `POST https://api.buffer.com` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.buffer.com`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1a2f617796bd40f5", "name": "Dangling fetch: GET /api/knmi-station?lat=${lat}&lon=${lon} (src/components/KNMIStationBadge.tsx:15)", "shortDescription": {"text": "Dangling fetch: GET /api/knmi-station?lat=${lat}&lon=${lon} (src/components/KNMIStationBadge.tsx:15)"}, "fullDescription": {"text": "`src/components/KNMIStationBadge.tsx:15` calls `GET /api/knmi-station?lat=${lat}&lon=${lon}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/knmi-station`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-67cefd25dc6d725c", "name": "Dangling fetch: GET /api/knmi-climate?lat=${lat}&lon=${lon} (src/components/KNMIClimateCard.tsx:51)", "shortDescription": {"text": "Dangling fetch: GET /api/knmi-climate?lat=${lat}&lon=${lon} (src/components/KNMIClimateCard.tsx:51)"}, "fullDescription": {"text": "`src/components/KNMIClimateCard.tsx:51` calls `GET /api/knmi-climate?lat=${lat}&lon=${lon}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/knmi-climate`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0daaa8738cd7e3bd", "name": "Dangling fetch: GET /api/knmi-warnings?lat=${city.lat}&lon=${city.lon}&enrich=1 (src/components/ReedExtended.tsx:493)", "shortDescription": {"text": "Dangling fetch: GET /api/knmi-warnings?lat=${city.lat}&lon=${city.lon}&enrich=1 (src/components/ReedExtended.tsx:493)"}, "fullDescription": {"text": "`src/components/ReedExtended.tsx:493` calls `GET /api/knmi-warnings?lat=${city.lat}&lon=${city.lon}&enrich=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/knmi-warnings`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3244628e659b1a00", "name": "Dangling fetch: GET /api/resolve-location?lat=${lat}&lon=${lon} (src/components/ReedWarningsPage.tsx:33)", "shortDescription": {"text": "Dangling fetch: GET /api/resolve-location?lat=${lat}&lon=${lon} (src/components/ReedWarningsPage.tsx:33)"}, "fullDescription": {"text": "`src/components/ReedWarningsPage.tsx:33` calls `GET /api/resolve-location?lat=${lat}&lon=${lon}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/resolve-location`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-271da0dd183f077e", "name": "Dangling fetch: GET /api/resolve-location?lat=${lat}&lon=${lon} (src/components/PietWeatherPage.tsx:29)", "shortDescription": {"text": "Dangling fetch: GET /api/resolve-location?lat=${lat}&lon=${lon} (src/components/PietWeatherPage.tsx:29)"}, "fullDescription": {"text": "`src/components/PietWeatherPage.tsx:29` calls `GET /api/resolve-location?lat=${lat}&lon=${lon}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/resolve-location`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ef1fdb35edcbcde5", "name": "Dangling fetch: GET /api/piet-weerbericht?lat=${lat}&lon=${lon}&city=${encodeURIComponent(view.locationName)} (src/compo", "shortDescription": {"text": "Dangling fetch: GET /api/piet-weerbericht?lat=${lat}&lon=${lon}&city=${encodeURIComponent(view.locationName)} (src/components/PietWeatherPage.tsx:329)"}, "fullDescription": {"text": "`src/components/PietWeatherPage.tsx:329` calls `GET /api/piet-weerbericht?lat=${lat}&lon=${lon}&city=${encodeURIComponent(view.locationName)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/piet-weerbericht`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-20fa2125ce51fa90", "name": "Dangling fetch: GET /api/knmi-radar (src/components/KNMIRadarCard.tsx:18)", "shortDescription": {"text": "Dangling fetch: GET /api/knmi-radar (src/components/KNMIRadarCard.tsx:18)"}, "fullDescription": {"text": "`src/components/KNMIRadarCard.tsx:18` calls `GET /api/knmi-radar` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/knmi-radar`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-32ef3c6cdefc8c0a", "name": "Dangling fetch: POST /api/b2b/discover (src/components/B2BAdminPanel.tsx:67)", "shortDescription": {"text": "Dangling fetch: POST /api/b2b/discover (src/components/B2BAdminPanel.tsx:67)"}, "fullDescription": {"text": "`src/components/B2BAdminPanel.tsx:67` calls `POST /api/b2b/discover` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/b2b/discover`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-24e2e0769f8144cd", "name": "Dangling fetch: GET /api/b2b/outreach (src/components/B2BAdminPanel.tsx:89)", "shortDescription": {"text": "Dangling fetch: GET /api/b2b/outreach (src/components/B2BAdminPanel.tsx:89)"}, "fullDescription": {"text": "`src/components/B2BAdminPanel.tsx:89` calls `GET /api/b2b/outreach` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/b2b/outreach`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2ca8f27abf4b6909", "name": "Dangling fetch: POST /api/contact (src/components/ContactForm.tsx:135)", "shortDescription": {"text": "Dangling fetch: POST /api/contact (src/components/ContactForm.tsx:135)"}, "fullDescription": {"text": "`src/components/ContactForm.tsx:135` calls `POST /api/contact` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/contact`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-66d8946ee30aa88e", "name": "Dangling fetch: GET /api/piet-weerbericht?lat=${lat}&lon=${lon}&city=${encodeURIComponent(city)} (src/components/KNMIFor", "shortDescription": {"text": "Dangling fetch: GET /api/piet-weerbericht?lat=${lat}&lon=${lon}&city=${encodeURIComponent(city)} (src/components/KNMIForecastCard.tsx:104)"}, "fullDescription": {"text": "`src/components/KNMIForecastCard.tsx:104` calls `GET /api/piet-weerbericht?lat=${lat}&lon=${lon}&city=${encodeURIComponent(city)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/piet-weerbericht`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3b1cc3b7d1e3f0de", "name": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=weather_code,is_day&", "shortDescription": {"text": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=weather_code,is_day&timezone=auto (src/components/GlobalWeatherBackground.tsx:39)"}, "fullDescription": {"text": "`src/components/GlobalWeatherBackground.tsx:39` calls `GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=weather_code,is_day&timezone=auto` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.open-meteo.com/v1/forecast`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f7cdcc56b76619f1", "name": "Dangling fetch: POST /api/leads/capture (src/components/LeadRescue.tsx:62)", "shortDescription": {"text": "Dangling fetch: POST /api/leads/capture (src/components/LeadRescue.tsx:62)"}, "fullDescription": {"text": "`src/components/LeadRescue.tsx:62` calls `POST /api/leads/capture` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/leads/capture`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-89b41653a51a190d", "name": "Dangling fetch: POST /api/b2b/signup (src/components/B2BSignupForm.tsx:38)", "shortDescription": {"text": "Dangling fetch: POST /api/b2b/signup (src/components/B2BSignupForm.tsx:38)"}, "fullDescription": {"text": "`src/components/B2BSignupForm.tsx:38` calls `POST /api/b2b/signup` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/b2b/signup`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0f36fc2fb9f3e3e0", "name": "Dangling fetch: POST /api/persona/piet (src/components/PietExtended.tsx:331)", "shortDescription": {"text": "Dangling fetch: POST /api/persona/piet (src/components/PietExtended.tsx:331)"}, "fullDescription": {"text": "`src/components/PietExtended.tsx:331` calls `POST /api/persona/piet` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/persona/piet`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-94884b71908b7528", "name": "Dangling fetch: GET /api/nearest-place?lat=${lat}&lon=${lon} (src/components/wz/LocatieButton.tsx:66)", "shortDescription": {"text": "Dangling fetch: GET /api/nearest-place?lat=${lat}&lon=${lon} (src/components/wz/LocatieButton.tsx:66)"}, "fullDescription": {"text": "`src/components/wz/LocatieButton.tsx:66` calls `GET /api/nearest-place?lat=${lat}&lon=${lon}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/nearest-place`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-590def1c08155845", "name": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lats}&longitude=${lons}&current=temperature_2m,wea", "shortDescription": {"text": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lats}&longitude=${lons}&current=temperature_2m,weather_code,is_day&timezone=Europe/Amsterdam (src/app/actions.ts:90)"}, "fullDescription": {"text": "`src/app/actions.ts:90` calls `GET https://api.open-meteo.com/v1/forecast?latitude=${lats}&longitude=${lons}&current=temperature_2m,weather_code,is_day&timezone=Europe/Amsterdam` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.open-meteo.com/v1/forecast`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-202aefb09d7906a6", "name": "Dangling fetch: POST https://places.googleapis.com/v1/places:searchText (src/app/actions.ts:354)", "shortDescription": {"text": "Dangling fetch: POST https://places.googleapis.com/v1/places:searchText (src/app/actions.ts:354)"}, "fullDescription": {"text": "`src/app/actions.ts:354` calls `POST https://places.googleapis.com/v1/places:searchText` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/places.googleapis.com/v1/places/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2315fd9d0f6014b0", "name": "Dangling fetch: POST /api/preferences (src/app/(site)/voorkeuren/VoorkeurenForm.tsx:12)", "shortDescription": {"text": "Dangling fetch: POST /api/preferences (src/app/(site)/voorkeuren/VoorkeurenForm.tsx:12)"}, "fullDescription": {"text": "`src/app/(site)/voorkeuren/VoorkeurenForm.tsx:12` calls `POST /api/preferences` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/preferences`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5034b86462bdbc14", "name": "Dangling fetch: GET https://api.dexscreener.com/latest/dex/tokens/${mint} (src/app/(site)/api/magnolia/balance/route.ts:", "shortDescription": {"text": "Dangling fetch: GET https://api.dexscreener.com/latest/dex/tokens/${mint} (src/app/(site)/api/magnolia/balance/route.ts:18)"}, "fullDescription": {"text": "`src/app/(site)/api/magnolia/balance/route.ts:18` calls `GET https://api.dexscreener.com/latest/dex/tokens/${mint}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.dexscreener.com/latest/dex/tokens/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-36956f8064281c34", "name": "Dangling fetch: GET https://api.buienradar.nl/image/1.0/RadarMapNL?w=700&h=765 (src/app/(site)/api/radar-image/route.ts:", "shortDescription": {"text": "Dangling fetch: GET https://api.buienradar.nl/image/1.0/RadarMapNL?w=700&h=765 (src/app/(site)/api/radar-image/route.ts:7)"}, "fullDescription": {"text": "`src/app/(site)/api/radar-image/route.ts:7` calls `GET https://api.buienradar.nl/image/1.0/RadarMapNL?w=700&h=765` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.buienradar.nl/image/1.0/radarmapnl`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-dd2ff41388697bc1", "name": "Dangling fetch: GET https://api.bufferapp.com/1/profiles.json?access_token=${encodeURIComponent(token)} (src/app/(site)/", "shortDescription": {"text": "Dangling fetch: GET https://api.bufferapp.com/1/profiles.json?access_token=${encodeURIComponent(token)} (src/app/(site)/api/admin/buffer-check/route.ts:41)"}, "fullDescription": {"text": "`src/app/(site)/api/admin/buffer-check/route.ts:41` calls `GET https://api.bufferapp.com/1/profiles.json?access_token=${encodeURIComponent(token)}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.bufferapp.com/<p>/profiles.json`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-478f423b85682554", "name": "Dangling fetch: POST https://api.buffer.com (src/app/(site)/api/admin/buffer-check/route.ts:73)", "shortDescription": {"text": "Dangling fetch: POST https://api.buffer.com (src/app/(site)/api/admin/buffer-check/route.ts:73)"}, "fullDescription": {"text": "`src/app/(site)/api/admin/buffer-check/route.ts:73` calls `POST https://api.buffer.com` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.buffer.com`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-6a410cbca61392d5", "name": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=temperature_2m,weath", "shortDescription": {"text": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=temperature_2m,weather_code&timezone=Europe/Amsterdam (src/app/(site)/api/social/dagelijks/route.tsx:16)"}, "fullDescription": {"text": "`src/app/(site)/api/social/dagelijks/route.tsx:16` calls `GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=temperature_2m,weather_code&timezone=Europe/Amsterdam` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.open-meteo.com/v1/forecast`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-d03aa1a5f060351c", "name": "Dangling fetch: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite-preview-06-17:generat", "shortDescription": {"text": "Dangling fetch: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite-preview-06-17:generateContent?key=${key} (src/app/(site)/api/social/dagelijks/route.tsx:99)"}, "fullDescription": {"text": "`src/app/(site)/api/social/dagelijks/route.tsx:99` calls `POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite-preview-06-17:generateContent?key=${key}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite-preview-06-17/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-caedbcd2e9338577", "name": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=temperature_2m,weath", "shortDescription": {"text": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=temperature_2m,weather_code&timezone=Europe/Amsterdam (src/app/(site)/api/social/piet-v2/route.tsx:32)"}, "fullDescription": {"text": "`src/app/(site)/api/social/piet-v2/route.tsx:32` calls `GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=temperature_2m,weather_code&timezone=Europe/Amsterdam` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/api.open-meteo.com/v1/forecast`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7dc015682130dffc", "name": "Dangling fetch: GET /api/magnolia (src/app/(site)/magnolia/page.tsx:55)", "shortDescription": {"text": "Dangling fetch: GET /api/magnolia (src/app/(site)/magnolia/page.tsx:55)"}, "fullDescription": {"text": "`src/app/(site)/magnolia/page.tsx:55` calls `GET /api/magnolia` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/magnolia`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ad92da2def6f3a15", "name": "Dangling fetch: GET /api/magnolia/balance (src/app/(site)/magnolia/page.tsx:61)", "shortDescription": {"text": "Dangling fetch: GET /api/magnolia/balance (src/app/(site)/magnolia/page.tsx:61)"}, "fullDescription": {"text": "`src/app/(site)/magnolia/page.tsx:61` calls `GET /api/magnolia/balance` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/magnolia/balance`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-69ce9f67ebe535b6", "name": "Dangling fetch: GET /api/cron/b2b-hunter (src/app/(site)/admin/outreach/OutreachControl.tsx:20)", "shortDescription": {"text": "Dangling fetch: GET /api/cron/b2b-hunter (src/app/(site)/admin/outreach/OutreachControl.tsx:20)"}, "fullDescription": {"text": "`src/app/(site)/admin/outreach/OutreachControl.tsx:20` calls `GET /api/cron/b2b-hunter` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/cron/b2b-hunter`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-84242e8fa280dae5", "name": "Dangling fetch: GET /api/admin/metrics (src/app/(site)/admin/performance/page.tsx:47)", "shortDescription": {"text": "Dangling fetch: GET /api/admin/metrics (src/app/(site)/admin/performance/page.tsx:47)"}, "fullDescription": {"text": "`src/app/(site)/admin/performance/page.tsx:47` calls `GET /api/admin/metrics` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/admin/metrics`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e8e188eda100cb98", "name": "Dangling fetch: POST https://airquality.googleapis.com/v1/currentConditions:lookup?key=${GOOGLE_API_KEY} (src/lib/impact", "shortDescription": {"text": "Dangling fetch: POST https://airquality.googleapis.com/v1/currentConditions:lookup?key=${GOOGLE_API_KEY} (src/lib/impact-engine.ts:31)"}, "fullDescription": {"text": "`src/lib/impact-engine.ts:31` calls `POST https://airquality.googleapis.com/v1/currentConditions:lookup?key=${GOOGLE_API_KEY}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/airquality.googleapis.com/v1/currentconditions/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b4ba91b5b7f20756", "name": "Dangling fetch: GET https://weather.googleapis.com/v1/forecast/hours:lookup?key=${apiKey}&location.latitude=${lat}&locat", "shortDescription": {"text": "Dangling fetch: GET https://weather.googleapis.com/v1/forecast/hours:lookup?key=${apiKey}&location.latitude=${lat}&location.longitude=${lon}&hours=48&languageCode=nl (src/lib/google-weather.ts:6)"}, "fullDescription": {"text": "`src/lib/google-weather.ts:6` calls `GET https://weather.googleapis.com/v1/forecast/hours:lookup?key=${apiKey}&location.latitude=${lat}&location.longitude=${lon}&hours=48&languageCode=nl` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/weather.googleapis.com/v1/forecast/hours/<p>`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-55de4c74e55cc981", "name": "Dangling fetch: GET /api/wws?lat=${lat}&lon=${lon} (src/lib/weatherCache.ts:206)", "shortDescription": {"text": "Dangling fetch: GET /api/wws?lat=${lat}&lon=${lon} (src/lib/weatherCache.ts:206)"}, "fullDescription": {"text": "`src/lib/weatherCache.ts:206` calls `GET /api/wws?lat=${lat}&lon=${lon}` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/wws`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-7d54f50f146f4a9b", "name": "Dangling fetch: GET https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lon}&format=jsonv2&accept-language=${lo", "shortDescription": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lon}&format=jsonv2&accept-language=${locale}&zoom=14&addressdetails=1 (src/lib/types.ts:359)"}, "fullDescription": {"text": "`src/lib/types.ts:359` calls `GET https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lon}&format=jsonv2&accept-language=${locale}&zoom=14&addressdetails=1` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/https:/nominatim.openstreetmap.org/reverse`\nIf this points at an external API, prefix it with `https://` so the matcher skips it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "high", "confidence": 1.0}}, {"id": "scanner-963710f42a2c8219", "name": "Unused endpoint: GET /api/status", "shortDescription": {"text": "Unused endpoint: GET /api/status"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4083768260d4a820", "name": "Unused endpoint: POST /api/gateway/restart", "shortDescription": {"text": "Unused endpoint: POST /api/gateway/restart"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/gateway/restart` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a9fc2abbfd0eff67", "name": "Unused endpoint: POST /api/hermes/update", "shortDescription": {"text": "Unused endpoint: POST /api/hermes/update"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/hermes/update` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc2a64713e3ba710", "name": "Unused endpoint: GET /api/actions/{name}/status", "shortDescription": {"text": "Unused endpoint: GET /api/actions/{name}/status"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/actions/{name}/status` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bf2e6e2188a510ee", "name": "Unused endpoint: GET /api/sessions", "shortDescription": {"text": "Unused endpoint: GET /api/sessions"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/sessions` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ae0da226f234c4e", "name": "Unused endpoint: GET /api/sessions/search", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/search"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/sessions/search` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7aa4b2518cbbbfa2", "name": "Unused endpoint: GET /api/config", "shortDescription": {"text": "Unused endpoint: GET /api/config"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/config` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f265efee78815c9c", "name": "Unused endpoint: GET /api/config/defaults", "shortDescription": {"text": "Unused endpoint: GET /api/config/defaults"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/config/defaults` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b3df459b886bf814", "name": "Unused endpoint: GET /api/config/schema", "shortDescription": {"text": "Unused endpoint: GET /api/config/schema"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/config/schema` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-def8762309fb2ecd", "name": "Unused endpoint: GET /api/model/info", "shortDescription": {"text": "Unused endpoint: GET /api/model/info"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/model/info` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c67c08ec8c4b0435", "name": "Unused endpoint: GET /api/model/options", "shortDescription": {"text": "Unused endpoint: GET /api/model/options"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/model/options` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c14c182c37ec7d11", "name": "Unused endpoint: GET /api/model/auxiliary", "shortDescription": {"text": "Unused endpoint: GET /api/model/auxiliary"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/model/auxiliary` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-35745d4371415ca4", "name": "Unused endpoint: POST /api/model/set", "shortDescription": {"text": "Unused endpoint: POST /api/model/set"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/model/set` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-22923df0fba6d7e8", "name": "Unused endpoint: PUT /api/config", "shortDescription": {"text": "Unused endpoint: PUT /api/config"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `PUT /api/config` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c7565b3d2505e70e", "name": "Unused endpoint: GET /api/env", "shortDescription": {"text": "Unused endpoint: GET /api/env"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/env` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4627a78bce493dad", "name": "Unused endpoint: PUT /api/env", "shortDescription": {"text": "Unused endpoint: PUT /api/env"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `PUT /api/env` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-60740ae29f26a801", "name": "Unused endpoint: DELETE /api/env", "shortDescription": {"text": "Unused endpoint: DELETE /api/env"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `DELETE /api/env` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9396e8dc7a5e36ce", "name": "Unused endpoint: POST /api/env/reveal", "shortDescription": {"text": "Unused endpoint: POST /api/env/reveal"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/env/reveal` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-65e17379ca9ada31", "name": "Unused endpoint: GET /api/providers/oauth", "shortDescription": {"text": "Unused endpoint: GET /api/providers/oauth"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/providers/oauth` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bbd2f0eaa1a58b5a", "name": "Unused endpoint: DELETE /api/providers/oauth/{provider_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/providers/oauth/{provider_id}"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `DELETE /api/providers/oauth/{provider_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-796c2da313969aed", "name": "Unused endpoint: POST /api/providers/oauth/{provider_id}/start", "shortDescription": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/start"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/providers/oauth/{provider_id}/start` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d3c1410ce59a120", "name": "Unused endpoint: POST /api/providers/oauth/{provider_id}/submit", "shortDescription": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/submit"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/providers/oauth/{provider_id}/submit` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-42dcf4e222d9eb9a", "name": "Unused endpoint: GET /api/providers/oauth/{provider_id}/poll/{session_id}", "shortDescription": {"text": "Unused endpoint: GET /api/providers/oauth/{provider_id}/poll/{session_id}"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/providers/oauth/{provider_id}/poll/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e82e4f8bdc25ea20", "name": "Unused endpoint: DELETE /api/providers/oauth/sessions/{session_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/providers/oauth/sessions/{session_id}"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `DELETE /api/providers/oauth/sessions/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47dfa881a4926912", "name": "Unused endpoint: GET /api/sessions/{session_id}", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/{session_id}"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/sessions/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-587d4512fde14873", "name": "Unused endpoint: GET /api/sessions/{session_id}/messages", "shortDescription": {"text": "Unused endpoint: GET /api/sessions/{session_id}/messages"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/sessions/{session_id}/messages` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-710e260b0cccd592", "name": "Unused endpoint: DELETE /api/sessions/{session_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/sessions/{session_id}"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `DELETE /api/sessions/{session_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f3bf72f059406b13", "name": "Unused endpoint: GET /api/logs", "shortDescription": {"text": "Unused endpoint: GET /api/logs"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/logs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1b3b0ab05f41d96", "name": "Unused endpoint: GET /api/cron/jobs", "shortDescription": {"text": "Unused endpoint: GET /api/cron/jobs"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/cron/jobs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4245b126ce91043a", "name": "Unused endpoint: GET /api/cron/jobs/{job_id}", "shortDescription": {"text": "Unused endpoint: GET /api/cron/jobs/{job_id}"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/cron/jobs/{job_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f5a29a861d68ae13", "name": "Unused endpoint: POST /api/cron/jobs", "shortDescription": {"text": "Unused endpoint: POST /api/cron/jobs"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/cron/jobs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5488a9ac7aa50f30", "name": "Unused endpoint: PUT /api/cron/jobs/{job_id}", "shortDescription": {"text": "Unused endpoint: PUT /api/cron/jobs/{job_id}"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `PUT /api/cron/jobs/{job_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f56baeca02d3e05", "name": "Unused endpoint: POST /api/cron/jobs/{job_id}/pause", "shortDescription": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/pause"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/cron/jobs/{job_id}/pause` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-664b2f011335d30f", "name": "Unused endpoint: POST /api/cron/jobs/{job_id}/resume", "shortDescription": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/resume"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/cron/jobs/{job_id}/resume` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5bf7978d0cc4502e", "name": "Unused endpoint: POST /api/cron/jobs/{job_id}/trigger", "shortDescription": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/trigger"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/cron/jobs/{job_id}/trigger` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-38c475547c90236e", "name": "Unused endpoint: DELETE /api/cron/jobs/{job_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/cron/jobs/{job_id}"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `DELETE /api/cron/jobs/{job_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8fc2389a7b5a6e7b", "name": "Unused endpoint: GET /api/profiles", "shortDescription": {"text": "Unused endpoint: GET /api/profiles"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/profiles` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2da148899addc488", "name": "Unused endpoint: POST /api/profiles", "shortDescription": {"text": "Unused endpoint: POST /api/profiles"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/profiles` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8caac7b21c5c097c", "name": "Unused endpoint: GET /api/profiles/{name}/setup-command", "shortDescription": {"text": "Unused endpoint: GET /api/profiles/{name}/setup-command"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/profiles/{name}/setup-command` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7c6e2ab4f4cb9e01", "name": "Unused endpoint: POST /api/profiles/{name}/open-terminal", "shortDescription": {"text": "Unused endpoint: POST /api/profiles/{name}/open-terminal"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `POST /api/profiles/{name}/open-terminal` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ebd6cfa7bdaca4d0", "name": "Unused endpoint: PATCH /api/profiles/{name}", "shortDescription": {"text": "Unused endpoint: PATCH /api/profiles/{name}"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `PATCH /api/profiles/{name}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8fb73df2d1c8f325", "name": "Unused endpoint: DELETE /api/profiles/{name}", "shortDescription": {"text": "Unused endpoint: DELETE /api/profiles/{name}"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `DELETE /api/profiles/{name}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c98ba43cc4043397", "name": "Unused endpoint: GET /api/profiles/{name}/soul", "shortDescription": {"text": "Unused endpoint: GET /api/profiles/{name}/soul"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/profiles/{name}/soul` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-94afb82f23781dc6", "name": "Unused endpoint: PUT /api/profiles/{name}/soul", "shortDescription": {"text": "Unused endpoint: PUT /api/profiles/{name}/soul"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `PUT /api/profiles/{name}/soul` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2cbc08e97a8f0293", "name": "Unused endpoint: GET /api/skills", "shortDescription": {"text": "Unused endpoint: GET /api/skills"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/skills` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cfeacbbd0da19806", "name": "Unused endpoint: PUT /api/skills/toggle", "shortDescription": {"text": "Unused endpoint: PUT /api/skills/toggle"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `PUT /api/skills/toggle` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6f51e3dc1eac4136", "name": "Unused endpoint: GET /api/tools/toolsets", "shortDescription": {"text": "Unused endpoint: GET /api/tools/toolsets"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/tools/toolsets` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-77ec25bb4cb6da91", "name": "Unused endpoint: GET /api/config/raw", "shortDescription": {"text": "Unused endpoint: GET /api/config/raw"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/config/raw` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0d5450525d0de690", "name": "Unused endpoint: PUT /api/config/raw", "shortDescription": {"text": "Unused endpoint: PUT /api/config/raw"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `PUT /api/config/raw` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-717ded8e19fba821", "name": "Unused endpoint: GET /api/analytics/usage", "shortDescription": {"text": "Unused endpoint: GET /api/analytics/usage"}, "fullDescription": {"text": "`hermes-agent-main/hermes_cli/web_server.py` declares `GET /api/analytics/usage` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/21386"}, "properties": {"repository": "TiveauHRTMN/weerzone.nl", "repoUrl": "https://github.com/TiveauHRTMN/weerzone.nl", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 462985, "scanner": "foundry_dataset", "fingerprint": "36e815c37bd81039f228b5e36dd7fabd44a76e6dcfa35afa11b21599d5a6ff94", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"ui_or_frontend": 1, "deployment_env_gap": 1, "dependency_or_build": 2, "build_install_failure": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 3, "comment_chain_touches_file": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 3, "pr_file": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "TiveauHRTMN/weerzone.nl#4", "issue_number": "4", "quality_tiers": {"unresolved": 5, "assumption_check": 1}, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-773c5c91ea65a2e2", "graph_gold_label": "assumption_check", "changed_file_labels": {"ui_or_frontend": 6, "dependency_or_build": 12}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#4\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 4\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 40\nNode types: {'link_quality': 6, 'comment': 3, 'pr_file': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 9, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_touches_file': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'issue_chain_touches_file': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'dependency_or_build': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'build_install_failure': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'ui_or_frontend': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'unresolved': 5, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "graph-query-motif_query-4c38905438ac745a", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 462984, "scanner": "foundry_dataset", "fingerprint": "a8e5f18ad18f6dbed47de194394b4868a8b3e72081681c1489bff46d84fce67e", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"ui_or_frontend": 2, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 3, "comment_chain_links_commit": 1, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 23, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 3, "pr_file": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "TiveauHRTMN/weerzone.nl#3", "issue_number": "3", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-4f12d76e3500d209", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 12}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#3\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#3\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#3\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 3\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 40\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'pr_file': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_touches_file': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_touches_file': 2, 'issue_chain_touches_file': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'ui_or_frontend': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "graph-query-motif_query-4922f18ab16856bb", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 462983, "scanner": "foundry_dataset", "fingerprint": "2cc60b4bfa4aac866102c109bce2bb7932a317496e11a0d15a77a4f9c4fa5042", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"ui_or_frontend": 1, "source_or_other": 1, "deployment_env_gap": 1, "dependency_or_build": 2, "build_install_failure": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 3, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "thread": 1, "comment": 3, "pr_file": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "TiveauHRTMN/weerzone.nl#2", "issue_number": "2", "quality_tiers": {"unresolved": 5, "assumption_check": 1}, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-3d3a15c6e3f4a680", "graph_gold_label": "assumption_check", "changed_file_labels": {"ui_or_frontend": 6, "source_or_other": 6, "dependency_or_build": 12}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#2\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#2\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#2\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 2\nGraph consistency label: assumption_check\nNodes: 22\nEdges: 45\nNode types: {'link_quality': 6, 'pr_file': 4, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 12, 'chain_has_link_quality': 6, 'thread_touches_file': 4, 'issue_chain_touches_file': 4, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'dependency_or_build': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'build_install_failure': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'source_or_other': 1, 'ui_or_frontend': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'unresolved': 5, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "graph-query-motif_query-d326b898e504f68f", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 446959, "scanner": "foundry_dataset", "fingerprint": "4611fa851b93b312b73ad62ccfbb30c1cdd9c703523698921c40e30f61c985ed", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"ui_or_frontend": 1, "deployment_env_gap": 1, "dependency_or_build": 2, "build_install_failure": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 3, "comment_chain_touches_file": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 3, "pr_file": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "TiveauHRTMN/weerzone.nl#4", "issue_number": "4", "quality_tiers": {"unresolved": 5, "assumption_check": 1}, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-66476eea1fadfc94", "graph_gold_label": "assumption_check", "changed_file_labels": {"ui_or_frontend": 6, "dependency_or_build": 12}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#4\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 4\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 40\nNode types: {'link_quality': 6, 'comment': 3, 'pr_file': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 9, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_touches_file': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'issue_chain_touches_file': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'dependency_or_build': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'build_install_failure': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'ui_or_frontend': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'unresolved': 5, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "graph-query-motif_query-0ffac85d39168fc9", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 446958, "scanner": "foundry_dataset", "fingerprint": "a8bfa7ff7619ebb0077254ec729a555a753413d3170a5e97f25383598c19b265", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"ui_or_frontend": 2, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 3, "comment_chain_links_commit": 1, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 23, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 3, "pr_file": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "TiveauHRTMN/weerzone.nl#3", "issue_number": "3", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e71236c96c19916a", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 12}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#3\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#3\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#3\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 3\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 40\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'pr_file': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_touches_file': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_touches_file': 2, 'issue_chain_touches_file': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'ui_or_frontend': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "graph-query-motif_query-64923a9cbca793d3", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 446957, "scanner": "foundry_dataset", "fingerprint": "dbb8f0e21a0a49524a34c3f1db11a59f19fa024e1c8ee809e7bc64cd25c211b9", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"ui_or_frontend": 1, "source_or_other": 1, "deployment_env_gap": 1, "dependency_or_build": 2, "build_install_failure": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 3, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "thread": 1, "comment": 3, "pr_file": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "TiveauHRTMN/weerzone.nl#2", "issue_number": "2", "quality_tiers": {"unresolved": 5, "assumption_check": 1}, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d7a210f5381468f4", "graph_gold_label": "assumption_check", "changed_file_labels": {"ui_or_frontend": 6, "source_or_other": 6, "dependency_or_build": 12}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#2\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#2\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#2\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 2\nGraph consistency label: assumption_check\nNodes: 22\nEdges: 45\nNode types: {'link_quality': 6, 'pr_file': 4, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 12, 'chain_has_link_quality': 6, 'thread_touches_file': 4, 'issue_chain_touches_file': 4, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'dependency_or_build': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'build_install_failure': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'source_or_other': 1, 'ui_or_frontend': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'unresolved': 5, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "graph-query-motif_query-561f30ad63821e0d", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 452780, "scanner": "foundry_dataset", "fingerprint": "3d579128ea52aae221baabb98b33a9df3847c753b3becde377bb2106d9dd4b02", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"ui_or_frontend": 1, "deployment_env_gap": 1, "dependency_or_build": 2, "build_install_failure": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 3, "comment_chain_touches_file": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 21, "node_types": {"repo": 1, "thread": 1, "comment": 3, "pr_file": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "TiveauHRTMN/weerzone.nl#4", "issue_number": "4", "quality_tiers": {"unresolved": 5, "assumption_check": 1}, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-0842d0d744722b34", "graph_gold_label": "assumption_check", "changed_file_labels": {"ui_or_frontend": 6, "dependency_or_build": 12}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#4\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 4\nGraph consistency label: assumption_check\nNodes: 21\nEdges: 40\nNode types: {'link_quality': 6, 'comment': 3, 'pr_file': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 9, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_touches_file': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'issue_chain_touches_file': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'dependency_or_build': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'build_install_failure': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'ui_or_frontend': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'unresolved': 5, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "graph-query-motif_query-970a0383b352a8b2", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 452779, "scanner": "foundry_dataset", "fingerprint": "ed8e8431c8965ec9bb769d6182256096ae2f808ebb924c4c5fa3bc9105d88c92", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"ui_or_frontend": 2, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 3, "comment_chain_links_commit": 1, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 23, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 3, "pr_file": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "TiveauHRTMN/weerzone.nl#3", "issue_number": "3", "quality_tiers": {"unresolved": 2, "assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-462a5b8371283edf", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 12}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#3\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#3\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#3\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 3\nGraph consistency label: weak_supervision_needs_review\nNodes: 23\nEdges: 40\nNode types: {'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'pr_file': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_touches_file': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'thread_touches_file': 2, 'issue_chain_touches_file': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'ui_or_frontend': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "graph-query-motif_query-395d39b685b0a469", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 452778, "scanner": "foundry_dataset", "fingerprint": "1ca48833fcff24a41e2f631f29c92227c9edf6c6f4e8657167b375a1c0371532", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"ui_or_frontend": 1, "source_or_other": 1, "deployment_env_gap": 1, "dependency_or_build": 2, "build_install_failure": 1, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "thread_touches_file": 4, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 3, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "thread": 1, "comment": 3, "pr_file": 4, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "TiveauHRTMN/weerzone.nl#2", "issue_number": "2", "quality_tiers": {"unresolved": 5, "assumption_check": 1}, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-c2b661dbf6b6569c", "graph_gold_label": "assumption_check", "changed_file_labels": {"ui_or_frontend": 6, "source_or_other": 6, "dependency_or_build": 12}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#2\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#2\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#2\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 2\nGraph consistency label: assumption_check\nNodes: 22\nEdges: 45\nNode types: {'link_quality': 6, 'pr_file': 4, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_touches_file': 12, 'chain_has_link_quality': 6, 'thread_touches_file': 4, 'issue_chain_touches_file': 4, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'dependency_or_build': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'build_install_failure': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'source_or_other': 1, 'ui_or_frontend': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'unresolved': 5, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "graph-query-motif_query-017500ced2739f15", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 441696, "scanner": "foundry_dataset", "fingerprint": "799e68fa18c3e67e36c8852c9db945ea049bc762ed340b0fed4d91dad0835527", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "TiveauHRTMN/weerzone.nl#4", "human_labels": ["build_install_failure", "data_schema_persistence", "dependency_or_build", "deployment_env_gap", "ui_or_frontend"], "issue_number": "4", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-3e3945ffa0fd8402", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 1, "dependency_or_build": 2}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: bad_chains\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#4\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: TiveauHRTMN/weerzone.nl#4\nRepo: TiveauHRTMN/weerzone.nl\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'build_install_failure': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 3}\nChanged file labels: {'dependency_or_build': 2, 'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8b929dc87fc5cae8\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/TiveauHRTMN/weerzone.nl/pull/4\",\n    \"text\": \"GitHub feedback: build_install_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: TiveauHRTMN/weerzone.nl\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/TiveauHRTMN/weerzone.nl/pull/4\\nTitle: Add Vercel Speed Insights configuration\\nBody:\\n## Vercel Speed Insights Installation\\n\\nSuccessfully installed and configured Vercel Speed Insights for this Next.js project following the latest official documentation from https://vercel.com/docs/speed-insights/quickstart.\\n\\n### Changes Made:\\n\\n**1. Package Installation**\\n- Installed `@vercel/speed-insights` version 2.0.0 via npm\\n- Updated package.json and package-lock.json to include the new dependency\\n\\n**2. Configuration** \\n- Modified `src/app/layout.tsx` to import SpeedInsights from '@vercel/speed-insights/next'\\n- Added the `<SpeedInsights />` component to the root layout inside the `<body>` tag, following Next.js v13.5+ best practices\\n- Placed the component after other global components to maintain the existing structure\\n\\n### Files Modified:\\n- `package.json` - Added @vercel/speed-insights dependency\\n- `package-lock.json` - Updated with new dependency lockfile entries\\n- `src/app/layout.tsx` - Added import and component placement\\n\\n### Implement\"\n  },\n  {\n    \"id\": \"github-feedback-comment-0fd270af9cf7a1b5\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/TiveauHRTMN/weerzone.nl/pull/4#issuecomment-4367303537\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: TiveauHRTMN/weerzone.nl\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/TiveauHRTMN/weerzone.nl/pull/4#issuecomment-4367303537\\nTitle: \\nBody:\\n[vc]: #p6MggtlnpFVX9ORGf285z6O76C030HNBLvjAoyroyfg=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJva\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "comment-chain-pattern-bad_chains-df8ff0847cfdf277", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 441695, "scanner": "foundry_dataset", "fingerprint": "4eb297ee5c527ac3a28005eda37db550932a0a14a5bb9c7b04137b927dc2c03a", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "TiveauHRTMN/weerzone.nl#3", "human_labels": ["api_integration_gap", "data_schema_persistence", "deployment_env_gap", "ui_or_frontend"], "issue_number": "3", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.607, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-28c34ebd4fbf0251", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 2}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: bad_chains\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#3\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: TiveauHRTMN/weerzone.nl#3\nRepo: TiveauHRTMN/weerzone.nl\nThread label: thread_has_human_issue_and_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'api_integration_gap': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 3}\nChanged file labels: {'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-527396bf7f843b6d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/TiveauHRTMN/weerzone.nl/pull/3\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: TiveauHRTMN/weerzone.nl\\nAuthor: TiveauHRTMN (User)\\nURL: https://github.com/TiveauHRTMN/weerzone.nl/pull/3\\nTitle: fix: radar toont actuele data in plaats van 8 uur oude data\\nBody:\\nOpen-Meteo fetches gebruikten next: { revalidate: 300 } waardoor de\\nNext.js Data Cache verouderde responses kon teruggeven als de ISR\\nrevalidatie failde in de deployment. Hierdoor bevatte data.current.time\\neen tijdstip van uren geleden, wat de minutely radar liet beginnen op\\ndat oude tijdstip.\\n\\nFixes:\\n- Vervang next: { revalidate: 300 } door cache: \\\"no-store\\\" zodat elke\\n  server action aanroep altijd verse data haalt (client-side weatherCache\\n  handelt de 10-min/60-min deduplicatie al af).\\n- Filter minutely_15 op de werkelijke huidige tijd (Amsterdam timezone)\\n  i.p.v. data.current.time, zodat verouderde API responses nooit\\n  historische data tonen.\\n- Vergroot forecast_minutely_15 van 24 naar 96 periodes (24 uur) voor\\n  meer buffer.\\n\\nhttps://claude.ai/code/session_01VdjtKD1CuxvDAQiB8o5C6U\"\n  },\n  {\n    \"id\": \"github-feedback-comment-741ecd28bbfc10ba\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/TiveauHRTMN/weerzone.nl/pull/3#issuecomment-4333626293\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: TiveauHRTMN/weerzone.nl\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/TiveauHRTMN/weerzone.nl/pull/3#issuecomment-4333626293\\nTitle: \\nBody:\\n[vc]: #+Nbe07RZ2flQwJzE0IfBL9rYXcRL2nn5Vf6QPmx0JEs=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJrdXR3ZWVyIiwicHJvamVjdElkIjoicHJqX2NycWc3NEdQN25TYmo4OEdhcEZSRXdsZE1tN08iLCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vdGl2ZWF1aHJ0bW5zLXByb2plY3RzL2t1\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "comment-chain-pattern-bad_chains-7a5bf4107088cd24", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 441694, "scanner": "foundry_dataset", "fingerprint": "eb9ad7f8fd418a66f0273eb1fc2b150705389fcd5d4f8e432c680db1fecf880e", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "TiveauHRTMN/weerzone.nl#2", "human_labels": ["build_install_failure", "data_schema_persistence", "dependency_or_build", "deployment_env_gap", "source_or_other", "ui_or_frontend"], "issue_number": "2", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-0fb86605862348d6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 1, "source_or_other": 1, "dependency_or_build": 2}, "linked_commit_count": 0, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: bad_chains\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#2\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: TiveauHRTMN/weerzone.nl#2\nRepo: TiveauHRTMN/weerzone.nl\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'build_install_failure': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 3}\nChanged file labels: {'dependency_or_build': 2, 'source_or_other': 1, 'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-bf9683c9493a6886\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/TiveauHRTMN/weerzone.nl/pull/2\",\n    \"text\": \"GitHub feedback: build_install_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: TiveauHRTMN/weerzone.nl\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/TiveauHRTMN/weerzone.nl/pull/2\\nTitle: Install Vercel Web Analytics\\nBody:\\n## Vercel Web Analytics Installation\\n\\nSuccessfully installed and configured Vercel Web Analytics for this Next.js App Router project.\\n\\n### Changes Made\\n\\n**1. Package Installation**\\n- Installed `@vercel/analytics` package (v2.0.1) using npm\\n- Updated `package.json` with the new dependency\\n- Updated `package-lock.json` with dependency tree\\n\\n**2. Analytics Integration**\\n- Modified `src/app/layout.tsx` to add Vercel Analytics\\n- Added import statement: `import { Analytics } from \\\"@vercel/analytics/next\\\";`\\n- Added `<Analytics />` component inside the `<body>` tag, after the `</Providers>` closing tag\\n- Placement follows official Vercel documentation for Next.js App Router\\n\\n**3. Build Process**\\n- The sitemap generation runs successfully before build\\n- TypeScript compilation completed without errors related to Analytics changes\\n- Note: Pre-existing build error unrelated to Analytics (missing Resend API key for `/api/cron/piet-briefing` route)\\n\\n### Implementation D\"\n  },\n  {\n    \"id\": \"github-feedback-comment-18d782d6b2af84b8\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/TiveauHRTMN/weerzone.nl/pull/2#issuecomment-4330547749\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: TiveauHRTMN/weerzone.nl\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/TiveauHRTMN/weerzone.nl/pull/2#issuecomment-4330547749\\nTitle: \\nBody:\\n[vc]: #xk5xEU//ER4T8wKPr+AtAlgqsQ2jnVWAr/eutHnn4cw=:eyJpc01vbm9yZXBvIjp0cnVlLCJ\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "comment-chain-pattern-bad_chains-4247dc91554ddb95", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 441693, "scanner": "foundry_dataset", "fingerprint": "32eac1e27cad8e08e442ad08d8f98775072bc126243d625d4765ee3c53ad9087", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "bad_chains", "synthetic": false, "thread_key": "TiveauHRTMN/weerzone.nl#1", "human_labels": ["agent_instruction_gap", "ui_or_frontend"], "issue_number": "1", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "self_attested_unverified", "source_backed": true, "max_confidence": 0.59, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-f36a9e5ca207b103", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 6, "schemas": 1, "generated_claims": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 5}, "linked_commit_count": 1, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: bad_chains\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#1\nOutcome: self_attested_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: TiveauHRTMN/weerzone.nl#1\nRepo: TiveauHRTMN/weerzone.nl\nThread label: thread_has_human_issue_and_fix_context\nOutcome: self_attested_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 5\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 5}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d1e03f4ed8bd0886\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/TiveauHRTMN/weerzone.nl/pull/1\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: TiveauHRTMN/weerzone.nl\\nAuthor: TiveauHRTMN (User)\\nURL: https://github.com/TiveauHRTMN/weerzone.nl/pull/1\\nTitle: Polish UI: contrast en zichtbaarheid verbeteringen\\nBody:\\n## Summary\\n- Commentary tekst nu leesbaar (donkere tekst op lichte oranje achtergrond)\\n- Header controls met frosted-glass stijl voor zichtbaarheid op blauwe lucht\\n- Subtitle, iconen en dropdown aangepast naar witte/doorschijnende kleuren\\n- Zon sectie border-kleur gecorrigeerd (was dark-theme restant)\\n- Eerlijk vs Onzin kaart terug naar standaard cloud-card stijl\\n\\n## Test plan\\n- [ ] Controleer header leesbaarheid op blauwe lucht (zonnig weer)\\n- [ ] Controleer commentary tekst contrast in main weather card\\n- [ ] Controleer Zon sectie UV-index border zichtbaarheid\\n- [ ] Controleer Eerlijk vs Onzin kaart styling\\n- [ ] Test met donkere/grijze lucht (bewolkt/regen weer)\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-3b19daafc65f992a\",\n    \"filename\": \"src/components/AffiliateCard.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 415,\n    \"deletions\": 42,\n    \"changes\": 457,\n    \"blob_url\": \"https://github.com/TiveauHRTMN/weerzone.nl/blob/b65c629a03ab39283d7fd376435b9779444c8c36/src%2Fcomponents%2FAffiliateCard.tsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-272ad1521d64545d\",\n    \"filename\": \"src/components/WeatherDashboard.tsx\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 61,\n    \"deletions\": 15,\n    \"changes\": 76,\n    \"blob_url\": \"https://github.com/TiveauHRTMN/weerzone.nl/blob/b65c629a03ab39283d7fd376435b9779444c8c36/src%2Fcomponents%2FWeatherDashboard.tsx\"\n  },\n  {\n    \"id\": \"github-pr-file-file-4d06632c467d3555\",\n    \"filename\": \"src/lib/affiliates.ts\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"adde\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "comment-chain-pattern-bad_chains-7b563b5a081f256e", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: TiveauHRTMN/weerzone.nl"}, "properties": {"repobilityId": 451083, "scanner": "foundry_dataset", "fingerprint": "7bab48c92311a5303f3c9ba1f811ee7287bc50b39513484125e1774c0e858507", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"ui_or_frontend": 5, "generated_provenance": 1, "agent_instruction_gap": 1, "self_attested_unverified": 3, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "self_attested_or_generated_fix_unverified": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"self_attested_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 27, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 1, "comment_chain_links_commit": 1, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 15, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "pr_file": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "TiveauHRTMN/weerzone.nl#1", "issue_number": "1", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "TiveauHRTMN/weerzone.nl", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e33ae76ff8e608c0", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"ui_or_frontend": 20}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#1\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: TiveauHRTMN/weerzone.nl\nThread: TiveauHRTMN/weerzone.nl#1\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: TiveauHRTMN/weerzone.nl#1\nRepo: TiveauHRTMN/weerzone.nl\nIssue/PR number: 1\nGraph consistency label: weak_supervision_needs_review\nNodes: 15\nEdges: 27\nNode types: {'pr_file': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_touches_file': 5, 'issue_chain_touches_file': 5, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ui_or_frontend': 5, 'self_attested_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'self_attested_or_generated_fix_unverified': 1, 'generated_provenance': 1}\nOutcomes: {'self_attested_unverified': 6}\nQuality tiers: {'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/TiveauHRTMN/weerzone.nl", "source_id": "graph-query-motif_query-42a5594c1f766eaf", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "TiveauHRTMN/weerzone.nl", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-11802da5f7272af3", "level": "note", "message": {"text": "Possibly dead Python function: run_background"}, "properties": {"repobilityId": "08913be92a79f49f", "scanner": "scanner-primary", "fingerprint": "11802da5f7272af3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/cli.py:6800"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e7c8485a8c44f233", "level": "note", "message": {"text": "Possibly dead Python function: stream_callback"}, "properties": {"repobilityId": "e812d95731a1f9c5", "scanner": "scanner-primary", "fingerprint": "e7c8485a8c44f233", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/cli.py:9328"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a3b750d9a9b24ed", "level": "note", "message": {"text": "Possibly dead Python function: apply_transformation"}, "properties": {"repobilityId": "a4e51d16c6421fcf", "scanner": "scanner-primary", "fingerprint": "8a3b750d9a9b24ed", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/cli.py:11015"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0c876d438f3e1899", "level": "note", "message": {"text": "Possibly dead Python function: spinner_loop"}, "properties": {"repobilityId": "28c0baa28b897dc8", "scanner": "scanner-primary", "fingerprint": "0c876d438f3e1899", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/cli.py:11663"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b433a3dbecde929f", "level": "note", "message": {"text": "Possibly dead Python function: process_loop"}, "properties": {"repobilityId": "a675ee415509c6fc", "scanner": "scanner-primary", "fingerprint": "b433a3dbecde929f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/cli.py:11683"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4156bd59c6d0536b", "level": "note", "message": {"text": "Possibly dead Python function: env_int"}, "properties": {"repobilityId": "6789d87227baeb90", "scanner": "scanner-primary", "fingerprint": "4156bd59c6d0536b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/utils.py:210"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b9ade7539ace8784", "level": "note", "message": {"text": "Possibly dead Python function: env_bool"}, "properties": {"repobilityId": "ac376b37cf19df97", "scanner": "scanner-primary", "fingerprint": "b9ade7539ace8784", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/utils.py:221"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-32954f750aca6e72", "level": "note", "message": {"text": "Possibly dead Python function: process_entry"}, "properties": {"repobilityId": "7e30eab994a5d416", "scanner": "scanner-primary", "fingerprint": "32954f750aca6e72", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/trajectory_compressor.py:948"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b403595ec23faa24", "level": "note", "message": {"text": "Possibly dead Python function: crawl_source"}, "properties": {"repobilityId": "2dd6022379f97114", "scanner": "scanner-primary", "fingerprint": "b403595ec23faa24", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/scripts/build_skills_index.py:66"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aee56dcab45783e2", "level": "note", "message": {"text": "Possibly dead Python function: sub_link"}, "properties": {"repobilityId": "eecd2e4b105c322a", "scanner": "scanner-primary", "fingerprint": "aee56dcab45783e2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/website/scripts/generate-skill-docs.py:239"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3c980b6f6f182c80", "level": "note", "message": {"text": "Possibly dead Python function: expires_unix_seconds"}, "properties": {"repobilityId": "21984f04b855dce0", "scanner": "scanner-primary", "fingerprint": "3c980b6f6f182c80", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/agent/google_oauth.py:455"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-992736aacbb06d6c", "level": "note", "message": {"text": "Possibly dead Python function: log_message"}, "properties": {"repobilityId": "965f3150b4af5b2e", "scanner": "scanner-primary", "fingerprint": "992736aacbb06d6c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/agent/google_oauth.py:748"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-294d8c8dde9e8567", "level": "note", "message": {"text": "Possibly dead Python function: save_trajectory"}, "properties": {"repobilityId": "1e872351a70e47d3", "scanner": "scanner-primary", "fingerprint": "294d8c8dde9e8567", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/agent/trajectory.py:30"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-13936bc5291a10a5", "level": "note", "message": {"text": "Possibly dead Python function: read_claude_managed_key"}, "properties": {"repobilityId": "c506ed9bed4dbaef", "scanner": "scanner-primary", "fingerprint": "13936bc5291a10a5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/agent/anthropic_adapter.py:746"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fb58d8d19a9a78d3", "level": "note", "message": {"text": "Possibly dead Python function: auxiliary_max_tokens_param"}, "properties": {"repobilityId": "e00a7257ec5d9627", "scanner": "scanner-primary", "fingerprint": "fb58d8d19a9a78d3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/agent/auxiliary_client.py:2753"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1ee83e539e7b5b8c", "level": "note", "message": {"text": "Possibly dead Python function: dec"}, "properties": {"repobilityId": "e051f92a9c74d209", "scanner": "scanner-primary", "fingerprint": "1ee83e539e7b5b8c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/tui_gateway/server.py:431"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c7c267ae9b944afa", "level": "note", "message": {"text": "Possibly dead Python function: secret_cb"}, "properties": {"repobilityId": "2d321898a570e578", "scanner": "scanner-primary", "fingerprint": "c7c267ae9b944afa", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/tui_gateway/server.py:1610"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6f87cf77d9b5fd37", "level": "note", "message": {"text": "Possibly dead Python function: run_after_agent_ready"}, "properties": {"repobilityId": "f7698d0a90792677", "scanner": "scanner-primary", "fingerprint": "6f87cf77d9b5fd37", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/tui_gateway/server.py:2806"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-432cd78b87709bc0", "level": "note", "message": {"text": "Possibly dead Python function: go"}, "properties": {"repobilityId": "4b0bb0f4d33f4075", "scanner": "scanner-primary", "fingerprint": "432cd78b87709bc0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/tui_gateway/server.py:5561"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d0b018972abd9c86", "level": "note", "message": {"text": "Possibly dead Python function: check_ssl"}, "properties": {"repobilityId": "d40b1121d9d19df5", "scanner": "scanner-primary", "fingerprint": "d0b018972abd9c86", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/research/domain-intel/scripts/domain_intel.py:66"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-423f87e819ca8b8b", "level": "note", "message": {"text": "Possibly dead Python function: whois_lookup"}, "properties": {"repobilityId": "5747935738de52cb", "scanner": "scanner-primary", "fingerprint": "423f87e819ca8b8b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/research/domain-intel/scripts/domain_intel.py:155"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-273e471ba78c392d", "level": "note", "message": {"text": "Possibly dead Python function: dns_records"}, "properties": {"repobilityId": "621a366e6f9a7348", "scanner": "scanner-primary", "fingerprint": "273e471ba78c392d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/research/domain-intel/scripts/domain_intel.py:211"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5639cde6d45aaf62", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test-buffer.ts:7"}, "properties": {"repobilityId": "ca9fae02215c8844", "scanner": "scanner-primary", "fingerprint": "5639cde6d45aaf62", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9f394b0d5bab494b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 check-metrics.ts:8"}, "properties": {"repobilityId": "6cdaf24514a5892b", "scanner": "scanner-primary", "fingerprint": "9f394b0d5bab494b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-239545cddb4ea104", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 test-db-faq.ts:25"}, "properties": {"repobilityId": "61489f43ac5d4cd5", "scanner": "scanner-primary", "fingerprint": "239545cddb4ea104", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b2e6bb18e9904a39", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 proxy.ts:58"}, "properties": {"repobilityId": "6ae6c27d89f1b987", "scanner": "scanner-primary", "fingerprint": "b2e6bb18e9904a39", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bd1dc4866dbf0ce7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hermes-agent-main/scripts/whatsapp-bridge/bridge.js:150"}, "properties": {"repobilityId": "0c7a70757c4f6295", "scanner": "scanner-primary", "fingerprint": "bd1dc4866dbf0ce7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-052fd91cbdcb2ace", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/App.tsx:668"}, "properties": {"repobilityId": "6f445a413e1fd3d5", "scanner": "scanner-primary", "fingerprint": "052fd91cbdcb2ace", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-70af03e82e8de577", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ToolCall.tsx:107"}, "properties": {"repobilityId": "800e98e2b3d1d91e", "scanner": "scanner-primary", "fingerprint": "70af03e82e8de577", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d4b6a439865cca18", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/OAuthProvidersCard.tsx:177"}, "properties": {"repobilityId": "40b509657e78857e", "scanner": "scanner-primary", "fingerprint": "d4b6a439865cca18", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-76aef2b907f5b9b2", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ModelPickerDialog.tsx:357"}, "properties": {"repobilityId": "edf811cfd3b95b35", "scanner": "scanner-primary", "fingerprint": "76aef2b907f5b9b2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3d1756e98ce4ca06", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/SlashPopover.tsx:156"}, "properties": {"repobilityId": "81ee19f0b693196f", "scanner": "scanner-primary", "fingerprint": "3d1756e98ce4ca06", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-91aa80a1406954d9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/PlatformsCard.tsx:60"}, "properties": {"repobilityId": "11b7cef3557eb0a9", "scanner": "scanner-primary", "fingerprint": "91aa80a1406954d9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5b839cae92f91624", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ThemeSwitcher.tsx:122"}, "properties": {"repobilityId": "223adae58d9f803f", "scanner": "scanner-primary", "fingerprint": "5b839cae92f91624", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-320f0ff11751c94a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/components/ChatSidebar.tsx:329"}, "properties": {"repobilityId": "4fd902222fd86d64", "scanner": "scanner-primary", "fingerprint": "320f0ff11751c94a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-060ed1650a1b7fa0", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/contexts/PageHeaderProvider.tsx:72"}, "properties": {"repobilityId": "97d4e45006ecfc7b", "scanner": "scanner-primary", "fingerprint": "060ed1650a1b7fa0", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-91e4aeeb5076b257", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hermes-agent-main/web/src/lib/gatewayClient.ts:12"}, "properties": {"repobilityId": "561ea6ce9339d96f", "scanner": "scanner-primary", "fingerprint": "91e4aeeb5076b257", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-789d7000f36af404", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/PluginsPage.tsx:419"}, "properties": {"repobilityId": "a272baa7b31d4833", "scanner": "scanner-primary", "fingerprint": "789d7000f36af404", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-b8fa110da0a7d2dc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/EnvPage.tsx:140"}, "properties": {"repobilityId": "568435ee5f88442e", "scanner": "scanner-primary", "fingerprint": "b8fa110da0a7d2dc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-2d0502b1c76886f1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/SessionsPage.tsx:86"}, "properties": {"repobilityId": "21eeee67b19e761b", "scanner": "scanner-primary", "fingerprint": "2d0502b1c76886f1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d651e4c92cd0276b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/ModelsPage.tsx:330"}, "properties": {"repobilityId": "4f2f7b57ca1405a0", "scanner": "scanner-primary", "fingerprint": "d651e4c92cd0276b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d250c8901791fccc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/SkillsPage.tsx:314"}, "properties": {"repobilityId": "9be1e211f2a5c4f9", "scanner": "scanner-primary", "fingerprint": "d250c8901791fccc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-aa54abdae215e99d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/ProfilesPage.tsx:290"}, "properties": {"repobilityId": "23626d3114011445", "scanner": "scanner-primary", "fingerprint": "aa54abdae215e99d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9449e95155ddbcd3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/CronPage.tsx:273"}, "properties": {"repobilityId": "7203b75c7a5cd282", "scanner": "scanner-primary", "fingerprint": "9449e95155ddbcd3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c1399b60c0e67f0c", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 hermes-agent-main/web/src/pages/ConfigPage.tsx:552"}, "properties": {"repobilityId": "da40325a9e0cf1ad", "scanner": "scanner-primary", "fingerprint": "c1399b60c0e67f0c", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-60cea34c60f20cd2", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/events/input-event.ts:54"}, "properties": {"repobilityId": "1fdafe7f8a801321", "scanner": "scanner-primary", "fingerprint": "60cea34c60f20cd2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-c091356714351e8d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 hermes-agent-main/ui-tui/src/entry.tsx:15"}, "properties": {"repobilityId": "0ae0d294dc90cf12", "scanner": "scanner-primary", "fingerprint": "c091356714351e8d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-58e170f3f53db347", "level": "none", "message": {"text": "TODO/FIXME marker in shipping code \u2014 hermes-agent-main/ui-tui/src/__tests__/createGatewayEventHandler.test.ts:84"}, "properties": {"repobilityId": "0359afa75fcff401", "scanner": "scanner-primary", "fingerprint": "58e170f3f53db347", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.todo-marker"]}}, {"ruleId": "scanner-e95c420a05a8fffd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest-places.ts:51"}, "properties": {"repobilityId": "ac8a1db8c4720592", "scanner": "scanner-primary", "fingerprint": "e95c420a05a8fffd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f17b07eb30368479", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-koos-getaway.ts:128"}, "properties": {"repobilityId": "1777447f906dd40f", "scanner": "scanner-primary", "fingerprint": "f17b07eb30368479", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-c49feaa22bec82f6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-seo-full.ts:21"}, "properties": {"repobilityId": "6dd50dc5dd3fa6d4", "scanner": "scanner-primary", "fingerprint": "c49feaa22bec82f6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ce52622ce57c7a81", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-osm-nl-pois.ts:199"}, "properties": {"repobilityId": "1b3a17395ec0c0ce", "scanner": "scanner-primary", "fingerprint": "ce52622ce57c7a81", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf33971b0b046468", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-subscriber-prefs.ts:9"}, "properties": {"repobilityId": "1c073d7cc884e583", "scanner": "scanner-primary", "fingerprint": "bf33971b0b046468", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7a2b870a4ab8329f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/hermes-wws-agent.ts:21"}, "properties": {"repobilityId": "7681edefd32136da", "scanner": "scanner-primary", "fingerprint": "7a2b870a4ab8329f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6c8208de551ffe57", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/import-osm-nl-campings.ts:177"}, "properties": {"repobilityId": "84668dead293233e", "scanner": "scanner-primary", "fingerprint": "6c8208de551ffe57", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-1fb0e5b2148e1fa3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-koos-agent.ts:36"}, "properties": {"repobilityId": "3ffa3d278c41553e", "scanner": "scanner-primary", "fingerprint": "1fb0e5b2148e1fa3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ec05175a8a0ef0e7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-berkhout-short.ts:20"}, "properties": {"repobilityId": "26d86ea17b2c3e13", "scanner": "scanner-primary", "fingerprint": "ec05175a8a0ef0e7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bf021236760706d5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ping-google.ts:7"}, "properties": {"repobilityId": "48ef7cf901c8bdef", "scanner": "scanner-primary", "fingerprint": "bf021236760706d5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-39cc400c2e2a1bf9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-piet-view.ts:87"}, "properties": {"repobilityId": "29c65ec215dd8d53", "scanner": "scanner-primary", "fingerprint": "39cc400c2e2a1bf9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5eb925aefe876918", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-mijnweer.js:7"}, "properties": {"repobilityId": "3c2a6ff1f2582b30", "scanner": "scanner-primary", "fingerprint": "5eb925aefe876918", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4b3cf85d55050c9e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-youtube-script.ts:16"}, "properties": {"repobilityId": "97e883c5e97851a7", "scanner": "scanner-primary", "fingerprint": "4b3cf85d55050c9e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5474ecbf6bc312da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-piet-agent.ts:39"}, "properties": {"repobilityId": "87b6d5f13b4df583", "scanner": "scanner-primary", "fingerprint": "5474ecbf6bc312da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bb9c9ddb9fd97d39", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-venues.ts:24"}, "properties": {"repobilityId": "dfe5c0a48c1b178a", "scanner": "scanner-primary", "fingerprint": "bb9c9ddb9fd97d39", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0843bc2799a563da", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-reed-agent.ts:38"}, "properties": {"repobilityId": "ba4474b510e3f1e0", "scanner": "scanner-primary", "fingerprint": "0843bc2799a563da", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bdeac0c882fc57cc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-risk-analysis.ts:96"}, "properties": {"repobilityId": "1c5bd7196a704a95", "scanner": "scanner-primary", "fingerprint": "bdeac0c882fc57cc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5dda87543be3e691", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/fix-limburg-places.ts:24"}, "properties": {"repobilityId": "01bd1bc188d4022b", "scanner": "scanner-primary", "fingerprint": "5dda87543be3e691", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-961391ebbd9921c3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/ingest-v3.ts:42"}, "properties": {"repobilityId": "c985a20469d8c356", "scanner": "scanner-primary", "fingerprint": "961391ebbd9921c3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f01b159da49b3bd6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seed-poule.ts:86"}, "properties": {"repobilityId": "018eff3557b2dbfa", "scanner": "scanner-primary", "fingerprint": "f01b159da49b3bd6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-8e637e56093427ba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/gen-sitemap.ts:35"}, "properties": {"repobilityId": "bead346f535caa0a", "scanner": "scanner-primary", "fingerprint": "8e637e56093427ba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f31bac60ae99bcd0", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-piet-context.ts:71"}, "properties": {"repobilityId": "e2f6f99368eb09e9", "scanner": "scanner-primary", "fingerprint": "f31bac60ae99bcd0", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80b3bb8f30d68e58", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-social-post.ts:8"}, "properties": {"repobilityId": "7f7beeb3bddf842b", "scanner": "scanner-primary", "fingerprint": "80b3bb8f30d68e58", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ba880ea0b3fd186", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/send-og-preview.ts:35"}, "properties": {"repobilityId": "0dca9a36561a5c3e", "scanner": "scanner-primary", "fingerprint": "4ba880ea0b3fd186", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-730541f954eccfd4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/refine-places.ts:9"}, "properties": {"repobilityId": "afd1b7fdd88eca7d", "scanner": "scanner-primary", "fingerprint": "730541f954eccfd4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-45732fa8671c6a4c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-persona-brief.ts:17"}, "properties": {"repobilityId": "ca9764ae0c3aad40", "scanner": "scanner-primary", "fingerprint": "45732fa8671c6a4c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-22df3de183297e72", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/test-social-local.ts:13"}, "properties": {"repobilityId": "6dde2e79608810b2", "scanner": "scanner-primary", "fingerprint": "22df3de183297e72", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-201ccd58d8fa2b8f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/discover-places.ts:12"}, "properties": {"repobilityId": "9bf16304d6c5a9ae", "scanner": "scanner-primary", "fingerprint": "201ccd58d8fa2b8f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2d18dbd87569fdcc", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/seo-status.ts:20"}, "properties": {"repobilityId": "4121393d75fcc926", "scanner": "scanner-primary", "fingerprint": "2d18dbd87569fdcc", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-50bf2d2e918ebb37", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-affiliate-stats.ts:11"}, "properties": {"repobilityId": "85a2b7fe3a8e425e", "scanner": "scanner-primary", "fingerprint": "50bf2d2e918ebb37", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-48158635cb18357c", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/count-places.ts:12"}, "properties": {"repobilityId": "af94a11629ef6094", "scanner": "scanner-primary", "fingerprint": "48158635cb18357c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e88ecfdce71146d7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-agent-context-types.ts:29"}, "properties": {"repobilityId": "c83580856d88a270", "scanner": "scanner-primary", "fingerprint": "e88ecfdce71146d7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2e4fa3ff4900e706", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-reed-view.ts:97"}, "properties": {"repobilityId": "aff92614337ec3a8", "scanner": "scanner-primary", "fingerprint": "2e4fa3ff4900e706", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aecac5c656fd7d3b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/debug-remaining.ts:16"}, "properties": {"repobilityId": "c8e4b7d59174f0fc", "scanner": "scanner-primary", "fingerprint": "aecac5c656fd7d3b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-fa49cadf1feb42c6", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-agents-orchestrator.ts:65"}, "properties": {"repobilityId": "7e62c8965edd58aa", "scanner": "scanner-primary", "fingerprint": "fa49cadf1feb42c6", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6823953199a1d4df", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scripts/check-reed-view-tesla.ts:25"}, "properties": {"repobilityId": "043868efc6638423", "scanner": "scanner-primary", "fingerprint": "6823953199a1d4df", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2747e1e09961d179", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-niedorp.ts:8"}, "properties": {"repobilityId": "a2c79c8f01ae8354", "scanner": "scanner-primary", "fingerprint": "2747e1e09961d179", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-e2a0b2f2c86b0c08", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/introspect-buffer.ts:29"}, "properties": {"repobilityId": "dcea5302a4491d68", "scanner": "scanner-primary", "fingerprint": "e2a0b2f2c86b0c08", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-cf6bd264f6dc3ad4", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/set-home-winkel.ts:18"}, "properties": {"repobilityId": "428c88037d199230", "scanner": "scanner-primary", "fingerprint": "cf6bd264f6dc3ad4", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-89bbbf2e011a279e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/set-test-location.ts:19"}, "properties": {"repobilityId": "1b6dbfec90d7f6fb", "scanner": "scanner-primary", "fingerprint": "89bbbf2e011a279e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5fe277bb3b623273", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/debug-harmonie.ts:21"}, "properties": {"repobilityId": "f71ffd8814db40ec", "scanner": "scanner-primary", "fingerprint": "5fe277bb3b623273", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d15f7db4c5c307f3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/final-api-proof.ts:5"}, "properties": {"repobilityId": "b4ff08a1315b5c96", "scanner": "scanner-primary", "fingerprint": "d15f7db4c5c307f3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6d28f7f8ce533370", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-resend.ts:13"}, "properties": {"repobilityId": "5946138b6b3df5ad", "scanner": "scanner-primary", "fingerprint": "6d28f7f8ce533370", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f57196d7418fe54a", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/compare-models.ts:7"}, "properties": {"repobilityId": "3ff4a3cb518c37d0", "scanner": "scanner-primary", "fingerprint": "f57196d7418fe54a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-170f5e7c6dfaaa98", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-resend-simple.ts:18"}, "properties": {"repobilityId": "cd71e5dae3f25f99", "scanner": "scanner-primary", "fingerprint": "170f5e7c6dfaaa98", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7f9994d7b4ecd9b7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/reality-check.ts:7"}, "properties": {"repobilityId": "8dd8f7987a2b84bb", "scanner": "scanner-primary", "fingerprint": "7f9994d7b4ecd9b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4ff851abcaee614d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/full-test-briefing.ts:11"}, "properties": {"repobilityId": "bcdd396238f799f5", "scanner": "scanner-primary", "fingerprint": "4ff851abcaee614d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b2e484f692cf5570", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-piet-briefing.ts:10"}, "properties": {"repobilityId": "4df5788acce01e62", "scanner": "scanner-primary", "fingerprint": "b2e484f692cf5570", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-be5d9d2a82357b47", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/ultra-test-briefing.ts:11"}, "properties": {"repobilityId": "9610d5bafe71a93c", "scanner": "scanner-primary", "fingerprint": "be5d9d2a82357b47", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-47bb4d5a71d21f99", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/list-all-models.ts:21"}, "properties": {"repobilityId": "1313df3880dd1af0", "scanner": "scanner-primary", "fingerprint": "47bb4d5a71d21f99", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dcea5caa28d83b6e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test_image_gen.ts:24"}, "properties": {"repobilityId": "60f92d87b10a7afc", "scanner": "scanner-primary", "fingerprint": "dcea5caa28d83b6e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2ef6b9f967764b5d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-full-branded-flow.ts:17"}, "properties": {"repobilityId": "20ac104a336a3355", "scanner": "scanner-primary", "fingerprint": "2ef6b9f967764b5d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-97ac5d02e69e6f41", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-admin.ts:8"}, "properties": {"repobilityId": "59c410acd87855d9", "scanner": "scanner-primary", "fingerprint": "97ac5d02e69e6f41", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b233f1231df5246e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/direct-test-mail.ts:9"}, "properties": {"repobilityId": "db5b28724c51bef1", "scanner": "scanner-primary", "fingerprint": "b233f1231df5246e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-9361e8af3805c785", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-dupes.ts:15"}, "properties": {"repobilityId": "75618f1bae567189", "scanner": "scanner-primary", "fingerprint": "9361e8af3805c785", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6fe54d4de11c8024", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-matcher.ts:47"}, "properties": {"repobilityId": "5b4bdfb448864b52", "scanner": "scanner-primary", "fingerprint": "6fe54d4de11c8024", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-10af2f644403fde5", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-resend-emails.ts:10"}, "properties": {"repobilityId": "fda33834f34b4c2c", "scanner": "scanner-primary", "fingerprint": "10af2f644403fde5", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ad3f1a99ad659e0f", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/list_models.ts:12"}, "properties": {"repobilityId": "fa3e9bfeab4e7fbb", "scanner": "scanner-primary", "fingerprint": "ad3f1a99ad659e0f", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d90cf3747b3650f8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-limburg-leak.ts:23"}, "properties": {"repobilityId": "e2231f0118494577", "scanner": "scanner-primary", "fingerprint": "d90cf3747b3650f8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-212ac2cca2ee2b75", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-hunter-vlissingen.ts:7"}, "properties": {"repobilityId": "8f1c2a740787cc6b", "scanner": "scanner-primary", "fingerprint": "212ac2cca2ee2b75", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-139493b4beba2d42", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-dupes.js:16"}, "properties": {"repobilityId": "ee1f5c3ff0766827", "scanner": "scanner-primary", "fingerprint": "139493b4beba2d42", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ca51a6cb42ec34e8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-agents.ts:8"}, "properties": {"repobilityId": "495073f9fc82a057", "scanner": "scanner-primary", "fingerprint": "ca51a6cb42ec34e8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-4b9c9cecc938b366", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-admin-simple.ts:20"}, "properties": {"repobilityId": "322d29565e24ccb3", "scanner": "scanner-primary", "fingerprint": "4b9c9cecc938b366", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dbd7c908ea9f6906", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-matcher.js:47"}, "properties": {"repobilityId": "04ebfac9d90d6c15", "scanner": "scanner-primary", "fingerprint": "dbd7c908ea9f6906", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-aeff743fdc24ffba", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/verify-db.ts:14"}, "properties": {"repobilityId": "ad3200689097654d", "scanner": "scanner-primary", "fingerprint": "aeff743fdc24ffba", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5e6f2b6dc0378d26", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/download-social-test.ts:9"}, "properties": {"repobilityId": "f4758c1e785b6044", "scanner": "scanner-primary", "fingerprint": "5e6f2b6dc0378d26", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-d57403a4c5789d11", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/trace-tags.js:28"}, "properties": {"repobilityId": "c3927ab5fa1a794e", "scanner": "scanner-primary", "fingerprint": "d57403a4c5789d11", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-7c11a8484fd8006b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/prove-affiliate-logic.ts:5"}, "properties": {"repobilityId": "89d903a4c5431473", "scanner": "scanner-primary", "fingerprint": "7c11a8484fd8006b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-546679ecaa32d393", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-db.ts:10"}, "properties": {"repobilityId": "d8edcff902b78a8e", "scanner": "scanner-primary", "fingerprint": "546679ecaa32d393", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-411696407d5fcc96", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-log.ts:4"}, "properties": {"repobilityId": "1fb7a5e693335b25", "scanner": "scanner-primary", "fingerprint": "411696407d5fcc96", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-04a7d7fc5a85859e", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/national-hunt.ts:10"}, "properties": {"repobilityId": "efb658a84be4c051", "scanner": "scanner-primary", "fingerprint": "04a7d7fc5a85859e", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-51d61b8741aad469", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-resend-domains.ts:10"}, "properties": {"repobilityId": "15698c974b29a311", "scanner": "scanner-primary", "fingerprint": "51d61b8741aad469", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-16f35e54359b81b7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/regional-test-briefing.ts:12"}, "properties": {"repobilityId": "bdbd67b02f1136ce", "scanner": "scanner-primary", "fingerprint": "16f35e54359b81b7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-2bff4d3efe5ecfe7", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-env.ts:7"}, "properties": {"repobilityId": "870675376fe73a49", "scanner": "scanner-primary", "fingerprint": "2bff4d3efe5ecfe7", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a6dd3b374e7cdabf", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/reset-user-password.ts:12"}, "properties": {"repobilityId": "2a453be9421b01c4", "scanner": "scanner-primary", "fingerprint": "a6dd3b374e7cdabf", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6fa20252dffde366", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-user-profile.ts:10"}, "properties": {"repobilityId": "c308353bd43dafc0", "scanner": "scanner-primary", "fingerprint": "6fa20252dffde366", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b4f60f2ac5679b26", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/test-social-final.ts:33"}, "properties": {"repobilityId": "51cc0b5f27e1d5e3", "scanner": "scanner-primary", "fingerprint": "b4f60f2ac5679b26", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-38dcc099c2b46e67", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/validate-syntax.js:9"}, "properties": {"repobilityId": "e6763dae665229a1", "scanner": "scanner-primary", "fingerprint": "38dcc099c2b46e67", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-97d2927c9e2e5c56", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/fix-user-data.ts:12"}, "properties": {"repobilityId": "6c1de0dc87b2e0e0", "scanner": "scanner-primary", "fingerprint": "97d2927c9e2e5c56", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5eb1fbf9b87761fb", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/check-user-status.ts:15"}, "properties": {"repobilityId": "e42912ec95c52e6c", "scanner": "scanner-primary", "fingerprint": "5eb1fbf9b87761fb", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6debaa9b94cfcfb8", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 scratch/validate-tags.js:35"}, "properties": {"repobilityId": "f1d0c2149abb9b28", "scanner": "scanner-primary", "fingerprint": "6debaa9b94cfcfb8", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-31409ac17854cc69", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 pipeline/index.ts:76"}, "properties": {"repobilityId": "e2b746dd0551a464", "scanner": "scanner-primary", "fingerprint": "31409ac17854cc69", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-a5dfa35c0f535e03", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/PollenWidget.tsx:77"}, "properties": {"repobilityId": "11a34cc2a8f6cff5", "scanner": "scanner-primary", "fingerprint": "a5dfa35c0f535e03", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-70124e49f1033879", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/PietWeatherPage.tsx:634"}, "properties": {"repobilityId": "62dd81242535aeb9", "scanner": "scanner-primary", "fingerprint": "70124e49f1033879", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-965fb2754755a163", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/NeuralInsights.tsx:85"}, "properties": {"repobilityId": "7cddff2c7954009f", "scanner": "scanner-primary", "fingerprint": "965fb2754755a163", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-dd5e1ebe278b8516", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/components/SiteShell.tsx:63"}, "properties": {"repobilityId": "51f81b722dd6119a", "scanner": "scanner-primary", "fingerprint": "dd5e1ebe278b8516", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-97f18716c9d8592d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/KoosTravelPage.tsx:350"}, "properties": {"repobilityId": "1c7ac6713dfdbd29", "scanner": "scanner-primary", "fingerprint": "97f18716c9d8592d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-2e7ea6e8f87d7189", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/wkpoule/WkNav.tsx:45"}, "properties": {"repobilityId": "cd80f03f5e07e023", "scanner": "scanner-primary", "fingerprint": "2e7ea6e8f87d7189", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-cc74df456e3a956a", "level": "note", "message": {"text": "\"active\" state uses light bg in a dark theme \u2014 src/components/wkpoule/WkNav.tsx:59"}, "properties": {"repobilityId": "968a857ef89e63c3", "scanner": "scanner-primary", "fingerprint": "cc74df456e3a956a", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.active-light-bg"]}}, {"ruleId": "scanner-4d52d479fd59ae87", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/components/wz/LocatieButton.tsx:125"}, "properties": {"repobilityId": "8bcfd0f346ab17f1", "scanner": "scanner-primary", "fingerprint": "4d52d479fd59ae87", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-dc5baa6e044bfd00", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 src/components/hartmanwk/PouleApp.tsx:647"}, "properties": {"repobilityId": "9d08ce8fbe7b5f1b", "scanner": "scanner-primary", "fingerprint": "dc5baa6e044bfd00", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-4ef9b331f80572a1", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/actions.ts:411"}, "properties": {"repobilityId": "e9087e083272be25", "scanner": "scanner-primary", "fingerprint": "4ef9b331f80572a1", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-6143dc4f9867cf7d", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/wkpoule/page.tsx:194"}, "properties": {"repobilityId": "0f3f3985161e7897", "scanner": "scanner-primary", "fingerprint": "6143dc4f9867cf7d", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-59bf835dea6999e3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/wkpoule/groep/[id]/page.tsx:130"}, "properties": {"repobilityId": "f1e5086c24381a49", "scanner": "scanner-primary", "fingerprint": "59bf835dea6999e3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-02424361e9b9b075", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/auth/callback/route.ts:17"}, "properties": {"repobilityId": "e4c88298c241ed49", "scanner": "scanner-primary", "fingerprint": "02424361e9b9b075", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-b028298851bbaf44", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/mijn-weerzone/page.tsx:133"}, "properties": {"repobilityId": "51c162b739af9752", "scanner": "scanner-primary", "fingerprint": "b028298851bbaf44", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e4a3e231d4924601", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/wws/route.ts:35"}, "properties": {"repobilityId": "fc46bce8ba70252c", "scanner": "scanner-primary", "fingerprint": "e4a3e231d4924601", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-f16c624843aef779", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/cron/hermes-patrol/route.ts:25"}, "properties": {"repobilityId": "5d9f2d140f99a29f", "scanner": "scanner-primary", "fingerprint": "f16c624843aef779", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-80d86421690e08c9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/cron/openclaw-harvester/route.ts:32"}, "properties": {"repobilityId": "026107797226d916", "scanner": "scanner-primary", "fingerprint": "80d86421690e08c9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-10e883b8260d9709", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/api/cron/b2b-hunter/route.ts:66"}, "properties": {"repobilityId": "84f7e275e45257c6", "scanner": "scanner-primary", "fingerprint": "10e883b8260d9709", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-dc17e9bcfc5b0cba", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/magnolia/page.tsx:226"}, "properties": {"repobilityId": "61d19152940c14c7", "scanner": "scanner-primary", "fingerprint": "dc17e9bcfc5b0cba", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-0357046862299f95", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/app/login/LoginClient.tsx:164"}, "properties": {"repobilityId": "4905d859c90eb23b", "scanner": "scanner-primary", "fingerprint": "0357046862299f95", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8023dc3a38e58144", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/app/onboarding/OnboardingClient.tsx:305"}, "properties": {"repobilityId": "fdcc128ac633e955", "scanner": "scanner-primary", "fingerprint": "8023dc3a38e58144", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a7e18ce627e619e2", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/piet/page.tsx:123"}, "properties": {"repobilityId": "f90a5fd0a0a74eb4", "scanner": "scanner-primary", "fingerprint": "a7e18ce627e619e2", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-903b6dddc60ea36d", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/app/(site)/admin/page.tsx:9"}, "properties": {"repobilityId": "759e112434a0e51e", "scanner": "scanner-primary", "fingerprint": "903b6dddc60ea36d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-0d8621435aa949a9", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/admin/architect/page.tsx:150"}, "properties": {"repobilityId": "9f476674b5c0a775", "scanner": "scanner-primary", "fingerprint": "0d8621435aa949a9", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-e2eb6f80ee2f66c6", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/over/page.tsx:119"}, "properties": {"repobilityId": "ebd43ca567c1d515", "scanner": "scanner-primary", "fingerprint": "e2eb6f80ee2f66c6", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-cd5816fcbd3e0f9b", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/weer/page.tsx:45"}, "properties": {"repobilityId": "e457ea4432217dbb", "scanner": "scanner-primary", "fingerprint": "cd5816fcbd3e0f9b", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-e77dd057b22599c5", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 src/app/(site)/weer/[province]/page.tsx:187"}, "properties": {"repobilityId": "beba25e2591433ab", "scanner": "scanner-primary", "fingerprint": "e77dd057b22599c5", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-bf3e3eab88c75553", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/app/(site)/weer/[province]/page.tsx:122"}, "properties": {"repobilityId": "bd5d52c48e7bb3df", "scanner": "scanner-primary", "fingerprint": "bf3e3eab88c75553", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-eba78b82e48fce68", "level": "warning", "message": {"text": "`dangerouslySetInnerHTML` used in a React component \u2014 src/lib/schema.ts:27"}, "properties": {"repobilityId": "1776120c9990c82f", "scanner": "scanner-primary", "fingerprint": "eba78b82e48fce68", "layer": "frontend", "severity": "medium", "confidence": 1.0, "tags": ["frontend-quality", "fq.dangerous-html"]}}, {"ruleId": "scanner-22522278558aaecd", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/agent-logger.ts:16"}, "properties": {"repobilityId": "d2285f17ea386848", "scanner": "scanner-primary", "fingerprint": "22522278558aaecd", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-ce11f56381733ff3", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 src/lib/google/earthengine.ts:9"}, "properties": {"repobilityId": "c0692753722789c7", "scanner": "scanner-primary", "fingerprint": "ce11f56381733ff3", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-579656f643a2e6c9", "level": "warning", "message": {"text": "Dockerfile runs as root: hermes-agent-main/Dockerfile"}, "properties": {"repobilityId": "950a9e33b8913d55", "scanner": "scanner-primary", "fingerprint": "579656f643a2e6c9", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["security", "container"]}}, {"ruleId": "scanner-04fb6061e5cfb674", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: debian:13.4"}, "properties": {"repobilityId": "8a8b39b682ff01b6", "scanner": "scanner-primary", "fingerprint": "04fb6061e5cfb674", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/Dockerfile"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-e2ad01a6f11f64b8", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/cli.py:6672"}, "properties": {"repobilityId": "4fc66f5d25c79076", "scanner": "scanner-primary", "fingerprint": "e2ad01a6f11f64b8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/cli.py"}, "region": {"startLine": 6672}}}]}, {"ruleId": "scanner-2e68c5482db53170", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/website/scripts/prebuild.mjs:17"}, "properties": {"repobilityId": "ea770ff5314c12e1", "scanner": "scanner-primary", "fingerprint": "2e68c5482db53170", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/website/scripts/prebuild.mjs"}, "region": {"startLine": 17}}}]}, {"ruleId": "scanner-bb28d9691a0d44ad", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/tui_gateway/server.py:4205"}, "properties": {"repobilityId": "8a71a2a235638ede", "scanner": "scanner-primary", "fingerprint": "bb28d9691a0d44ad", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/tui_gateway/server.py"}, "region": {"startLine": 4205}}}]}, {"ruleId": "scanner-cd6b0be51ad39f94", "level": "error", "message": {"text": "Possible secret in hermes-agent-main/optional-skills/security/1password/SKILL.md"}, "properties": {"repobilityId": "b1924b50e2ff6c0f", "scanner": "scanner-primary", "fingerprint": "cd6b0be51ad39f94", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/security/1password/SKILL.md"}, "region": {"startLine": 141}}}]}, {"ruleId": "scanner-7db2dcdb40945eed", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in hermes-agent-main/optional-skills/mlops/guidance/SKILL.md:387"}, "properties": {"repobilityId": "c7ac943188069bf4", "scanner": "scanner-primary", "fingerprint": "7db2dcdb40945eed", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/guidance/SKILL.md"}, "region": {"startLine": 387}}}]}, {"ruleId": "scanner-1f7d7484d48e089a", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in hermes-agent-main/hermes_cli/tips.py:306"}, "properties": {"repobilityId": "8663ffcbd11b8100", "scanner": "scanner-primary", "fingerprint": "1f7d7484d48e089a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/tips.py"}, "region": {"startLine": 306}}}]}, {"ruleId": "scanner-472edcfe11cbda82", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/hermes_cli/memory_setup.py:137"}, "properties": {"repobilityId": "0859cf3f1eee986f", "scanner": "scanner-primary", "fingerprint": "472edcfe11cbda82", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/memory_setup.py"}, "region": {"startLine": 137}}}]}, {"ruleId": "scanner-208b7376f4429377", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/tools/transcription_tools.py:504"}, "properties": {"repobilityId": "02a09e17de3f8ef6", "scanner": "scanner-primary", "fingerprint": "208b7376f4429377", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/tools/transcription_tools.py"}, "region": {"startLine": 504}}}]}, {"ruleId": "scanner-f2fe3e105a754e64", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in hermes-agent-main/tools/skills_guard.py:294"}, "properties": {"repobilityId": "cd3ee8c51ce9490c", "scanner": "scanner-primary", "fingerprint": "f2fe3e105a754e64", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/tools/skills_guard.py"}, "region": {"startLine": 294}}}]}, {"ruleId": "scanner-a6d1d081c387a304", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in hermes-agent-main/tools/skills_guard.py:297"}, "properties": {"repobilityId": "40ddc4f62ec02389", "scanner": "scanner-primary", "fingerprint": "a6d1d081c387a304", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/tools/skills_guard.py"}, "region": {"startLine": 297}}}]}, {"ruleId": "scanner-8618632429f26cf5", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in hermes-agent-main/tools/environments/docker.py:627"}, "properties": {"repobilityId": "b1d2baf859b6f50d", "scanner": "scanner-primary", "fingerprint": "8618632429f26cf5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/tools/environments/docker.py"}, "region": {"startLine": 627}}}]}, {"ruleId": "scanner-0b824facf211d6ed", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/packages/hermes-ink/src/utils/execFileNoThrow.ts:1"}, "properties": {"repobilityId": "2e8e0dfa133f4e9d", "scanner": "scanner-primary", "fingerprint": "0b824facf211d6ed", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/ui-tui/packages/hermes-ink/src/utils/execFileNoThrow.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8391a31b6c8ad572", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/gatewayClient.ts:1"}, "properties": {"repobilityId": "c339340f35a24896", "scanner": "scanner-primary", "fingerprint": "8391a31b6c8ad572", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/ui-tui/src/gatewayClient.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b07756d9c3240b67", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/__tests__/slashParity.test.ts:1"}, "properties": {"repobilityId": "1ccdc9ea45aafa53", "scanner": "scanner-primary", "fingerprint": "b07756d9c3240b67", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/ui-tui/src/__tests__/slashParity.test.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ccf7fdd1a94c089f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/app/useComposerState.ts:1"}, "properties": {"repobilityId": "e79183cd73f6c53a", "scanner": "scanner-primary", "fingerprint": "ccf7fdd1a94c089f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/ui-tui/src/app/useComposerState.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f1673814d346d094", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/lib/externalCli.ts:1"}, "properties": {"repobilityId": "55858e3de460b3de", "scanner": "scanner-primary", "fingerprint": "f1673814d346d094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/ui-tui/src/lib/externalCli.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e4992f5bdd16107f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/lib/clipboard.ts:1"}, "properties": {"repobilityId": "1e2d012444498cd3", "scanner": "scanner-primary", "fingerprint": "e4992f5bdd16107f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/ui-tui/src/lib/clipboard.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1da5c519a046ab36", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in hermes-agent-main/ui-tui/src/hooks/useGitBranch.ts:1"}, "properties": {"repobilityId": "2cf72bdc98dcc8b5", "scanner": "scanner-primary", "fingerprint": "1da5c519a046ab36", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/ui-tui/src/hooks/useGitBranch.ts"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de96656b02be0a6d", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in hermes-agent-main/environments/benchmarks/yc_bench/README.md:109"}, "properties": {"repobilityId": "65e7316f89116ee7", "scanner": "scanner-primary", "fingerprint": "de96656b02be0a6d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/environments/benchmarks/yc_bench/README.md"}, "region": {"startLine": 109}}}]}, {"ruleId": "scanner-cafd0cdcfbce16ad", "level": "error", "message": {"text": "Possible secret in scratch/reset-user-password.ts"}, "properties": {"repobilityId": "b1064acdf8003fb3", "scanner": "scanner-primary", "fingerprint": "cafd0cdcfbce16ad", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scratch/reset-user-password.ts"}, "region": {"startLine": 10}}}]}, {"ruleId": "scanner-6bca26f0b6483ee4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in pipeline/deck-stage.js:814"}, "properties": {"repobilityId": "5cde195d20bde5ed", "scanner": "scanner-primary", "fingerprint": "6bca26f0b6483ee4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "pipeline/deck-stage.js"}, "region": {"startLine": 814}}}]}, {"ruleId": "scanner-c9a6e9b95784e52f", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/components/SiteShell.tsx:63"}, "properties": {"repobilityId": "f2cd643e76ed7224", "scanner": "scanner-primary", "fingerprint": "c9a6e9b95784e52f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/components/SiteShell.tsx"}, "region": {"startLine": 63}}}]}, {"ruleId": "scanner-39e198d455280851", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/piet/page.tsx:123"}, "properties": {"repobilityId": "7baa15495ede9615", "scanner": "scanner-primary", "fingerprint": "39e198d455280851", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/(site)/piet/page.tsx"}, "region": {"startLine": 123}}}]}, {"ruleId": "scanner-ed4326cb6e074e09", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/over/page.tsx:119"}, "properties": {"repobilityId": "74f93ab38ca24146", "scanner": "scanner-primary", "fingerprint": "ed4326cb6e074e09", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/(site)/over/page.tsx"}, "region": {"startLine": 119}}}]}, {"ruleId": "scanner-a40e33d6e1faae41", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/weer/page.tsx:45"}, "properties": {"repobilityId": "6105b949f2b821c6", "scanner": "scanner-primary", "fingerprint": "a40e33d6e1faae41", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/(site)/weer/page.tsx"}, "region": {"startLine": 45}}}]}, {"ruleId": "scanner-790e3c4c6f6b35e4", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/app/(site)/weer/[province]/page.tsx:122"}, "properties": {"repobilityId": "e18967640ea69696", "scanner": "scanner-primary", "fingerprint": "790e3c4c6f6b35e4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/app/(site)/weer/[province]/page.tsx"}, "region": {"startLine": 122}}}]}, {"ruleId": "scanner-7b0fb11e39190263", "level": "warning", "message": {"text": "Insecure pattern 'dangerous_innerhtml' in src/lib/schema.ts:27"}, "properties": {"repobilityId": "94cf10e2ee145efd", "scanner": "scanner-primary", "fingerprint": "7b0fb11e39190263", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "dangerous_innerhtml"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/schema.ts"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 175}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 180}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 209}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 222}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 223}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 285}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 286}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 295}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 300}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 331}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 344}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 345}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 408}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 409}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 418}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 423}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 453}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 466}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 467}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 529}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 530}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 539}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 544}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 574}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 587}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 588}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 650}}}]}, {"ruleId": "scanner-7e8fe1795c886458", "level": "error", "message": {"text": "Possible secret in src/lib/auth-i18n.tsx"}, "properties": {"repobilityId": "e21ccb520250e65d", "scanner": "scanner-primary", "fingerprint": "7e8fe1795c886458", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/lib/auth-i18n.tsx"}, "region": {"startLine": 651}}}]}, {"ruleId": "scanner-43026d6589ed1ba3", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "251202dcce16c0a9", "scanner": "scanner-primary", "fingerprint": "43026d6589ed1ba3", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/.github/workflows/skills-index.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cf40408511c3285d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "78bcf76b2e3691b4", "scanner": "scanner-primary", "fingerprint": "cf40408511c3285d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/.github/workflows/deploy-site.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-485784cb0b8c4fc6", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "bbc2680dd6d7a2c5", "scanner": "scanner-primary", "fingerprint": "485784cb0b8c4fc6", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/.github/workflows/nix-lockfile-fix.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-828dbc9e00498252", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "199c13e242444e46", "scanner": "scanner-primary", "fingerprint": "828dbc9e00498252", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/tiktok-pipeline.yml"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-4046697e05811d59", "level": "note", "message": {"text": "package.json defines install-time lifecycle scripts"}, "properties": {"repobilityId": "0d96d1a0aca0f962", "scanner": "scanner-primary", "fingerprint": "4046697e05811d59", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "npm", "install-scripts"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/package.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ba70aab4cfed02fd", "level": "note", "message": {"text": "Very large file: install.sh (1566 lines)"}, "properties": {"repobilityId": "642d236e3dbb2bb8", "scanner": "scanner-primary", "fingerprint": "ba70aab4cfed02fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-20489704956e7600", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_state.py (2630 lines)"}, "properties": {"repobilityId": "24712dffce72cc44", "scanner": "scanner-primary", "fingerprint": "20489704956e7600", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-695f53e48a44c121", "level": "note", "message": {"text": "Very large file: hermes-agent-main/run_agent.py (14302 lines)"}, "properties": {"repobilityId": "6c47ceff04cc0d02", "scanner": "scanner-primary", "fingerprint": "695f53e48a44c121", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3f4d178ce3d6b12a", "level": "note", "message": {"text": "Very large file: hermes-agent-main/cli.py (12272 lines)"}, "properties": {"repobilityId": "8cdc3a34ebc23c79", "scanner": "scanner-primary", "fingerprint": "3f4d178ce3d6b12a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e8bd7f8465dd75f8", "level": "note", "message": {"text": "Very large file: hermes-agent-main/batch_runner.py (1287 lines)"}, "properties": {"repobilityId": "b642036fa30d9214", "scanner": "scanner-primary", "fingerprint": "e8bd7f8465dd75f8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6f1f8dba57a97409", "level": "note", "message": {"text": "Very large file: hermes-agent-main/trajectory_compressor.py (1508 lines)"}, "properties": {"repobilityId": "47ea0b1cd0cfbbea", "scanner": "scanner-primary", "fingerprint": "6f1f8dba57a97409", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3125653ddb086316", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/test_tui_gateway_server.py (4300 lines)"}, "properties": {"repobilityId": "25cd232a5b8b9b08", "scanner": "scanner-primary", "fingerprint": "3125653ddb086316", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3051666e24ea5984", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/test_hermes_state.py (2912 lines)"}, "properties": {"repobilityId": "d66f59a4b81fbfe0", "scanner": "scanner-primary", "fingerprint": "3051666e24ea5984", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c876fd4e21e7fe7d", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/honcho_plugin/test_session.py (1793 lines)"}, "properties": {"repobilityId": "8e702caae0d79630", "scanner": "scanner-primary", "fingerprint": "c876fd4e21e7fe7d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e26e5937e67679c2", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/agent/test_auxiliary_client.py (1945 lines)"}, "properties": {"repobilityId": "901c7a064c478d9b", "scanner": "scanner-primary", "fingerprint": "e26e5937e67679c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a5dbe950a6780033", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/agent/test_bedrock_adapter.py (1463 lines)"}, "properties": {"repobilityId": "e7075760aa86f29d", "scanner": "scanner-primary", "fingerprint": "a5dbe950a6780033", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cfe70e2219fb3e34", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/agent/test_context_compressor.py (1511 lines)"}, "properties": {"repobilityId": "f7c06540ca97d289", "scanner": "scanner-primary", "fingerprint": "cfe70e2219fb3e34", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-02ce027a4f55e4e6", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/agent/test_credential_pool.py (1570 lines)"}, "properties": {"repobilityId": "7242612d835a2e52", "scanner": "scanner-primary", "fingerprint": "02ce027a4f55e4e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3d1d5e5eec668214", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/agent/test_error_classifier.py (1236 lines)"}, "properties": {"repobilityId": "d34c07481ad6d408", "scanner": "scanner-primary", "fingerprint": "3d1d5e5eec668214", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6e1ade8237cc805e", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/agent/test_anthropic_adapter.py (1929 lines)"}, "properties": {"repobilityId": "b2aa2df0dec6b0de", "scanner": "scanner-primary", "fingerprint": "6e1ade8237cc805e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4c42961377c38069", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/run_agent/test_run_agent.py (5050 lines)"}, "properties": {"repobilityId": "cb82fbc608ee019b", "scanner": "scanner-primary", "fingerprint": "4c42961377c38069", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4039d8924591320c", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/run_agent/test_streaming.py (1507 lines)"}, "properties": {"repobilityId": "04dee5b5cbd8971d", "scanner": "scanner-primary", "fingerprint": "4039d8924591320c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8a2b7f8450ff11f9", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/run_agent/test_provider_parity.py (1164 lines)"}, "properties": {"repobilityId": "27f1d3ccc362d267", "scanner": "scanner-primary", "fingerprint": "8a2b7f8450ff11f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7569e1f0d9f429f1", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/run_agent/test_run_agent_codex_responses.py (1770 lines)"}, "properties": {"repobilityId": "4c8373b1b7fb6411", "scanner": "scanner-primary", "fingerprint": "7569e1f0d9f429f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-89498d81825a00f1", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/cron/test_scheduler.py (2294 lines)"}, "properties": {"repobilityId": "8fbb6b764880c5d3", "scanner": "scanner-primary", "fingerprint": "89498d81825a00f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-028efef78407c686", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_plugins.py (1233 lines)"}, "properties": {"repobilityId": "418c7c0aaef91f99", "scanner": "scanner-primary", "fingerprint": "028efef78407c686", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6e8b2997b17ba0b1", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_runtime_provider_resolution.py (2287 lines)"}, "properties": {"repobilityId": "476d3e86f36a7473", "scanner": "scanner-primary", "fingerprint": "6e8b2997b17ba0b1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-191b5599181638a0", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_commands.py (1773 lines)"}, "properties": {"repobilityId": "e6d778b75843ee89", "scanner": "scanner-primary", "fingerprint": "191b5599181638a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8178491d38cacb90", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_gateway_service.py (2179 lines)"}, "properties": {"repobilityId": "06b323d29e8f2396", "scanner": "scanner-primary", "fingerprint": "8178491d38cacb90", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7715549dfc1fe22e", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_kanban_core_functionality.py (2788 lines)"}, "properties": {"repobilityId": "460ca30b24976c80", "scanner": "scanner-primary", "fingerprint": "7715549dfc1fe22e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e76225cdcd3d6c0a", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_api_key_providers.py (1159 lines)"}, "properties": {"repobilityId": "279d27a64446e023", "scanner": "scanner-primary", "fingerprint": "e76225cdcd3d6c0a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f6031dfac73bc9f2", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_backup.py (1637 lines)"}, "properties": {"repobilityId": "6ef5e1f01b057966", "scanner": "scanner-primary", "fingerprint": "f6031dfac73bc9f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-218ef99f5210bb18", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_auth_commands.py (1644 lines)"}, "properties": {"repobilityId": "16a769d4da7dd5e5", "scanner": "scanner-primary", "fingerprint": "218ef99f5210bb18", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e9f9b1a416dfa58b", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_web_server.py (2215 lines)"}, "properties": {"repobilityId": "cfc73363816f244d", "scanner": "scanner-primary", "fingerprint": "e9f9b1a416dfa58b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-18eb237d53fa33a6", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/hermes_cli/test_update_gateway_restart.py (1338 lines)"}, "properties": {"repobilityId": "72edfa47d0aa8472", "scanner": "scanner-primary", "fingerprint": "18eb237d53fa33a6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-293b80fcd0ba8a46", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/tools/test_voice_cli_integration.py (1315 lines)"}, "properties": {"repobilityId": "d9582ec02d5ce003", "scanner": "scanner-primary", "fingerprint": "293b80fcd0ba8a46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8a9aaeb03b13d4fc", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/tools/test_send_message_tool.py (1994 lines)"}, "properties": {"repobilityId": "ace3f755e797023e", "scanner": "scanner-primary", "fingerprint": "8a9aaeb03b13d4fc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-28f6e37c24fe68c8", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/tools/test_tirith_security.py (1009 lines)"}, "properties": {"repobilityId": "2888c9eff6bdafc2", "scanner": "scanner-primary", "fingerprint": "28f6e37c24fe68c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d64673364fb885f8", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/tools/test_skills_hub.py (1641 lines)"}, "properties": {"repobilityId": "2e148e60dc77c769", "scanner": "scanner-primary", "fingerprint": "d64673364fb885f8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5aae551e9f3880de", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/tools/test_clipboard.py (1101 lines)"}, "properties": {"repobilityId": "f3b7b56cdbe16819", "scanner": "scanner-primary", "fingerprint": "5aae551e9f3880de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4745a6b201289908", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/tools/test_delegate.py (2499 lines)"}, "properties": {"repobilityId": "41fc9a098b18324f", "scanner": "scanner-primary", "fingerprint": "4745a6b201289908", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e4dce97174d4c843", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/tools/test_transcription_tools.py (1348 lines)"}, "properties": {"repobilityId": "11ad24395ec9e133", "scanner": "scanner-primary", "fingerprint": "e4dce97174d4c843", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bb6f927d490058f4", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/tools/test_mcp_tool.py (3619 lines)"}, "properties": {"repobilityId": "7439b3c66a32d1ec", "scanner": "scanner-primary", "fingerprint": "bb6f927d490058f4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a929fb8186a61374", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/gateway/test_voice_command.py (2848 lines)"}, "properties": {"repobilityId": "928ab89b19b7c31b", "scanner": "scanner-primary", "fingerprint": "a929fb8186a61374", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-94c965cc184fe6be", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/gateway/test_feishu.py (4725 lines)"}, "properties": {"repobilityId": "192c532f47802ba8", "scanner": "scanner-primary", "fingerprint": "94c965cc184fe6be", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6f2c18a4e16e2837", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/gateway/test_stream_consumer.py (1495 lines)"}, "properties": {"repobilityId": "2ee3e1f7a4291a83", "scanner": "scanner-primary", "fingerprint": "6f2c18a4e16e2837", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e158d76d6fe1fd06", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/gateway/test_api_server.py (2565 lines)"}, "properties": {"repobilityId": "39cb4d5bcdf1f3cc", "scanner": "scanner-primary", "fingerprint": "e158d76d6fe1fd06", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dc4875148a2cc354", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/gateway/test_agent_cache.py (1361 lines)"}, "properties": {"repobilityId": "0fcea6aa75066c59", "scanner": "scanner-primary", "fingerprint": "dc4875148a2cc354", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ac5ac5c3adaf64ca", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/gateway/test_slack.py (3091 lines)"}, "properties": {"repobilityId": "3736aaabd5ea3813", "scanner": "scanner-primary", "fingerprint": "ac5ac5c3adaf64ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fc84e7e777552398", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/gateway/test_signal.py (1796 lines)"}, "properties": {"repobilityId": "e24c1700ce4491e2", "scanner": "scanner-primary", "fingerprint": "fc84e7e777552398", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bcfb5b0a92bc0a96", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/gateway/test_matrix.py (2348 lines)"}, "properties": {"repobilityId": "78bb82df5408eee1", "scanner": "scanner-primary", "fingerprint": "bcfb5b0a92bc0a96", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-44814fd2540a4a13", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tests/plugins/memory/test_hindsight_provider.py (1447 lines)"}, "properties": {"repobilityId": "9487b9f081905e46", "scanner": "scanner-primary", "fingerprint": "44814fd2540a4a13", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-35a6c5616d2153fa", "level": "note", "message": {"text": "Very large file: hermes-agent-main/scripts/install.sh (1566 lines)"}, "properties": {"repobilityId": "22e395c3dfe81b4a", "scanner": "scanner-primary", "fingerprint": "35a6c5616d2153fa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4bc8e85db87864e0", "level": "note", "message": {"text": "Very large file: hermes-agent-main/scripts/release.py (1350 lines)"}, "properties": {"repobilityId": "17cb21c8ed80e039", "scanner": "scanner-primary", "fingerprint": "4bc8e85db87864e0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c9bb9eb540729eff", "level": "note", "message": {"text": "Very large file: hermes-agent-main/agent/context_compressor.py (1478 lines)"}, "properties": {"repobilityId": "b8afd0e80136cbd0", "scanner": "scanner-primary", "fingerprint": "c9bb9eb540729eff", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b628476e6c826a0e", "level": "note", "message": {"text": "Very large file: hermes-agent-main/agent/credential_pool.py (1584 lines)"}, "properties": {"repobilityId": "9642e80047bbb151", "scanner": "scanner-primary", "fingerprint": "b628476e6c826a0e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2963cca70ba3e314", "level": "note", "message": {"text": "Very large file: hermes-agent-main/agent/curator.py (1674 lines)"}, "properties": {"repobilityId": "838dba6e1f2b1921", "scanner": "scanner-primary", "fingerprint": "2963cca70ba3e314", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e49976cbbe3e1cd4", "level": "note", "message": {"text": "Very large file: hermes-agent-main/agent/anthropic_adapter.py (1970 lines)"}, "properties": {"repobilityId": "d84729f6d8b606ec", "scanner": "scanner-primary", "fingerprint": "e49976cbbe3e1cd4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6cf47f094d80020f", "level": "note", "message": {"text": "Very large file: hermes-agent-main/agent/auxiliary_client.py (3917 lines)"}, "properties": {"repobilityId": "039b7275566eb986", "scanner": "scanner-primary", "fingerprint": "6cf47f094d80020f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e827abf72afad6ab", "level": "note", "message": {"text": "Very large file: hermes-agent-main/agent/model_metadata.py (1472 lines)"}, "properties": {"repobilityId": "84687dbb78cb69de", "scanner": "scanner-primary", "fingerprint": "e827abf72afad6ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-946595e5a62530ba", "level": "note", "message": {"text": "Very large file: hermes-agent-main/agent/prompt_builder.py (1180 lines)"}, "properties": {"repobilityId": "90e1e614de2fd9bd", "scanner": "scanner-primary", "fingerprint": "946595e5a62530ba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c8e682b0e5fa68cf", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tui_gateway/server.py (6223 lines)"}, "properties": {"repobilityId": "4d6cd853aa952f49", "scanner": "scanner-primary", "fingerprint": "c8e682b0e5fa68cf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4eca3dafd56bc69e", "level": "note", "message": {"text": "Very large file: hermes-agent-main/optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py (3136 lines)"}, "properties": {"repobilityId": "360cb22a703f27e4", "scanner": "scanner-primary", "fingerprint": "4eca3dafd56bc69e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-72457524a742eba4", "level": "note", "message": {"text": "Very large file: hermes-agent-main/cron/scheduler.py (1585 lines)"}, "properties": {"repobilityId": "ca914893180257df", "scanner": "scanner-primary", "fingerprint": "72457524a742eba4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2e9b1585f1d7ddfc", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/plugins.py (1332 lines)"}, "properties": {"repobilityId": "53108e739328341c", "scanner": "scanner-primary", "fingerprint": "2e9b1585f1d7ddfc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1b17a0f56ec1ead4", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/tools_config.py (2547 lines)"}, "properties": {"repobilityId": "4c199af676e25799", "scanner": "scanner-primary", "fingerprint": "1b17a0f56ec1ead4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-87f74576e532435e", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/commands.py (1713 lines)"}, "properties": {"repobilityId": "df97dac7c5a2f1c3", "scanner": "scanner-primary", "fingerprint": "87f74576e532435e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8ed582a81b03207c", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/config.py (4837 lines)"}, "properties": {"repobilityId": "582f0b4d08d1a850", "scanner": "scanner-primary", "fingerprint": "8ed582a81b03207c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-552998e6e8f44677", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/auth.py (4994 lines)"}, "properties": {"repobilityId": "f3c17691a7a85340", "scanner": "scanner-primary", "fingerprint": "552998e6e8f44677", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f527d5402e397d08", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/skills_hub.py (1594 lines)"}, "properties": {"repobilityId": "35023aab19d9aafa", "scanner": "scanner-primary", "fingerprint": "f527d5402e397d08", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8ce30fc62285fda2", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/model_switch.py (1654 lines)"}, "properties": {"repobilityId": "2302b44a21d74049", "scanner": "scanner-primary", "fingerprint": "8ce30fc62285fda2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9bea93d504aeeef8", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/gateway.py (4609 lines)"}, "properties": {"repobilityId": "ae464ed14762e5c0", "scanner": "scanner-primary", "fingerprint": "9bea93d504aeeef8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9490379fb10a12b1", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/plugins_cmd.py (1544 lines)"}, "properties": {"repobilityId": "4050fa28405bcbe3", "scanner": "scanner-primary", "fingerprint": "9490379fb10a12b1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-966ceef9c3d680ed", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/runtime_provider.py (1340 lines)"}, "properties": {"repobilityId": "4f989f963a3d6fd2", "scanner": "scanner-primary", "fingerprint": "966ceef9c3d680ed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d33a770c8e10956a", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/web_server.py (4062 lines)"}, "properties": {"repobilityId": "de19a1c961b6bff0", "scanner": "scanner-primary", "fingerprint": "d33a770c8e10956a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4cef5eb1404108bb", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/setup.py (3417 lines)"}, "properties": {"repobilityId": "dfe0c4c9e2a83f10", "scanner": "scanner-primary", "fingerprint": "4cef5eb1404108bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d8e94f9b7fe670a9", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/models.py (3505 lines)"}, "properties": {"repobilityId": "17ab19bfa58a5742", "scanner": "scanner-primary", "fingerprint": "d8e94f9b7fe670a9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8deac8f1d0def8d1", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/doctor.py (1443 lines)"}, "properties": {"repobilityId": "4b404b3ebfbadef6", "scanner": "scanner-primary", "fingerprint": "8deac8f1d0def8d1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-63fe59d0a212b06c", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/kanban.py (1759 lines)"}, "properties": {"repobilityId": "13a64a2aa6d2aaa0", "scanner": "scanner-primary", "fingerprint": "63fe59d0a212b06c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6961b4e66c9d38ad", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/main.py (10564 lines)"}, "properties": {"repobilityId": "519aa7b871c0c822", "scanner": "scanner-primary", "fingerprint": "6961b4e66c9d38ad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d6729899628efb00", "level": "note", "message": {"text": "Very large file: hermes-agent-main/hermes_cli/kanban_db.py (3484 lines)"}, "properties": {"repobilityId": "385da854ba72fabe", "scanner": "scanner-primary", "fingerprint": "d6729899628efb00", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b98dc0ca72497c49", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/mcp_tool.py (3146 lines)"}, "properties": {"repobilityId": "a5721c16e923a804", "scanner": "scanner-primary", "fingerprint": "b98dc0ca72497c49", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-48b03a60748ff186", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/web_tools.py (2153 lines)"}, "properties": {"repobilityId": "dcfa10e15d3e1411", "scanner": "scanner-primary", "fingerprint": "48b03a60748ff186", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-307471b781d36eb9", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/file_tools.py (1143 lines)"}, "properties": {"repobilityId": "a1fbd716cb75cf94", "scanner": "scanner-primary", "fingerprint": "307471b781d36eb9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-38317a439ef65476", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/send_message_tool.py (1780 lines)"}, "properties": {"repobilityId": "ce4e09e102a5033c", "scanner": "scanner-primary", "fingerprint": "38317a439ef65476", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-17a7ea4eeaecc11f", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/delegate_tool.py (2562 lines)"}, "properties": {"repobilityId": "cfeb136abc73a6c3", "scanner": "scanner-primary", "fingerprint": "17a7ea4eeaecc11f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-86d44bd3fa2b48ad", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/browser_supervisor.py (1366 lines)"}, "properties": {"repobilityId": "caa6b6074d12ad32", "scanner": "scanner-primary", "fingerprint": "86d44bd3fa2b48ad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-861432da1574fea4", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/browser_tool.py (3047 lines)"}, "properties": {"repobilityId": "754e9d7b76c54807", "scanner": "scanner-primary", "fingerprint": "861432da1574fea4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cb4b11761a04b24b", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/skills_hub.py (3229 lines)"}, "properties": {"repobilityId": "e15395cd8c6bbd2b", "scanner": "scanner-primary", "fingerprint": "cb4b11761a04b24b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c7b24dda4514006c", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/code_execution_tool.py (1621 lines)"}, "properties": {"repobilityId": "6fd440e401758dfd", "scanner": "scanner-primary", "fingerprint": "c7b24dda4514006c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f6714dc321c81e4d", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/tts_tool.py (2185 lines)"}, "properties": {"repobilityId": "060ffd15db6472ca", "scanner": "scanner-primary", "fingerprint": "f6714dc321c81e4d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-99a1473162b75701", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/skills_tool.py (1519 lines)"}, "properties": {"repobilityId": "4b69ff3a35978590", "scanner": "scanner-primary", "fingerprint": "99a1473162b75701", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cae1b3281dc45cb4", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/rl_training_tool.py (1396 lines)"}, "properties": {"repobilityId": "72d28ee8657a5182", "scanner": "scanner-primary", "fingerprint": "cae1b3281dc45cb4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bf5ceda8a9d7ec75", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/file_operations.py (1561 lines)"}, "properties": {"repobilityId": "6e65830a14d40a57", "scanner": "scanner-primary", "fingerprint": "bf5ceda8a9d7ec75", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-84699b90ef63445d", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/process_registry.py (1434 lines)"}, "properties": {"repobilityId": "7f81f8fe8d755bc8", "scanner": "scanner-primary", "fingerprint": "84699b90ef63445d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-140cf289e7b479f2", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/approval.py (1255 lines)"}, "properties": {"repobilityId": "da71810e92b8b498", "scanner": "scanner-primary", "fingerprint": "140cf289e7b479f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-df9ec4bba94acf35", "level": "note", "message": {"text": "Very large file: hermes-agent-main/tools/terminal_tool.py (2342 lines)"}, "properties": {"repobilityId": "1f184304b2fc4548", "scanner": "scanner-primary", "fingerprint": "df9ec4bba94acf35", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c3c3a74da7753ea0", "level": "note", "message": {"text": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/ink.tsx (2476 lines)"}, "properties": {"repobilityId": "1afb2fab4e6af2ff", "scanner": "scanner-primary", "fingerprint": "c3c3a74da7753ea0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8f4eb1746de8c850", "level": "note", "message": {"text": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/screen.ts (1590 lines)"}, "properties": {"repobilityId": "7e1782ec3513f13a", "scanner": "scanner-primary", "fingerprint": "8f4eb1746de8c850", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cbe275365347630c", "level": "note", "message": {"text": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/render-node-to-output.ts (1593 lines)"}, "properties": {"repobilityId": "f142eb0998faf69d", "scanner": "scanner-primary", "fingerprint": "cbe275365347630c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ec8beb96c1595ea0", "level": "note", "message": {"text": "Very large file: hermes-agent-main/ui-tui/packages/hermes-ink/src/native-ts/yoga-layout/index.ts (2326 lines)"}, "properties": {"repobilityId": "489461fa55439ab9", "scanner": "scanner-primary", "fingerprint": "ec8beb96c1595ea0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2b9c5f4b112b3f8a", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/config.py (1625 lines)"}, "properties": {"repobilityId": "329994e337a954b1", "scanner": "scanner-primary", "fingerprint": "2b9c5f4b112b3f8a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c312bb3c8c15ccb1", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/session.py (1386 lines)"}, "properties": {"repobilityId": "d878551f6736cc40", "scanner": "scanner-primary", "fingerprint": "c312bb3c8c15ccb1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bcdb3f4ca5b38ddd", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/run.py (14943 lines)"}, "properties": {"repobilityId": "946aedc9bfcb12d5", "scanner": "scanner-primary", "fingerprint": "bcdb3f4ca5b38ddd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1a5dabef3cb525b8", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/signal.py (1516 lines)"}, "properties": {"repobilityId": "afbbb7e6bd50d259", "scanner": "scanner-primary", "fingerprint": "1a5dabef3cb525b8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5e3f199ddf32c36a", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/feishu_comment.py (1382 lines)"}, "properties": {"repobilityId": "f2f218c58c9c8f27", "scanner": "scanner-primary", "fingerprint": "5e3f199ddf32c36a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-438e8d14d01bad77", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/matrix.py (2676 lines)"}, "properties": {"repobilityId": "240a1132a4552c01", "scanner": "scanner-primary", "fingerprint": "438e8d14d01bad77", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3c9e665d4ab57443", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/api_server.py (2933 lines)"}, "properties": {"repobilityId": "d099e9dd0ceac2be", "scanner": "scanner-primary", "fingerprint": "3c9e665d4ab57443", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-67bdae7d324e031d", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/telegram.py (3663 lines)"}, "properties": {"repobilityId": "e17b7fdc0895d40b", "scanner": "scanner-primary", "fingerprint": "67bdae7d324e031d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f56511cb22064600", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/base.py (3382 lines)"}, "properties": {"repobilityId": "0cc5c7233521eb31", "scanner": "scanner-primary", "fingerprint": "f56511cb22064600", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bda6e99e991081f3", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/feishu.py (4801 lines)"}, "properties": {"repobilityId": "770db50f59a3fc56", "scanner": "scanner-primary", "fingerprint": "bda6e99e991081f3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c5ec92c91c7c54c4", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/discord.py (4686 lines)"}, "properties": {"repobilityId": "5d407270a57351f6", "scanner": "scanner-primary", "fingerprint": "c5ec92c91c7c54c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b105177e80df0bcb", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/yuanbao.py (4756 lines)"}, "properties": {"repobilityId": "cc80c2507e8b9797", "scanner": "scanner-primary", "fingerprint": "b105177e80df0bcb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5f3b2472e5d30892", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/wecom.py (1607 lines)"}, "properties": {"repobilityId": "48709bd41fe4ad30", "scanner": "scanner-primary", "fingerprint": "5f3b2472e5d30892", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bc220d873ff98523", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/weixin.py (2110 lines)"}, "properties": {"repobilityId": "8bb4e2b959f74371", "scanner": "scanner-primary", "fingerprint": "bc220d873ff98523", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3f0ffff7086df8f5", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/slack.py (2926 lines)"}, "properties": {"repobilityId": "f11288c8ec8c76fe", "scanner": "scanner-primary", "fingerprint": "3f0ffff7086df8f5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-72c50bdccf5b3809", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/dingtalk.py (1366 lines)"}, "properties": {"repobilityId": "18c743bcb1a0f40b", "scanner": "scanner-primary", "fingerprint": "72c50bdccf5b3809", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8933f5bbb915296f", "level": "note", "message": {"text": "Very large file: hermes-agent-main/gateway/platforms/qqbot/adapter.py (2413 lines)"}, "properties": {"repobilityId": "319c91f3da9654dc", "scanner": "scanner-primary", "fingerprint": "8933f5bbb915296f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-465bda89105830e9", "level": "note", "message": {"text": "Very large file: hermes-agent-main/acp_adapter/server.py (1428 lines)"}, "properties": {"repobilityId": "ea69832d09580a5a", "scanner": "scanner-primary", "fingerprint": "465bda89105830e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-50d4beae9bb4d155", "level": "note", "message": {"text": "Very large file: hermes-agent-main/plugins/memory/honcho/__init__.py (1328 lines)"}, "properties": {"repobilityId": "afaa9e080dd10646", "scanner": "scanner-primary", "fingerprint": "50d4beae9bb4d155", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c3df629d8802b95a", "level": "note", "message": {"text": "Very large file: hermes-agent-main/plugins/memory/honcho/cli.py (1451 lines)"}, "properties": {"repobilityId": "583cc9f803eeb02a", "scanner": "scanner-primary", "fingerprint": "c3df629d8802b95a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7c57fdd6e4b3fe4c", "level": "note", "message": {"text": "Very large file: hermes-agent-main/plugins/memory/honcho/session.py (1254 lines)"}, "properties": {"repobilityId": "f0192e1af0419a09", "scanner": "scanner-primary", "fingerprint": "7c57fdd6e4b3fe4c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4448aa44d431a0a9", "level": "note", "message": {"text": "Very large file: hermes-agent-main/plugins/memory/hindsight/__init__.py (1608 lines)"}, "properties": {"repobilityId": "a922331f02b2e5a5", "scanner": "scanner-primary", "fingerprint": "4448aa44d431a0a9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7bbd84c229f6746f", "level": "note", "message": {"text": "Very large file: hermes-agent-main/plugins/hermes-achievements/dashboard/plugin_api.py (1061 lines)"}, "properties": {"repobilityId": "8bc3bf952822b72d", "scanner": "scanner-primary", "fingerprint": "7bbd84c229f6746f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1fdee3c89aa23dbe", "level": "note", "message": {"text": "Very large file: hermes-agent-main/environments/agentic_opd_env.py (1214 lines)"}, "properties": {"repobilityId": "f767b9f1d247ad9d", "scanner": "scanner-primary", "fingerprint": "1fdee3c89aa23dbe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fc04104844090875", "level": "note", "message": {"text": "Very large file: magnolia/oracle_prophet.py (1209 lines)"}, "properties": {"repobilityId": "f0af616f7a5bde25", "scanner": "scanner-primary", "fingerprint": "fc04104844090875", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-579de2552d288a68", "level": "note", "message": {"text": "Very large file: pipeline/deck-stage.js (1709 lines)"}, "properties": {"repobilityId": "d0750777d073cb83", "scanner": "scanner-primary", "fingerprint": "579de2552d288a68", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b96d57a54b8ae20e", "level": "note", "message": {"text": "Very large file: src/components/ReedExtended.tsx (1098 lines)"}, "properties": {"repobilityId": "2b9a646eddd3b3d1", "scanner": "scanner-primary", "fingerprint": "b96d57a54b8ae20e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a6d8f086f19a6194", "level": "note", "message": {"text": "Very large file: src/lib/nl-poi-places.generated.ts (9270 lines)"}, "properties": {"repobilityId": "df32bf8433b42cac", "scanner": "scanner-primary", "fingerprint": "a6d8f086f19a6194", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f6690a0ce0156a02", "level": "note", "message": {"text": "Very large file: src/lib/koos-nl-camping-places.generated.ts (28574 lines)"}, "properties": {"repobilityId": "f5405d1cf89a8499", "scanner": "scanner-primary", "fingerprint": "f6690a0ce0156a02", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e45f130a8587532e", "level": "note", "message": {"text": "75 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "e45f130a8587532e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "e2a61f3976e3fd79", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "2d597056c309f20e", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "9f02d2770fd917b4", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "89d680e8f2f988c0", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "8b8dfa6c68eea149", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "09529dd906e4b52c", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-bd89cfec58152b9d", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/security/sherlock/SKILL.md"}, "properties": {"repobilityId": "6878653287eeb4dd", "scanner": "scanner-primary", "fingerprint": "bd89cfec58152b9d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/security/sherlock/SKILL.md"}, "region": {"startLine": 101}}}]}, {"ruleId": "scanner-45e1154432f01810", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/creative/hyperframes/SKILL.md"}, "properties": {"repobilityId": "fa0976ce1858be86", "scanner": "scanner-primary", "fingerprint": "45e1154432f01810", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/creative/hyperframes/SKILL.md"}, "region": {"startLine": 62}}}]}, {"ruleId": "scanner-13b8adcf8d7c5e47", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/email/agentmail/SKILL.md"}, "properties": {"repobilityId": "8a9499ffaa86e4fe", "scanner": "scanner-primary", "fingerprint": "13b8adcf8d7c5e47", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/email/agentmail/SKILL.md"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-8f6a8348374ab11b", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/email/agentmail/SKILL.md"}, "properties": {"repobilityId": "df9aa9f63e84e547", "scanner": "scanner-primary", "fingerprint": "8f6a8348374ab11b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/email/agentmail/SKILL.md"}, "region": {"startLine": 110}}}]}, {"ruleId": "scanner-f16dfe37e9e33bb2", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/chroma/SKILL.md"}, "properties": {"repobilityId": "2dc2077fe1df6c75", "scanner": "scanner-primary", "fingerprint": "f16dfe37e9e33bb2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/chroma/SKILL.md"}, "region": {"startLine": 90}}}]}, {"ruleId": "scanner-ad737fe629392eb5", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/tensorrt-llm/SKILL.md"}, "properties": {"repobilityId": "b6db6d57696df0c7", "scanner": "scanner-primary", "fingerprint": "ad737fe629392eb5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/tensorrt-llm/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cae476716b00a988", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/hermes-atropos-environments/SKILL.md"}, "properties": {"repobilityId": "e7da751d94f92b61", "scanner": "scanner-primary", "fingerprint": "cae476716b00a988", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/hermes-atropos-environments/SKILL.md"}, "region": {"startLine": 175}}}]}, {"ruleId": "scanner-552362e03c8183d6", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/saelens/SKILL.md"}, "properties": {"repobilityId": "dae1e6590d888558", "scanner": "scanner-primary", "fingerprint": "552362e03c8183d6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/saelens/SKILL.md"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-f73dc8bbe23999d4", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/simpo/SKILL.md"}, "properties": {"repobilityId": "e299515622f18715", "scanner": "scanner-primary", "fingerprint": "f73dc8bbe23999d4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/simpo/SKILL.md"}, "region": {"startLine": 217}}}]}, {"ruleId": "scanner-479489c477d474df", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/simpo/SKILL.md"}, "properties": {"repobilityId": "b1ae67e224c141de", "scanner": "scanner-primary", "fingerprint": "479489c477d474df", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/simpo/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f9c451d5e59c247d", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/accelerate/SKILL.md"}, "properties": {"repobilityId": "48d2e425008fc353", "scanner": "scanner-primary", "fingerprint": "f9c451d5e59c247d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/accelerate/SKILL.md"}, "region": {"startLine": 328}}}]}, {"ruleId": "scanner-05a99438e27458c9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/accelerate/SKILL.md"}, "properties": {"repobilityId": "41524f68ff2ff961", "scanner": "scanner-primary", "fingerprint": "05a99438e27458c9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/accelerate/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b07c6752e983ff57", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/lambda-labs/SKILL.md"}, "properties": {"repobilityId": "e08a1e6806586956", "scanner": "scanner-primary", "fingerprint": "b07c6752e983ff57", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/lambda-labs/SKILL.md"}, "region": {"startLine": 213}}}]}, {"ruleId": "scanner-0ddad79bcd3f5c11", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/huggingface-tokenizers/SKILL.md"}, "properties": {"repobilityId": "138a5d7c099511aa", "scanner": "scanner-primary", "fingerprint": "0ddad79bcd3f5c11", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/huggingface-tokenizers/SKILL.md"}, "region": {"startLine": 55}}}]}, {"ruleId": "scanner-1979e3b5687a2e66", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/whisper/SKILL.md"}, "properties": {"repobilityId": "fae66d5cc839575c", "scanner": "scanner-primary", "fingerprint": "1979e3b5687a2e66", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/whisper/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1456a72c09190149", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/llava/SKILL.md"}, "properties": {"repobilityId": "bf46bb7332c55f47", "scanner": "scanner-primary", "fingerprint": "1456a72c09190149", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/llava/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-030eadec8b018333", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/clip/SKILL.md"}, "properties": {"repobilityId": "9849b757bc1ecf52", "scanner": "scanner-primary", "fingerprint": "030eadec8b018333", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/clip/SKILL.md"}, "region": {"startLine": 186}}}]}, {"ruleId": "scanner-5c2d698a99cb259b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/clip/SKILL.md"}, "properties": {"repobilityId": "02163a845dc7a5ee", "scanner": "scanner-primary", "fingerprint": "5c2d698a99cb259b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/clip/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-545511453d9d54cb", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/mlops/clip/SKILL.md"}, "properties": {"repobilityId": "d28fa14e175a4b21", "scanner": "scanner-primary", "fingerprint": "545511453d9d54cb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/clip/SKILL.md"}, "region": {"startLine": 44}}}]}, {"ruleId": "scanner-78cc8fb084327314", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/pytorch-lightning/SKILL.md"}, "properties": {"repobilityId": "d389b9e678fd0d88", "scanner": "scanner-primary", "fingerprint": "78cc8fb084327314", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/pytorch-lightning/SKILL.md"}, "region": {"startLine": 343}}}]}, {"ruleId": "scanner-39134ac505ec5177", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/flash-attention/SKILL.md"}, "properties": {"repobilityId": "4c4396e9ae717ce3", "scanner": "scanner-primary", "fingerprint": "39134ac505ec5177", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/flash-attention/SKILL.md"}, "region": {"startLine": 366}}}]}, {"ruleId": "scanner-b3dd3b5ded990761", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/nemo-curator/SKILL.md"}, "properties": {"repobilityId": "b6b0afed6bdf5395", "scanner": "scanner-primary", "fingerprint": "b3dd3b5ded990761", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/nemo-curator/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0f91a47c339552c4", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/peft/SKILL.md"}, "properties": {"repobilityId": "e2555b49058e90ad", "scanner": "scanner-primary", "fingerprint": "0f91a47c339552c4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/peft/SKILL.md"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-2577008b6fd211ee", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md"}, "properties": {"repobilityId": "d9eac7aa9f066dff", "scanner": "scanner-primary", "fingerprint": "2577008b6fd211ee", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md"}, "region": {"startLine": 357}}}]}, {"ruleId": "scanner-edd167618a772e80", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md"}, "properties": {"repobilityId": "0dd006ba1c7d2517", "scanner": "scanner-primary", "fingerprint": "edd167618a772e80", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-efc2cde3337d19fb", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md"}, "properties": {"repobilityId": "2ea8dafce7acda85", "scanner": "scanner-primary", "fingerprint": "efc2cde3337d19fb", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mlops/torchtitan/SKILL.md"}, "region": {"startLine": 189}}}]}, {"ruleId": "scanner-b6ff21d1757e549a", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/mcp/mcporter/SKILL.md"}, "properties": {"repobilityId": "3e6284bc0252e10c", "scanner": "scanner-primary", "fingerprint": "b6ff21d1757e549a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mcp/mcporter/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-891fcf9869ca726d", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/mcp/mcporter/SKILL.md"}, "properties": {"repobilityId": "e670a43fab46dbc8", "scanner": "scanner-primary", "fingerprint": "891fcf9869ca726d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/mcp/mcporter/SKILL.md"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-65628106b31cd2e0", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "properties": {"repobilityId": "61b4d5e5cccaca00", "scanner": "scanner-primary", "fingerprint": "65628106b31cd2e0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-94a2503596818719", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "properties": {"repobilityId": "66e62594738b49d5", "scanner": "scanner-primary", "fingerprint": "94a2503596818719", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/autonomous-ai-agents/blackbox/SKILL.md"}, "region": {"startLine": 22}}}]}, {"ruleId": "scanner-a9d8fbe7c0297b39", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/research/bioinformatics/SKILL.md"}, "properties": {"repobilityId": "f6fe2f8c58cfc443", "scanner": "scanner-primary", "fingerprint": "a9d8fbe7c0297b39", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/research/bioinformatics/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7890c99ebcebf0bf", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/research/qmd/SKILL.md"}, "properties": {"repobilityId": "7327c19aa9687024", "scanner": "scanner-primary", "fingerprint": "7890c99ebcebf0bf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/research/qmd/SKILL.md"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-30632ef09afa4674", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/research/domain-intel/SKILL.md"}, "properties": {"repobilityId": "dbc801d7c3e9a75e", "scanner": "scanner-primary", "fingerprint": "30632ef09afa4674", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/research/domain-intel/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-efdc56fd0a8487e2", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/research/parallel-cli/SKILL.md"}, "properties": {"repobilityId": "2bc44e732cce7ccd", "scanner": "scanner-primary", "fingerprint": "efdc56fd0a8487e2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/research/parallel-cli/SKILL.md"}, "region": {"startLine": 54}}}]}, {"ruleId": "scanner-03230c3879405d90", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/research/scrapling/SKILL.md"}, "properties": {"repobilityId": "9e8802621182761a", "scanner": "scanner-primary", "fingerprint": "03230c3879405d90", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/research/scrapling/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c591adf8d04fb575", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: hermes-agent-main/optional-skills/migration/openclaw-migration/SKILL.md"}, "properties": {"repobilityId": "5922ffbe14b1027b", "scanner": "scanner-primary", "fingerprint": "c591adf8d04fb575", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/migration/openclaw-migration/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2cf859e4cd1018a7", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/productivity/shopify/SKILL.md"}, "properties": {"repobilityId": "ae93315ae1c230a9", "scanner": "scanner-primary", "fingerprint": "2cf859e4cd1018a7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/productivity/shopify/SKILL.md"}, "region": {"startLine": 40}}}]}, {"ruleId": "scanner-4b83ea9f687eb029", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: hermes-agent-main/optional-skills/devops/cli/SKILL.md"}, "properties": {"repobilityId": "1512ae9268e2f33c", "scanner": "scanner-primary", "fingerprint": "4b83ea9f687eb029", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/devops/cli/SKILL.md"}, "region": {"startLine": 39}}}]}, {"ruleId": "scanner-97ea6578884261fa", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: hermes-agent-main/optional-skills/devops/docker-management/SKILL.md"}, "properties": {"repobilityId": "fb351203ff3a9b00", "scanner": "scanner-primary", "fingerprint": "97ea6578884261fa", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/optional-skills/devops/docker-management/SKILL.md"}, "region": {"startLine": 180}}}]}, {"ruleId": "scanner-86e2ef03642d538d", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .windsurf/skills/google-agents-cli-adk-code/references/adk-python.md"}, "properties": {"repobilityId": "d535ed68f9aaf02d", "scanner": "scanner-primary", "fingerprint": "86e2ef03642d538d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "agent_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".windsurf/skills/google-agents-cli-adk-code/references/adk-python.md"}, "region": {"startLine": 73}}}]}, {"ruleId": "scanner-08d70e68ef8217c9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: magnolia/.claude/settings.local.json"}, "properties": {"repobilityId": "51bc4620b2bf53f8", "scanner": "scanner-primary", "fingerprint": "08d70e68ef8217c9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "magnolia/.claude/settings.local.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7278cc9f5cff4a27", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .continue/skills/google-agents-cli-adk-code/references/adk-python.md"}, "properties": {"repobilityId": "d23e0a8ee4f7e82b", "scanner": "scanner-primary", "fingerprint": "7278cc9f5cff4a27", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "agent_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".continue/skills/google-agents-cli-adk-code/references/adk-python.md"}, "region": {"startLine": 73}}}]}, {"ruleId": "scanner-505bc666a82f9849", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/settings.local.json"}, "properties": {"repobilityId": "777970b0fce0a93b", "scanner": "scanner-primary", "fingerprint": "505bc666a82f9849", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.local.json"}, "region": {"startLine": 35}}}]}, {"ruleId": "scanner-c7b59c8c5aa85a27", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/skills/google-agents-cli-adk-code/references/adk-python.md"}, "properties": {"repobilityId": "1b2cb3bd0ba160c4", "scanner": "scanner-primary", "fingerprint": "c7b59c8c5aa85a27", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/google-agents-cli-adk-code/references/adk-python.md"}, "region": {"startLine": 73}}}]}, {"ruleId": "scanner-5fa33c73bdb206b7", "level": "none", "message": {"text": "Commented-code block (5 lines) in playwright.config.ts:74"}, "properties": {"repobilityId": "32f434a67b1ad4a1", "scanner": "scanner-primary", "fingerprint": "5fa33c73bdb206b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-062dc9bf4b519094", "level": "none", "message": {"text": "Commented-code block (6 lines) in temp_extract/design_handoff_weerzone_auth/tweaks-panel.jsx:12"}, "properties": {"repobilityId": "9004f764dea0ef3c", "scanner": "scanner-primary", "fingerprint": "062dc9bf4b519094", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7379ac611e4b6f7a", "level": "none", "message": {"text": "Commented-code block (6 lines) in temp_extract/design_handoff_weerzone_auth/design-canvas.jsx:2"}, "properties": {"repobilityId": "3dc4cc029ae2b5f3", "scanner": "scanner-primary", "fingerprint": "7379ac611e4b6f7a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7231bfd2d2bd5354", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 temp_extract/design_handoff_weerzone_auth/design-canvas.jsx:63"}, "properties": {"repobilityId": "361cc5631c91a2cb", "scanner": "scanner-primary", "fingerprint": "7231bfd2d2bd5354", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1cbb2711b582a2c0", "level": "note", "message": {"text": "Legacy-named symbol `cfg_backup` in hermes-agent-main/hermes_logging.py:203"}, "properties": {"repobilityId": "da92f5dec4e72ead", "scanner": "scanner-primary", "fingerprint": "1cbb2711b582a2c0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-119819bf0ad1702e", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_state.py:167"}, "properties": {"repobilityId": "e048529efd635225", "scanner": "scanner-primary", "fingerprint": "119819bf0ad1702e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-699c5ffa650a59d3", "level": "note", "message": {"text": "Legacy-named symbol `children_copy` in hermes-agent-main/run_agent.py:4416"}, "properties": {"repobilityId": "aab553cabb4e137d", "scanner": "scanner-primary", "fingerprint": "699c5ffa650a59d3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6e24fd275d0d2f2e", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/run_agent.py:45"}, "properties": {"repobilityId": "cff4ff0d93d95590", "scanner": "scanner-primary", "fingerprint": "6e24fd275d0d2f2e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4fc5fe87cd16367", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/model_tools.py:110"}, "properties": {"repobilityId": "a0e6a709b770fd5d", "scanner": "scanner-primary", "fingerprint": "b4fc5fe87cd16367", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88bfa2349db23edd", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/toolsets.py:363"}, "properties": {"repobilityId": "d6b7e225238fc78b", "scanner": "scanner-primary", "fingerprint": "88bfa2349db23edd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d6e1b2a9b5aef7f", "level": "note", "message": {"text": "Legacy-named symbol `ghost_session_prune_v1` in hermes-agent-main/cli.py:933"}, "properties": {"repobilityId": "5476a0e47cd2472c", "scanner": "scanner-primary", "fingerprint": "1d6e1b2a9b5aef7f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-37945b18e7130cb0", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/cli.py:397"}, "properties": {"repobilityId": "15cb4b81d632f83e", "scanner": "scanner-primary", "fingerprint": "37945b18e7130cb0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef350b1a4d75efa2", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_constants.py:48"}, "properties": {"repobilityId": "65d8ac7263fb2efb", "scanner": "scanner-primary", "fingerprint": "ef350b1a4d75efa2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8f6e38957e4df90e", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/tests/conftest.py:264"}, "properties": {"repobilityId": "925ac4997016b283", "scanner": "scanner-primary", "fingerprint": "8f6e38957e4df90e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7b71323a01028e94", "level": "note", "message": {"text": "Legacy-named symbol `get_legacy` in hermes-agent-main/tests/test_tui_gateway_server.py:1334"}, "properties": {"repobilityId": "1092b41951a2cee0", "scanner": "scanner-primary", "fingerprint": "7b71323a01028e94", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4cd68c2272c59f37", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/test_tui_gateway_server.py:97"}, "properties": {"repobilityId": "6860c7d4f8030262", "scanner": "scanner-primary", "fingerprint": "4cd68c2272c59f37", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2850f406b642bea9", "level": "note", "message": {"text": "Legacy-named symbol `test_custom_max_size_and_backup` in hermes-agent-main/tests/test_hermes_logging.py:130"}, "properties": {"repobilityId": "b985c98b35a742ed", "scanner": "scanner-primary", "fingerprint": "2850f406b642bea9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7a64dcf636fdfb30", "level": "note", "message": {"text": "Legacy-named symbol `test_migration_from_v2` in hermes-agent-main/tests/test_hermes_state.py:1661"}, "properties": {"repobilityId": "56e3e6943e9de787", "scanner": "scanner-primary", "fingerprint": "7a64dcf636fdfb30", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-69795da2882de5ac", "level": "note", "message": {"text": "Legacy-named symbol `test_returns_copy` in hermes-agent-main/tests/test_toolset_distributions.py:37"}, "properties": {"repobilityId": "e238983373e88e76", "scanner": "scanner-primary", "fingerprint": "69795da2882de5ac", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1cb8b900cbbfdbce", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/tests/honcho_plugin/test_cli.py:70"}, "properties": {"repobilityId": "c03fb25130308ff5", "scanner": "scanner-primary", "fingerprint": "1cb8b900cbbfdbce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87f1f87875c8008c", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/cli/test_cli_status_bar.py:269"}, "properties": {"repobilityId": "a07ee9a8a4877bdf", "scanner": "scanner-primary", "fingerprint": "87f1f87875c8008c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fdeca5ae6b8c2e1b", "level": "note", "message": {"text": "Legacy-named symbol `config_copy` in hermes-agent-main/tests/cli/test_cli_provider_resolution.py:221"}, "properties": {"repobilityId": "2365d5e0fd773b3e", "scanner": "scanner-primary", "fingerprint": "fdeca5ae6b8c2e1b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bbfdd31a3c85c372", "level": "note", "message": {"text": "Legacy-named symbol `mock_copy` in hermes-agent-main/tests/cli/test_cli_copy_command.py:28"}, "properties": {"repobilityId": "5a559b77207ca9c5", "scanner": "scanner-primary", "fingerprint": "bbfdd31a3c85c372", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-30408b91ef05930b", "level": "note", "message": {"text": "Legacy-named symbol `s_old` in hermes-agent-main/tests/agent/test_insights.py:127"}, "properties": {"repobilityId": "e5ee5bf5c240d491", "scanner": "scanner-primary", "fingerprint": "30408b91ef05930b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2d557a2e9f0c22ea", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/agent/test_context_compressor.py:891"}, "properties": {"repobilityId": "eb345529f62b259a", "scanner": "scanner-primary", "fingerprint": "2d557a2e9f0c22ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1271d7710c4fba67", "level": "note", "message": {"text": "Legacy-named symbol `test_returns_deep_copy` in hermes-agent-main/tests/agent/test_prompt_caching.py:73"}, "properties": {"repobilityId": "904e04232dd7206b", "scanner": "scanner-primary", "fingerprint": "1271d7710c4fba67", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-42f1e08a243b4699", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/agent/test_error_classifier.py:318"}, "properties": {"repobilityId": "d691ad800a77735d", "scanner": "scanner-primary", "fingerprint": "42f1e08a243b4699", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e6deca1cfdf6086", "level": "note", "message": {"text": "Legacy-named symbol `curator_backup` in hermes-agent-main/tests/agent/test_curator_backup.py:1"}, "properties": {"repobilityId": "1377f47c0067c542", "scanner": "scanner-primary", "fingerprint": "1e6deca1cfdf6086", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-455cb3679af99155", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/agent/test_memory_session_switch.py:240"}, "properties": {"repobilityId": "dd4d0f7eeadfdb64", "scanner": "scanner-primary", "fingerprint": "455cb3679af99155", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22e24f780450e0e5", "level": "note", "message": {"text": "Legacy-named symbol `super_old` in hermes-agent-main/tests/agent/test_curator.py:173"}, "properties": {"repobilityId": "1d1aa309523a9dc1", "scanner": "scanner-primary", "fingerprint": "22e24f780450e0e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a00760c90fa302c6", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/agent/test_curator.py:527"}, "properties": {"repobilityId": "b0e576c208f3e435", "scanner": "scanner-primary", "fingerprint": "a00760c90fa302c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-305e395c29461288", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/agent/test_bedrock_integration.py:281"}, "properties": {"repobilityId": "695e31e435bcfcd3", "scanner": "scanner-primary", "fingerprint": "305e395c29461288", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c17049ebb74243c3", "level": "note", "message": {"text": "Legacy-named symbol `sig_old` in hermes-agent-main/tests/agent/test_anthropic_adapter.py:1508"}, "properties": {"repobilityId": "456e35320eecb183", "scanner": "scanner-primary", "fingerprint": "c17049ebb74243c3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-85f88b27d4c7df12", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/agent/test_anthropic_adapter.py:42"}, "properties": {"repobilityId": "20f493f0ebf3e2c0", "scanner": "scanner-primary", "fingerprint": "85f88b27d4c7df12", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5dac4bc2667db3ce", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/tests/agent/test_curator_classification.py:212"}, "properties": {"repobilityId": "092a355ede402688", "scanner": "scanner-primary", "fingerprint": "5dac4bc2667db3ce", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de1ce0373ed8ce10", "level": "note", "message": {"text": "Legacy-named symbol `test_no_assistant_returns_copy` in hermes-agent-main/tests/run_agent/test_run_agent.py:544"}, "properties": {"repobilityId": "87022c69d33921fd", "scanner": "scanner-primary", "fingerprint": "de1ce0373ed8ce10", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-99d62ff20d6cd65e", "level": "note", "message": {"text": "Legacy-named symbol `call_old` in hermes-agent-main/tests/run_agent/test_background_review_summary.py:35"}, "properties": {"repobilityId": "bad4630af5b8e26a", "scanner": "scanner-primary", "fingerprint": "99d62ff20d6cd65e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-64cb508b599e9113", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/stress/test_subprocess_e2e.py:151"}, "properties": {"repobilityId": "6dc045cebad28848", "scanner": "scanner-primary", "fingerprint": "64cb508b599e9113", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c446518a69412b6", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/hermes_cli/test_runtime_provider_resolution.py:1839"}, "properties": {"repobilityId": "9d5b242b3b1dbe0a", "scanner": "scanner-primary", "fingerprint": "5c446518a69412b6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b97663e038ab190", "level": "note", "message": {"text": "Legacy-named symbol `user_legacy` in hermes-agent-main/tests/hermes_cli/test_gateway_service.py:1904"}, "properties": {"repobilityId": "300e4ffdc6ca973c", "scanner": "scanner-primary", "fingerprint": "9b97663e038ab190", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-231ac0c14932e4d7", "level": "note", "message": {"text": "Legacy-named symbol `test_profiles_nav_label_uses_short_multi_agents_copy` in hermes-agent-main/tests/hermes_cli/test_dashboard_profiles_nav_label.py:5"}, "properties": {"repobilityId": "2ccfaf2c9339ff1f", "scanner": "scanner-primary", "fingerprint": "231ac0c14932e4d7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7486fe68d38a92e9", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/tests/hermes_cli/test_tools_config.py:127"}, "properties": {"repobilityId": "ec2cee1692e1675c", "scanner": "scanner-primary", "fingerprint": "7486fe68d38a92e9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abd94c9b6da8a2cf", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/hermes_cli/test_voice_wrapper.py:144"}, "properties": {"repobilityId": "159b0fb094f8ee2b", "scanner": "scanner-primary", "fingerprint": "abd94c9b6da8a2cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-900b2b5d11dcc7db", "level": "note", "message": {"text": "Legacy-named symbol `test_switch_to_minimax_m27_strips_v1` in hermes-agent-main/tests/hermes_cli/test_model_switch_opencode_anthropic.py:80"}, "properties": {"repobilityId": "32a1cc6c9c55044d", "scanner": "scanner-primary", "fingerprint": "900b2b5d11dcc7db", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-70823d5fe9f8915c", "level": "note", "message": {"text": "Legacy-named symbol `test_cli_daemon_help_marks_deprecated` in hermes-agent-main/tests/hermes_cli/test_kanban_core_functionality.py:2690"}, "properties": {"repobilityId": "3eca3611faec76c1", "scanner": "scanner-primary", "fingerprint": "70823d5fe9f8915c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bee45480a2298be6", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/hermes_cli/test_kanban_core_functionality.py:2052"}, "properties": {"repobilityId": "5a2ed56f998ddc20", "scanner": "scanner-primary", "fingerprint": "bee45480a2298be6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f7f3d596bf46f4e", "level": "note", "message": {"text": "Legacy-named symbol `test_env_override_wins_over_legacy` in hermes-agent-main/tests/hermes_cli/test_api_key_providers.py:925"}, "properties": {"repobilityId": "734d918d26d35e19", "scanner": "scanner-primary", "fingerprint": "3f7f3d596bf46f4e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ed50ee8efbc22971", "level": "note", "message": {"text": "Legacy-named symbol `run_backup` in hermes-agent-main/tests/hermes_cli/test_backup.py:161"}, "properties": {"repobilityId": "8259772ff706baf6", "scanner": "scanner-primary", "fingerprint": "ed50ee8efbc22971", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5dd9f16d5ad615ca", "level": "note", "message": {"text": "Legacy-named symbol `very_old` in hermes-agent-main/tests/hermes_cli/test_debug.py:1079"}, "properties": {"repobilityId": "e802355dcb299a15", "scanner": "scanner-primary", "fingerprint": "5dd9f16d5ad615ca", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f03deeee5818cae7", "level": "note", "message": {"text": "Legacy-named symbol `no_backup` in hermes-agent-main/tests/hermes_cli/test_claw.py:468"}, "properties": {"repobilityId": "fd832d8408eefdec", "scanner": "scanner-primary", "fingerprint": "f03deeee5818cae7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-16bb27f0cb325058", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/hermes_cli/test_web_server.py:2185"}, "properties": {"repobilityId": "4bd29c2c8a383c5e", "scanner": "scanner-primary", "fingerprint": "16bb27f0cb325058", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f892f73909c85fc2", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/hermes_cli/test_custom_provider_model_switch.py:296"}, "properties": {"repobilityId": "805b46b7af5e32d3", "scanner": "scanner-primary", "fingerprint": "f892f73909c85fc2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1ec37f271e9b6be9", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/tools/test_mcp_dynamic_discovery.py:91"}, "properties": {"repobilityId": "883ef1ce093ba255", "scanner": "scanner-primary", "fingerprint": "1ec37f271e9b6be9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-046e975b5640499e", "level": "note", "message": {"text": "Legacy-named symbol `test_plain_text_uses_markdown_v2` in hermes-agent-main/tests/tools/test_send_message_tool.py:653"}, "properties": {"repobilityId": "b4b09369ea8de0fc", "scanner": "scanner-primary", "fingerprint": "046e975b5640499e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-489b16bf2559b5a1", "level": "note", "message": {"text": "Legacy-named symbol `test_read_returns_copy` in hermes-agent-main/tests/tools/test_todo_tool.py:20"}, "properties": {"repobilityId": "893f1e8115bd2da6", "scanner": "scanner-primary", "fingerprint": "489b16bf2559b5a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-41ea62825449e2ae", "level": "note", "message": {"text": "Legacy-named symbol `_run_in_copy` in hermes-agent-main/tests/tools/test_skill_provenance.py:94"}, "properties": {"repobilityId": "49432c81dd63ae3a", "scanner": "scanner-primary", "fingerprint": "41ea62825449e2ae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-316fefba2e8ba321", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/tools/test_kanban_tools.py:501"}, "properties": {"repobilityId": "bfc21136a79a2620", "scanner": "scanner-primary", "fingerprint": "316fefba2e8ba321", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c540dc824de522ca", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/tools/test_file_read_guards.py:749"}, "properties": {"repobilityId": "68a167b830ab3116", "scanner": "scanner-primary", "fingerprint": "c540dc824de522ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a8815a739e0e2a2", "level": "note", "message": {"text": "Legacy-named symbol `_call_tool_unused` in hermes-agent-main/tests/tools/test_mcp_circuit_breaker.py:201"}, "properties": {"repobilityId": "e8a82faafa77dab1", "scanner": "scanner-primary", "fingerprint": "6a8815a739e0e2a2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a5c354afa2d799b6", "level": "note", "message": {"text": "Legacy-named symbol `proc_old` in hermes-agent-main/tests/tools/test_process_registry.py:391"}, "properties": {"repobilityId": "d69a3596a0e0d197", "scanner": "scanner-primary", "fingerprint": "a5c354afa2d799b6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-89a28aab3164366c", "level": "note", "message": {"text": "Legacy-named symbol `test_corrupt_owner_pid_falls_back_to_legacy` in hermes-agent-main/tests/tools/test_browser_orphan_reaper.py:243"}, "properties": {"repobilityId": "fc4f229c4711625a", "scanner": "scanner-primary", "fingerprint": "89a28aab3164366c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-09b283242f1559a7", "level": "note", "message": {"text": "Legacy-named symbol `test_elevenlabs_default_model_multilingual_v2` in hermes-agent-main/tests/tools/test_tts_max_text_length.py:81"}, "properties": {"repobilityId": "f751b0289be8e3f4", "scanner": "scanner-primary", "fingerprint": "09b283242f1559a7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-021e9a95911a94f5", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/tools/test_terminal_config_env_sync.py:135"}, "properties": {"repobilityId": "bafceff24fd42389", "scanner": "scanner-primary", "fingerprint": "021e9a95911a94f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-965078db79761f95", "level": "note", "message": {"text": "Legacy-named symbol `test_write_and_read_roundtrip_v2` in hermes-agent-main/tests/tools/test_skills_sync.py:30"}, "properties": {"repobilityId": "0b195eb0b0904d87", "scanner": "scanner-primary", "fingerprint": "965078db79761f95", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2d42a111c4397944", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/tools/test_file_state_registry.py:269"}, "properties": {"repobilityId": "82f09c59a9eae31b", "scanner": "scanner-primary", "fingerprint": "2d42a111c4397944", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a66d4d590f45c443", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/tests/tools/test_clipboard.py:233"}, "properties": {"repobilityId": "64961420eb63b6c2", "scanner": "scanner-primary", "fingerprint": "a66d4d590f45c443", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d91f68d6005c170b", "level": "note", "message": {"text": "Legacy-named symbol `env_backup` in hermes-agent-main/tests/tools/test_code_execution.py:685"}, "properties": {"repobilityId": "83810267a2b806c1", "scanner": "scanner-primary", "fingerprint": "d91f68d6005c170b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3179a2d0223fe67b", "level": "note", "message": {"text": "Legacy-named symbol `expected_legacy` in hermes-agent-main/tests/tools/test_delegate.py:1771"}, "properties": {"repobilityId": "860e2072541d0cde", "scanner": "scanner-primary", "fingerprint": "3179a2d0223fe67b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-27a1694382e67f2d", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/tools/test_delegate.py:1580"}, "properties": {"repobilityId": "bf3d8ee387dde115", "scanner": "scanner-primary", "fingerprint": "27a1694382e67f2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-495393b26aab9b3f", "level": "note", "message": {"text": "Legacy-named symbol `clawhub_catalog_v1` in hermes-agent-main/tests/tools/test_search_hidden_dirs.py:4"}, "properties": {"repobilityId": "df50f8e77e40177a", "scanner": "scanner-primary", "fingerprint": "495393b26aab9b3f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1f83b700b2168940", "level": "note", "message": {"text": "Legacy-named symbol `mcp_srv_old` in hermes-agent-main/tests/tools/test_mcp_tool.py:720"}, "properties": {"repobilityId": "45b4b384b3023ff1", "scanner": "scanner-primary", "fingerprint": "1f83b700b2168940", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-182e7f2cc0c1396b", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_update_command.py:81"}, "properties": {"repobilityId": "681d5f34f033c36f", "scanner": "scanner-primary", "fingerprint": "182e7f2cc0c1396b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5fd73cc1032a587d", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_telegram_webhook_secret.py:87"}, "properties": {"repobilityId": "dd26e2837e6ab1a4", "scanner": "scanner-primary", "fingerprint": "5fd73cc1032a587d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9cfed99c85396d69", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_config_cwd_bridge.py:130"}, "properties": {"repobilityId": "de3f1e40cb392854", "scanner": "scanner-primary", "fingerprint": "9cfed99c85396d69", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c34587e3d39409d", "level": "none", "message": {"text": "Commented-code block (16 lines) in hermes-agent-main/tests/gateway/test_voice_command.py:316"}, "properties": {"repobilityId": "b39c21f101262226", "scanner": "scanner-primary", "fingerprint": "2c34587e3d39409d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3cdf5ba3e20045bd", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_shutdown_memory_provider_messages.py:44"}, "properties": {"repobilityId": "18439fd69870d7de", "scanner": "scanner-primary", "fingerprint": "3cdf5ba3e20045bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0409391756d67f0", "level": "note", "message": {"text": "Legacy-named symbol `register_p2_im_message_message_read_v1` in hermes-agent-main/tests/gateway/test_feishu.py:25"}, "properties": {"repobilityId": "419fcfb9f60e114b", "scanner": "scanner-primary", "fingerprint": "e0409391756d67f0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b8ea0378fb94761d", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_internal_event_bypass_pairing.py:361"}, "properties": {"repobilityId": "fb35648ea42b6508", "scanner": "scanner-primary", "fingerprint": "b8ea0378fb94761d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2580ea9cefdb9ab1", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_message_deduplicator.py:97"}, "properties": {"repobilityId": "f7c5a1e52ee64f96", "scanner": "scanner-primary", "fingerprint": "2580ea9cefdb9ab1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61f1c911704eaa99", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_stream_consumer.py:769"}, "properties": {"repobilityId": "96ba743ab4c38e8e", "scanner": "scanner-primary", "fingerprint": "61f1c911704eaa99", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12b4276c3c37a566", "level": "note", "message": {"text": "Legacy-named symbol `receive_v1` in hermes-agent-main/tests/gateway/test_feishu_bot_admission.py:669"}, "properties": {"repobilityId": "e276f10c05f63bb9", "scanner": "scanner-primary", "fingerprint": "12b4276c3c37a566", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a4ded4aa85b3061b", "level": "note", "message": {"text": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/tests/gateway/test_send_multiple_images.py:8"}, "properties": {"repobilityId": "ed06fd7e8afadba7", "scanner": "scanner-primary", "fingerprint": "a4ded4aa85b3061b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-612ff48c49a79317", "level": "note", "message": {"text": "Legacy-named symbol `test_text_as_dict_legacy` in hermes-agent-main/tests/gateway/test_dingtalk.py:354"}, "properties": {"repobilityId": "12bc2d41db300112", "scanner": "scanner-primary", "fingerprint": "612ff48c49a79317", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b18569b67ad49179", "level": "note", "message": {"text": "Legacy-named symbol `sig_old` in hermes-agent-main/tests/gateway/test_agent_cache.py:538"}, "properties": {"repobilityId": "04acd3aad9fa1696", "scanner": "scanner-primary", "fingerprint": "b18569b67ad49179", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-554ef4f373f80517", "level": "note", "message": {"text": "Legacy-named symbol `sess_old` in hermes-agent-main/tests/gateway/test_mirror.py:43"}, "properties": {"repobilityId": "28e2f39d7694ca53", "scanner": "scanner-primary", "fingerprint": "554ef4f373f80517", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d34dc759e467f4d6", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_queue_consumption.py:286"}, "properties": {"repobilityId": "9a56283a6b0ab556", "scanner": "scanner-primary", "fingerprint": "d34dc759e467f4d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-362c3a51b8df0eb1", "level": "note", "message": {"text": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/tests/gateway/test_slack.py:486"}, "properties": {"repobilityId": "23b5e9d9d7817daa", "scanner": "scanner-primary", "fingerprint": "362c3a51b8df0eb1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c86bb3082c799ecc", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_webhook_adapter.py:151"}, "properties": {"repobilityId": "b8f8b8edb6bc8d26", "scanner": "scanner-primary", "fingerprint": "c86bb3082c799ecc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72a8f82091ba4d62", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tests/gateway/test_ephemeral_reply.py:304"}, "properties": {"repobilityId": "6f3be96677d4c8c7", "scanner": "scanner-primary", "fingerprint": "72a8f82091ba4d62", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-495d110d459018e2", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_discord_slash_commands.py:973"}, "properties": {"repobilityId": "906e19cd7d3e2c28", "scanner": "scanner-primary", "fingerprint": "495d110d459018e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e3a1ce7ae5cd4b36", "level": "note", "message": {"text": "Legacy-named symbol `test_new_platforms_takes_precedence_over_legacy` in hermes-agent-main/tests/gateway/test_display_config.py:105"}, "properties": {"repobilityId": "0bd46cf8f4a27f07", "scanner": "scanner-primary", "fingerprint": "e3a1ce7ae5cd4b36", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-54e54d3f73798c64", "level": "note", "message": {"text": "Legacy-named symbol `another_old` in hermes-agent-main/tests/gateway/test_voice_mode_platform_isolation.py:176"}, "properties": {"repobilityId": "ff537bc782d7805c", "scanner": "scanner-primary", "fingerprint": "54e54d3f73798c64", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c21713a1db2a5d16", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_running_agent_session_toggles.py:93"}, "properties": {"repobilityId": "539105ce5e4f8b40", "scanner": "scanner-primary", "fingerprint": "c21713a1db2a5d16", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-178d07b207cc0ce4", "level": "note", "message": {"text": "Legacy-named symbol `sess_v1` in hermes-agent-main/tests/gateway/test_resume_command.py:162"}, "properties": {"repobilityId": "9473444ecb40d21e", "scanner": "scanner-primary", "fingerprint": "178d07b207cc0ce4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6dd4316f987b6b18", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_webhook_signature_rate_limit.py:114"}, "properties": {"repobilityId": "12b86c93a551d472", "scanner": "scanner-primary", "fingerprint": "6dd4316f987b6b18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46093b0692685945", "level": "note", "message": {"text": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/tests/gateway/test_send_image_file.py:328"}, "properties": {"repobilityId": "aa7b4b49f6ed51ff", "scanner": "scanner-primary", "fingerprint": "46093b0692685945", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-58522735ea586cd9", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/gateway/test_discord_free_response.py:224"}, "properties": {"repobilityId": "214f20f9684f8b1c", "scanner": "scanner-primary", "fingerprint": "58522735ea586cd9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87018b380c3a4561", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/acp_adapter/test_acp_commands.py:104"}, "properties": {"repobilityId": "794e5ce3f634c049", "scanner": "scanner-primary", "fingerprint": "87018b380c3a4561", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2bfde7bd39ab8b7", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tests/plugins/test_achievements_plugin.py:53"}, "properties": {"repobilityId": "c91699b88e53c606", "scanner": "scanner-primary", "fingerprint": "c2bfde7bd39ab8b7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-beb8b61affd656cf", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/scripts/profile-tui.py:568"}, "properties": {"repobilityId": "043af9ee29cc28a3", "scanner": "scanner-primary", "fingerprint": "beb8b61affd656cf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-424bb5a25ba8b001", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/scripts/contributor_audit.py:77"}, "properties": {"repobilityId": "6ccfd65d407dfa35", "scanner": "scanner-primary", "fingerprint": "424bb5a25ba8b001", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-adc6a6ceae50b2df", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/scripts/release.py:797"}, "properties": {"repobilityId": "8738323b0d67c07a", "scanner": "scanner-primary", "fingerprint": "adc6a6ceae50b2df", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-14fa5b7dd0d04fd1", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/scripts/whatsapp-bridge/bridge.js:375"}, "properties": {"repobilityId": "05213c6fe3caa760", "scanner": "scanner-primary", "fingerprint": "14fa5b7dd0d04fd1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54688b8d19b83588", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/website/docusaurus.config.ts:43"}, "properties": {"repobilityId": "cb15e590ff7e8bb8", "scanner": "scanner-primary", "fingerprint": "54688b8d19b83588", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6d2e007e9828a1d4", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/website/scripts/generate-skill-docs.py:41"}, "properties": {"repobilityId": "e8829ab029392697", "scanner": "scanner-primary", "fingerprint": "6d2e007e9828a1d4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-889f531e39a2ec69", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/website/scripts/prebuild.mjs:2"}, "properties": {"repobilityId": "21e10ebe00ab1be2", "scanner": "scanner-primary", "fingerprint": "889f531e39a2ec69", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4941bd22513adfc7", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/codex_responses_adapter.py:347"}, "properties": {"repobilityId": "2e159bc9e800fb59", "scanner": "scanner-primary", "fingerprint": "4941bd22513adfc7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88afda239c7457a1", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/moonshot_schema.py:118"}, "properties": {"repobilityId": "06fb773141bcd9c6", "scanner": "scanner-primary", "fingerprint": "88afda239c7457a1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9bd5aff1ba8f08b", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/context_compressor.py:64"}, "properties": {"repobilityId": "3e5e8916882b7ec2", "scanner": "scanner-primary", "fingerprint": "c9bd5aff1ba8f08b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dec8a5e411ff9bb3", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/gemini_cloudcode_adapter.py:790"}, "properties": {"repobilityId": "b0138b7824a19e6e", "scanner": "scanner-primary", "fingerprint": "dec8a5e411ff9bb3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0fc23c9f189e5da5", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/credential_pool.py:855"}, "properties": {"repobilityId": "d8bd7fddf6adb3fc", "scanner": "scanner-primary", "fingerprint": "0fc23c9f189e5da5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4855432dea41786", "level": "note", "message": {"text": "Legacy-named symbol `_prune_old` in hermes-agent-main/agent/curator_backup.py:277"}, "properties": {"repobilityId": "02047ef5d58c64b6", "scanner": "scanner-primary", "fingerprint": "f4855432dea41786", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fd1025031a48c58b", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/curator_backup.py:106"}, "properties": {"repobilityId": "0357f94c3110dcba", "scanner": "scanner-primary", "fingerprint": "fd1025031a48c58b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c5914b4c84d4daa", "level": "note", "message": {"text": "Legacy-named symbol `curator_backup` in hermes-agent-main/agent/curator.py:1321"}, "properties": {"repobilityId": "3fef469f67ae8913", "scanner": "scanner-primary", "fingerprint": "9c5914b4c84d4daa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6b0e229976953fde", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/agent/curator.py:568"}, "properties": {"repobilityId": "3023eb03b1d0431f", "scanner": "scanner-primary", "fingerprint": "6b0e229976953fde", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c4626b7d131239d", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/agent/gemini_schema.py:77"}, "properties": {"repobilityId": "7c794aaa15dfe80b", "scanner": "scanner-primary", "fingerprint": "7c4626b7d131239d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6485045ca41e1794", "level": "none", "message": {"text": "Commented-code block (9 lines) in hermes-agent-main/agent/bedrock_adapter.py:110"}, "properties": {"repobilityId": "99fdb246427c120e", "scanner": "scanner-primary", "fingerprint": "6485045ca41e1794", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-41e27b8eb2058404", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/agent/redact.py:58"}, "properties": {"repobilityId": "a714f0082a6905a5", "scanner": "scanner-primary", "fingerprint": "41e27b8eb2058404", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4e937f5787f2291", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/error_classifier.py:154"}, "properties": {"repobilityId": "e519d41de6d3d83b", "scanner": "scanner-primary", "fingerprint": "e4e937f5787f2291", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9122fea830937746", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/agent/anthropic_adapter.py:25"}, "properties": {"repobilityId": "b20c40f37a497e1b", "scanner": "scanner-primary", "fingerprint": "9122fea830937746", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-accf1e1b0ae0e47d", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/image_routing.py:132"}, "properties": {"repobilityId": "365b42aa31394f60", "scanner": "scanner-primary", "fingerprint": "accf1e1b0ae0e47d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80e2f35bc6814b00", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/agent/usage_pricing.py:557"}, "properties": {"repobilityId": "0f2e533c0e56631b", "scanner": "scanner-primary", "fingerprint": "80e2f35bc6814b00", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-910f3508f081853d", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/agent/shell_hooks.py:87"}, "properties": {"repobilityId": "a069e7fae546d882", "scanner": "scanner-primary", "fingerprint": "910f3508f081853d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc780fa091e7d45d", "level": "none", "message": {"text": "Commented-code block (13 lines) in hermes-agent-main/agent/auxiliary_client.py:53"}, "properties": {"repobilityId": "792d0550e0037e9e", "scanner": "scanner-primary", "fingerprint": "fc780fa091e7d45d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-159283fe156b0048", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/display.py:713"}, "properties": {"repobilityId": "1cffdd1b83faf343", "scanner": "scanner-primary", "fingerprint": "159283fe156b0048", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1271626b58bb14c8", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/think_scrubber.py:135"}, "properties": {"repobilityId": "fca52c19ac97744f", "scanner": "scanner-primary", "fingerprint": "1271626b58bb14c8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19716defc36ab615", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/agent/model_metadata.py:150"}, "properties": {"repobilityId": "1ef93a7f1df87b55", "scanner": "scanner-primary", "fingerprint": "19716defc36ab615", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2b35e874788c1e89", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/prompt_builder.py:348"}, "properties": {"repobilityId": "55281409ab4bf411", "scanner": "scanner-primary", "fingerprint": "2b35e874788c1e89", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5420b7f58ba964ea", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/transports/types.py:40"}, "properties": {"repobilityId": "0d8aa18759d5ee8b", "scanner": "scanner-primary", "fingerprint": "5420b7f58ba964ea", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-038b6d229586ea21", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/agent/transports/chat_completions.py:31"}, "properties": {"repobilityId": "b4d3c2cb3a761ad1", "scanner": "scanner-primary", "fingerprint": "038b6d229586ea21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9778652694c2a48", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tui_gateway/ws.py:154"}, "properties": {"repobilityId": "3eaaffdc13340b14", "scanner": "scanner-primary", "fingerprint": "a9778652694c2a48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fbe9a9b91981b1cf", "level": "none", "message": {"text": "Commented-code block (9 lines) in hermes-agent-main/tui_gateway/server.py:37"}, "properties": {"repobilityId": "578a7e89ef1041b1", "scanner": "scanner-primary", "fingerprint": "fbe9a9b91981b1cf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d51ebcfbfa0ee97", "level": "note", "message": {"text": "Stub function `print` (body is just `pass`/`return`) \u2014 hermes-agent-main/tui_gateway/server.py:6167"}, "properties": {"repobilityId": "ec5749565b877acd", "scanner": "scanner-primary", "fingerprint": "7d51ebcfbfa0ee97", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-180c1975e7db4dae", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tui_gateway/transport.py:52"}, "properties": {"repobilityId": "015c98cd8da4483c", "scanner": "scanner-primary", "fingerprint": "180c1975e7db4dae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fbc01eadf4f02e63", "level": "note", "message": {"text": "Stub function `close` (body is just `pass`/`return`) \u2014 hermes-agent-main/tui_gateway/transport.py:182"}, "properties": {"repobilityId": "0719c06a9b41e280", "scanner": "scanner-primary", "fingerprint": "fbc01eadf4f02e63", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-a47b9f46002c4f64", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/tui_gateway/entry.py:43"}, "properties": {"repobilityId": "cc7969c1012267a0", "scanner": "scanner-primary", "fingerprint": "a47b9f46002c4f64", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aecc03fb959dd5c9", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/web/vite.config.ts:73"}, "properties": {"repobilityId": "1d7a6d54afed52d4", "scanner": "scanner-primary", "fingerprint": "aecc03fb959dd5c9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3dd21e6bc9405255", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/web/src/App.tsx:319"}, "properties": {"repobilityId": "0670d64b0bb4d090", "scanner": "scanner-primary", "fingerprint": "3dd21e6bc9405255", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-156f91c61998f3f8", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/web/src/pages/ChatPage.tsx:124"}, "properties": {"repobilityId": "5f3dff86ad59125c", "scanner": "scanner-primary", "fingerprint": "156f91c61998f3f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f18ccc3f6448ccb0", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/web/src/pages/ConfigPage.tsx:285"}, "properties": {"repobilityId": "948b56c99766009d", "scanner": "scanner-primary", "fingerprint": "f18ccc3f6448ccb0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-906dfa426d7dbef0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/optional-skills/creative/kanban-video-orchestrator/scripts/monitor.py:46"}, "properties": {"repobilityId": "b4d468ab06a25454", "scanner": "scanner-primary", "fingerprint": "906dfa426d7dbef0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d1490b8154f53e5d", "level": "note", "message": {"text": "Legacy-named symbol `20Legacy` in hermes-agent-main/optional-skills/health/fitness-nutrition/scripts/nutrition_search.py:30"}, "properties": {"repobilityId": "d5473fc39fb976ed", "scanner": "scanner-primary", "fingerprint": "d1490b8154f53e5d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-54bd8327f46a2997", "level": "note", "message": {"text": "Legacy-named symbol `maybe_backup` in hermes-agent-main/optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py:1094"}, "properties": {"repobilityId": "cc7e997aefe6f4b7", "scanner": "scanner-primary", "fingerprint": "54bd8327f46a2997", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-078277317a8d1ce7", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/optional-skills/migration/openclaw-migration/scripts/openclaw_to_hermes.py:749"}, "properties": {"repobilityId": "943b6a70e6b81edb", "scanner": "scanner-primary", "fingerprint": "078277317a8d1ce7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4a73c822e2bb5566", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/cron/scheduler.py:867"}, "properties": {"repobilityId": "065e6da20a09943e", "scanner": "scanner-primary", "fingerprint": "4a73c822e2bb5566", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-168670c615650709", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/cron/jobs.py:741"}, "properties": {"repobilityId": "0c2f0da67af4b34c", "scanner": "scanner-primary", "fingerprint": "168670c615650709", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b371d511cb366e3a", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/hermes_cli/plugins.py:92"}, "properties": {"repobilityId": "87321d8c9accfc54", "scanner": "scanner-primary", "fingerprint": "b371d511cb366e3a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00b6e2c4b2a6559c", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/model_normalize.py:109"}, "properties": {"repobilityId": "f828687166b88910", "scanner": "scanner-primary", "fingerprint": "00b6e2c4b2a6559c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55f629ce60ed7cb0", "level": "note", "message": {"text": "Legacy-named symbol `run_backup` in hermes-agent-main/hermes_cli/backup.py:128"}, "properties": {"repobilityId": "a3c93035e381e74d", "scanner": "scanner-primary", "fingerprint": "55f629ce60ed7cb0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-93833713b1bd4f48", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/backup.py:48"}, "properties": {"repobilityId": "15ef347ea6247701", "scanner": "scanner-primary", "fingerprint": "93833713b1bd4f48", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d55b8f4cddf71a2", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/tools_config.py:664"}, "properties": {"repobilityId": "6efa1c3fc3e9379b", "scanner": "scanner-primary", "fingerprint": "3d55b8f4cddf71a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7389c255ce4b91c4", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/tools_config.py:486"}, "properties": {"repobilityId": "200d7ab24f985112", "scanner": "scanner-primary", "fingerprint": "7389c255ce4b91c4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ee9e9e34f358258f", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/commands.py:638"}, "properties": {"repobilityId": "fdf23f35af803ff7", "scanner": "scanner-primary", "fingerprint": "ee9e9e34f358258f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-20654347f674c032", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/uninstall.py:176"}, "properties": {"repobilityId": "eff54430c7839399", "scanner": "scanner-primary", "fingerprint": "20654347f674c032", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0979c1e32c366ddf", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in hermes-agent-main/hermes_cli/config.py:838"}, "properties": {"repobilityId": "270f865a2260b2cb", "scanner": "scanner-primary", "fingerprint": "0979c1e32c366ddf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-725473a1560b7f1f", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/hermes_cli/config.py:33"}, "properties": {"repobilityId": "0954799a99615199", "scanner": "scanner-primary", "fingerprint": "725473a1560b7f1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a32ba72cef5b145", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/config.py:4609"}, "properties": {"repobilityId": "ec4ae7b480ddb8fd", "scanner": "scanner-primary", "fingerprint": "9a32ba72cef5b145", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-89b8102769c64b05", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/auth.py:451"}, "properties": {"repobilityId": "7f2b45a1cbb143e1", "scanner": "scanner-primary", "fingerprint": "89b8102769c64b05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d1aa867adcaaf8ba", "level": "note", "message": {"text": "Stub function `print` (body is just `pass`/`return`) \u2014 hermes-agent-main/hermes_cli/skills_hub.py:728"}, "properties": {"repobilityId": "2c4679a454ee3a8b", "scanner": "scanner-primary", "fingerprint": "d1aa867adcaaf8ba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-2117f0004cf2168b", "level": "note", "message": {"text": "Legacy-named symbol `_cmd_backup` in hermes-agent-main/hermes_cli/curator.py:248"}, "properties": {"repobilityId": "902cc328d6b8836f", "scanner": "scanner-primary", "fingerprint": "2117f0004cf2168b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4bce81147f2dae35", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/curator.py:111"}, "properties": {"repobilityId": "0728889c992dd2d1", "scanner": "scanner-primary", "fingerprint": "4bce81147f2dae35", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56306d4cc43d5d5f", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/hermes_cli/voice.py:34"}, "properties": {"repobilityId": "f8ef3bc81526ccc0", "scanner": "scanner-primary", "fingerprint": "56306d4cc43d5d5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89fbf195012eaf7a", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/hermes_cli/model_switch.py:956"}, "properties": {"repobilityId": "ec04ec2ab9967a24", "scanner": "scanner-primary", "fingerprint": "89fbf195012eaf7a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44aa5453955853ee", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/gateway.py:1725"}, "properties": {"repobilityId": "3016ef63f18cb1df", "scanner": "scanner-primary", "fingerprint": "44aa5453955853ee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b4dea07e485fbd9f", "level": "note", "message": {"text": "Legacy-named symbol `_strip_trailing_v1` in hermes-agent-main/hermes_cli/azure_detect.py:109"}, "properties": {"repobilityId": "b80f705fe41d80c8", "scanner": "scanner-primary", "fingerprint": "b4dea07e485fbd9f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4b1fe8a5174878b0", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/hermes_cli/plugins_cmd.py:1006"}, "properties": {"repobilityId": "02e59e44dbf6f315", "scanner": "scanner-primary", "fingerprint": "4b1fe8a5174878b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b92c4908f42263e1", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/runtime_provider.py:189"}, "properties": {"repobilityId": "0ef12627ce07b6f8", "scanner": "scanner-primary", "fingerprint": "b92c4908f42263e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-824b0cc8a482fe05", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/web_server.py:139"}, "properties": {"repobilityId": "c20283686bb472a8", "scanner": "scanner-primary", "fingerprint": "824b0cc8a482fe05", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9d2517630aca58a4", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/web_server.py:683"}, "properties": {"repobilityId": "8bbf908f927d4207", "scanner": "scanner-primary", "fingerprint": "9d2517630aca58a4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-168c6020776a7a97", "level": "note", "message": {"text": "Legacy-named symbol `no_backup` in hermes-agent-main/hermes_cli/claw.py:326"}, "properties": {"repobilityId": "873238e9c880c096", "scanner": "scanner-primary", "fingerprint": "168c6020776a7a97", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-020fb883ea68fbcb", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/claw.py:328"}, "properties": {"repobilityId": "67b5f11c500122e0", "scanner": "scanner-primary", "fingerprint": "020fb883ea68fbcb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-055a977303eda514", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/setup.py:3110"}, "properties": {"repobilityId": "0d0deec74da091a6", "scanner": "scanner-primary", "fingerprint": "055a977303eda514", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a5232b396279ca03", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/setup.py:1019"}, "properties": {"repobilityId": "656d6067e778da3c", "scanner": "scanner-primary", "fingerprint": "a5232b396279ca03", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5260cc9c96498867", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/models.py:111"}, "properties": {"repobilityId": "cf52890107aab88e", "scanner": "scanner-primary", "fingerprint": "5260cc9c96498867", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c62d67d7cd535bb4", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/hermes_cli/doctor.py:421"}, "properties": {"repobilityId": "3f9702fafdfa4737", "scanner": "scanner-primary", "fingerprint": "c62d67d7cd535bb4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-874810118e800f92", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/kanban.py:548"}, "properties": {"repobilityId": "6d94e5f2a2a5f8b3", "scanner": "scanner-primary", "fingerprint": "874810118e800f92", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e19ce71bb22a7a6f", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/hooks.py:107"}, "properties": {"repobilityId": "61247ccfa9bf188b", "scanner": "scanner-primary", "fingerprint": "e19ce71bb22a7a6f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-874dd3037bbd0a06", "level": "note", "message": {"text": "Legacy-named symbol `_add_v1` in hermes-agent-main/hermes_cli/main.py:2927"}, "properties": {"repobilityId": "1247e5e847bab53b", "scanner": "scanner-primary", "fingerprint": "874dd3037bbd0a06", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1b373d9c0ff0932b", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/main.py:186"}, "properties": {"repobilityId": "3913068f0b41e6ef", "scanner": "scanner-primary", "fingerprint": "1b373d9c0ff0932b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-26909a5a99b2b803", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/hermes_cli/main.py:1007"}, "properties": {"repobilityId": "3e669f374c052b34", "scanner": "scanner-primary", "fingerprint": "26909a5a99b2b803", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9884c1f52d90e489", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/env_loader.py:89"}, "properties": {"repobilityId": "fc89035c3cabc884", "scanner": "scanner-primary", "fingerprint": "9884c1f52d90e489", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c22e8b0b5f2f30ae", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/oneshot.py:143"}, "properties": {"repobilityId": "0b5b4f13a82dd36b", "scanner": "scanner-primary", "fingerprint": "c22e8b0b5f2f30ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b9b6610d1328afe2", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/auth_commands.py:177"}, "properties": {"repobilityId": "86cf7df0487bf93f", "scanner": "scanner-primary", "fingerprint": "b9b6610d1328afe2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-77c7462a8c1ec031", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/hermes_cli/kanban_db.py:101"}, "properties": {"repobilityId": "177a89c3109ffef8", "scanner": "scanner-primary", "fingerprint": "77c7462a8c1ec031", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e90bfc24e50fbf09", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/schema_sanitizer.py:81"}, "properties": {"repobilityId": "6ce4cff148b84228", "scanner": "scanner-primary", "fingerprint": "e90bfc24e50fbf09", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-952fd2d7082fccca", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/mcp_tool.py:94"}, "properties": {"repobilityId": "66ed1e04e478edab", "scanner": "scanner-primary", "fingerprint": "952fd2d7082fccca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2fded797f86e5994", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/tools/transcription_tools.py:504"}, "properties": {"repobilityId": "e6540cae2116e318", "scanner": "scanner-primary", "fingerprint": "2fded797f86e5994", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c961864d17567e2d", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/session_search_tool.py:470"}, "properties": {"repobilityId": "524d5934f11fc37b", "scanner": "scanner-primary", "fingerprint": "c961864d17567e2d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f32a6de271a8336d", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/tools/web_tools.py:50"}, "properties": {"repobilityId": "26039443c6de4e18", "scanner": "scanner-primary", "fingerprint": "f32a6de271a8336d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fb565b2f16d9a855", "level": "note", "message": {"text": "Legacy-named symbol `deleted_user_copy` in hermes-agent-main/tools/skills_sync.py:370"}, "properties": {"repobilityId": "2b1f3d708515738e", "scanner": "scanner-primary", "fingerprint": "fb565b2f16d9a855", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f9a90825464b0075", "level": "none", "message": {"text": "Commented-code block (9 lines) in hermes-agent-main/tools/skills_sync.py:210"}, "properties": {"repobilityId": "822a6df3848e9bc9", "scanner": "scanner-primary", "fingerprint": "f9a90825464b0075", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9f86dc7ca132cdc8", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/checkpoint_manager.py:236"}, "properties": {"repobilityId": "54bd9ffffd840c4d", "scanner": "scanner-primary", "fingerprint": "9f86dc7ca132cdc8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a984bcaf28ceefdb", "level": "none", "message": {"text": "Commented-code block (15 lines) in hermes-agent-main/tools/file_tools.py:189"}, "properties": {"repobilityId": "f4d28952a0262bb3", "scanner": "scanner-primary", "fingerprint": "a984bcaf28ceefdb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd1ecf98f52ac1d7", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/send_message_tool.py:24"}, "properties": {"repobilityId": "e1b250547d727b85", "scanner": "scanner-primary", "fingerprint": "bd1ecf98f52ac1d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-189518b7ef7de571", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/tools/delegate_tool.py:60"}, "properties": {"repobilityId": "44a90b19f4128284", "scanner": "scanner-primary", "fingerprint": "189518b7ef7de571", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bd0c4751f260dee1", "level": "none", "message": {"text": "Commented-code block (10 lines) in hermes-agent-main/tools/fuzzy_match.py:96"}, "properties": {"repobilityId": "c55a195fff68d935", "scanner": "scanner-primary", "fingerprint": "bd0c4751f260dee1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e0ffa0d5269a4dfc", "level": "note", "message": {"text": "Legacy-named symbol `snapshot_copy` in hermes-agent-main/tools/browser_supervisor.py:442"}, "properties": {"repobilityId": "4923a3bc7c18f9d7", "scanner": "scanner-primary", "fingerprint": "e0ffa0d5269a4dfc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8de5fc29f4bd942c", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/browser_supervisor.py:68"}, "properties": {"repobilityId": "9c64f49d222aaa6e", "scanner": "scanner-primary", "fingerprint": "8de5fc29f4bd942c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-437035d7edc1b7c1", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/registry.py:154"}, "properties": {"repobilityId": "da2ebe712c061827", "scanner": "scanner-primary", "fingerprint": "437035d7edc1b7c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dea295d90968f0c7", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/tirith_security.py:317"}, "properties": {"repobilityId": "209eca1c5d4fc559", "scanner": "scanner-primary", "fingerprint": "dea295d90968f0c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a796441e3b7b5a80", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/cronjob_tools.py:290"}, "properties": {"repobilityId": "f87197976afe46a2", "scanner": "scanner-primary", "fingerprint": "a796441e3b7b5a80", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-20ef4007c5fe0b4a", "level": "none", "message": {"text": "Commented-code block (9 lines) in hermes-agent-main/tools/mcp_oauth_manager.py:253"}, "properties": {"repobilityId": "8da26cd05ffec632", "scanner": "scanner-primary", "fingerprint": "20ef4007c5fe0b4a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea8747aa61b6fb11", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/browser_tool.py:672"}, "properties": {"repobilityId": "c5b3e42a3ea88ad8", "scanner": "scanner-primary", "fingerprint": "ea8747aa61b6fb11", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-afd88e4d911b5d1d", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/skill_manager_tool.py:785"}, "properties": {"repobilityId": "d03c3be5e3c4e12d", "scanner": "scanner-primary", "fingerprint": "afd88e4d911b5d1d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8dd709d4203d0d8", "level": "note", "message": {"text": "Legacy-named symbol `clawhub_catalog_v1` in hermes-agent-main/tools/skills_hub.py:1877"}, "properties": {"repobilityId": "3d0f8e13401cadb3", "scanner": "scanner-primary", "fingerprint": "d8dd709d4203d0d8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-59c27fa7e45ebe25", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/skills_hub.py:1024"}, "properties": {"repobilityId": "1976c5e5fbadeef8", "scanner": "scanner-primary", "fingerprint": "59c27fa7e45ebe25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0fc25eac71970642", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/code_execution_tool.py:1084"}, "properties": {"repobilityId": "bbfddfbe690eea4a", "scanner": "scanner-primary", "fingerprint": "0fc25eac71970642", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f7e52874268b6df3", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/tools/homeassistant_tool.py:41"}, "properties": {"repobilityId": "75f889a92ecb8476", "scanner": "scanner-primary", "fingerprint": "f7e52874268b6df3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4857f1aae08c8413", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in hermes-agent-main/tools/tts_tool.py:131"}, "properties": {"repobilityId": "61e164fd60189fe8", "scanner": "scanner-primary", "fingerprint": "4857f1aae08c8413", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6abf47ff78943637", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/tools/tts_tool.py:294"}, "properties": {"repobilityId": "f29b4fc8e8c83683", "scanner": "scanner-primary", "fingerprint": "6abf47ff78943637", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9e77ca02d4f08c0", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/mcp_oauth.py:204"}, "properties": {"repobilityId": "2830b1d725168f9c", "scanner": "scanner-primary", "fingerprint": "d9e77ca02d4f08c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c99a3750a920195", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/tools/image_generation_tool.py:52"}, "properties": {"repobilityId": "6d4194389094a7d4", "scanner": "scanner-primary", "fingerprint": "0c99a3750a920195", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd117eab9ba0b4fc", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/file_operations.py:385"}, "properties": {"repobilityId": "7352f8b5125e707f", "scanner": "scanner-primary", "fingerprint": "fd117eab9ba0b4fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-28718020f6a2f2e5", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/process_registry.py:61"}, "properties": {"repobilityId": "4a4545a09b0b0140", "scanner": "scanner-primary", "fingerprint": "28718020f6a2f2e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f769faa0044deb0f", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/tools/approval.py:119"}, "properties": {"repobilityId": "c1df52fd323eb53d", "scanner": "scanner-primary", "fingerprint": "f769faa0044deb0f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10f44da8ef8bec3b", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/tools/terminal_tool.py:222"}, "properties": {"repobilityId": "bf59e91294eb3ffe", "scanner": "scanner-primary", "fingerprint": "10f44da8ef8bec3b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1b3b238bd56ec33a", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/environments/local.py:294"}, "properties": {"repobilityId": "0910516e983fa2f9", "scanner": "scanner-primary", "fingerprint": "1b3b238bd56ec33a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2137e4886a8a2111", "level": "none", "message": {"text": "Commented-code block (13 lines) in hermes-agent-main/tools/environments/docker.py:146"}, "properties": {"repobilityId": "10da06a45e246b24", "scanner": "scanner-primary", "fingerprint": "2137e4886a8a2111", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-80adae62a28d46a2", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/tools/environments/ssh.py:51"}, "properties": {"repobilityId": "0f1ecd158e764dda", "scanner": "scanner-primary", "fingerprint": "80adae62a28d46a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf2f8ed9063d7bae", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/tools/environments/base.py:394"}, "properties": {"repobilityId": "5c3e1aaa88c9a8e7", "scanner": "scanner-primary", "fingerprint": "cf2f8ed9063d7bae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea53a5f3a78ceca4", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/utils/sliceAnsi.ts:14"}, "properties": {"repobilityId": "b0db00d19e4c756b", "scanner": "scanner-primary", "fingerprint": "ea53a5f3a78ceca4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b655d7a14bbf2c4e", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/log-update.test.ts:89"}, "properties": {"repobilityId": "8608a571e38b4ebb", "scanner": "scanner-primary", "fingerprint": "b655d7a14bbf2c4e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-20a2788854a4c8e4", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/log-update.ts:144"}, "properties": {"repobilityId": "59a89b83c513dde6", "scanner": "scanner-primary", "fingerprint": "20a2788854a4c8e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-258199d1527d9cb7", "level": "none", "message": {"text": "Commented-code block (12 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/searchHighlight.ts:36"}, "properties": {"repobilityId": "6d41254b2d0ddde5", "scanner": "scanner-primary", "fingerprint": "258199d1527d9cb7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0aec08a859c1de5", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/selection.ts:101"}, "properties": {"repobilityId": "688e3b8af07a9c1e", "scanner": "scanner-primary", "fingerprint": "f0aec08a859c1de5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cbe8d88ac6081dad", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/output.ts:290"}, "properties": {"repobilityId": "2deef4cb63481f1c", "scanner": "scanner-primary", "fingerprint": "cbe8d88ac6081dad", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2eae454c7edfb460", "level": "none", "message": {"text": "Commented-code block (11 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/renderer.ts:77"}, "properties": {"repobilityId": "4ec35454d208fb0f", "scanner": "scanner-primary", "fingerprint": "2eae454c7edfb460", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-16f12b26b84208d3", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/cache-eviction.ts:1"}, "properties": {"repobilityId": "9790af34108311cc", "scanner": "scanner-primary", "fingerprint": "16f12b26b84208d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-967fd89f37c0e250", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/terminal.ts:140"}, "properties": {"repobilityId": "4d8bd80f5a72c84e", "scanner": "scanner-primary", "fingerprint": "967fd89f37c0e250", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-de2037954c812800", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/optimizer.ts:66"}, "properties": {"repobilityId": "c9ab9f3e7dd217e2", "scanner": "scanner-primary", "fingerprint": "de2037954c812800", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9fb962b56ead7648", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/ink.tsx:181"}, "properties": {"repobilityId": "c97244a7148fa2f7", "scanner": "scanner-primary", "fingerprint": "9fb962b56ead7648", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d79a40b780a57605", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/screen.ts:103"}, "properties": {"repobilityId": "868df378dd753b11", "scanner": "scanner-primary", "fingerprint": "d79a40b780a57605", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b43b5aa0e7c1d110", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/dom.ts:62"}, "properties": {"repobilityId": "be0998f3632b7865", "scanner": "scanner-primary", "fingerprint": "b43b5aa0e7c1d110", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c730eac066ee3cb9", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/parse-keypress.ts:25"}, "properties": {"repobilityId": "74f1df2348809780", "scanner": "scanner-primary", "fingerprint": "c730eac066ee3cb9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-693ccf2c09d87501", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/terminal-focus-state.ts:1"}, "properties": {"repobilityId": "1dc4c6db086ed64a", "scanner": "scanner-primary", "fingerprint": "693ccf2c09d87501", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-53768acd92a50044", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/render-to-screen.ts:150"}, "properties": {"repobilityId": "0839e04ee7b162e3", "scanner": "scanner-primary", "fingerprint": "53768acd92a50044", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5b9b28407bfd34c", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/stringWidth.ts:263"}, "properties": {"repobilityId": "90aeb19c00211995", "scanner": "scanner-primary", "fingerprint": "f5b9b28407bfd34c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ead92252506c1beb", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/wrap-text.ts:10"}, "properties": {"repobilityId": "590d1f30c2e16ae3", "scanner": "scanner-primary", "fingerprint": "ead92252506c1beb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-94f89fc60cd12baf", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/render-node-to-output.ts:25"}, "properties": {"repobilityId": "399ff2fdfad25e35", "scanner": "scanner-primary", "fingerprint": "94f89fc60cd12baf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-30ba440cdcc46eda", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/colorize.ts:224"}, "properties": {"repobilityId": "112979fff5813778", "scanner": "scanner-primary", "fingerprint": "30ba440cdcc46eda", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84cb22d869f15a85", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/events/input-event.ts:77"}, "properties": {"repobilityId": "11ee0f467aae66b8", "scanner": "scanner-primary", "fingerprint": "84cb22d869f15a85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a7f636f3bb9320f", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/components/ScrollBox.tsx:88"}, "properties": {"repobilityId": "82420372b904d229", "scanner": "scanner-primary", "fingerprint": "8a7f636f3bb9320f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8fee47857a13afc5", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/components/App.tsx:45"}, "properties": {"repobilityId": "2f07ce9cedfb548d", "scanner": "scanner-primary", "fingerprint": "8fee47857a13afc5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8a80870a05712c9d", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/hooks/use-input.ts:47"}, "properties": {"repobilityId": "7898d821b302e5de", "scanner": "scanner-primary", "fingerprint": "8a80870a05712c9d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c3e0284e01fc62f", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/hooks/use-terminal-viewport.ts:54"}, "properties": {"repobilityId": "17f6140d1d0c35e1", "scanner": "scanner-primary", "fingerprint": "0c3e0284e01fc62f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34cf56f4b593f351", "level": "none", "message": {"text": "Commented-code block (13 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/hooks/use-declared-cursor.ts:42"}, "properties": {"repobilityId": "e3e3fd5dea7eaacd", "scanner": "scanner-primary", "fingerprint": "34cf56f4b593f351", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a975b1a19f2b2fbe", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/termio/tokenize.ts:199"}, "properties": {"repobilityId": "fd08cc887ed2b388", "scanner": "scanner-primary", "fingerprint": "a975b1a19f2b2fbe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89bcb12d33c60725", "level": "none", "message": {"text": "Commented-code block (9 lines) in hermes-agent-main/ui-tui/packages/hermes-ink/src/ink/termio/osc.ts:191"}, "properties": {"repobilityId": "7e3f4db714b55c0a", "scanner": "scanner-primary", "fingerprint": "89bcb12d33c60725", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73af017ba5087a08", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/theme.ts:262"}, "properties": {"repobilityId": "77282fa91a984eca", "scanner": "scanner-primary", "fingerprint": "73af017ba5087a08", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ff4a3306eb59a09f", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/types.ts:128"}, "properties": {"repobilityId": "8a39a2a196917bd1", "scanner": "scanner-primary", "fingerprint": "ff4a3306eb59a09f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72143f764e5bcb07", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/__tests__/platform.test.ts:122"}, "properties": {"repobilityId": "579c6e2b5b789271", "scanner": "scanner-primary", "fingerprint": "72143f764e5bcb07", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b7fd98eff7736e46", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/mathUnicode.test.ts:79"}, "properties": {"repobilityId": "8b83faac2f86f676", "scanner": "scanner-primary", "fingerprint": "b7fd98eff7736e46", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62b74be1ad0a83e0", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/useConfigSync.test.ts:211"}, "properties": {"repobilityId": "537499a61f64ac7e", "scanner": "scanner-primary", "fingerprint": "62b74be1ad0a83e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-531819cccfd1c680", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/createSlashHandler.test.ts:176"}, "properties": {"repobilityId": "37b98b7b627b0089", "scanner": "scanner-primary", "fingerprint": "531819cccfd1c680", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-173f153a8d7df140", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/__tests__/markdown.test.ts:103"}, "properties": {"repobilityId": "77b725f45f99fa61", "scanner": "scanner-primary", "fingerprint": "173f153a8d7df140", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5551913f7cfa21ae", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/ui-tui/src/__tests__/theme.test.ts:3"}, "properties": {"repobilityId": "12bad18777779391", "scanner": "scanner-primary", "fingerprint": "5551913f7cfa21ae", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-89472ab5c308dc3d", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/config/limits.ts:6"}, "properties": {"repobilityId": "799af0d88a63a2d5", "scanner": "scanner-primary", "fingerprint": "89472ab5c308dc3d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e58109246d84086b", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/components/thinking.tsx:729"}, "properties": {"repobilityId": "bd1b9fb6575150b1", "scanner": "scanner-primary", "fingerprint": "e58109246d84086b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f53e33bc6949f1f", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/components/textInput.tsx:710"}, "properties": {"repobilityId": "d0c9eb54a4308cc3", "scanner": "scanner-primary", "fingerprint": "3f53e33bc6949f1f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49de62f416e828d6", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/components/markdown.tsx:9"}, "properties": {"repobilityId": "9f221724d4305e05", "scanner": "scanner-primary", "fingerprint": "49de62f416e828d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56efd9a0455bb0ba", "level": "none", "message": {"text": "Commented-code block (9 lines) in hermes-agent-main/ui-tui/src/components/streamingMarkdown.tsx:7"}, "properties": {"repobilityId": "2901fa86d0d2db93", "scanner": "scanner-primary", "fingerprint": "56efd9a0455bb0ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3d400e085781acec", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/components/messageLine.tsx:37"}, "properties": {"repobilityId": "e5ee7393bdf36676", "scanner": "scanner-primary", "fingerprint": "3d400e085781acec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-88dd1dfd369286f8", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/app/turnController.ts:434"}, "properties": {"repobilityId": "e15d2b98fde36363", "scanner": "scanner-primary", "fingerprint": "88dd1dfd369286f8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-933ea7e04797f444", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/useInputHandlers.ts:163"}, "properties": {"repobilityId": "8d8aec0e7bc1e503", "scanner": "scanner-primary", "fingerprint": "933ea7e04797f444", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f0073a73b7044c9f", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/delegationStore.ts:33"}, "properties": {"repobilityId": "79b3c971f5bb8c26", "scanner": "scanner-primary", "fingerprint": "f0073a73b7044c9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-213427b37395f981", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/useSubmission.ts:218"}, "properties": {"repobilityId": "b2507caf4a44e40b", "scanner": "scanner-primary", "fingerprint": "213427b37395f981", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09d8250d54a4cba7", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/app/useConfigSync.ts:39"}, "properties": {"repobilityId": "f8920d2f7ab3a375", "scanner": "scanner-primary", "fingerprint": "09d8250d54a4cba7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f1cbd6409fa1d5ba", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/app/createGatewayEventHandler.ts:388"}, "properties": {"repobilityId": "6482d008d92e531d", "scanner": "scanner-primary", "fingerprint": "f1cbd6409fa1d5ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34c2262e1e00bd6c", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/app/useMainApp.ts:365"}, "properties": {"repobilityId": "f97bcd7796f762be", "scanner": "scanner-primary", "fingerprint": "34c2262e1e00bd6c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f094869d036b6c14", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/app/slash/commands/session.ts:230"}, "properties": {"repobilityId": "7ee5d2c635e18f96", "scanner": "scanner-primary", "fingerprint": "f094869d036b6c14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a361614efdf6ea8c", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/lib/emoji.ts:38"}, "properties": {"repobilityId": "c7803b868de9d47a", "scanner": "scanner-primary", "fingerprint": "a361614efdf6ea8c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7fee73e57faeefc", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/lib/mathUnicode.ts:1"}, "properties": {"repobilityId": "3540a9ae0943b182", "scanner": "scanner-primary", "fingerprint": "e7fee73e57faeefc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dab36f960c1013a9", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/ui-tui/src/lib/wheelAccel.ts:7"}, "properties": {"repobilityId": "4107fc0e5401587c", "scanner": "scanner-primary", "fingerprint": "dab36f960c1013a9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3aec7eaedadb8780", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/lib/memoryMonitor.ts:21"}, "properties": {"repobilityId": "79b6d7e6777cdf05", "scanner": "scanner-primary", "fingerprint": "3aec7eaedadb8780", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-539ee9cfeaef8fef", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/ui-tui/src/lib/platform.ts:248"}, "properties": {"repobilityId": "5015c4846909aa0a", "scanner": "scanner-primary", "fingerprint": "539ee9cfeaef8fef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b5d4d55255ec5b97", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/ui-tui/src/hooks/useVirtualHistory.ts:14"}, "properties": {"repobilityId": "a4ee7701899c3590", "scanner": "scanner-primary", "fingerprint": "b5d4d55255ec5b97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab93f7eb5ca5db22", "level": "none", "message": {"text": "Commented-code block (10 lines) in hermes-agent-main/ui-tui/src/domain/details.ts:10"}, "properties": {"repobilityId": "274729d27e90b065", "scanner": "scanner-primary", "fingerprint": "ab93f7eb5ca5db22", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-903737768eb138aa", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/config.py:316"}, "properties": {"repobilityId": "cc3827dd918659f8", "scanner": "scanner-primary", "fingerprint": "903737768eb138aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3a91fca8249158a1", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/stream_consumer.py:47"}, "properties": {"repobilityId": "8915ce028638a8d5", "scanner": "scanner-primary", "fingerprint": "3a91fca8249158a1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04d22625d476f49e", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/gateway/status.py:621"}, "properties": {"repobilityId": "23a2e40cd4ed57cb", "scanner": "scanner-primary", "fingerprint": "04d22625d476f49e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e17984177123c69", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/session.py:296"}, "properties": {"repobilityId": "98f6784972264a49", "scanner": "scanner-primary", "fingerprint": "5e17984177123c69", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8b5f07bcc0af2eae", "level": "note", "message": {"text": "Legacy-named symbol `_warned_telegram_group_users_legacy` in hermes-agent-main/gateway/run.py:4446"}, "properties": {"repobilityId": "e495c0269e34d5cc", "scanner": "scanner-primary", "fingerprint": "8b5f07bcc0af2eae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-61c8444114406c97", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/gateway/run.py:35"}, "properties": {"repobilityId": "5b4ec0b7cf60a238", "scanner": "scanner-primary", "fingerprint": "61c8444114406c97", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ea8dfe5fdaa9b9a", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 hermes-agent-main/gateway/run.py:14634"}, "properties": {"repobilityId": "3d3883cfefc2848b", "scanner": "scanner-primary", "fingerprint": "9ea8dfe5fdaa9b9a", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/gateway/run.py"}, "region": {"startLine": 14634}}}]}, {"ruleId": "scanner-1f7b75f4874ebb2c", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def start_gateway` \u2014 hermes-agent-main/gateway/run.py:14645"}, "properties": {"repobilityId": "04178b20347d9854", "scanner": "scanner-primary", "fingerprint": "1f7b75f4874ebb2c", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/gateway/run.py"}, "region": {"startLine": 14645}}}]}, {"ruleId": "scanner-5be06806b5b77ddb", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/hooks.py:101"}, "properties": {"repobilityId": "49783339d4bd8555", "scanner": "scanner-primary", "fingerprint": "5be06806b5b77ddb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8976bb166dfd022c", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/gateway/whatsapp_identity.py:93"}, "properties": {"repobilityId": "af977f53cd9d7a8c", "scanner": "scanner-primary", "fingerprint": "8976bb166dfd022c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f79c84b6a4d18160", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/signal.py:195"}, "properties": {"repobilityId": "d42074c88f7933cb", "scanner": "scanner-primary", "fingerprint": "f79c84b6a4d18160", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f7cbc959ae036c5", "level": "note", "message": {"text": "Legacy-named symbol `comment_add_v1` in hermes-agent-main/gateway/platforms/feishu_comment.py:4"}, "properties": {"repobilityId": "e453acb1f002bdad", "scanner": "scanner-primary", "fingerprint": "6f7cbc959ae036c5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8fccf62d16a0ec92", "level": "none", "message": {"text": "Commented-code block (11 lines) in hermes-agent-main/gateway/platforms/matrix.py:652"}, "properties": {"repobilityId": "f22ff46025829f06", "scanner": "scanner-primary", "fingerprint": "8fccf62d16a0ec92", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ffb42fa6e97b4056", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/api_server.py:986"}, "properties": {"repobilityId": "97d5cab85dd57609", "scanner": "scanner-primary", "fingerprint": "ffb42fa6e97b4056", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eed81f275bc84c20", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/whatsapp.py:188"}, "properties": {"repobilityId": "9b19c2b56f06e97f", "scanner": "scanner-primary", "fingerprint": "eed81f275bc84c20", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-83b6c1d33a14ecb6", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/gateway/platforms/whatsapp.py:449"}, "properties": {"repobilityId": "1044e1a82893a5f1", "scanner": "scanner-primary", "fingerprint": "83b6c1d33a14ecb6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-67b7062ee4d4f829", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/telegram.py:515"}, "properties": {"repobilityId": "aaa324dc2d1ea807", "scanner": "scanner-primary", "fingerprint": "67b7062ee4d4f829", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54dd0d7597c1bfc5", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/base.py:887"}, "properties": {"repobilityId": "f3b4f0d88c4ad7c7", "scanner": "scanner-primary", "fingerprint": "54dd0d7597c1bfc5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-811686b60ff08385", "level": "note", "message": {"text": "Legacy-named symbol `receive_v1` in hermes-agent-main/gateway/platforms/feishu.py:427"}, "properties": {"repobilityId": "12c9dbbf0ef05d8c", "scanner": "scanner-primary", "fingerprint": "811686b60ff08385", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7c9e45831881bf96", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/gateway/platforms/discord.py:612"}, "properties": {"repobilityId": "84b9b7c52531e63b", "scanner": "scanner-primary", "fingerprint": "7c9e45831881bf96", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-08226aa705affff7", "level": "note", "message": {"text": "Legacy-named symbol `files_upload_v2` in hermes-agent-main/gateway/platforms/slack.py:962"}, "properties": {"repobilityId": "0c766473d6db894f", "scanner": "scanner-primary", "fingerprint": "08226aa705affff7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d1f1e52805ca2649", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/slack.py:55"}, "properties": {"repobilityId": "74187df08381a66e", "scanner": "scanner-primary", "fingerprint": "d1f1e52805ca2649", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-566856cbb53df44d", "level": "note", "message": {"text": "Stub function `handle_file_shared` (body is just `pass`/`return`) \u2014 hermes-agent-main/gateway/platforms/slack.py:593"}, "properties": {"repobilityId": "9349affbaab7a344", "scanner": "scanner-primary", "fingerprint": "566856cbb53df44d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-0ee67c124863d8af", "level": "none", "message": {"text": "Commented-code block (7 lines) in hermes-agent-main/gateway/platforms/webhook.py:84"}, "properties": {"repobilityId": "722328d714a09dce", "scanner": "scanner-primary", "fingerprint": "0ee67c124863d8af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fa406cbd63d2fa93", "level": "none", "message": {"text": "Commented-code block (10 lines) in hermes-agent-main/gateway/platforms/yuanbao_proto.py:276"}, "properties": {"repobilityId": "598bbb0fa9273f8f", "scanner": "scanner-primary", "fingerprint": "fa406cbd63d2fa93", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f623239bdba018a", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/gateway/platforms/email.py:419"}, "properties": {"repobilityId": "9032170fc19ca5c9", "scanner": "scanner-primary", "fingerprint": "6f623239bdba018a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a62ad44cafdbb44e", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/gateway/platforms/dingtalk.py:18"}, "properties": {"repobilityId": "2a00322e67aaf6c4", "scanner": "scanner-primary", "fingerprint": "a62ad44cafdbb44e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-869c8b579af3572e", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/acp_adapter/server.py:496"}, "properties": {"repobilityId": "a4a7d95a27243ee8", "scanner": "scanner-primary", "fingerprint": "869c8b579af3572e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea2f58445caefefb", "level": "none", "message": {"text": "Commented-code block (8 lines) in hermes-agent-main/acp_adapter/entry.py:23"}, "properties": {"repobilityId": "e525e745be5e4a93", "scanner": "scanner-primary", "fingerprint": "ea2f58445caefefb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a4e2f28625cdd2c4", "level": "note", "message": {"text": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 hermes-agent-main/plugins/context_engine/__init__.py:209"}, "properties": {"repobilityId": "431b75f9f0882c4c", "scanner": "scanner-primary", "fingerprint": "a4e2f28625cdd2c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-c138a34893e70ecb", "level": "note", "message": {"text": "Stub function `serve_static` (body is just `pass`/`return`) \u2014 hermes-agent-main/plugins/platforms/teams/adapter.py:126"}, "properties": {"repobilityId": "9c06ebe671b238a1", "scanner": "scanner-primary", "fingerprint": "c138a34893e70ecb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-5e31d8ec72b1df4e", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:369"}, "properties": {"repobilityId": "63f8bcff3578967c", "scanner": "scanner-primary", "fingerprint": "5e31d8ec72b1df4e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1769340a6dcb3245", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/plugins/google_meet/meet_bot.py:369"}, "properties": {"repobilityId": "09e96a1cb6bc8428", "scanner": "scanner-primary", "fingerprint": "1769340a6dcb3245", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c4a3d2d3b278a9ba", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/plugins/google_meet/process_manager.py:27"}, "properties": {"repobilityId": "a6bda83d26a1f0f0", "scanner": "scanner-primary", "fingerprint": "c4a3d2d3b278a9ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-620d20c78808f4c7", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/plugins/google_meet/audio_bridge.py:141"}, "properties": {"repobilityId": "d380e910d41b2c78", "scanner": "scanner-primary", "fingerprint": "620d20c78808f4c7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-beb259d7b07889bf", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/plugins/disk-cleanup/__init__.py:94"}, "properties": {"repobilityId": "ee702696648458ef", "scanner": "scanner-primary", "fingerprint": "beb259d7b07889bf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f05e970fb656e43b", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/plugins/observability/langfuse/__init__.py:593"}, "properties": {"repobilityId": "b0ab97b34597b328", "scanner": "scanner-primary", "fingerprint": "f05e970fb656e43b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-12640a6ddb23af69", "level": "note", "message": {"text": "Stub function `register_tool` (body is just `pass`/`return`) \u2014 hermes-agent-main/plugins/memory/__init__.py:298"}, "properties": {"repobilityId": "416ab21646c026aa", "scanner": "scanner-primary", "fingerprint": "12640a6ddb23af69", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-aeb636361a446399", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/plugins/memory/honcho/client.py:157"}, "properties": {"repobilityId": "07372444c1837b2f", "scanner": "scanner-primary", "fingerprint": "aeb636361a446399", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e855b8580d3c427", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 hermes-agent-main/plugins/memory/honcho/cli.py:343"}, "properties": {"repobilityId": "8cb89157c3e1ec4c", "scanner": "scanner-primary", "fingerprint": "5e855b8580d3c427", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ff594733734a1c45", "level": "none", "message": {"text": "Commented-code block (14 lines) in hermes-agent-main/plugins/memory/honcho/session.py:285"}, "properties": {"repobilityId": "40ee97a599ec9c07", "scanner": "scanner-primary", "fingerprint": "ff594733734a1c45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a559b20e9eea9dcc", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/plugins/memory/openviking/__init__.py:626"}, "properties": {"repobilityId": "b5d240ebec172efc", "scanner": "scanner-primary", "fingerprint": "a559b20e9eea9dcc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d0a62363ded086be", "level": "none", "message": {"text": "Commented-code block (5 lines) in hermes-agent-main/plugins/memory/hindsight/__init__.py:925"}, "properties": {"repobilityId": "acc8f838b638fbd8", "scanner": "scanner-primary", "fingerprint": "d0a62363ded086be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4598840c307179fa", "level": "none", "message": {"text": "Commented-code block (6 lines) in hermes-agent-main/environments/agent_loop.py:27"}, "properties": {"repobilityId": "70d99156d649c94f", "scanner": "scanner-primary", "fingerprint": "4598840c307179fa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a23d84ec7966374d", "level": "note", "message": {"text": "Stub function `score` (body is just `pass`/`return`) \u2014 hermes-agent-main/environments/benchmarks/yc_bench/yc_bench_env.py:475"}, "properties": {"repobilityId": "4c8910404e922135", "scanner": "scanner-primary", "fingerprint": "a23d84ec7966374d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-abd655a1c4b322ba", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/import-osm-nl-campings.ts:111"}, "properties": {"repobilityId": "f16a7d4725afbd43", "scanner": "scanner-primary", "fingerprint": "abd655a1c4b322ba", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e47d66ce43ca7494", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/seed-poule.ts:21"}, "properties": {"repobilityId": "0ee1ea7d5ec2b36d", "scanner": "scanner-primary", "fingerprint": "e47d66ce43ca7494", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ac6e3001faaf64ba", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scripts/test-social-post.ts:10"}, "properties": {"repobilityId": "ba48c89993e748ba", "scanner": "scanner-primary", "fingerprint": "ac6e3001faaf64ba", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-de8b267336654a9a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/introspect-buffer.ts:18"}, "properties": {"repobilityId": "438b80fff7dcdde8", "scanner": "scanner-primary", "fingerprint": "de8b267336654a9a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ae6e48ebdf4e2f6c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/list-all-models.ts:19"}, "properties": {"repobilityId": "f9d2ff551555355e", "scanner": "scanner-primary", "fingerprint": "ae6e48ebdf4e2f6c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d8f5a62166b32fab", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/check-resend-emails.ts:11"}, "properties": {"repobilityId": "8d3dcbfaca068ab6", "scanner": "scanner-primary", "fingerprint": "d8f5a62166b32fab", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-205e5b9b62451c9d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/list_models.ts:10"}, "properties": {"repobilityId": "b34b996db950e133", "scanner": "scanner-primary", "fingerprint": "205e5b9b62451c9d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ff3185f9289cee99", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/download-social-test.ts:5"}, "properties": {"repobilityId": "ec59368d2ad14d20", "scanner": "scanner-primary", "fingerprint": "ff3185f9289cee99", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2f22447b0305b9f3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/check-resend-domains.ts:11"}, "properties": {"repobilityId": "21c6ee5b701a87a7", "scanner": "scanner-primary", "fingerprint": "2f22447b0305b9f3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8b9ff0fa498c2ea0", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/test-social-final.ts:23"}, "properties": {"repobilityId": "fca714b61433bde4", "scanner": "scanner-primary", "fingerprint": "8b9ff0fa498c2ea0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d60b8c0e0b3342cc", "level": "none", "message": {"text": "Commented-code block (6 lines) in scratch/new_handoff/design_handoff_weerzone_auth/tweaks-panel.jsx:12"}, "properties": {"repobilityId": "755c83cf4993306c", "scanner": "scanner-primary", "fingerprint": "d60b8c0e0b3342cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-22e912fc144f1b8d", "level": "none", "message": {"text": "Commented-code block (6 lines) in scratch/new_handoff/design_handoff_weerzone_auth/design-canvas.jsx:2"}, "properties": {"repobilityId": "06a85b8fdb9b9b1f", "scanner": "scanner-primary", "fingerprint": "22e912fc144f1b8d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fc142bd1c9e890bc", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 scratch/new_handoff/design_handoff_weerzone_auth/design-canvas.jsx:63"}, "properties": {"repobilityId": "8ade4959f61d4214", "scanner": "scanner-primary", "fingerprint": "fc142bd1c9e890bc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f71b55dc44c756fc", "level": "none", "message": {"text": "Commented-code block (7 lines) in pipeline/tweaks-panel.jsx:12"}, "properties": {"repobilityId": "cfa900cd6dbab5ca", "scanner": "scanner-primary", "fingerprint": "f71b55dc44c756fc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f28cad65d94a6fd", "level": "none", "message": {"text": "Commented-code block (5 lines) in pipeline/deck-stage.js:592"}, "properties": {"repobilityId": "00bf2665e8f787d8", "scanner": "scanner-primary", "fingerprint": "6f28cad65d94a6fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c09726676de26342", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 pipeline/index.ts:34"}, "properties": {"repobilityId": "55d05b02fd7a03c7", "scanner": "scanner-primary", "fingerprint": "c09726676de26342", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ef19030d42d87fb1", "level": "none", "message": {"text": "Commented-code block (7 lines) in public/hartmanwk2026-prototype/tweaks-panel.jsx:16"}, "properties": {"repobilityId": "5f6caf8297e53fbe", "scanner": "scanner-primary", "fingerprint": "ef19030d42d87fb1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b0c1d596ff63ac04", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/components/PietExtended.tsx:331"}, "properties": {"repobilityId": "4adb9ccdee3a8508", "scanner": "scanner-primary", "fingerprint": "b0c1d596ff63ac04", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-fd3ebb80cc778379", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/layout.tsx:62"}, "properties": {"repobilityId": "0606ead0d685d1a5", "scanner": "scanner-primary", "fingerprint": "fd3ebb80cc778379", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7de2dd5df4aadcd", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/voorkeuren/VoorkeurenForm.tsx:12"}, "properties": {"repobilityId": "48f645a07612424b", "scanner": "scanner-primary", "fingerprint": "a7de2dd5df4aadcd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-331b941ef30ca44d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/magnolia/balance/route.ts:63"}, "properties": {"repobilityId": "1dacced6845f3863", "scanner": "scanner-primary", "fingerprint": "331b941ef30ca44d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bf17320d2a84165e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/visuals/gen/route.tsx:32"}, "properties": {"repobilityId": "6bd0042f98f89487", "scanner": "scanner-primary", "fingerprint": "bf17320d2a84165e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7ad2494ad3411e6a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/social/dagelijks/route.tsx:16"}, "properties": {"repobilityId": "b541043c183c46fa", "scanner": "scanner-primary", "fingerprint": "7ad2494ad3411e6a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cd28af55126ce255", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/social/wz-slide/route.tsx:62"}, "properties": {"repobilityId": "4add8f1f059f90bb", "scanner": "scanner-primary", "fingerprint": "cd28af55126ce255", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b5245ad55ada3cb4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/indexnow/route.ts:46"}, "properties": {"repobilityId": "3754bbfacd209739", "scanner": "scanner-primary", "fingerprint": "b5245ad55ada3cb4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f31de9028913cfee", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(site)/api/cron/indexnow-ping/route.ts:4"}, "properties": {"repobilityId": "a02df0d82f6b1a09", "scanner": "scanner-primary", "fingerprint": "f31de9028913cfee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6472e098260f87b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/cron/openclaw-harvester/route.ts:41"}, "properties": {"repobilityId": "8ea4d6d565ad7ec9", "scanner": "scanner-primary", "fingerprint": "a6472e098260f87b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dad2c47e0914a40f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/api/cron/piet-morning-email/route.ts:48"}, "properties": {"repobilityId": "2a631ef8fa00d8c9", "scanner": "scanner-primary", "fingerprint": "dad2c47e0914a40f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ee571232bf1e9c44", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/app/(site)/magnolia/page.tsx:55"}, "properties": {"repobilityId": "8db1a19455ae5a54", "scanner": "scanner-primary", "fingerprint": "ee571232bf1e9c44", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f6322087143a762d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/app/(site)/app/page.tsx:5"}, "properties": {"repobilityId": "fe0303752b26fa27", "scanner": "scanner-primary", "fingerprint": "f6322087143a762d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c89f0db9e58eb1a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/weather.ts:561"}, "properties": {"repobilityId": "2ff711285c6fac98", "scanner": "scanner-primary", "fingerprint": "2c89f0db9e58eb1a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a209b6a6121918a4", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/knmi-warnings.ts:244"}, "properties": {"repobilityId": "cc5dbcb801c251b0", "scanner": "scanner-primary", "fingerprint": "a209b6a6121918a4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-431786089ecb2f50", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/auth-i18n.tsx:683"}, "properties": {"repobilityId": "409446b56d47a873", "scanner": "scanner-primary", "fingerprint": "431786089ecb2f50", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-84f1fd822dfc9869", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/b2b-discovery.ts:13"}, "properties": {"repobilityId": "385431759ebed1fc", "scanner": "scanner-primary", "fingerprint": "84f1fd822dfc9869", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3f91d579c76e0051", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/hartmanwk-fifa.ts:34"}, "properties": {"repobilityId": "b6fd511fc45e4de9", "scanner": "scanner-primary", "fingerprint": "3f91d579c76e0051", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-44b8256b5ecb50be", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/indexnow.ts:23"}, "properties": {"repobilityId": "7829f6dab2df13fe", "scanner": "scanner-primary", "fingerprint": "44b8256b5ecb50be", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a92ad6ddbb3ab554", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/commentary.ts:4"}, "properties": {"repobilityId": "e5421bd1ced1cf8d", "scanner": "scanner-primary", "fingerprint": "a92ad6ddbb3ab554", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8cfecdeb3d33029", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/knmi-edr.ts:306"}, "properties": {"repobilityId": "3ead62dd509b7c1a", "scanner": "scanner-primary", "fingerprint": "d8cfecdeb3d33029", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d35fee4adb25aa36", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 src/lib/google/maps.ts:16"}, "properties": {"repobilityId": "0c633b770034a6b3", "scanner": "scanner-primary", "fingerprint": "d35fee4adb25aa36", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-212bd259f5f07de5", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/lib/mariana/tesla/client.ts:83"}, "properties": {"repobilityId": "8bae1c53a63a800f", "scanner": "scanner-primary", "fingerprint": "212bd259f5f07de5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "518ca42370045e5c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "2c99d43185a33c56", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "49cddc709e9820bf", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7ea7ba23e00fe06e", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "8621e2a19d07de91", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "7be83c796ab0d99e", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "879898ae75a587cd", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "14f3cf09f0a33732", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "c499aa28710bbb22", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "b4b0490ebba664ec", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "d29beeb6ea62e868", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "06893697896b2cca", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "094662c69fa2e411", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "33dd0749b18ccb07", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "51778412e2d8d6f1", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "14d5ba59e29a20a8", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "4bf544a1860737ae", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "754e0e42bf8ef9d7", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "a4735e001489e687", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "75dc015d8aa0b5bb", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-326235215659b74c", "level": "error", "message": {"text": "FastAPI POST `restart_gateway` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:702"}, "properties": {"repobilityId": "d1a9c2f0b6b153c9", "scanner": "scanner-primary", "fingerprint": "326235215659b74c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 702}}}]}, {"ruleId": "scanner-e5eebd72853de754", "level": "error", "message": {"text": "FastAPI POST `update_hermes` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:717"}, "properties": {"repobilityId": "5fc73ca9574aaf8f", "scanner": "scanner-primary", "fingerprint": "e5eebd72853de754", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 717}}}]}, {"ruleId": "scanner-61589c1901275256", "level": "error", "message": {"text": "FastAPI POST `set_model_assignment` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1065"}, "properties": {"repobilityId": "1ad47b8d37d00fe2", "scanner": "scanner-primary", "fingerprint": "61589c1901275256", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 1065}}}]}, {"ruleId": "scanner-4e08a0b59c0598ab", "level": "error", "message": {"text": "FastAPI PUT `update_config` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1206"}, "properties": {"repobilityId": "24570163f9ce41c6", "scanner": "scanner-primary", "fingerprint": "4e08a0b59c0598ab", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 1206}}}]}, {"ruleId": "scanner-c85dcf7f926c36dd", "level": "error", "message": {"text": "FastAPI PUT `set_env_var` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1235"}, "properties": {"repobilityId": "cd39b22a1d83af30", "scanner": "scanner-primary", "fingerprint": "c85dcf7f926c36dd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 1235}}}]}, {"ruleId": "scanner-ce25ddec4c17d925", "level": "error", "message": {"text": "FastAPI DELETE `remove_env_var` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1245"}, "properties": {"repobilityId": "9af063f7caa565ce", "scanner": "scanner-primary", "fingerprint": "ce25ddec4c17d925", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 1245}}}]}, {"ruleId": "scanner-d51bc4422725dadc", "level": "error", "message": {"text": "FastAPI POST `reveal_env_var` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1259"}, "properties": {"repobilityId": "f287a8be759c7d24", "scanner": "scanner-primary", "fingerprint": "d51bc4422725dadc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 1259}}}]}, {"ruleId": "scanner-abbe43ec4b2fc087", "level": "error", "message": {"text": "FastAPI DELETE `disconnect_oauth_provider` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:1555"}, "properties": {"repobilityId": "c4aa5307e73def30", "scanner": "scanner-primary", "fingerprint": "abbe43ec4b2fc087", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 1555}}}]}, {"ruleId": "scanner-40e26e6c50570610", "level": "error", "message": {"text": "FastAPI POST `start_oauth_login` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2100"}, "properties": {"repobilityId": "f2843c79ba5ec6a8", "scanner": "scanner-primary", "fingerprint": "40e26e6c50570610", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2100}}}]}, {"ruleId": "scanner-36d366a43bdbed46", "level": "error", "message": {"text": "FastAPI POST `submit_oauth_code` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2132"}, "properties": {"repobilityId": "6c948ae27047714c", "scanner": "scanner-primary", "fingerprint": "36d366a43bdbed46", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2132}}}]}, {"ruleId": "scanner-7174b9a451983690", "level": "error", "message": {"text": "FastAPI DELETE `cancel_oauth_session` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2160"}, "properties": {"repobilityId": "86a72da3100bcc84", "scanner": "scanner-primary", "fingerprint": "7174b9a451983690", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2160}}}]}, {"ruleId": "scanner-184ab535ebeca5f3", "level": "error", "message": {"text": "FastAPI DELETE `delete_session_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2204"}, "properties": {"repobilityId": "e492c9cc249208bc", "scanner": "scanner-primary", "fingerprint": "184ab535ebeca5f3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2204}}}]}, {"ruleId": "scanner-e08c5f0cf6960ba6", "level": "error", "message": {"text": "FastAPI POST `create_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2305"}, "properties": {"repobilityId": "ce7829085e822243", "scanner": "scanner-primary", "fingerprint": "e08c5f0cf6960ba6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2305}}}]}, {"ruleId": "scanner-def4ed670a7edc04", "level": "error", "message": {"text": "FastAPI PUT `update_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2317"}, "properties": {"repobilityId": "d3aba5714af744ae", "scanner": "scanner-primary", "fingerprint": "def4ed670a7edc04", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2317}}}]}, {"ruleId": "scanner-5356b673c82d8912", "level": "error", "message": {"text": "FastAPI POST `pause_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2326"}, "properties": {"repobilityId": "6a40b316adf0dd40", "scanner": "scanner-primary", "fingerprint": "5356b673c82d8912", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2326}}}]}, {"ruleId": "scanner-ec618df7f467290c", "level": "error", "message": {"text": "FastAPI POST `resume_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2335"}, "properties": {"repobilityId": "c87e93c7b008f3b5", "scanner": "scanner-primary", "fingerprint": "ec618df7f467290c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2335}}}]}, {"ruleId": "scanner-fc1ec71e5830112e", "level": "error", "message": {"text": "FastAPI POST `trigger_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2344"}, "properties": {"repobilityId": "bba2760453fd30f1", "scanner": "scanner-primary", "fingerprint": "fc1ec71e5830112e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2344}}}]}, {"ruleId": "scanner-fabd50211c192ef8", "level": "error", "message": {"text": "FastAPI DELETE `delete_cron_job` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2353"}, "properties": {"repobilityId": "7845f8377fd46391", "scanner": "scanner-primary", "fingerprint": "fabd50211c192ef8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2353}}}]}, {"ruleId": "scanner-ea83d7ae22e67fc4", "level": "error", "message": {"text": "FastAPI POST `create_profile_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2466"}, "properties": {"repobilityId": "594e1fef27614038", "scanner": "scanner-primary", "fingerprint": "ea83d7ae22e67fc4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2466}}}]}, {"ruleId": "scanner-c954c652e457c216", "level": "error", "message": {"text": "FastAPI POST `open_profile_terminal_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2500"}, "properties": {"repobilityId": "42e604baeea59817", "scanner": "scanner-primary", "fingerprint": "c954c652e457c216", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2500}}}]}, {"ruleId": "scanner-dbc66c5e98019de0", "level": "error", "message": {"text": "FastAPI PATCH `rename_profile_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2554"}, "properties": {"repobilityId": "c2790a07fb23d901", "scanner": "scanner-primary", "fingerprint": "dbc66c5e98019de0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2554}}}]}, {"ruleId": "scanner-c0470bd1ecdb8c2b", "level": "error", "message": {"text": "FastAPI DELETE `delete_profile_endpoint` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2569"}, "properties": {"repobilityId": "0212ac4daf6f7eed", "scanner": "scanner-primary", "fingerprint": "c0470bd1ecdb8c2b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2569}}}]}, {"ruleId": "scanner-9f953545db693c6e", "level": "error", "message": {"text": "FastAPI PUT `update_profile_soul` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2598"}, "properties": {"repobilityId": "e21b791d1fe8277c", "scanner": "scanner-primary", "fingerprint": "9f953545db693c6e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2598}}}]}, {"ruleId": "scanner-cfce813c7bb8df52", "level": "error", "message": {"text": "FastAPI PUT `toggle_skill` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2631"}, "properties": {"repobilityId": "c3c0c28dc15a6b14", "scanner": "scanner-primary", "fingerprint": "cfce813c7bb8df52", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2631}}}]}, {"ruleId": "scanner-2c74715c4b8133c0", "level": "error", "message": {"text": "FastAPI PUT `update_config_raw` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:2693"}, "properties": {"repobilityId": "2ef3a9448a67de3a", "scanner": "scanner-primary", "fingerprint": "2c74715c4b8133c0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 2693}}}]}, {"ruleId": "scanner-d04445930d298822", "level": "error", "message": {"text": "FastAPI PUT `set_dashboard_theme` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3543"}, "properties": {"repobilityId": "3094669144901086", "scanner": "scanner-primary", "fingerprint": "d04445930d298822", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 3543}}}]}, {"ruleId": "scanner-b2fd27b29c50e0a1", "level": "error", "message": {"text": "FastAPI POST `post_agent_plugin_install` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3805"}, "properties": {"repobilityId": "06723195d3555bf5", "scanner": "scanner-primary", "fingerprint": "b2fd27b29c50e0a1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 3805}}}]}, {"ruleId": "scanner-77d297fb136abcd1", "level": "error", "message": {"text": "FastAPI POST `post_agent_plugin_enable` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3833"}, "properties": {"repobilityId": "a98f6cea7b9a45b7", "scanner": "scanner-primary", "fingerprint": "77d297fb136abcd1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 3833}}}]}, {"ruleId": "scanner-e212c7cb82a4dfde", "level": "error", "message": {"text": "FastAPI POST `post_agent_plugin_disable` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3845"}, "properties": {"repobilityId": "4f2e2335402bfa91", "scanner": "scanner-primary", "fingerprint": "e212c7cb82a4dfde", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 3845}}}]}, {"ruleId": "scanner-9cd8ab2b0ed5a2af", "level": "error", "message": {"text": "FastAPI POST `post_agent_plugin_update` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3857"}, "properties": {"repobilityId": "170db756eddbeed2", "scanner": "scanner-primary", "fingerprint": "9cd8ab2b0ed5a2af", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 3857}}}]}, {"ruleId": "scanner-8f31eec827824323", "level": "error", "message": {"text": "FastAPI DELETE `delete_agent_plugin` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3870"}, "properties": {"repobilityId": "7d1678fd8d631098", "scanner": "scanner-primary", "fingerprint": "8f31eec827824323", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 3870}}}]}, {"ruleId": "scanner-e202f5f968024aa5", "level": "error", "message": {"text": "FastAPI PUT `put_plugin_providers` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3888"}, "properties": {"repobilityId": "50ee1f072f473552", "scanner": "scanner-primary", "fingerprint": "e202f5f968024aa5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 3888}}}]}, {"ruleId": "scanner-6b614f74bc038a6b", "level": "error", "message": {"text": "FastAPI POST `post_plugin_visibility` without auth dependency \u2014 hermes-agent-main/hermes_cli/web_server.py:3908"}, "properties": {"repobilityId": "8a60d28740c42936", "scanner": "scanner-primary", "fingerprint": "6b614f74bc038a6b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/hermes_cli/web_server.py"}, "region": {"startLine": 3908}}}]}, {"ruleId": "scanner-6a50d1ba054cf428", "level": "error", "message": {"text": "FastAPI POST `create_task` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:346"}, "properties": {"repobilityId": "61f7eff393675f4c", "scanner": "scanner-primary", "fingerprint": "6a50d1ba054cf428", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 346}}}]}, {"ruleId": "scanner-5fd756e5b928ac7d", "level": "error", "message": {"text": "FastAPI PATCH `update_task` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:409"}, "properties": {"repobilityId": "339984b86910afa7", "scanner": "scanner-primary", "fingerprint": "5fd756e5b928ac7d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 409}}}]}, {"ruleId": "scanner-eb5329daee43129c", "level": "error", "message": {"text": "FastAPI POST `add_comment` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:569"}, "properties": {"repobilityId": "e283285f9a5b769f", "scanner": "scanner-primary", "fingerprint": "eb5329daee43129c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 569}}}]}, {"ruleId": "scanner-7031fef5491d45b9", "level": "error", "message": {"text": "FastAPI POST `add_link` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:595"}, "properties": {"repobilityId": "f908e32111d6c8f0", "scanner": "scanner-primary", "fingerprint": "7031fef5491d45b9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 595}}}]}, {"ruleId": "scanner-5b5797806e41adf1", "level": "error", "message": {"text": "FastAPI DELETE `delete_link` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:608"}, "properties": {"repobilityId": "e5d9b2b82369810e", "scanner": "scanner-primary", "fingerprint": "5b5797806e41adf1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 608}}}]}, {"ruleId": "scanner-39ad1bac55e9affc", "level": "error", "message": {"text": "FastAPI POST `bulk_update` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:638"}, "properties": {"repobilityId": "d4d902e64d6bc3e8", "scanner": "scanner-primary", "fingerprint": "39ad1bac55e9affc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 638}}}]}, {"ruleId": "scanner-184fa2e1005eb637", "level": "error", "message": {"text": "FastAPI POST `subscribe_home` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:834"}, "properties": {"repobilityId": "711550b581a38ef9", "scanner": "scanner-primary", "fingerprint": "184fa2e1005eb637", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 834}}}]}, {"ruleId": "scanner-74d15ad14f35ba35", "level": "error", "message": {"text": "FastAPI DELETE `unsubscribe_home` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:868"}, "properties": {"repobilityId": "24f9f80280364220", "scanner": "scanner-primary", "fingerprint": "74d15ad14f35ba35", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 868}}}]}, {"ruleId": "scanner-56be647c11ce77c5", "level": "error", "message": {"text": "FastAPI POST `dispatch` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:974"}, "properties": {"repobilityId": "225a9d34950842b6", "scanner": "scanner-primary", "fingerprint": "56be647c11ce77c5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 974}}}]}, {"ruleId": "scanner-d6b9f13a39afc081", "level": "error", "message": {"text": "FastAPI POST `create_board_endpoint` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:1045"}, "properties": {"repobilityId": "afa9f9f7a7e2c237", "scanner": "scanner-primary", "fingerprint": "d6b9f13a39afc081", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1045}}}]}, {"ruleId": "scanner-8ecea1370b31e2a3", "level": "error", "message": {"text": "FastAPI PATCH `rename_board` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:1066"}, "properties": {"repobilityId": "b16d45fba35e6c14", "scanner": "scanner-primary", "fingerprint": "8ecea1370b31e2a3", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1066}}}]}, {"ruleId": "scanner-0a45d0ebf5b331f4", "level": "error", "message": {"text": "FastAPI DELETE `delete_board` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:1085"}, "properties": {"repobilityId": "fb98a7aca0edc74f", "scanner": "scanner-primary", "fingerprint": "0a45d0ebf5b331f4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1085}}}]}, {"ruleId": "scanner-3e1303631d721e49", "level": "error", "message": {"text": "FastAPI POST `switch_board` without auth dependency \u2014 hermes-agent-main/plugins/kanban/dashboard/plugin_api.py:1095"}, "properties": {"repobilityId": "14ec0758abebc279", "scanner": "scanner-primary", "fingerprint": "3e1303631d721e49", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/kanban/dashboard/plugin_api.py"}, "region": {"startLine": 1095}}}]}, {"ruleId": "scanner-41e0ab408fb1c286", "level": "error", "message": {"text": "FastAPI POST `rescan` without auth dependency \u2014 hermes-agent-main/plugins/hermes-achievements/dashboard/plugin_api.py:1037"}, "properties": {"repobilityId": "2ec88f58971b4b04", "scanner": "scanner-primary", "fingerprint": "41e0ab408fb1c286", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/hermes-achievements/dashboard/plugin_api.py"}, "region": {"startLine": 1037}}}]}, {"ruleId": "scanner-dd0077352cd576a5", "level": "error", "message": {"text": "FastAPI POST `reset_state` without auth dependency \u2014 hermes-agent-main/plugins/hermes-achievements/dashboard/plugin_api.py:1042"}, "properties": {"repobilityId": "279c64c5564dd21d", "scanner": "scanner-primary", "fingerprint": "dd0077352cd576a5", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hermes-agent-main/plugins/hermes-achievements/dashboard/plugin_api.py"}, "region": {"startLine": 1042}}}]}, {"ruleId": "scanner-58c327909469d8c6", "level": "error", "message": {"text": "Dangling fetch: POST https://overpass-api.de/api/interpreter (scripts/import-osm-nl-campings.ts:111)"}, "properties": {"repobilityId": "d19bb1d6f364f6d1", "scanner": "scanner-primary", "fingerprint": "58c327909469d8c6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-94d7bf98e619c77e", "level": "error", "message": {"text": "Dangling fetch: POST https://overpass-api.de/api/interpreter (scripts/discover-places.ts:25)"}, "properties": {"repobilityId": "a2768d9ee8d5dcb3", "scanner": "scanner-primary", "fingerprint": "94d7bf98e619c77e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-441ddb94371b58bb", "level": "error", "message": {"text": "Dangling fetch: POST https://api.buffer.com (scratch/introspect-buffer.ts:18)"}, "properties": {"repobilityId": "11494bd0ec4b2eb3", "scanner": "scanner-primary", "fingerprint": "441ddb94371b58bb", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0fa332d7189667ce", "level": "error", "message": {"text": "Dangling fetch: GET https://api.resend.com/emails (scratch/check-resend-emails.ts:11)"}, "properties": {"repobilityId": "88dc6c849a7c35a3", "scanner": "scanner-primary", "fingerprint": "0fa332d7189667ce", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6949208707f11f94", "level": "error", "message": {"text": "Dangling fetch: GET https://generativelanguage.googleapis.com/v1/models?key=${key} (scratch/list_models.ts:10)"}, "properties": {"repobilityId": "fa93ce4cea64c026", "scanner": "scanner-primary", "fingerprint": "6949208707f11f94", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8e539aa1ce0676e6", "level": "error", "message": {"text": "Dangling fetch: GET https://api.resend.com/domains (scratch/check-resend-domains.ts:11)"}, "properties": {"repobilityId": "264f3a9d19c1931a", "scanner": "scanner-primary", "fingerprint": "8e539aa1ce0676e6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-024a2a8e172126f3", "level": "error", "message": {"text": "Dangling fetch: POST https://api.buffer.com (scratch/test-social-final.ts:23)"}, "properties": {"repobilityId": "b89c7605bf5bfd99", "scanner": "scanner-primary", "fingerprint": "024a2a8e172126f3", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-4fe00250339aba46", "level": "error", "message": {"text": "Dangling fetch: POST https://api.buffer.com (pipeline/index.ts:241)"}, "properties": {"repobilityId": "ba6861296d22c428", "scanner": "scanner-primary", "fingerprint": "4fe00250339aba46", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-1a2f617796bd40f5", "level": "error", "message": {"text": "Dangling fetch: GET /api/knmi-station?lat=${lat}&lon=${lon} (src/components/KNMIStationBadge.tsx:15)"}, "properties": {"repobilityId": "b8d63b35fca14525", "scanner": "scanner-primary", "fingerprint": "1a2f617796bd40f5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-67cefd25dc6d725c", "level": "error", "message": {"text": "Dangling fetch: GET /api/knmi-climate?lat=${lat}&lon=${lon} (src/components/KNMIClimateCard.tsx:51)"}, "properties": {"repobilityId": "13dded90a8aef08f", "scanner": "scanner-primary", "fingerprint": "67cefd25dc6d725c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0daaa8738cd7e3bd", "level": "error", "message": {"text": "Dangling fetch: GET /api/knmi-warnings?lat=${city.lat}&lon=${city.lon}&enrich=1 (src/components/ReedExtended.tsx:493)"}, "properties": {"repobilityId": "d39575298df6e56b", "scanner": "scanner-primary", "fingerprint": "0daaa8738cd7e3bd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3244628e659b1a00", "level": "error", "message": {"text": "Dangling fetch: GET /api/resolve-location?lat=${lat}&lon=${lon} (src/components/ReedWarningsPage.tsx:33)"}, "properties": {"repobilityId": "edceaf5c322f871e", "scanner": "scanner-primary", "fingerprint": "3244628e659b1a00", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-271da0dd183f077e", "level": "error", "message": {"text": "Dangling fetch: GET /api/resolve-location?lat=${lat}&lon=${lon} (src/components/PietWeatherPage.tsx:29)"}, "properties": {"repobilityId": "612a797cf3092d92", "scanner": "scanner-primary", "fingerprint": "271da0dd183f077e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ef1fdb35edcbcde5", "level": "error", "message": {"text": "Dangling fetch: GET /api/piet-weerbericht?lat=${lat}&lon=${lon}&city=${encodeURIComponent(view.locationName)} (src/components/PietWeatherPage.tsx:329)"}, "properties": {"repobilityId": "bd34d1fb7c364acd", "scanner": "scanner-primary", "fingerprint": "ef1fdb35edcbcde5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-20fa2125ce51fa90", "level": "error", "message": {"text": "Dangling fetch: GET /api/knmi-radar (src/components/KNMIRadarCard.tsx:18)"}, "properties": {"repobilityId": "34286bb26391510c", "scanner": "scanner-primary", "fingerprint": "20fa2125ce51fa90", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-32ef3c6cdefc8c0a", "level": "error", "message": {"text": "Dangling fetch: POST /api/b2b/discover (src/components/B2BAdminPanel.tsx:67)"}, "properties": {"repobilityId": "9420c9ca221602ff", "scanner": "scanner-primary", "fingerprint": "32ef3c6cdefc8c0a", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-24e2e0769f8144cd", "level": "error", "message": {"text": "Dangling fetch: GET /api/b2b/outreach (src/components/B2BAdminPanel.tsx:89)"}, "properties": {"repobilityId": "06ee2d6d14f4ed41", "scanner": "scanner-primary", "fingerprint": "24e2e0769f8144cd", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2ca8f27abf4b6909", "level": "error", "message": {"text": "Dangling fetch: POST /api/contact (src/components/ContactForm.tsx:135)"}, "properties": {"repobilityId": "0610078e9d7dc271", "scanner": "scanner-primary", "fingerprint": "2ca8f27abf4b6909", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-66d8946ee30aa88e", "level": "error", "message": {"text": "Dangling fetch: GET /api/piet-weerbericht?lat=${lat}&lon=${lon}&city=${encodeURIComponent(city)} (src/components/KNMIForecastCard.tsx:104)"}, "properties": {"repobilityId": "1149a8f897ddce3f", "scanner": "scanner-primary", "fingerprint": "66d8946ee30aa88e", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-3b1cc3b7d1e3f0de", "level": "error", "message": {"text": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=weather_code,is_day&timezone=auto (src/components/GlobalWeatherBackground.tsx:39)"}, "properties": {"repobilityId": "686fe1dad80798e3", "scanner": "scanner-primary", "fingerprint": "3b1cc3b7d1e3f0de", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-f7cdcc56b76619f1", "level": "error", "message": {"text": "Dangling fetch: POST /api/leads/capture (src/components/LeadRescue.tsx:62)"}, "properties": {"repobilityId": "53fe90f115ff5bf5", "scanner": "scanner-primary", "fingerprint": "f7cdcc56b76619f1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-89b41653a51a190d", "level": "error", "message": {"text": "Dangling fetch: POST /api/b2b/signup (src/components/B2BSignupForm.tsx:38)"}, "properties": {"repobilityId": "0c7c6c00e0474ccf", "scanner": "scanner-primary", "fingerprint": "89b41653a51a190d", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-0f36fc2fb9f3e3e0", "level": "error", "message": {"text": "Dangling fetch: POST /api/persona/piet (src/components/PietExtended.tsx:331)"}, "properties": {"repobilityId": "c0f7d80f4fda5c67", "scanner": "scanner-primary", "fingerprint": "0f36fc2fb9f3e3e0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-94884b71908b7528", "level": "error", "message": {"text": "Dangling fetch: GET /api/nearest-place?lat=${lat}&lon=${lon} (src/components/wz/LocatieButton.tsx:66)"}, "properties": {"repobilityId": "166bfff66c99e792", "scanner": "scanner-primary", "fingerprint": "94884b71908b7528", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-590def1c08155845", "level": "error", "message": {"text": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lats}&longitude=${lons}&current=temperature_2m,weather_code,is_day&timezone=Europe/Amsterdam (src/app/actions.ts:90)"}, "properties": {"repobilityId": "6babe0667a561d95", "scanner": "scanner-primary", "fingerprint": "590def1c08155845", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-202aefb09d7906a6", "level": "error", "message": {"text": "Dangling fetch: POST https://places.googleapis.com/v1/places:searchText (src/app/actions.ts:354)"}, "properties": {"repobilityId": "b6c96aa4ddf3608e", "scanner": "scanner-primary", "fingerprint": "202aefb09d7906a6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-2315fd9d0f6014b0", "level": "error", "message": {"text": "Dangling fetch: POST /api/preferences (src/app/(site)/voorkeuren/VoorkeurenForm.tsx:12)"}, "properties": {"repobilityId": "e0c8ece7c5d126e4", "scanner": "scanner-primary", "fingerprint": "2315fd9d0f6014b0", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-5034b86462bdbc14", "level": "error", "message": {"text": "Dangling fetch: GET https://api.dexscreener.com/latest/dex/tokens/${mint} (src/app/(site)/api/magnolia/balance/route.ts:18)"}, "properties": {"repobilityId": "07937488627045f9", "scanner": "scanner-primary", "fingerprint": "5034b86462bdbc14", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-36956f8064281c34", "level": "error", "message": {"text": "Dangling fetch: GET https://api.buienradar.nl/image/1.0/RadarMapNL?w=700&h=765 (src/app/(site)/api/radar-image/route.ts:7)"}, "properties": {"repobilityId": "6034a1889496ae84", "scanner": "scanner-primary", "fingerprint": "36956f8064281c34", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-dd2ff41388697bc1", "level": "error", "message": {"text": "Dangling fetch: GET https://api.bufferapp.com/1/profiles.json?access_token=${encodeURIComponent(token)} (src/app/(site)/api/admin/buffer-check/route.ts:41)"}, "properties": {"repobilityId": "b04f386ebf87e5ee", "scanner": "scanner-primary", "fingerprint": "dd2ff41388697bc1", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-478f423b85682554", "level": "error", "message": {"text": "Dangling fetch: POST https://api.buffer.com (src/app/(site)/api/admin/buffer-check/route.ts:73)"}, "properties": {"repobilityId": "5dfeaaa5c736182e", "scanner": "scanner-primary", "fingerprint": "478f423b85682554", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-6a410cbca61392d5", "level": "error", "message": {"text": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=temperature_2m,weather_code&timezone=Europe/Amsterdam (src/app/(site)/api/social/dagelijks/route.tsx:16)"}, "properties": {"repobilityId": "da3ccdffb0e146f6", "scanner": "scanner-primary", "fingerprint": "6a410cbca61392d5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-d03aa1a5f060351c", "level": "error", "message": {"text": "Dangling fetch: POST https://generativelanguage.googleapis.com/v1beta/models/gemini-2.5-flash-lite-preview-06-17:generateContent?key=${key} (src/app/(site)/api/social/dagelijks/route.tsx:99)"}, "properties": {"repobilityId": "8d80c1fcb9f17d6d", "scanner": "scanner-primary", "fingerprint": "d03aa1a5f060351c", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-caedbcd2e9338577", "level": "error", "message": {"text": "Dangling fetch: GET https://api.open-meteo.com/v1/forecast?latitude=${lat}&longitude=${lon}&current=temperature_2m,weather_code&timezone=Europe/Amsterdam (src/app/(site)/api/social/piet-v2/route.tsx:32)"}, "properties": {"repobilityId": "c09fe9876f07ad66", "scanner": "scanner-primary", "fingerprint": "caedbcd2e9338577", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7dc015682130dffc", "level": "error", "message": {"text": "Dangling fetch: GET /api/magnolia (src/app/(site)/magnolia/page.tsx:55)"}, "properties": {"repobilityId": "e0e558cb4b1b6697", "scanner": "scanner-primary", "fingerprint": "7dc015682130dffc", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-ad92da2def6f3a15", "level": "error", "message": {"text": "Dangling fetch: GET /api/magnolia/balance (src/app/(site)/magnolia/page.tsx:61)"}, "properties": {"repobilityId": "bc81a3a454ec8ab9", "scanner": "scanner-primary", "fingerprint": "ad92da2def6f3a15", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-69ce9f67ebe535b6", "level": "error", "message": {"text": "Dangling fetch: GET /api/cron/b2b-hunter (src/app/(site)/admin/outreach/OutreachControl.tsx:20)"}, "properties": {"repobilityId": "53ce553ff0cdf71f", "scanner": "scanner-primary", "fingerprint": "69ce9f67ebe535b6", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-84242e8fa280dae5", "level": "error", "message": {"text": "Dangling fetch: GET /api/admin/metrics (src/app/(site)/admin/performance/page.tsx:47)"}, "properties": {"repobilityId": "7ea100040bf4bae8", "scanner": "scanner-primary", "fingerprint": "84242e8fa280dae5", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-e8e188eda100cb98", "level": "error", "message": {"text": "Dangling fetch: POST https://airquality.googleapis.com/v1/currentConditions:lookup?key=${GOOGLE_API_KEY} (src/lib/impact-engine.ts:31)"}, "properties": {"repobilityId": "c52db1a3255105d2", "scanner": "scanner-primary", "fingerprint": "e8e188eda100cb98", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-b4ba91b5b7f20756", "level": "error", "message": {"text": "Dangling fetch: GET https://weather.googleapis.com/v1/forecast/hours:lookup?key=${apiKey}&location.latitude=${lat}&location.longitude=${lon}&hours=48&languageCode=nl (src/lib/google-weather.ts:6)"}, "properties": {"repobilityId": "a3937fe4425d985a", "scanner": "scanner-primary", "fingerprint": "b4ba91b5b7f20756", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-55de4c74e55cc981", "level": "error", "message": {"text": "Dangling fetch: GET /api/wws?lat=${lat}&lon=${lon} (src/lib/weatherCache.ts:206)"}, "properties": {"repobilityId": "f0cc05e034751d52", "scanner": "scanner-primary", "fingerprint": "55de4c74e55cc981", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-7d54f50f146f4a9b", "level": "error", "message": {"text": "Dangling fetch: GET https://nominatim.openstreetmap.org/reverse?lat=${lat}&lon=${lon}&format=jsonv2&accept-language=${locale}&zoom=14&addressdetails=1 (src/lib/types.ts:359)"}, "properties": {"repobilityId": "a4baeef875b0dabb", "scanner": "scanner-primary", "fingerprint": "7d54f50f146f4a9b", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-963710f42a2c8219", "level": "note", "message": {"text": "Unused endpoint: GET /api/status"}, "properties": {"repobilityId": "8f53e4b1fb6f9f18", "scanner": "scanner-primary", "fingerprint": "963710f42a2c8219", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4083768260d4a820", "level": "note", "message": {"text": "Unused endpoint: POST /api/gateway/restart"}, "properties": {"repobilityId": "d4c61eaa6ecbf7c0", "scanner": "scanner-primary", "fingerprint": "4083768260d4a820", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a9fc2abbfd0eff67", "level": "note", "message": {"text": "Unused endpoint: POST /api/hermes/update"}, "properties": {"repobilityId": "adfa05e811a4610f", "scanner": "scanner-primary", "fingerprint": "a9fc2abbfd0eff67", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-dc2a64713e3ba710", "level": "note", "message": {"text": "Unused endpoint: GET /api/actions/{name}/status"}, "properties": {"repobilityId": "b0b741fe40679181", "scanner": "scanner-primary", "fingerprint": "dc2a64713e3ba710", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bf2e6e2188a510ee", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions"}, "properties": {"repobilityId": "783cec1fbc0033f1", "scanner": "scanner-primary", "fingerprint": "bf2e6e2188a510ee", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1ae0da226f234c4e", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/search"}, "properties": {"repobilityId": "afeb4c12ab68aeba", "scanner": "scanner-primary", "fingerprint": "1ae0da226f234c4e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7aa4b2518cbbbfa2", "level": "note", "message": {"text": "Unused endpoint: GET /api/config"}, "properties": {"repobilityId": "e0b869b66b27c603", "scanner": "scanner-primary", "fingerprint": "7aa4b2518cbbbfa2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f265efee78815c9c", "level": "note", "message": {"text": "Unused endpoint: GET /api/config/defaults"}, "properties": {"repobilityId": "9b8a221170cc9cd5", "scanner": "scanner-primary", "fingerprint": "f265efee78815c9c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b3df459b886bf814", "level": "note", "message": {"text": "Unused endpoint: GET /api/config/schema"}, "properties": {"repobilityId": "84dcd03e36595d76", "scanner": "scanner-primary", "fingerprint": "b3df459b886bf814", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-def8762309fb2ecd", "level": "note", "message": {"text": "Unused endpoint: GET /api/model/info"}, "properties": {"repobilityId": "0a14ce4c7ff34d17", "scanner": "scanner-primary", "fingerprint": "def8762309fb2ecd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c67c08ec8c4b0435", "level": "note", "message": {"text": "Unused endpoint: GET /api/model/options"}, "properties": {"repobilityId": "a0d3d50d2d86c007", "scanner": "scanner-primary", "fingerprint": "c67c08ec8c4b0435", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c14c182c37ec7d11", "level": "note", "message": {"text": "Unused endpoint: GET /api/model/auxiliary"}, "properties": {"repobilityId": "bdd6a53a9f999932", "scanner": "scanner-primary", "fingerprint": "c14c182c37ec7d11", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-35745d4371415ca4", "level": "note", "message": {"text": "Unused endpoint: POST /api/model/set"}, "properties": {"repobilityId": "c6a0f95dcdb9594d", "scanner": "scanner-primary", "fingerprint": "35745d4371415ca4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-22923df0fba6d7e8", "level": "note", "message": {"text": "Unused endpoint: PUT /api/config"}, "properties": {"repobilityId": "1e0aa0d9795c403d", "scanner": "scanner-primary", "fingerprint": "22923df0fba6d7e8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c7565b3d2505e70e", "level": "note", "message": {"text": "Unused endpoint: GET /api/env"}, "properties": {"repobilityId": "f988c9af67e86680", "scanner": "scanner-primary", "fingerprint": "c7565b3d2505e70e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4627a78bce493dad", "level": "note", "message": {"text": "Unused endpoint: PUT /api/env"}, "properties": {"repobilityId": "00a96362dbc455d2", "scanner": "scanner-primary", "fingerprint": "4627a78bce493dad", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-60740ae29f26a801", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/env"}, "properties": {"repobilityId": "9ca63d1adf108fa9", "scanner": "scanner-primary", "fingerprint": "60740ae29f26a801", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9396e8dc7a5e36ce", "level": "note", "message": {"text": "Unused endpoint: POST /api/env/reveal"}, "properties": {"repobilityId": "c87fe64c92e992fe", "scanner": "scanner-primary", "fingerprint": "9396e8dc7a5e36ce", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-65e17379ca9ada31", "level": "note", "message": {"text": "Unused endpoint: GET /api/providers/oauth"}, "properties": {"repobilityId": "3837239239f9daf4", "scanner": "scanner-primary", "fingerprint": "65e17379ca9ada31", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bbd2f0eaa1a58b5a", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/providers/oauth/{provider_id}"}, "properties": {"repobilityId": "9fc43afe669ac9b8", "scanner": "scanner-primary", "fingerprint": "bbd2f0eaa1a58b5a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-796c2da313969aed", "level": "note", "message": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/start"}, "properties": {"repobilityId": "9cc63adcdfa15039", "scanner": "scanner-primary", "fingerprint": "796c2da313969aed", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6d3c1410ce59a120", "level": "note", "message": {"text": "Unused endpoint: POST /api/providers/oauth/{provider_id}/submit"}, "properties": {"repobilityId": "82369f64ac007fae", "scanner": "scanner-primary", "fingerprint": "6d3c1410ce59a120", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-42dcf4e222d9eb9a", "level": "note", "message": {"text": "Unused endpoint: GET /api/providers/oauth/{provider_id}/poll/{session_id}"}, "properties": {"repobilityId": "77c75f9a9071cb99", "scanner": "scanner-primary", "fingerprint": "42dcf4e222d9eb9a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e82e4f8bdc25ea20", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/providers/oauth/sessions/{session_id}"}, "properties": {"repobilityId": "262b1840d387fd7a", "scanner": "scanner-primary", "fingerprint": "e82e4f8bdc25ea20", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-47dfa881a4926912", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/{session_id}"}, "properties": {"repobilityId": "c326d157acbbac12", "scanner": "scanner-primary", "fingerprint": "47dfa881a4926912", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-587d4512fde14873", "level": "note", "message": {"text": "Unused endpoint: GET /api/sessions/{session_id}/messages"}, "properties": {"repobilityId": "c840bd23bb49877c", "scanner": "scanner-primary", "fingerprint": "587d4512fde14873", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-710e260b0cccd592", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/sessions/{session_id}"}, "properties": {"repobilityId": "50866e96e34afe80", "scanner": "scanner-primary", "fingerprint": "710e260b0cccd592", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f3bf72f059406b13", "level": "note", "message": {"text": "Unused endpoint: GET /api/logs"}, "properties": {"repobilityId": "da8360547388f2d4", "scanner": "scanner-primary", "fingerprint": "f3bf72f059406b13", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f1b3b0ab05f41d96", "level": "note", "message": {"text": "Unused endpoint: GET /api/cron/jobs"}, "properties": {"repobilityId": "74725750291074e6", "scanner": "scanner-primary", "fingerprint": "f1b3b0ab05f41d96", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4245b126ce91043a", "level": "note", "message": {"text": "Unused endpoint: GET /api/cron/jobs/{job_id}"}, "properties": {"repobilityId": "0d14558a88969eb4", "scanner": "scanner-primary", "fingerprint": "4245b126ce91043a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f5a29a861d68ae13", "level": "note", "message": {"text": "Unused endpoint: POST /api/cron/jobs"}, "properties": {"repobilityId": "9b650046b7708d79", "scanner": "scanner-primary", "fingerprint": "f5a29a861d68ae13", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5488a9ac7aa50f30", "level": "note", "message": {"text": "Unused endpoint: PUT /api/cron/jobs/{job_id}"}, "properties": {"repobilityId": "1f84d8c18cd8fa22", "scanner": "scanner-primary", "fingerprint": "5488a9ac7aa50f30", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3f56baeca02d3e05", "level": "note", "message": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/pause"}, "properties": {"repobilityId": "59846be788042f77", "scanner": "scanner-primary", "fingerprint": "3f56baeca02d3e05", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-664b2f011335d30f", "level": "note", "message": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/resume"}, "properties": {"repobilityId": "e6139db0351d250f", "scanner": "scanner-primary", "fingerprint": "664b2f011335d30f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5bf7978d0cc4502e", "level": "note", "message": {"text": "Unused endpoint: POST /api/cron/jobs/{job_id}/trigger"}, "properties": {"repobilityId": "18bedcb50b4ad00f", "scanner": "scanner-primary", "fingerprint": "5bf7978d0cc4502e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-38c475547c90236e", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/cron/jobs/{job_id}"}, "properties": {"repobilityId": "4780fe0366a858e9", "scanner": "scanner-primary", "fingerprint": "38c475547c90236e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8fc2389a7b5a6e7b", "level": "note", "message": {"text": "Unused endpoint: GET /api/profiles"}, "properties": {"repobilityId": "410d6585517f81b4", "scanner": "scanner-primary", "fingerprint": "8fc2389a7b5a6e7b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2da148899addc488", "level": "note", "message": {"text": "Unused endpoint: POST /api/profiles"}, "properties": {"repobilityId": "9ecd9fe8510c864b", "scanner": "scanner-primary", "fingerprint": "2da148899addc488", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8caac7b21c5c097c", "level": "note", "message": {"text": "Unused endpoint: GET /api/profiles/{name}/setup-command"}, "properties": {"repobilityId": "56a04c159d9b9f47", "scanner": "scanner-primary", "fingerprint": "8caac7b21c5c097c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7c6e2ab4f4cb9e01", "level": "note", "message": {"text": "Unused endpoint: POST /api/profiles/{name}/open-terminal"}, "properties": {"repobilityId": "907d10635842bb93", "scanner": "scanner-primary", "fingerprint": "7c6e2ab4f4cb9e01", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ebd6cfa7bdaca4d0", "level": "note", "message": {"text": "Unused endpoint: PATCH /api/profiles/{name}"}, "properties": {"repobilityId": "d2ba2515d63b7515", "scanner": "scanner-primary", "fingerprint": "ebd6cfa7bdaca4d0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8fb73df2d1c8f325", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/profiles/{name}"}, "properties": {"repobilityId": "e065f9882efe9cb2", "scanner": "scanner-primary", "fingerprint": "8fb73df2d1c8f325", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c98ba43cc4043397", "level": "note", "message": {"text": "Unused endpoint: GET /api/profiles/{name}/soul"}, "properties": {"repobilityId": "fbe32d7b004f07a6", "scanner": "scanner-primary", "fingerprint": "c98ba43cc4043397", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-94afb82f23781dc6", "level": "note", "message": {"text": "Unused endpoint: PUT /api/profiles/{name}/soul"}, "properties": {"repobilityId": "54664956b7963293", "scanner": "scanner-primary", "fingerprint": "94afb82f23781dc6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2cbc08e97a8f0293", "level": "note", "message": {"text": "Unused endpoint: GET /api/skills"}, "properties": {"repobilityId": "4fbf791664c76e62", "scanner": "scanner-primary", "fingerprint": "2cbc08e97a8f0293", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cfeacbbd0da19806", "level": "note", "message": {"text": "Unused endpoint: PUT /api/skills/toggle"}, "properties": {"repobilityId": "49778c347c0a129b", "scanner": "scanner-primary", "fingerprint": "cfeacbbd0da19806", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6f51e3dc1eac4136", "level": "note", "message": {"text": "Unused endpoint: GET /api/tools/toolsets"}, "properties": {"repobilityId": "c36639139a89cb16", "scanner": "scanner-primary", "fingerprint": "6f51e3dc1eac4136", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-77ec25bb4cb6da91", "level": "note", "message": {"text": "Unused endpoint: GET /api/config/raw"}, "properties": {"repobilityId": "7f3e4140fe113159", "scanner": "scanner-primary", "fingerprint": "77ec25bb4cb6da91", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0d5450525d0de690", "level": "note", "message": {"text": "Unused endpoint: PUT /api/config/raw"}, "properties": {"repobilityId": "1cf196ef4d258bf6", "scanner": "scanner-primary", "fingerprint": "0d5450525d0de690", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-717ded8e19fba821", "level": "note", "message": {"text": "Unused endpoint: GET /api/analytics/usage"}, "properties": {"repobilityId": "a0ecc292c3e8effc", "scanner": "scanner-primary", "fingerprint": "717ded8e19fba821", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}