{"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": "scanner-2c433b6f1bc3c103", "name": "Possibly dead Python function: cmd_generate_keypair", "shortDescription": {"text": "Possibly dead Python function: cmd_generate_keypair"}, "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-24dbed045821e23b", "name": "Possibly dead Python function: cmd_sign", "shortDescription": {"text": "Possibly dead Python function: cmd_sign"}, "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-0fdc4f5244aaf88f", "name": "Possibly dead Python function: cmd_show", "shortDescription": {"text": "Possibly dead Python function: cmd_show"}, "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-ba6a75f9d176eb11", "name": "Possibly dead Python function: cmd_set_version", "shortDescription": {"text": "Possibly dead Python function: cmd_set_version"}, "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-44950b6d43b110e5", "name": "Possibly dead Python function: cmd_hash", "shortDescription": {"text": "Possibly dead Python function: cmd_hash"}, "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-f7081f86e7606e52", "name": "Possibly dead Python function: cmd_write_attestation", "shortDescription": {"text": "Possibly dead Python function: cmd_write_attestation"}, "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-2825a196cdad95cb", "name": "Possibly dead Python function: send_contact_accept", "shortDescription": {"text": "Possibly dead Python function: send_contact_accept"}, "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-60e64d2521063458", "name": "Possibly dead Python function: update_ais_bbox", "shortDescription": {"text": "Possibly dead Python function: update_ais_bbox"}, "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-8737d9518f66325d", "name": "Possibly dead Python function: validate_geocode", "shortDescription": {"text": "Possibly dead Python function: validate_geocode"}, "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-bf1fa1562b20dd5c", "name": "Possibly dead Python function: clear_injected_data", "shortDescription": {"text": "Possibly dead Python function: clear_injected_data"}, "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-57626b029d537ea9", "name": "Possibly dead Python function: stop_watchdog", "shortDescription": {"text": "Possibly dead Python function: stop_watchdog"}, "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-333245a9768cac80", "name": "Possibly dead Python function: run_all_ingestors", "shortDescription": {"text": "Possibly dead Python function: run_all_ingestors"}, "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-82960622abcf971e", "name": "Possibly dead Python function: stop_feed_ingester", "shortDescription": {"text": "Possibly dead Python function: stop_feed_ingester"}, "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-191706f6fb53b7bb", "name": "Possibly dead Python function: start_cover_poll", "shortDescription": {"text": "Possibly dead Python function: start_cover_poll"}, "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-0d1e6aebe1332685", "name": "Possibly dead Python function: stop_cover_poll", "shortDescription": {"text": "Possibly dead Python function: stop_cover_poll"}, "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-a9eff50ee7509575", "name": "Possibly dead Python function: schedule_restart", "shortDescription": {"text": "Possibly dead Python function: schedule_restart"}, "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-cab6def72e4fdc0c", "name": "Possibly dead Python function: threat_actor_to_stix", "shortDescription": {"text": "Possibly dead Python function: threat_actor_to_stix"}, "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-de9effc414586bf5", "name": "Possibly dead Python function: malware_to_stix", "shortDescription": {"text": "Possibly dead Python function: malware_to_stix"}, "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-159244de227a1d44", "name": "Possibly dead Python function: infrastructure_to_stix", "shortDescription": {"text": "Possibly dead Python function: infrastructure_to_stix"}, "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-c1f40bee05460440", "name": "Possibly dead Python function: vulnerability_to_stix", "shortDescription": {"text": "Possibly dead Python function: vulnerability_to_stix"}, "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-52d74f222a94c96c", "name": "Possibly dead Python function: setup_logging", "shortDescription": {"text": "Possibly dead Python function: setup_logging"}, "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-3db47bfb55569815", "name": "Possibly dead Python function: fetch_darkpool_recent", "shortDescription": {"text": "Possibly dead Python function: fetch_darkpool_recent"}, "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-b214f6513daaf6ae", "name": "Stray `console.log` in TS/JS \u2014 start-backend.js:112", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 start-backend.js:112"}, "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-92f4039dec5d479b", "name": "Stray `console.log` in TS/JS \u2014 backend/ais_proxy.js:240", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 backend/ais_proxy.js:240"}, "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-036cb9cd8d2384f9", "name": "Stray `console.log` in TS/JS \u2014 frontend/scripts/report-bundle-size.js:24", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 frontend/scripts/report-bundle-size.js: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-bbdae2e0ca6123af", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/app/LocateBar.tsx:225", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/app/LocateBar.tsx:225"}, "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-3c59489c20b51524", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/app/page.tsx:835", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/app/page.tsx:835"}, "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-657c71a3dd87bdfc", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/AIIntelPanel.tsx:1557", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/AIIntelPanel.tsx:1557"}, "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-821d6b7437f966f8", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ShodanPanel.tsx:765", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ShodanPanel.tsx:765"}, "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-8c0c892c23540431", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/NewsFeed.tsx:1641", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/NewsFeed.tsx:1641"}, "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-1ccd1be6c1863c33", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/SarAoiEditorModal.tsx:273", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/SarAoiEditorModal.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-accdeb9ebd61abec", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/WorldviewLeftPanel.tsx:335", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/WorldviewLeftPanel.tsx:335"}, "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-d95c9f67f38d30b6", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/RadioInterceptPanel.tsx:413", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/RadioInterceptPanel.tsx:413"}, "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-4ed447eeaa9eed28", "name": "Stray `console.log` in TS/JS \u2014 frontend/src/components/RadioInterceptPanel.tsx:181", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 frontend/src/components/RadioInterceptPanel.tsx:181"}, "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-537c77aaef6b578c", "name": "Icon-only button without accessible name \u2014 frontend/src/components/KeyboardShortcutsOverlay.tsx:53", "shortDescription": {"text": "Icon-only button without accessible name \u2014 frontend/src/components/KeyboardShortcutsOverlay.tsx:53"}, "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-0c11ac1561f2aecc", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/TimelinePanel.tsx:263", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/TimelinePanel.tsx:263"}, "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-c98c9cdf05db06bf", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/PredictionsPanel.tsx:165", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/PredictionsPanel.tsx:165"}, "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-04c6dfde566344c1", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MarketsPanel.tsx:141", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MarketsPanel.tsx:141"}, "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-adf998a004cf222b", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/FindLocateBar.tsx:230", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/FindLocateBar.tsx:230"}, "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-ae1dc7fffb468623", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MaplibreViewer.tsx:5784", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MaplibreViewer.tsx:5784"}, "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-70dc37693bb3eaaf", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/WatchlistWidget.tsx:87", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/WatchlistWidget.tsx:87"}, "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-947eb749eef57ad2", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/EntityGraphPanel.tsx:90", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/EntityGraphPanel.tsx:90"}, "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-711947a91543bbb3", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/AdvancedFilterModal.tsx:380", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/AdvancedFilterModal.tsx:380"}, "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-9a6a61e71c3c6f96", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MeshChat/AgentShellPanel.tsx:551", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MeshChat/AgentShellPanel.tsx:551"}, "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-83d1eb3495c55416", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MeshChat/InfonetTerminalPanel.tsx:175", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MeshChat/InfonetTerminalPanel.tsx:175"}, "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-122ebb3cd9a5f34a", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/map/AIIntelPinDetail.tsx:272", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/map/AIIntelPinDetail.tsx:272"}, "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-440de835cfdd6466", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/TerminalDashboard.tsx:136", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/TerminalDashboard.tsx:136"}, "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-5a7ba0722565ee42", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/ExchangeView.tsx:367", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/ExchangeView.tsx:367"}, "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-d53fb3fc7ff089b8", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/UpgradeView.tsx:95", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/UpgradeView.tsx:95"}, "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-fa588cc1f89b3452", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/BootstrapView.tsx:331", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/BootstrapView.tsx:331"}, "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-16f3e8955c4fddd8", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/PetitionsView.tsx:140", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/PetitionsView.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-21044020730fc07e", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/InfonetShell.tsx:329", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/InfonetShell.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-19bf16533f38fe44", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/MarketView.tsx:409", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/MarketView.tsx:409"}, "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-a0697b76f8dd0129", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/ResolutionView.tsx:72", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/ResolutionView.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-d5e07627df102c66", "name": "Icon-only button without accessible name \u2014 frontend/src/components/MaplibreViewer/popups/MilitaryBasePopup.tsx:79", "shortDescription": {"text": "Icon-only button without accessible name \u2014 frontend/src/components/MaplibreViewer/popups/MilitaryBasePopup.tsx:79"}, "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-c15387c2cab75817", "name": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MaplibreViewer/popups/MilitaryBasePopup.tsx", "shortDescription": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MaplibreViewer/popups/MilitaryBasePopup.tsx:151"}, "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-1bbb3770051ea11d", "name": "Icon-only button without accessible name \u2014 frontend/src/components/MaplibreViewer/popups/ShipPopup.tsx:50", "shortDescription": {"text": "Icon-only button without accessible name \u2014 frontend/src/components/MaplibreViewer/popups/ShipPopup.tsx:50"}, "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-e474358a6ec4d600", "name": "Icon-only button without accessible name \u2014 frontend/src/components/MaplibreViewer/popups/SigintPopup.tsx:126", "shortDescription": {"text": "Icon-only button without accessible name \u2014 frontend/src/components/MaplibreViewer/popups/SigintPopup.tsx:126"}, "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-c73289fabe64c220", "name": "Docker base image is tag-pinned but not digest-pinned: rust:1.88-slim-bookworm", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: rust:1.88-slim-bookworm"}, "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-92bf6be3240b534e", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-bookworm", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-bookworm"}, "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-7f8a4e0314a5ed23", "name": "Dockerfile ADD downloads remote content without checksum", "shortDescription": {"text": "Dockerfile ADD downloads remote content without checksum"}, "fullDescription": {"text": "Remote build inputs can change or be replaced upstream. Use Dockerfile ADD --checksum or download with an explicit digest/signature verification step."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-faa134129e5545ff", "name": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "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-e8d1a79aa1f84672", "name": "Insecure pattern 'node_child_process' in start-backend.js:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in start-backend.js: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-406588e2c2f6cc6a", "name": "Insecure pattern 'cors_wildcard' in backend/main.py:8484", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in backend/main.py:8484"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a1e52ee54de79855", "name": "Insecure pattern 'cors_wildcard' in backend/routers/cctv.py:222", "shortDescription": {"text": "Insecure pattern 'cors_wildcard' in backend/routers/cctv.py:222"}, "fullDescription": {"text": "Found a known-risky pattern (cors_wildcard). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f3effd8bf18a783a", "name": "Insecure pattern 'eval_used' in backend/services/infonet/governance/dsl_executor.py:193", "shortDescription": {"text": "Insecure pattern 'eval_used' in backend/services/infonet/governance/dsl_executor.py:193"}, "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-c39d21a6e7f602c7", "name": "Insecure pattern 'python_os_system' in backend/services/infonet/governance/dsl_executor.py:202", "shortDescription": {"text": "Insecure pattern 'python_os_system' in backend/services/infonet/governance/dsl_executor.py:202"}, "fullDescription": {"text": "Found a known-risky pattern (python_os_system). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c61e92b820023642", "name": "Insecure pattern 'exec_used' in backend/services/infonet/governance/dsl_executor.py:194", "shortDescription": {"text": "Insecure pattern 'exec_used' in backend/services/infonet/governance/dsl_executor.py:194"}, "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-3f4e9d60b80c0259", "name": "Insecure pattern 'node_child_process' in desktop-shell/scripts/run-desktop-build.cjs:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in desktop-shell/scripts/run-desktop-build.cjs:3"}, "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-497f6536c629ae98", "name": "Insecure pattern 'exec_used' in desktop-shell/src/handlers/settingsHandlers.ts:15", "shortDescription": {"text": "Insecure pattern 'exec_used' in desktop-shell/src/handlers/settingsHandlers.ts:15"}, "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-27771db4d50873db", "name": "Insecure pattern 'exec_used' in desktop-shell/src/handlers/wormholeHandlers.ts:25", "shortDescription": {"text": "Insecure pattern 'exec_used' in desktop-shell/src/handlers/wormholeHandlers.ts:25"}, "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-aa55a72ec7d3b780", "name": "Insecure pattern 'exec_used' in desktop-shell/src/handlers/updateHandlers.ts:6", "shortDescription": {"text": "Insecure pattern 'exec_used' in desktop-shell/src/handlers/updateHandlers.ts:6"}, "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-873ecec3d94a15a5", "name": "Possible secret in desktop-shell/tauri-skeleton/build.sh", "shortDescription": {"text": "Possible secret in desktop-shell/tauri-skeleton/build.sh"}, "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-f23b83e8c1bb4bdf", "name": "Insecure pattern 'node_child_process' in desktop-shell/tauri-skeleton/scripts/build-frontend-export.cjs:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in desktop-shell/tauri-skeleton/scripts/build-frontend-export.cjs:5"}, "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-7ddf6d7f28d7f064", "name": "Insecure pattern 'node_child_process' in desktop-shell/tauri-skeleton/scripts/build-backend-runtime.cjs:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in desktop-shell/tauri-skeleton/scripts/build-backend-runtime.cjs:5"}, "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-090dee693be28292", "name": "Insecure pattern 'node_child_process' in scripts/mesh/smoke-external-root-witness-flow.mjs:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/mesh/smoke-external-root-witness-flow.mjs:5"}, "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-6d64f4219737aede", "name": "Insecure pattern 'node_child_process' in scripts/mesh/sync-dm-root-external-assurance.mjs:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/mesh/sync-dm-root-external-assurance.mjs:5"}, "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-67c3687f20f1b09a", "name": "Insecure pattern 'node_child_process' in scripts/mesh/smoke-dm-root-deployment-flow.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in scripts/mesh/smoke-dm-root-deployment-flow.mjs:4"}, "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-9009262f597904fe", "name": "Insecure pattern 'node_child_process' in frontend/scripts/build-privacy-core-wasm.cjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in frontend/scripts/build-privacy-core-wasm.cjs: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-0075607ea1872226", "name": "Insecure pattern 'node_child_process' in frontend/scripts/dev-all.cjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in frontend/scripts/dev-all.cjs: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-41611e4ae9b73513", "name": "Insecure pattern 'node_child_process' in frontend/scripts/vite-no-net-use.cjs:1", "shortDescription": {"text": "Insecure pattern 'node_child_process' in frontend/scripts/vite-no-net-use.cjs: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-c626b9b96b9095f2", "name": "Insecure pattern 'exec_used' in frontend/src/components/MeshTerminal.tsx:4807", "shortDescription": {"text": "Insecure pattern 'exec_used' in frontend/src/components/MeshTerminal.tsx:4807"}, "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-40e853367533cfe5", "name": "Insecure pattern 'local_storage_auth_token' in frontend/src/__tests__/mesh/meshSigningKeyHardening.test.ts:125", "shortDescription": {"text": "Insecure pattern 'local_storage_auth_token' in frontend/src/__tests__/mesh/meshSigningKeyHardening.test.ts:125"}, "fullDescription": {"text": "Found a known-risky pattern (local_storage_auth_token). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b841c61fdfcff569", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "docker/login-action@v3.0.0 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": "medium", "confidence": 1.0}}, {"id": "scanner-076b03a16e76601d", "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-27924aa79fa4a517", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "astral-sh/setup-uv@v5 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": "medium", "confidence": 1.0}}, {"id": "scanner-f6d648c5cefbda11", "name": "Very large file: backend/main.py (12120 lines)", "shortDescription": {"text": "Very large file: backend/main.py (12120 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-622e6bea76d431e9", "name": "Very large file: backend/auth.py (1508 lines)", "shortDescription": {"text": "Very large file: backend/auth.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-db49ffe472baaf8b", "name": "Very large file: backend/tests/mesh/test_privacy_claims.py (2378 lines)", "shortDescription": {"text": "Very large file: backend/tests/mesh/test_privacy_claims.py (2378 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-ba4ee721bfeb423c", "name": "Very large file: backend/tests/mesh/test_s16d_dm_invite_bootstrap.py (1421 lines)", "shortDescription": {"text": "Very large file: backend/tests/mesh/test_s16d_dm_invite_bootstrap.py (1421 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-18b51453aa09b6d6", "name": "Very large file: backend/tests/mesh/test_mesh_rns_private_dm.py (1480 lines)", "shortDescription": {"text": "Very large file: backend/tests/mesh/test_mesh_rns_private_dm.py (1480 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-8fe93e667992826e", "name": "Very large file: backend/tests/mesh/test_mesh_endpoint_integrity.py (3369 lines)", "shortDescription": {"text": "Very large file: backend/tests/mesh/test_mesh_endpoint_integrity.py (3369 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-025ff2d06b27a887", "name": "Very large file: backend/tests/mesh/test_mesh_privacy_hardening.py (1536 lines)", "shortDescription": {"text": "Very large file: backend/tests/mesh/test_mesh_privacy_hardening.py (1536 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-5435f4786720ae1e", "name": "Very large file: backend/routers/ai_intel.py (3491 lines)", "shortDescription": {"text": "Very large file: backend/routers/ai_intel.py (3491 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-20314de350348b2a", "name": "Very large file: backend/routers/wormhole.py (1501 lines)", "shortDescription": {"text": "Very large file: backend/routers/wormhole.py (1501 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-8a4aba3940dec20c", "name": "Very large file: backend/routers/mesh_public.py (2363 lines)", "shortDescription": {"text": "Very large file: backend/routers/mesh_public.py (2363 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-d2e6dc3d5407e614", "name": "Very large file: backend/services/telemetry.py (2428 lines)", "shortDescription": {"text": "Very large file: backend/services/telemetry.py (2428 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-e8ae7ebe12556766", "name": "Very large file: backend/services/cctv_pipeline.py (1460 lines)", "shortDescription": {"text": "Very large file: backend/services/cctv_pipeline.py (1460 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-f3cd9042be9cf095", "name": "Very large file: backend/services/openclaw_channel.py (1773 lines)", "shortDescription": {"text": "Very large file: backend/services/openclaw_channel.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-aa4a59ec34af4008", "name": "Very large file: backend/services/sigint_bridge.py (1459 lines)", "shortDescription": {"text": "Very large file: backend/services/sigint_bridge.py (1459 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-386bbf1d5f02cf55", "name": "Very large file: backend/services/env_check.py (1159 lines)", "shortDescription": {"text": "Very large file: backend/services/env_check.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-6e7ce1b5932f83af", "name": "Very large file: backend/services/privacy_claims.py (1769 lines)", "shortDescription": {"text": "Very large file: backend/services/privacy_claims.py (1769 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-048b5215bb56db60", "name": "Very large file: backend/services/mesh/mesh_reputation.py (1572 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_reputation.py (1572 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-c57ceb1786020b53", "name": "Very large file: backend/services/mesh/mesh_wormhole_persona.py (1509 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_wormhole_persona.py (1509 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-34ad9abcc4114d26", "name": "Very large file: backend/services/mesh/mesh_dm_relay.py (2140 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_dm_relay.py (2140 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-708b76896ce77359", "name": "Very large file: backend/services/mesh/mesh_rns.py (1986 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_rns.py (1986 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-83594b518855221d", "name": "Very large file: backend/services/mesh/mesh_hashchain.py (3340 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_hashchain.py (3340 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-45b8542ec7a235b0", "name": "Very large file: backend/services/mesh/mesh_wormhole_dead_drop.py (1303 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_wormhole_dead_drop.py (1303 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-42eee831195dd644", "name": "Very large file: backend/services/mesh/mesh_wormhole_identity.py (1843 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_wormhole_identity.py (1843 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-5331181a00b7bb65", "name": "Very large file: backend/services/mesh/mesh_gate_mls.py (2443 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_gate_mls.py (2443 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-f0c1e545c0964577", "name": "Very large file: backend/services/mesh/mesh_router.py (1343 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_router.py (1343 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-4a9de79ebb26c621", "name": "Very large file: backend/services/mesh/mesh_wormhole_contacts.py (1878 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_wormhole_contacts.py (1878 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-fb9c79d4090d4d89", "name": "Very large file: backend/services/mesh/mesh_wormhole_prekey.py (1584 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_wormhole_prekey.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-dcbc0a32b16d3932", "name": "Very large file: backend/services/mesh/mesh_wormhole_root_manifest.py (2174 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_wormhole_root_manifest.py (2174 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-56b3f1802f1d4a46", "name": "Very large file: backend/services/mesh/mesh_signed_events.py (1466 lines)", "shortDescription": {"text": "Very large file: backend/services/mesh/mesh_signed_events.py (1466 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-863fbd38406bdc07", "name": "Very large file: backend/services/fetchers/earth_observation.py (1790 lines)", "shortDescription": {"text": "Very large file: backend/services/fetchers/earth_observation.py (1790 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-a8c63179abb1d3f2", "name": "Very large file: backend/services/fetchers/satellites.py (1057 lines)", "shortDescription": {"text": "Very large file: backend/services/fetchers/satellites.py (1057 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-67985d1c3bc863fb", "name": "Very large file: scripts/e2e_dm_short_address_live.py (3579 lines)", "shortDescription": {"text": "Very large file: scripts/e2e_dm_short_address_live.py (3579 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-49a67c85fd337cd5", "name": "Very large file: frontend/src/mesh/wormholeIdentityClient.ts (2200 lines)", "shortDescription": {"text": "Very large file: frontend/src/mesh/wormholeIdentityClient.ts (2200 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-4e190c31b107bcd9", "name": "Very large file: frontend/src/mesh/meshIdentity.ts (1824 lines)", "shortDescription": {"text": "Very large file: frontend/src/mesh/meshIdentity.ts (1824 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-a80c2e89321d3261", "name": "Very large file: frontend/src/components/AIIntelPanel.tsx (1945 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/AIIntelPanel.tsx (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-3e9f4aa352959735", "name": "Very large file: frontend/src/components/NewsFeed.tsx (2022 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/NewsFeed.tsx (2022 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-48dcb3d8bb02ca5c", "name": "Very large file: frontend/src/components/TopRightControls.tsx (1270 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/TopRightControls.tsx (1270 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-1e010e840cccd7bf", "name": "Very large file: frontend/src/components/SettingsPanel.tsx (3117 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/SettingsPanel.tsx (3117 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-02aaa91b6bdee0eb", "name": "Very large file: frontend/src/components/MeshTerminal.tsx (6139 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/MeshTerminal.tsx (6139 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-69dfa4d7383c3749", "name": "Very large file: frontend/src/components/WorldviewLeftPanel.tsx (2088 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/WorldviewLeftPanel.tsx (2088 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-fb6c1d56be081d69", "name": "Very large file: frontend/src/components/PredictionsPanel.tsx (1196 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/PredictionsPanel.tsx (1196 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-b4914023448a1347", "name": "Very large file: frontend/src/components/MaplibreViewer.tsx (6535 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/MaplibreViewer.tsx (6535 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-21a2312a2eae78c2", "name": "Very large file: frontend/src/components/MeshChat/index.tsx (1757 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/MeshChat/index.tsx (1757 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-28e02a7597ad60fe", "name": "Very large file: frontend/src/components/MeshChat/useMeshChatController.ts (4836 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/MeshChat/useMeshChatController.ts (4836 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-5cb7326647c8b4a0", "name": "Very large file: frontend/src/components/map/geoJSONBuilders.ts (1958 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/map/geoJSONBuilders.ts (1958 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-b76bb786b4a1e16a", "name": "Very large file: frontend/src/components/InfonetTerminal/MessagesView.tsx (3889 lines)", "shortDescription": {"text": "Very large file: frontend/src/components/InfonetTerminal/MessagesView.tsx (3889 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-64c513a23e09ba95", "name": "Very large file: privacy-core/src/lib.rs (2254 lines)", "shortDescription": {"text": "Very large file: privacy-core/src/lib.rs (2254 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-48f14a556b1e0cb7", "name": "Very large file: openclaw-skills/shadowbroker/sb_query.py (1403 lines)", "shortDescription": {"text": "Very large file: openclaw-skills/shadowbroker/sb_query.py (1403 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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 322 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 152 placeholder/mock markers across 50 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-fb538c316a0e63e1", "name": "Commented-code block (8 lines) in backend/ais_proxy.js:8", "shortDescription": {"text": "Commented-code block (8 lines) in backend/ais_proxy.js:8"}, "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-531fa14314a210dd", "name": "Legacy-named symbol `collect_legacy` in backend/main.py:7853", "shortDescription": {"text": "Legacy-named symbol `collect_legacy` in backend/main.py:7853"}, "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-03c6967de07450f5", "name": "Commented-code block (10 lines) in backend/main.py:1102", "shortDescription": {"text": "Commented-code block (10 lines) in backend/main.py:1102"}, "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-e6c7dd630fe800e1", "name": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2728", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2728"}, "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-d372c47a0c071804", "name": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2739", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2739"}, "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-51cd49651bddf6b5", "name": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2741", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2741"}, "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-e80179775cc9ab4f", "name": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2812", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2812"}, "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-fe68526e9d5b801f", "name": "Commented-code block (5 lines) in backend/auth.py:255", "shortDescription": {"text": "Commented-code block (5 lines) in backend/auth.py:255"}, "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-5cb417e983194c8b", "name": "Legacy-named symbol `_extract_and_copy` in backend/tests/test_gdelt_updater_hardening.py:67", "shortDescription": {"text": "Legacy-named symbol `_extract_and_copy` in backend/tests/test_gdelt_updater_hardening.py:67"}, "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-2f23c03bb9caeec7", "name": "Commented-code block (7 lines) in backend/tests/test_sentinel_routes_auth_gate.py:225", "shortDescription": {"text": "Commented-code block (7 lines) in backend/tests/test_sentinel_routes_auth_gate.py:225"}, "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-47b114d4cee8d2ba", "name": "Legacy-named symbol `sb_v1` in backend/tests/mesh/test_mesh_reputation_link.py:33", "shortDescription": {"text": "Legacy-named symbol `sb_v1` in backend/tests/mesh/test_mesh_reputation_link.py:33"}, "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-b01c174a1e441832", "name": "Legacy-named symbol `collect_legacy` in backend/tests/mesh/test_dm_poll_batch_limit.py:121", "shortDescription": {"text": "Legacy-named symbol `collect_legacy` in backend/tests/mesh/test_dm_poll_batch_limit.py:121"}, "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-49c0846a24f4bd29", "name": "Legacy-named symbol `test_public_ledger_is_union_of_active_and_legacy` in backend/tests/mesh/test_ledger_policy_split.py", "shortDescription": {"text": "Legacy-named symbol `test_public_ledger_is_union_of_active_and_legacy` in backend/tests/mesh/test_ledger_policy_split.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-9c6d4f1f2030310f", "name": "Legacy-named symbol `__test_s13d_legacy` in backend/tests/mesh/test_s13d_legacy_envelope_fallback.py:73", "shortDescription": {"text": "Legacy-named symbol `__test_s13d_legacy` in backend/tests/mesh/test_s13d_legacy_envelope_fallback.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-f6b9e734480ae79d", "name": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_compatibility_containment.py:206", "shortDescription": {"text": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_compatibility_containment.py:206"}, "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-4751c5107cdc0045", "name": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_mesh_dm_security.py:106", "shortDescription": {"text": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_mesh_dm_security.py:106"}, "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-fe3fbc8a6d352554", "name": "Legacy-named symbol `rust_backup` in backend/tests/mesh/test_gate_state_resync.py:171", "shortDescription": {"text": "Legacy-named symbol `rust_backup` in backend/tests/mesh/test_gate_state_resync.py:171"}, "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-a5e7e4993c54469e", "name": "Legacy-named symbol `sb_unused` in backend/tests/mesh/test_mesh_gate_mls.py:132", "shortDescription": {"text": "Legacy-named symbol `sb_unused` in backend/tests/mesh/test_mesh_gate_mls.py:132"}, "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-951f9ebc688125d4", "name": "Legacy-named symbol `mls_v1` in backend/tests/mesh/test_s13b_gate_identity_surface.py:49", "shortDescription": {"text": "Legacy-named symbol `mls_v1` in backend/tests/mesh/test_s13b_gate_identity_surface.py:49"}, "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-22c8151711d54bf0", "name": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_s16a_dm_count_coarsening.py:181", "shortDescription": {"text": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_s16a_dm_count_coarsening.py:181"}, "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-f962b7463eb7c4ad", "name": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_private_metadata_exposure.py:407", "shortDescription": {"text": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_private_metadata_exposure.py:407"}, "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-e35b94238ed97056", "name": "Legacy-named symbol `__test_legacy` in backend/tests/mesh/test_s13c_gate_envelope_policy.py:124", "shortDescription": {"text": "Legacy-named symbol `__test_legacy` in backend/tests/mesh/test_s13c_gate_envelope_policy.py:124"}, "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-3779bb4b63046e43", "name": "Legacy-named symbol `normalize_dm_message_payload_legacy` in backend/tests/mesh/test_mesh_rns_private_dm.py:24", "shortDescription": {"text": "Legacy-named symbol `normalize_dm_message_payload_legacy` in backend/tests/mesh/test_mesh_rns_private_dm.py:24"}, "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-be8573dc52fd5d4f", "name": "Legacy-named symbol `sb_old` in backend/tests/mesh/test_signed_write_transport_matrix.py:215", "shortDescription": {"text": "Legacy-named symbol `sb_old` in backend/tests/mesh/test_signed_write_transport_matrix.py:215"}, "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-97e244bdff62a8a6", "name": "Legacy-named symbol `dm_test_legacy` in backend/tests/mesh/test_mesh_wormhole_hardening.py:747", "shortDescription": {"text": "Legacy-named symbol `dm_test_legacy` in backend/tests/mesh/test_mesh_wormhole_hardening.py:747"}, "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-446e657d778087a0", "name": "Legacy-named symbol `peer_sender_legacy` in backend/tests/mesh/test_dm_alias_rotation_binding.py:560", "shortDescription": {"text": "Legacy-named symbol `peer_sender_legacy` in backend/tests/mesh/test_dm_alias_rotation_binding.py:560"}, "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-2dd03f0adeb01589", "name": "Commented-code block (5 lines) in backend/scripts/convert_power_plants.py:23", "shortDescription": {"text": "Commented-code block (5 lines) in backend/scripts/convert_power_plants.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-10c2d2e8806d96c6", "name": "Commented-code block (6 lines) in backend/routers/data.py:110", "shortDescription": {"text": "Commented-code block (6 lines) in backend/routers/data.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-44810611f1ca3883", "name": "Commented-code block (5 lines) in backend/routers/health.py:63", "shortDescription": {"text": "Commented-code block (5 lines) in backend/routers/health.py:63"}, "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-aec23c61992eb747", "name": "Legacy-named symbol `compressed_v1` in backend/routers/ai_intel.py:767", "shortDescription": {"text": "Legacy-named symbol `compressed_v1` in backend/routers/ai_intel.py:767"}, "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-4e44c9a5bf6cf483", "name": "Commented-code block (5 lines) in backend/routers/ai_intel.py:2609", "shortDescription": {"text": "Commented-code block (5 lines) in backend/routers/ai_intel.py:2609"}, "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-e900bd29427d857c", "name": "Blocking `requests.get(...)` inside `async def telegram_media_proxy` \u2014 backend/routers/intel_feeds.py:97", "shortDescription": {"text": "Blocking `requests.get(...)` inside `async def telegram_media_proxy` \u2014 backend/routers/intel_feeds.py:97"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `requests.get(...)` 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-f40666398f1d0c3c", "name": "Commented-code block (5 lines) in backend/routers/tools.py:121", "shortDescription": {"text": "Commented-code block (5 lines) in backend/routers/tools.py:121"}, "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-c37d459606adb3cc", "name": "Commented-code block (5 lines) in backend/routers/wormhole.py:163", "shortDescription": {"text": "Commented-code block (5 lines) in backend/routers/wormhole.py: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-f11fcb969851d5e0", "name": "Commented-code block (5 lines) in backend/routers/radio.py:24", "shortDescription": {"text": "Commented-code block (5 lines) in backend/routers/radio.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-bb4f25e57b8c7be3", "name": "Legacy-named symbol `rest_v1` in backend/services/region_dossier.py:177", "shortDescription": {"text": "Legacy-named symbol `rest_v1` in backend/services/region_dossier.py:177"}, "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-79cd3e8e6a58e3be", "name": "Commented-code block (8 lines) in backend/services/region_dossier.py:22", "shortDescription": {"text": "Commented-code block (8 lines) in backend/services/region_dossier.py:22"}, "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-be5d928267108654", "name": "Commented-code block (5 lines) in backend/services/radio_intercept.py:15", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/radio_intercept.py:15"}, "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-44ff0bb8ef8b2f21", "name": "Commented-code block (5 lines) in backend/services/ais_stream.py:347", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/ais_stream.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-75ce6fde7237185f", "name": "Network/subprocess call without timeout or try/except \u2014 backend/services/ais_stream.py:620", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 backend/services/ais_stream.py:620"}, "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-cacba1c7f93cc93c", "name": "Commented-code block (7 lines) in backend/services/api_settings.py:162", "shortDescription": {"text": "Commented-code block (7 lines) in backend/services/api_settings.py:162"}, "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-c7170dba3a1a1be6", "name": "Commented-code block (7 lines) in backend/services/network_utils.py:29", "shortDescription": {"text": "Commented-code block (7 lines) in backend/services/network_utils.py:29"}, "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-77f1fdeee1ce4452", "name": "Commented-code block (5 lines) in backend/services/config.py:78", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/config.py:78"}, "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-228976bdbff20fd2", "name": "Legacy-named symbol `cameras_v1` in backend/services/cctv_pipeline.py:797", "shortDescription": {"text": "Legacy-named symbol `cameras_v1` in backend/services/cctv_pipeline.py:797"}, "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-c5cbe6bf6994ce04", "name": "Stub function `fetch_data` (body is just `pass`/`return`) \u2014 backend/services/cctv_pipeline.py:298", "shortDescription": {"text": "Stub function `fetch_data` (body is just `pass`/`return`) \u2014 backend/services/cctv_pipeline.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-fa33cacc06cd6599", "name": "Commented-code block (5 lines) in backend/services/kiwisdr_fetcher.py:38", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/kiwisdr_fetcher.py: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-ce321617ac428b5e", "name": "Commented-code block (6 lines) in backend/services/carrier_tracker.py:234", "shortDescription": {"text": "Commented-code block (6 lines) in backend/services/carrier_tracker.py:234"}, "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-d5eedf681464d4d5", "name": "Legacy-named symbol `compressed_v1` in backend/services/openclaw_channel.py:565", "shortDescription": {"text": "Legacy-named symbol `compressed_v1` in backend/services/openclaw_channel.py:565"}, "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-a9ba882f4052aa22", "name": "Commented-code block (5 lines) in backend/services/constants.py:14", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/constants.py: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-f5cd7a92a2ef776d", "name": "Legacy-named symbol `dirs_to_backup` in backend/services/updater.py:393", "shortDescription": {"text": "Legacy-named symbol `dirs_to_backup` in backend/services/updater.py:393"}, "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-241618a77aad191b", "name": "Commented-code block (5 lines) in backend/services/updater.py:360", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/updater.py:360"}, "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-555260953ed8cb78", "name": "Network/subprocess call without timeout or try/except \u2014 backend/services/updater.py:504", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 backend/services/updater.py:504"}, "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-bb30a5c258a1082e", "name": "Legacy-named symbol `from_buffer_copy` in backend/services/privacy_core_client.py:576", "shortDescription": {"text": "Legacy-named symbol `from_buffer_copy` in backend/services/privacy_core_client.py:576"}, "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-d3ca5f1951fb6220", "name": "Commented-code block (6 lines) in backend/services/data_fetcher.py:884", "shortDescription": {"text": "Commented-code block (6 lines) in backend/services/data_fetcher.py:884"}, "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-f4f49c97daef616f", "name": "Legacy-named symbol `_get_security_posture_warnings_legacy` in backend/services/env_check.py:650", "shortDescription": {"text": "Legacy-named symbol `_get_security_posture_warnings_legacy` in backend/services/env_check.py:650"}, "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-9ab8714dc48e00df", "name": "Commented-code block (6 lines) in backend/services/geocode.py:195", "shortDescription": {"text": "Commented-code block (6 lines) in backend/services/geocode.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-ebfa9a137f3b9628", "name": "Commented-code block (6 lines) in backend/services/geopolitics.py:543", "shortDescription": {"text": "Commented-code block (6 lines) in backend/services/geopolitics.py:543"}, "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-4bd87a9a43cdd4d7", "name": "Commented-code block (5 lines) in backend/services/tor_hidden_service.py:207", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/tor_hidden_service.py:207"}, "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-dc23e007b9f38da9", "name": "Legacy-named symbol `allow_legacy` in backend/services/mesh/mesh_wormhole_persona.py:846", "shortDescription": {"text": "Legacy-named symbol `allow_legacy` in backend/services/mesh/mesh_wormhole_persona.py:846"}, "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-4021852a0958ab41", "name": "Legacy-named symbol `collect_legacy` in backend/services/mesh/mesh_dm_relay.py:2066", "shortDescription": {"text": "Legacy-named symbol `collect_legacy` in backend/services/mesh/mesh_dm_relay.py:2066"}, "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-d6351937723a920a", "name": "Commented-code block (8 lines) in backend/services/mesh/mesh_dm_relay.py:1552", "shortDescription": {"text": "Commented-code block (8 lines) in backend/services/mesh/mesh_dm_relay.py:1552"}, "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-76e7eeecb5f13545", "name": "Commented-code block (6 lines) in backend/services/mesh/mesh_rns.py:46", "shortDescription": {"text": "Commented-code block (6 lines) in backend/services/mesh/mesh_rns.py:46"}, "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-4ef2aae07f656595", "name": "Commented-code block (5 lines) in backend/services/mesh/mesh_hashchain.py:2370", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/mesh/mesh_hashchain.py:2370"}, "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-d30366113704545c", "name": "Legacy-named symbol `sb_dm_alias_payload_v1` in backend/services/mesh/mesh_wormhole_dead_drop.py:89", "shortDescription": {"text": "Legacy-named symbol `sb_dm_alias_payload_v1` in backend/services/mesh/mesh_wormhole_dead_drop.py:89"}, "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-0a50dbd76ae11bfa", "name": "Commented-code block (5 lines) in backend/services/mesh/mesh_wormhole_dead_drop.py:76", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/mesh/mesh_wormhole_dead_drop.py:76"}, "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-2d1b7f0155ccf100", "name": "Legacy-named symbol `store_backup` in backend/services/mesh/mesh_gate_mls.py:998", "shortDescription": {"text": "Legacy-named symbol `store_backup` in backend/services/mesh/mesh_gate_mls.py:998"}, "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-c9ce15e03a3b32f0", "name": "Commented-code block (8 lines) in backend/services/mesh/mesh_gate_mls.py:327", "shortDescription": {"text": "Commented-code block (8 lines) in backend/services/mesh/mesh_gate_mls.py:327"}, "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-8c9a6358fdb95a66", "name": "Commented-code block (5 lines) in backend/services/mesh/mesh_router.py:719", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/mesh/mesh_router.py:719"}, "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-9ad252c12d26f859", "name": "Commented-code block (9 lines) in backend/services/mesh/mesh_crypto.py:90", "shortDescription": {"text": "Commented-code block (9 lines) in backend/services/mesh/mesh_crypto.py:90"}, "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-7df202107794adab", "name": "Legacy-named symbol `normalize_dm_message_payload_legacy` in backend/services/mesh/mesh_protocol.py:272", "shortDescription": {"text": "Legacy-named symbol `normalize_dm_message_payload_legacy` in backend/services/mesh/mesh_protocol.py:272"}, "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-39e641ea9d0ce5d1", "name": "Legacy-named symbol `spk_too_old` in backend/services/mesh/mesh_wormhole_prekey.py:1103", "shortDescription": {"text": "Legacy-named symbol `spk_too_old` in backend/services/mesh/mesh_wormhole_prekey.py:1103"}, "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-1882fa398bb05608", "name": "Network/subprocess call without timeout or try/except \u2014 backend/services/mesh/mesh_wormhole_prekey.py:235", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 backend/services/mesh/mesh_wormhole_prekey.py:235"}, "fullDescription": {"text": "`requests.get(...)` 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-d19e8cb68e5edd23", "name": "Commented-code block (7 lines) in backend/services/mesh/mesh_privacy_policy.py:64", "shortDescription": {"text": "Commented-code block (7 lines) in backend/services/mesh/mesh_privacy_policy.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-513f6e0c00083d32", "name": "Commented-code block (6 lines) in backend/services/mesh/mesh_rollout_flags.py:40", "shortDescription": {"text": "Commented-code block (6 lines) in backend/services/mesh/mesh_rollout_flags.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-8e17e1c55fcfdc93", "name": "Legacy-named symbol `normalize_dm_message_payload_legacy` in backend/services/mesh/mesh_signed_events.py:31", "shortDescription": {"text": "Legacy-named symbol `normalize_dm_message_payload_legacy` in backend/services/mesh/mesh_signed_events.py:31"}, "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-8bdd663cfbb4b75f", "name": "Legacy-named symbol `_derive_seal_key_v2` in backend/services/mesh/mesh_wormhole_seal.py:54", "shortDescription": {"text": "Legacy-named symbol `_derive_seal_key_v2` in backend/services/mesh/mesh_wormhole_seal.py:54"}, "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-9971462efd15cc8e", "name": "Commented-code block (5 lines) in backend/services/fetchers/flights.py:354", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/fetchers/flights.py:354"}, "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-ee6137edba45fb5f", "name": "Legacy-named symbol `event_copy` in backend/services/fetchers/geo.py:269", "shortDescription": {"text": "Legacy-named symbol `event_copy` in backend/services/fetchers/geo.py:269"}, "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-b515a000a96d1129", "name": "Commented-code block (6 lines) in backend/services/fetchers/earth_observation.py:1679", "shortDescription": {"text": "Commented-code block (6 lines) in backend/services/fetchers/earth_observation.py:1679"}, "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-280c4e7dfac6b51e", "name": "Commented-code block (5 lines) in backend/services/fetchers/usni_fleet_tracker.py:254", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/fetchers/usni_fleet_tracker.py:254"}, "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-a6fca778a96a10d9", "name": "Commented-code block (5 lines) in backend/services/fetchers/flight_observations.py:82", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/fetchers/flight_observations.py:82"}, "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-73d51538ea57da51", "name": "Commented-code block (9 lines) in backend/services/fetchers/sigint.py:24", "shortDescription": {"text": "Commented-code block (9 lines) in backend/services/fetchers/sigint.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-70651e7adefb3846", "name": "Commented-code block (5 lines) in backend/services/fetchers/meshtastic_map.py:177", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/fetchers/meshtastic_map.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-01b09be08ea4b280", "name": "Commented-code block (5 lines) in backend/services/infonet/time_validity.py:42", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/infonet/time_validity.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-1f267a7a53832963", "name": "Legacy-named symbol `m_old` in backend/services/infonet/tests/test_8_eligibility.py:105", "shortDescription": {"text": "Legacy-named symbol `m_old` in backend/services/infonet/tests/test_8_eligibility.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-98d1cd71c1b92476", "name": "Commented-code block (5 lines) in backend/services/infonet/tests/test_1_legacy_files_unchanged.py:25", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/infonet/tests/test_1_legacy_files_unchanged.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-20ca9448c8eba9fe", "name": "Commented-code block (5 lines) in backend/services/infonet/tests/test_6_sacrifice.py:97", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/infonet/tests/test_6_sacrifice.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-288e8448ab8c4c2d", "name": "Legacy-named symbol `test_economy_types_disjoint_from_legacy_legacy` in backend/services/infonet/tests/test_1_schema_eve", "shortDescription": {"text": "Legacy-named symbol `test_economy_types_disjoint_from_legacy_legacy` in backend/services/infonet/tests/test_1_schema_event_types.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-10abaf9c10940fea", "name": "Legacy-named symbol `m_old` in backend/services/infonet/tests/test_5_dispute_bounded_reversal.py:218", "shortDescription": {"text": "Legacy-named symbol `m_old` in backend/services/infonet/tests/test_5_dispute_bounded_reversal.py:218"}, "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-a8139661fc49f431", "name": "Commented-code block (5 lines) in backend/services/infonet/tests/test_5_dispute_bounded_reversal.py:198", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/infonet/tests/test_5_dispute_bounded_reversal.py:198"}, "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-ccc31a3131c19463", "name": "Commented-code block (6 lines) in backend/services/infonet/reputation/oracle_rep.py:143", "shortDescription": {"text": "Commented-code block (6 lines) in backend/services/infonet/reputation/oracle_rep.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-86ac06807897da18", "name": "Commented-code block (5 lines) in backend/services/infonet/reputation/common_rep.py:77", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/infonet/reputation/common_rep.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-acacad0e073ff2f5", "name": "Legacy-named symbol `v1_upreps_v2` in backend/services/infonet/reputation/anti_gaming/clustering.py:98", "shortDescription": {"text": "Legacy-named symbol `v1_upreps_v2` in backend/services/infonet/reputation/anti_gaming/clustering.py:98"}, "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-057a665558a063f0", "name": "Commented-code block (5 lines) in backend/services/infonet/gates/shutdown/shutdown.py:92", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/infonet/gates/shutdown/shutdown.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-68647137b7af93fd", "name": "Commented-code block (6 lines) in backend/services/infonet/gates/shutdown/appeal.py:129", "shortDescription": {"text": "Commented-code block (6 lines) in backend/services/infonet/gates/shutdown/appeal.py:129"}, "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-b6cd533a4f218099", "name": "Commented-code block (6 lines) in backend/services/infonet/partition/provisional.py:33", "shortDescription": {"text": "Commented-code block (6 lines) in backend/services/infonet/partition/provisional.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-cdc05801c715facd", "name": "Commented-code block (5 lines) in backend/services/infonet/governance/dsl_executor.py:182", "shortDescription": {"text": "Commented-code block (5 lines) in backend/services/infonet/governance/dsl_executor.py:182"}, "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-fe1e7ce3e72f08a4", "name": "Network/subprocess call without timeout or try/except \u2014 backend/services/infonet/governance/dsl_executor.py:198", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 backend/services/infonet/governance/dsl_executor.py:198"}, "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-ac917e3676c6b588", "name": "Stub function `_noop_progress` (body is just `pass`/`return`) \u2014 backend/services/road_corridor_sat/pipeline.py:29", "shortDescription": {"text": "Stub function `_noop_progress` (body is just `pass`/`return`) \u2014 backend/services/road_corridor_sat/pipeline.py:29"}, "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-49e1caae932c827c", "name": "Legacy-named symbol `preds_copy` in backend/services/road_corridor_sat/s2_truck_detect.py:484", "shortDescription": {"text": "Legacy-named symbol `preds_copy` in backend/services/road_corridor_sat/s2_truck_detect.py:484"}, "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-8bfc0aede88b176f", "name": "Commented-code block (6 lines) in desktop-shell/tauri-skeleton/scripts/build-frontend-export.cjs:49", "shortDescription": {"text": "Commented-code block (6 lines) in desktop-shell/tauri-skeleton/scripts/build-frontend-export.cjs:49"}, "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-7fe7c8ab663637ea", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/e2e_dm_short_address_live.py:184", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/e2e_dm_short_address_live.py:184"}, "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-ca50e42b6073e4e0", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/sanitize_submarine_cables.py:105", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sanitize_submarine_cables.py:105"}, "fullDescription": {"text": "`urllib.request.urlretrieve(...)` 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-1490e83cb30754ba", "name": "Commented-code block (7 lines) in frontend/vitest.config.js:11", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/vitest.config.js:11"}, "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-a6d27ca7e85467b2", "name": "Commented-code block (5 lines) in frontend/next.config.ts:10", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/next.config.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-a18fac9a0f6252e0", "name": "Commented-code block (5 lines) in frontend/src/app/page.tsx:120", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/app/page.tsx:120"}, "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-32921fdd9f4c086b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/app/api/[...path]/route.ts:34", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/app/api/[...path]/route.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-ae1340653dc5e7ac", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/mesh/meshDmClient.ts:355", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/mesh/meshDmClient.ts:355"}, "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-656694ebe021d50e", "name": "Legacy-named symbol `sb_gate_compat_approvals_v2` in frontend/src/mesh/wormholeIdentityClient.ts:42", "shortDescription": {"text": "Legacy-named symbol `sb_gate_compat_approvals_v2` in frontend/src/mesh/wormholeIdentityClient.ts:42"}, "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-b0e2129541892e7e", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/mesh/infonetEconomyClient.ts:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/mesh/infonetEconomyClient.ts:17"}, "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-7d3a997ff66a5d54", "name": "Legacy-named symbol `sb_gate_compat_telemetry_v1` in frontend/src/mesh/gateCompatTelemetry.ts:4", "shortDescription": {"text": "Legacy-named symbol `sb_gate_compat_telemetry_v1` in frontend/src/mesh/gateCompatTelemetry.ts: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-42b9cf8486f3863b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/mesh/privacyCoreWasm/privacy_core.js:421", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/mesh/privacyCoreWasm/privacy_core.js:421"}, "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-7337b0bf2cfecd07", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/usePredictionMarketsOptIn.ts:38", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/usePredictionMarketsOptIn.ts:38"}, "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-6a17dc2e70517f2b", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/useDataPolling.ts:180", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/useDataPolling.ts:180"}, "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-2db3fe54c55a1746", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/useRegionDossier.ts:87", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/useRegionDossier.ts:87"}, "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-70f0cb4626fbe750", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/useLiveUamapScraperOptIn.ts:42", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/useLiveUamapScraperOptIn.ts:42"}, "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-af06cf17cc4c565d", "name": "Commented-code block (5 lines) in frontend/src/components/AIIntelPanel.tsx:360", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/AIIntelPanel.tsx:360"}, "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-b496fe721556e46c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/AIIntelPanel.tsx:479", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/AIIntelPanel.tsx:479"}, "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-4ac73f6d55432f54", "name": "Legacy-named symbol `sb_shodan_presets_v1` in frontend/src/components/ShodanPanel.tsx:44", "shortDescription": {"text": "Legacy-named symbol `sb_shodan_presets_v1` in frontend/src/components/ShodanPanel.tsx:44"}, "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-d202ae732e27df5c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/ShodanPanel.tsx:576", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/ShodanPanel.tsx:576"}, "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-22c385ba50bb7f3a", "name": "Commented-code block (5 lines) in frontend/src/components/NewsFeed.tsx:209", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/NewsFeed.tsx:209"}, "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-99025b51854f55a9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/NewsFeed.tsx:407", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/NewsFeed.tsx:407"}, "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-9c16410d7b6ae238", "name": "Commented-code block (8 lines) in frontend/src/components/TopRightControls.tsx:97", "shortDescription": {"text": "Commented-code block (8 lines) in frontend/src/components/TopRightControls.tsx: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-f532485a16cfc830", "name": "Commented-code block (6 lines) in frontend/src/components/OnboardingModal.tsx:166", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/OnboardingModal.tsx:166"}, "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-92fca07bc837439f", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/ReconPanel.tsx:76", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/ReconPanel.tsx:76"}, "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-8b176fd374518d6a", "name": "Commented-code block (5 lines) in frontend/src/components/SarModeChooserModal.tsx:74", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/SarModeChooserModal.tsx: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-23295a9e4c5b3ab1", "name": "Commented-code block (5 lines) in frontend/src/components/SettingsPanel.tsx:82", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/SettingsPanel.tsx:82"}, "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-2ba7793f5544088a", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/MeshTerminal.tsx:2067", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/MeshTerminal.tsx:2067"}, "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-a0ee4ed87ac2a337", "name": "Legacy-named symbol `kiwisdr_consent_v1` in frontend/src/components/WorldviewLeftPanel.tsx:481", "shortDescription": {"text": "Legacy-named symbol `kiwisdr_consent_v1` in frontend/src/components/WorldviewLeftPanel.tsx:481"}, "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-acd398ddd4467eab", "name": "Commented-code block (5 lines) in frontend/src/components/WorldviewLeftPanel.tsx:416", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/WorldviewLeftPanel.tsx:416"}, "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-ade23447991a99d6", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/RadioInterceptPanel.tsx:87", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/RadioInterceptPanel.tsx:87"}, "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-8874477acd81245c", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/TimelinePanel.tsx:120", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/TimelinePanel.tsx:120"}, "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-0d85f61914d06403", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/PredictionsPanel.tsx:698", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/PredictionsPanel.tsx:698"}, "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-317688374526800d", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/MaplibreViewer.tsx:485", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/MaplibreViewer.tsx:485"}, "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-eda8adcb9968e679", "name": "Commented-code block (5 lines) in frontend/src/components/MeshChat.tsx:1", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/components/MeshChat.tsx: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-df6bb7dfa7149534", "name": "Commented-code block (6 lines) in frontend/src/components/MeshChat/useMeshChatController.ts:387", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/MeshChat/useMeshChatController.ts:387"}, "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-14a3e3568e5c4db3", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/MeshChat/useMeshChatController.ts:1155", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/MeshChat/useMeshChatController.ts:1155"}, "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-0e41100d9e32c0d8", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/map/panels/SigintPanels.tsx:96", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/map/panels/SigintPanels.tsx:96"}, "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-ce29a34fe728a736", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/InfonetTerminal/AIQueryView.tsx:140", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/InfonetTerminal/AIQueryView.tsx:140"}, "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-08e0618f7e26da3f", "name": "Commented-code block (6 lines) in frontend/src/components/InfonetTerminal/GateView.tsx:291", "shortDescription": {"text": "Commented-code block (6 lines) in frontend/src/components/InfonetTerminal/GateView.tsx:291"}, "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-1e80fdf1832fc932", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/InfonetTerminal/GateView.tsx:484", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/InfonetTerminal/GateView.tsx:484"}, "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-b34ebe3b04f5c9bb", "name": "Legacy-named symbol `sb_infonet_mailbox_v1` in frontend/src/components/InfonetTerminal/MessagesView.tsx:208", "shortDescription": {"text": "Legacy-named symbol `sb_infonet_mailbox_v1` in frontend/src/components/InfonetTerminal/MessagesView.tsx:208"}, "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-13925953a4eb0836", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/InfonetTerminal/MarketView.tsx:175", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/InfonetTerminal/MarketView.tsx:175"}, "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-f72222152be734c1", "name": "Commented-code block (7 lines) in frontend/src/lib/api.ts:1", "shortDescription": {"text": "Commented-code block (7 lines) in frontend/src/lib/api.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-8ed1b786736ff7a9", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/localControlTransport.ts:106", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/localControlTransport.ts:106"}, "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-dbd0f827b24e7697", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/sentinelHub.ts:204", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/sentinelHub.ts:204"}, "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-dc8652367c3ac2da", "name": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/aiIntelClient.ts:32", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/aiIntelClient.ts: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-23c04d9a154d4708", "name": "Legacy-named symbol `sb_infonet_mailbox_v1` in frontend/src/__tests__/mesh/messagesViewFirstContact.test.tsx:488", "shortDescription": {"text": "Legacy-named symbol `sb_infonet_mailbox_v1` in frontend/src/__tests__/mesh/messagesViewFirstContact.test.tsx:488"}, "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-1347a6d37a8b41f0", "name": "Commented-code block (9 lines) in frontend/src/__tests__/mesh/messagesViewFirstContact.test.tsx:868", "shortDescription": {"text": "Commented-code block (9 lines) in frontend/src/__tests__/mesh/messagesViewFirstContact.test.tsx:868"}, "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-7fe23deaad5af05c", "name": "Legacy-named symbol `sb_legacy` in frontend/src/__tests__/mesh/meshDmClientLookup.test.ts:18", "shortDescription": {"text": "Legacy-named symbol `sb_legacy` in frontend/src/__tests__/mesh/meshDmClientLookup.test.ts:18"}, "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-6daeb2121e8d86a1", "name": "Legacy-named symbol `sb_legacy` in frontend/src/__tests__/mesh/meshGateWorkerVault.test.ts:199", "shortDescription": {"text": "Legacy-named symbol `sb_legacy` in frontend/src/__tests__/mesh/meshGateWorkerVault.test.ts:199"}, "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-3d46bec70e2a440a", "name": "Commented-code block (5 lines) in frontend/src/__tests__/desktop/adminSessionBoundary.test.ts:48", "shortDescription": {"text": "Commented-code block (5 lines) in frontend/src/__tests__/desktop/adminSessionBoundary.test.ts: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-dc7b461d22ca0194", "name": "Commented-code block (5 lines) in openclaw-skills/shadowbroker/sb_query.py:66", "shortDescription": {"text": "Commented-code block (5 lines) in openclaw-skills/shadowbroker/sb_query.py: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-6f0fdb8d4cd8c31c", "name": "200 env vars used in code but missing from .env.example", "shortDescription": {"text": "200 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `AGENT_SHELL_DEFAULT_CWD`, `AISHUB_POLL_INTERVAL_MINUTES`, `AISHUB_USERNAME`, `ALERTS_IN_UA_TOKEN`, `BACKEND_BASE_PYTHON`, `BACKEND_PORT`, `BACKEND_RELOAD`, `BACKEND_URL` + 192 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "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:\nbackend/main.py:oracle_region_intel, backend/routers/sigint.py:oracle_region_intel\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:\nbackend/main.py:infonet_sync_post, backend/main.py:infonet_sync, backend/routers/mesh_public.py:infonet_sync_post, backend/routers/mesh_public.py:infonet_sync\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-20e179cf21448cc1", "name": "FastAPI POST `satellite_overflights` without auth dependency \u2014 backend/routers/data.py:886", "shortDescription": {"text": "FastAPI POST `satellite_overflights` without auth dependency \u2014 backend/routers/data.py:886"}, "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-4977d757adc7b11e", "name": "FastAPI POST `analyze_road_corridor_here` without auth dependency \u2014 backend/routers/road_corridors.py:64", "shortDescription": {"text": "FastAPI POST `analyze_road_corridor_here` without auth dependency \u2014 backend/routers/road_corridors.py:64"}, "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-ce91aff0ebc164d4", "name": "FastAPI POST `infonet_peer_push` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:64", "shortDescription": {"text": "FastAPI POST `infonet_peer_push` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:64"}, "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-4cea979541e0feeb", "name": "FastAPI POST `dm_replicate_envelope` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:99", "shortDescription": {"text": "FastAPI POST `dm_replicate_envelope` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:99"}, "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-ceb797a0e6dbb0a9", "name": "FastAPI POST `gate_peer_push` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:157", "shortDescription": {"text": "FastAPI POST `gate_peer_push` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:157"}, "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-1064a56ea6f8fd81", "name": "FastAPI POST `gate_peer_pull` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:275", "shortDescription": {"text": "FastAPI POST `gate_peer_pull` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:275"}, "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-932d6ab5ea0e8225", "name": "FastAPI POST `dm_register_key` without auth dependency \u2014 backend/routers/mesh_dm.py:235", "shortDescription": {"text": "FastAPI POST `dm_register_key` without auth dependency \u2014 backend/routers/mesh_dm.py:235"}, "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-3559c1d51c8ff0f7", "name": "FastAPI POST `dm_prekey_peer_lookup` without auth dependency \u2014 backend/routers/mesh_dm.py:299", "shortDescription": {"text": "FastAPI POST `dm_prekey_peer_lookup` without auth dependency \u2014 backend/routers/mesh_dm.py:299"}, "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-1cbc9e9d25282192", "name": "FastAPI POST `dm_send` without auth dependency \u2014 backend/routers/mesh_dm.py:349", "shortDescription": {"text": "FastAPI POST `dm_send` without auth dependency \u2014 backend/routers/mesh_dm.py:349"}, "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-484d4fb0553943c4", "name": "FastAPI POST `dm_poll_secure` without auth dependency \u2014 backend/routers/mesh_dm.py:356", "shortDescription": {"text": "FastAPI POST `dm_poll_secure` without auth dependency \u2014 backend/routers/mesh_dm.py:356"}, "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-88a14acdae8f16e6", "name": "FastAPI POST `dm_count_secure` without auth dependency \u2014 backend/routers/mesh_dm.py:383", "shortDescription": {"text": "FastAPI POST `dm_count_secure` without auth dependency \u2014 backend/routers/mesh_dm.py:383"}, "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-f1c98b2ed08e68e1", "name": "FastAPI POST `dm_block` without auth dependency \u2014 backend/routers/mesh_dm.py:410", "shortDescription": {"text": "FastAPI POST `dm_block` without auth dependency \u2014 backend/routers/mesh_dm.py:410"}, "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-4a7dceb0c78452b8", "name": "FastAPI POST `dm_key_witness` without auth dependency \u2014 backend/routers/mesh_dm.py:449", "shortDescription": {"text": "FastAPI POST `dm_key_witness` without auth dependency \u2014 backend/routers/mesh_dm.py:449"}, "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-cbce01340fe49d7b", "name": "FastAPI POST `trust_vouch` without auth dependency \u2014 backend/routers/mesh_dm.py:514", "shortDescription": {"text": "FastAPI POST `trust_vouch` without auth dependency \u2014 backend/routers/mesh_dm.py:514"}, "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-eb12247c73b4e3cf", "name": "FastAPI POST `api_wikidata_sparql` without auth dependency \u2014 backend/routers/tools.py:108", "shortDescription": {"text": "FastAPI POST `api_wikidata_sparql` without auth dependency \u2014 backend/routers/tools.py:108"}, "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-9e37d2de527acc06", "name": "FastAPI POST `oracle_predict` without auth dependency \u2014 backend/routers/mesh_oracle.py:69", "shortDescription": {"text": "FastAPI POST `oracle_predict` without auth dependency \u2014 backend/routers/mesh_oracle.py:69"}, "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-329755b6d9cf9164", "name": "FastAPI POST `oracle_stake` without auth dependency \u2014 backend/routers/mesh_oracle.py:265", "shortDescription": {"text": "FastAPI POST `oracle_stake` without auth dependency \u2014 backend/routers/mesh_oracle.py:265"}, "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-26652c2f6f2ec54e", "name": "FastAPI POST `osint_sweep_scan` without auth dependency \u2014 backend/routers/osint.py:142", "shortDescription": {"text": "FastAPI POST `osint_sweep_scan` without auth dependency \u2014 backend/routers/osint.py:142"}, "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-a84bc82f661fada0", "name": "FastAPI POST `preview_petition_payload` without auth dependency \u2014 backend/routers/infonet.py:173", "shortDescription": {"text": "FastAPI POST `preview_petition_payload` without auth dependency \u2014 backend/routers/infonet.py:173"}, "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-86f8171adc8f933f", "name": "FastAPI POST `validate_event` without auth dependency \u2014 backend/routers/infonet.py:190", "shortDescription": {"text": "FastAPI POST `validate_event` without auth dependency \u2014 backend/routers/infonet.py:190"}, "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-e075f318bdf8194c", "name": "FastAPI POST `append_event` without auth dependency \u2014 backend/routers/infonet.py:493", "shortDescription": {"text": "FastAPI POST `append_event` without auth dependency \u2014 backend/routers/infonet.py:493"}, "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-44a4e35fb48b8681", "name": "FastAPI POST `api_wormhole_leave` without auth dependency \u2014 backend/routers/wormhole.py:666", "shortDescription": {"text": "FastAPI POST `api_wormhole_leave` without auth dependency \u2014 backend/routers/wormhole.py:666"}, "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-fc0f0a312c759244", "name": "FastAPI POST `mesh_send` without auth dependency \u2014 backend/routers/mesh_public.py:617", "shortDescription": {"text": "FastAPI POST `mesh_send` without auth dependency \u2014 backend/routers/mesh_public.py:617"}, "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-1ece860508edd4d8", "name": "FastAPI POST `mesh_vote` without auth dependency \u2014 backend/routers/mesh_public.py:1053", "shortDescription": {"text": "FastAPI POST `mesh_vote` without auth dependency \u2014 backend/routers/mesh_public.py:1053"}, "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-77c914c591ddbebd", "name": "FastAPI POST `mesh_report` without auth dependency \u2014 backend/routers/mesh_public.py:1125", "shortDescription": {"text": "FastAPI POST `mesh_report` without auth dependency \u2014 backend/routers/mesh_public.py:1125"}, "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-966d0789abaa64c4", "name": "FastAPI POST `mesh_identity_rotate` without auth dependency \u2014 backend/routers/mesh_public.py:1229", "shortDescription": {"text": "FastAPI POST `mesh_identity_rotate` without auth dependency \u2014 backend/routers/mesh_public.py:1229"}, "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-a0762dc20a942048", "name": "FastAPI POST `mesh_identity_revoke` without auth dependency \u2014 backend/routers/mesh_public.py:1314", "shortDescription": {"text": "FastAPI POST `mesh_identity_revoke` without auth dependency \u2014 backend/routers/mesh_public.py:1314"}, "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-212626ad4296533e", "name": "FastAPI POST `gate_create` without auth dependency \u2014 backend/routers/mesh_public.py:1379", "shortDescription": {"text": "FastAPI POST `gate_create` without auth dependency \u2014 backend/routers/mesh_public.py:1379"}, "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-355b9cd9cd35a2cf", "name": "FastAPI POST `gate_message` without auth dependency \u2014 backend/routers/mesh_public.py:1466", "shortDescription": {"text": "FastAPI POST `gate_message` without auth dependency \u2014 backend/routers/mesh_public.py:1466"}, "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-cb04e9657561b091", "name": "FastAPI POST `infonet_sync_post` without auth dependency \u2014 backend/routers/mesh_public.py:1553", "shortDescription": {"text": "FastAPI POST `infonet_sync_post` without auth dependency \u2014 backend/routers/mesh_public.py:1553"}, "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-b51c21ae74ff9d72", "name": "FastAPI PUT `set_gate_envelope_policy` without auth dependency \u2014 backend/routers/mesh_public.py:1924", "shortDescription": {"text": "FastAPI PUT `set_gate_envelope_policy` without auth dependency \u2014 backend/routers/mesh_public.py:1924"}, "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-2f2f3449aafe0fb7", "name": "FastAPI PUT `set_gate_legacy_envelope_fallback` without auth dependency \u2014 backend/routers/mesh_public.py:1953", "shortDescription": {"text": "FastAPI PUT `set_gate_legacy_envelope_fallback` without auth dependency \u2014 backend/routers/mesh_public.py:1953"}, "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-3084865059d6ce45", "name": "Dangling fetch: GET http://localhost:3000/api/wormhole/identity/bootstrap (frontend/src/app/api/[...path]/route.ts:155)", "shortDescription": {"text": "Dangling fetch: GET http://localhost:3000/api/wormhole/identity/bootstrap (frontend/src/app/api/[...path]/route.ts:155)"}, "fullDescription": {"text": "`frontend/src/app/api/[...path]/route.ts:155` calls `GET http://localhost:3000/api/wormhole/identity/bootstrap` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/http:/localhost:3000/api/wormhole/identity/bootstrap`\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-8e97f6b8279fdd36", "name": "Dangling fetch: GET /data/submarine-cables.json (frontend/src/components/MaplibreViewer.tsx:1183)", "shortDescription": {"text": "Dangling fetch: GET /data/submarine-cables.json (frontend/src/components/MaplibreViewer.tsx:1183)"}, "fullDescription": {"text": "`frontend/src/components/MaplibreViewer.tsx:1183` calls `GET /data/submarine-cables.json` but no backend route matches that path. This is a runtime 404 waiting to happen.\n\nTool: fetch\nNormalized path used for matching: `/data/submarine-cables.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-64b8e6b11d60cba5", "name": "Unused endpoint: GET /api/refresh", "shortDescription": {"text": "Unused endpoint: GET /api/refresh"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/refresh` 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-4353b0f8125e1970", "name": "Unused endpoint: POST /api/ais/feed", "shortDescription": {"text": "Unused endpoint: POST /api/ais/feed"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/ais/feed` 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-1b95188964985368", "name": "Unused endpoint: POST /api/viewport", "shortDescription": {"text": "Unused endpoint: POST /api/viewport"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/viewport` 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-a5250533f323d16f", "name": "Unused endpoint: POST /api/layers", "shortDescription": {"text": "Unused endpoint: POST /api/layers"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/layers` 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-75eabf066b36488c", "name": "Unused endpoint: GET /api/oracle/region-intel", "shortDescription": {"text": "Unused endpoint: GET /api/oracle/region-intel"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/oracle/region-intel` 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-f78356a04b5510c0", "name": "Unused endpoint: GET /api/thermal/verify", "shortDescription": {"text": "Unused endpoint: GET /api/thermal/verify"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/thermal/verify` 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-f8615ab72dbcfaf1", "name": "Unused endpoint: POST /api/sigint/transmit", "shortDescription": {"text": "Unused endpoint: POST /api/sigint/transmit"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/sigint/transmit` 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-e189d242a5a4b387", "name": "Unused endpoint: GET /api/sigint/nearest-sdr", "shortDescription": {"text": "Unused endpoint: GET /api/sigint/nearest-sdr"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/sigint/nearest-sdr` 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-2630c0348a67eba3", "name": "Unused endpoint: POST /api/mesh/send", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/send"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/send` 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-13cbba1481b4f06b", "name": "Unused endpoint: GET /api/mesh/log", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/log"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/log` 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-e62412086c506635", "name": "Unused endpoint: GET /api/mesh/status", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/status"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/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-1b74f5237ea8eabf", "name": "Unused endpoint: GET /api/mesh/signals", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/signals"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/signals` 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-4955a2838637a6b0", "name": "Unused endpoint: GET /api/mesh/messages", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/messages"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/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-c7b38a5fb40da645", "name": "Unused endpoint: GET /api/mesh/channels", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/channels"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/channels` 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-8683e27be04aa101", "name": "Unused endpoint: POST /api/mesh/vote", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/vote"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/vote` 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-0d9a56628dc7e7f1", "name": "Unused endpoint: POST /api/mesh/report", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/report"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/report` 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-bddb62043c6c5b20", "name": "Unused endpoint: GET /api/mesh/reputation", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/reputation"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/reputation` 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-5761d8de3d3b3b1e", "name": "Unused endpoint: GET /api/mesh/reputation/batch", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/reputation/batch"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/reputation/batch` 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-524287d7d9e54bbd", "name": "Unused endpoint: GET /api/mesh/reputation/all", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/reputation/all"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/reputation/all` 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-db26a72c4c665bf4", "name": "Unused endpoint: POST /api/mesh/identity/rotate", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/identity/rotate"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/identity/rotate` 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-668d45e84c90052f", "name": "Unused endpoint: POST /api/mesh/identity/revoke", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/identity/revoke"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/identity/revoke` 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-c8315bb46027031f", "name": "Unused endpoint: POST /api/mesh/gate/create", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/gate/create"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/gate/create` 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-fec15a5ada376f12", "name": "Unused endpoint: GET /api/mesh/gate/list", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/gate/list"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/gate/list` 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-3e5851adfdd5383a", "name": "Unused endpoint: GET /api/mesh/gate/{gate_id}", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/gate/{gate_id}"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/gate/{gate_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-53d6e2ad5c24657c", "name": "Unused endpoint: POST /api/mesh/gate/{gate_id}/message", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/gate/{gate_id}/message"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/gate/{gate_id}/message` 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-64b5dce14dd414d7", "name": "Unused endpoint: GET /api/mesh/infonet/status", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/infonet/status"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/infonet/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-d60e8e83bcf4fa05", "name": "Unused endpoint: GET /api/privacy/claims", "shortDescription": {"text": "Unused endpoint: GET /api/privacy/claims"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/privacy/claims` 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-154be72dbcaf3cfb", "name": "Unused endpoint: GET /api/mesh/infonet/merkle", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/infonet/merkle"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/infonet/merkle` 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-8c922a9286ae4e0a", "name": "Unused endpoint: GET /api/mesh/infonet/locator", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/infonet/locator"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/infonet/locator` 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-a002d5c1f5b8e78c", "name": "Unused endpoint: POST /api/mesh/infonet/sync", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/infonet/sync"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/infonet/sync` 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-4a52690cd33a91e8", "name": "Unused endpoint: GET /api/mesh/metrics", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/metrics"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/metrics` 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-ca4a45dca396b139", "name": "Unused endpoint: GET /api/mesh/rns/status", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/rns/status"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/rns/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-41d83f339ac2edd0", "name": "Unused endpoint: GET /api/mesh/infonet/sync", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/infonet/sync"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/infonet/sync` 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-05398a4abc5aa1e9", "name": "Unused endpoint: POST /api/mesh/infonet/ingest", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/infonet/ingest"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/infonet/ingest` 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-d6914327795067b3", "name": "Unused endpoint: GET /api/mesh/infonet/peer-registry", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/infonet/peer-registry"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/infonet/peer-registry` 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-3058b4ac5f278040", "name": "Unused endpoint: GET /api/mesh/infonet/bootstrap-manifest", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/infonet/bootstrap-manifest"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/infonet/bootstrap-manifest` 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-c951a9d28cec4ab5", "name": "Unused endpoint: POST /api/mesh/infonet/peer-announce", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/infonet/peer-announce"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/infonet/peer-announce` 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-59e352a2a52160ef", "name": "Unused endpoint: POST /api/mesh/infonet/peer-push", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/infonet/peer-push"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/infonet/peer-push` 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-7eaab73ddda04c45", "name": "Unused endpoint: POST /api/mesh/gate/peer-push", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/gate/peer-push"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/gate/peer-push` 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-b56e3613f60349c4", "name": "Unused endpoint: POST /api/mesh/gate/peer-pull", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/gate/peer-pull"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/gate/peer-pull` 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-9aef31e48002a861", "name": "Unused endpoint: GET /api/mesh/peers", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/peers"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/peers` 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-c577d0d81147c272", "name": "Unused endpoint: POST /api/mesh/peers", "shortDescription": {"text": "Unused endpoint: POST /api/mesh/peers"}, "fullDescription": {"text": "`backend/main.py` declares `POST /api/mesh/peers` 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-503a190322e77289", "name": "Unused endpoint: DELETE /api/mesh/peers", "shortDescription": {"text": "Unused endpoint: DELETE /api/mesh/peers"}, "fullDescription": {"text": "`backend/main.py` declares `DELETE /api/mesh/peers` 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-5bb256fb9deeeefc", "name": "Unused endpoint: PATCH /api/mesh/peers", "shortDescription": {"text": "Unused endpoint: PATCH /api/mesh/peers"}, "fullDescription": {"text": "`backend/main.py` declares `PATCH /api/mesh/peers` 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-040aefc45894a053", "name": "Unused endpoint: PUT /api/mesh/gate/{gate_id}/envelope_policy", "shortDescription": {"text": "Unused endpoint: PUT /api/mesh/gate/{gate_id}/envelope_policy"}, "fullDescription": {"text": "`backend/main.py` declares `PUT /api/mesh/gate/{gate_id}/envelope_policy` 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-73fd487cee551bbc", "name": "Unused endpoint: PUT /api/mesh/gate/{gate_id}/legacy_envelope_fallback", "shortDescription": {"text": "Unused endpoint: PUT /api/mesh/gate/{gate_id}/legacy_envelope_fallback"}, "fullDescription": {"text": "`backend/main.py` declares `PUT /api/mesh/gate/{gate_id}/legacy_envelope_fallback` 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-9f04ebfd92a7304e", "name": "Unused endpoint: GET /api/mesh/gate/{gate_id}/messages", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/gate/{gate_id}/messages"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/gate/{gate_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-d42dae3a70037b4e", "name": "Unused endpoint: GET /api/mesh/infonet/messages", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/infonet/messages"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/infonet/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-381be30d442c439c", "name": "Unused endpoint: GET /api/mesh/infonet/messages/wait", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/infonet/messages/wait"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/infonet/messages/wait` 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-3f1d5f68f5029c47", "name": "Unused endpoint: GET /api/mesh/infonet/event/{event_id}", "shortDescription": {"text": "Unused endpoint: GET /api/mesh/infonet/event/{event_id}"}, "fullDescription": {"text": "`backend/main.py` declares `GET /api/mesh/infonet/event/{event_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}}]}}, "automationDetails": {"id": "repobility/24584"}, "properties": {"repository": "BigBodyCobain/Shadowbroker", "repoUrl": "https://github.com/BigBodyCobain/Shadowbroker", "branch": "main"}, "results": [{"ruleId": "scanner-2c433b6f1bc3c103", "level": "note", "message": {"text": "Possibly dead Python function: cmd_generate_keypair"}, "properties": {"repobilityId": "3cd46dd1e1a2ebe6", "scanner": "scanner-primary", "fingerprint": "2c433b6f1bc3c103", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/scripts/bootstrap_manifest_helper.py:48"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-24dbed045821e23b", "level": "note", "message": {"text": "Possibly dead Python function: cmd_sign"}, "properties": {"repobilityId": "6ba5910624273f78", "scanner": "scanner-primary", "fingerprint": "24dbed045821e23b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/scripts/bootstrap_manifest_helper.py:54"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0fdc4f5244aaf88f", "level": "note", "message": {"text": "Possibly dead Python function: cmd_show"}, "properties": {"repobilityId": "a65c825fe9b6238d", "scanner": "scanner-primary", "fingerprint": "0fdc4f5244aaf88f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/scripts/release_helper.py:127"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ba6a75f9d176eb11", "level": "note", "message": {"text": "Possibly dead Python function: cmd_set_version"}, "properties": {"repobilityId": "ae754d6718130849", "scanner": "scanner-primary", "fingerprint": "ba6a75f9d176eb11", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/scripts/release_helper.py:138"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-44950b6d43b110e5", "level": "note", "message": {"text": "Possibly dead Python function: cmd_hash"}, "properties": {"repobilityId": "2910ad11a8735be6", "scanner": "scanner-primary", "fingerprint": "44950b6d43b110e5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/scripts/release_helper.py:146"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f7081f86e7606e52", "level": "note", "message": {"text": "Possibly dead Python function: cmd_write_attestation"}, "properties": {"repobilityId": "9700744e026850cc", "scanner": "scanner-primary", "fingerprint": "f7081f86e7606e52", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/scripts/release_helper.py:178"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2825a196cdad95cb", "level": "note", "message": {"text": "Possibly dead Python function: send_contact_accept"}, "properties": {"repobilityId": "4bdea3f60819d7c8", "scanner": "scanner-primary", "fingerprint": "2825a196cdad95cb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/openclaw_infonet.py:647"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-60e64d2521063458", "level": "note", "message": {"text": "Possibly dead Python function: update_ais_bbox"}, "properties": {"repobilityId": "3d45f182f8893f3a", "scanner": "scanner-primary", "fingerprint": "60e64d2521063458", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/ais_stream.py:843"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8737d9518f66325d", "level": "note", "message": {"text": "Possibly dead Python function: validate_geocode"}, "properties": {"repobilityId": "e807ed7746bb1e07", "scanner": "scanner-primary", "fingerprint": "8737d9518f66325d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/geocode_validate.py:233"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bf1fa1562b20dd5c", "level": "note", "message": {"text": "Possibly dead Python function: clear_injected_data"}, "properties": {"repobilityId": "9711020c70ec78c6", "scanner": "scanner-primary", "fingerprint": "bf1fa1562b20dd5c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/ai_intel_store.py:160"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-57626b029d537ea9", "level": "note", "message": {"text": "Possibly dead Python function: stop_watchdog"}, "properties": {"repobilityId": "f28e9905fe9c64ef", "scanner": "scanner-primary", "fingerprint": "57626b029d537ea9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/openclaw_watchdog.py:525"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-333245a9768cac80", "level": "note", "message": {"text": "Possibly dead Python function: run_all_ingestors"}, "properties": {"repobilityId": "5fa09302677c6b24", "scanner": "scanner-primary", "fingerprint": "333245a9768cac80", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/cctv_pipeline.py:1439"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-82960622abcf971e", "level": "note", "message": {"text": "Possibly dead Python function: stop_feed_ingester"}, "properties": {"repobilityId": "e3794dcb2cbd08e2", "scanner": "scanner-primary", "fingerprint": "82960622abcf971e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/feed_ingester.py:242"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-191706f6fb53b7bb", "level": "note", "message": {"text": "Possibly dead Python function: start_cover_poll"}, "properties": {"repobilityId": "eda911402424a268", "scanner": "scanner-primary", "fingerprint": "191706f6fb53b7bb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/openclaw_channel.py:1750"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0d1e6aebe1332685", "level": "note", "message": {"text": "Possibly dead Python function: stop_cover_poll"}, "properties": {"repobilityId": "866927488cf59357", "scanner": "scanner-primary", "fingerprint": "0d1e6aebe1332685", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/openclaw_channel.py:1763"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a9eff50ee7509575", "level": "note", "message": {"text": "Possibly dead Python function: schedule_restart"}, "properties": {"repobilityId": "3b0ba03bd3654fa0", "scanner": "scanner-primary", "fingerprint": "a9eff50ee7509575", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/updater.py:489"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cab6def72e4fdc0c", "level": "note", "message": {"text": "Possibly dead Python function: threat_actor_to_stix"}, "properties": {"repobilityId": "e8f740d2a1f61ec8", "scanner": "scanner-primary", "fingerprint": "cab6def72e4fdc0c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/stix_exporter.py:37"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de9effc414586bf5", "level": "note", "message": {"text": "Possibly dead Python function: malware_to_stix"}, "properties": {"repobilityId": "f6a7d80f48aec7b9", "scanner": "scanner-primary", "fingerprint": "de9effc414586bf5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/stix_exporter.py:60"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-159244de227a1d44", "level": "note", "message": {"text": "Possibly dead Python function: infrastructure_to_stix"}, "properties": {"repobilityId": "8f648d313521552b", "scanner": "scanner-primary", "fingerprint": "159244de227a1d44", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/stix_exporter.py:80"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c1f40bee05460440", "level": "note", "message": {"text": "Possibly dead Python function: vulnerability_to_stix"}, "properties": {"repobilityId": "e47313d31aeae75e", "scanner": "scanner-primary", "fingerprint": "c1f40bee05460440", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/stix_exporter.py:98"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-52d74f222a94c96c", "level": "note", "message": {"text": "Possibly dead Python function: setup_logging"}, "properties": {"repobilityId": "e79074b18f293f2b", "scanner": "scanner-primary", "fingerprint": "52d74f222a94c96c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/logging_setup.py:22"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3db47bfb55569815", "level": "note", "message": {"text": "Possibly dead Python function: fetch_darkpool_recent"}, "properties": {"repobilityId": "69546378bfe628bd", "scanner": "scanner-primary", "fingerprint": "3db47bfb55569815", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/unusual_whales_connector.py:304"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b214f6513daaf6ae", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 start-backend.js:112"}, "properties": {"repobilityId": "332cda2e1cea27d3", "scanner": "scanner-primary", "fingerprint": "b214f6513daaf6ae", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-92f4039dec5d479b", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 backend/ais_proxy.js:240"}, "properties": {"repobilityId": "9ff851802bc89495", "scanner": "scanner-primary", "fingerprint": "92f4039dec5d479b", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-036cb9cd8d2384f9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 frontend/scripts/report-bundle-size.js:24"}, "properties": {"repobilityId": "ec3c28e3f7a5928c", "scanner": "scanner-primary", "fingerprint": "036cb9cd8d2384f9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-bbdae2e0ca6123af", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/app/LocateBar.tsx:225"}, "properties": {"repobilityId": "fff54b72af3fcf6c", "scanner": "scanner-primary", "fingerprint": "bbdae2e0ca6123af", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-3c59489c20b51524", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/app/page.tsx:835"}, "properties": {"repobilityId": "646669d428c89604", "scanner": "scanner-primary", "fingerprint": "3c59489c20b51524", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-657c71a3dd87bdfc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/AIIntelPanel.tsx:1557"}, "properties": {"repobilityId": "f6fe55aff837a56f", "scanner": "scanner-primary", "fingerprint": "657c71a3dd87bdfc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-821d6b7437f966f8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/ShodanPanel.tsx:765"}, "properties": {"repobilityId": "8c54456f5f37f6c9", "scanner": "scanner-primary", "fingerprint": "821d6b7437f966f8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-8c0c892c23540431", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/NewsFeed.tsx:1641"}, "properties": {"repobilityId": "c9ab88f28a0bc652", "scanner": "scanner-primary", "fingerprint": "8c0c892c23540431", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1ccd1be6c1863c33", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/SarAoiEditorModal.tsx:273"}, "properties": {"repobilityId": "0cf127f5e3375fc7", "scanner": "scanner-primary", "fingerprint": "1ccd1be6c1863c33", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-accdeb9ebd61abec", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/WorldviewLeftPanel.tsx:335"}, "properties": {"repobilityId": "98a58274fca48353", "scanner": "scanner-primary", "fingerprint": "accdeb9ebd61abec", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d95c9f67f38d30b6", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/RadioInterceptPanel.tsx:413"}, "properties": {"repobilityId": "5a99e814bf78372f", "scanner": "scanner-primary", "fingerprint": "d95c9f67f38d30b6", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-4ed447eeaa9eed28", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 frontend/src/components/RadioInterceptPanel.tsx:181"}, "properties": {"repobilityId": "c9d08a40937a5b9b", "scanner": "scanner-primary", "fingerprint": "4ed447eeaa9eed28", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-537c77aaef6b578c", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 frontend/src/components/KeyboardShortcutsOverlay.tsx:53"}, "properties": {"repobilityId": "d098e1c58510e3ac", "scanner": "scanner-primary", "fingerprint": "537c77aaef6b578c", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-0c11ac1561f2aecc", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/TimelinePanel.tsx:263"}, "properties": {"repobilityId": "ebe18f2104cdb742", "scanner": "scanner-primary", "fingerprint": "0c11ac1561f2aecc", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-c98c9cdf05db06bf", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/PredictionsPanel.tsx:165"}, "properties": {"repobilityId": "13b6187fac4cedea", "scanner": "scanner-primary", "fingerprint": "c98c9cdf05db06bf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-04c6dfde566344c1", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MarketsPanel.tsx:141"}, "properties": {"repobilityId": "57d716aa35b84872", "scanner": "scanner-primary", "fingerprint": "04c6dfde566344c1", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-adf998a004cf222b", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/FindLocateBar.tsx:230"}, "properties": {"repobilityId": "402a651ccfe7b72f", "scanner": "scanner-primary", "fingerprint": "adf998a004cf222b", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-ae1dc7fffb468623", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MaplibreViewer.tsx:5784"}, "properties": {"repobilityId": "d6a1bd82db18a502", "scanner": "scanner-primary", "fingerprint": "ae1dc7fffb468623", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-70dc37693bb3eaaf", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/WatchlistWidget.tsx:87"}, "properties": {"repobilityId": "6e1317ecaed27c5d", "scanner": "scanner-primary", "fingerprint": "70dc37693bb3eaaf", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-947eb749eef57ad2", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/EntityGraphPanel.tsx:90"}, "properties": {"repobilityId": "0d06eed1407cb133", "scanner": "scanner-primary", "fingerprint": "947eb749eef57ad2", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-711947a91543bbb3", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/AdvancedFilterModal.tsx:380"}, "properties": {"repobilityId": "10627d3b2a1895ab", "scanner": "scanner-primary", "fingerprint": "711947a91543bbb3", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-9a6a61e71c3c6f96", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MeshChat/AgentShellPanel.tsx:551"}, "properties": {"repobilityId": "1e6a40708d26ccbc", "scanner": "scanner-primary", "fingerprint": "9a6a61e71c3c6f96", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-83d1eb3495c55416", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MeshChat/InfonetTerminalPanel.tsx:175"}, "properties": {"repobilityId": "eca30bcd6091c055", "scanner": "scanner-primary", "fingerprint": "83d1eb3495c55416", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-122ebb3cd9a5f34a", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/map/AIIntelPinDetail.tsx:272"}, "properties": {"repobilityId": "f6ef22ef474bb114", "scanner": "scanner-primary", "fingerprint": "122ebb3cd9a5f34a", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-440de835cfdd6466", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/TerminalDashboard.tsx:136"}, "properties": {"repobilityId": "d959cad6d9181cf2", "scanner": "scanner-primary", "fingerprint": "440de835cfdd6466", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-5a7ba0722565ee42", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/ExchangeView.tsx:367"}, "properties": {"repobilityId": "1179318f0ce22d48", "scanner": "scanner-primary", "fingerprint": "5a7ba0722565ee42", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d53fb3fc7ff089b8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/UpgradeView.tsx:95"}, "properties": {"repobilityId": "c8b602f79588fd01", "scanner": "scanner-primary", "fingerprint": "d53fb3fc7ff089b8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-fa588cc1f89b3452", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/BootstrapView.tsx:331"}, "properties": {"repobilityId": "c3bf45c3323743ce", "scanner": "scanner-primary", "fingerprint": "fa588cc1f89b3452", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-16f3e8955c4fddd8", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/PetitionsView.tsx:140"}, "properties": {"repobilityId": "ab20ac9be8f64076", "scanner": "scanner-primary", "fingerprint": "16f3e8955c4fddd8", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-21044020730fc07e", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/InfonetShell.tsx:329"}, "properties": {"repobilityId": "00b7812d5704f4b5", "scanner": "scanner-primary", "fingerprint": "21044020730fc07e", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-19bf16533f38fe44", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/MarketView.tsx:409"}, "properties": {"repobilityId": "1769659c2298f434", "scanner": "scanner-primary", "fingerprint": "19bf16533f38fe44", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-a0697b76f8dd0129", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/InfonetTerminal/ResolutionView.tsx:72"}, "properties": {"repobilityId": "018e6bf1443b2ce5", "scanner": "scanner-primary", "fingerprint": "a0697b76f8dd0129", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-d5e07627df102c66", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 frontend/src/components/MaplibreViewer/popups/MilitaryBasePopup.tsx:79"}, "properties": {"repobilityId": "8a011c2b4ce1e63f", "scanner": "scanner-primary", "fingerprint": "d5e07627df102c66", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-c15387c2cab75817", "level": "none", "message": {"text": "`truncate` class without `title=` for hover reveal \u2014 frontend/src/components/MaplibreViewer/popups/MilitaryBasePopup.tsx:151"}, "properties": {"repobilityId": "e604135817911be2", "scanner": "scanner-primary", "fingerprint": "c15387c2cab75817", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["frontend-quality", "fq.truncate.no-title"]}}, {"ruleId": "scanner-1bbb3770051ea11d", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 frontend/src/components/MaplibreViewer/popups/ShipPopup.tsx:50"}, "properties": {"repobilityId": "8019ea7921ce3131", "scanner": "scanner-primary", "fingerprint": "1bbb3770051ea11d", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-e474358a6ec4d600", "level": "note", "message": {"text": "Icon-only button without accessible name \u2014 frontend/src/components/MaplibreViewer/popups/SigintPopup.tsx:126"}, "properties": {"repobilityId": "af2a28840707f48b", "scanner": "scanner-primary", "fingerprint": "e474358a6ec4d600", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.button.no-label"]}}, {"ruleId": "scanner-c73289fabe64c220", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: rust:1.88-slim-bookworm"}, "properties": {"repobilityId": "9ab5e3e2bce1a4a8", "scanner": "scanner-primary", "fingerprint": "c73289fabe64c220", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/Dockerfile"}, "region": {"startLine": 2}}}]}, {"ruleId": "scanner-92bf6be3240b534e", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.11-slim-bookworm"}, "properties": {"repobilityId": "e91f7e7a95879732", "scanner": "scanner-primary", "fingerprint": "92bf6be3240b534e", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/Dockerfile"}, "region": {"startLine": 21}}}]}, {"ruleId": "scanner-7f8a4e0314a5ed23", "level": "warning", "message": {"text": "Dockerfile ADD downloads remote content without checksum"}, "properties": {"repobilityId": "a3e55fdd97f763b8", "scanner": "scanner-primary", "fingerprint": "7f8a4e0314a5ed23", "layer": "hardware", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "docker", "checksum"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/Dockerfile"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-faa134129e5545ff", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: node:20-alpine"}, "properties": {"repobilityId": "3e90d440e1f9ece1", "scanner": "scanner-primary", "fingerprint": "faa134129e5545ff", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/Dockerfile"}, "region": {"startLine": 1}}}]}, {"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-e8d1a79aa1f84672", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in start-backend.js:1"}, "properties": {"repobilityId": "1397ee3d836e40ea", "scanner": "scanner-primary", "fingerprint": "e8d1a79aa1f84672", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "start-backend.js"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-406588e2c2f6cc6a", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in backend/main.py:8484"}, "properties": {"repobilityId": "68276992e65b84f9", "scanner": "scanner-primary", "fingerprint": "406588e2c2f6cc6a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/main.py"}, "region": {"startLine": 8484}}}]}, {"ruleId": "scanner-a1e52ee54de79855", "level": "warning", "message": {"text": "Insecure pattern 'cors_wildcard' in backend/routers/cctv.py:222"}, "properties": {"repobilityId": "c46f2a6450852511", "scanner": "scanner-primary", "fingerprint": "a1e52ee54de79855", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "cors_wildcard"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/cctv.py"}, "region": {"startLine": 222}}}]}, {"ruleId": "scanner-f3effd8bf18a783a", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in backend/services/infonet/governance/dsl_executor.py:193"}, "properties": {"repobilityId": "7ce0e5334d4444c7", "scanner": "scanner-primary", "fingerprint": "f3effd8bf18a783a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/infonet/governance/dsl_executor.py"}, "region": {"startLine": 193}}}]}, {"ruleId": "scanner-c39d21a6e7f602c7", "level": "error", "message": {"text": "Insecure pattern 'python_os_system' in backend/services/infonet/governance/dsl_executor.py:202"}, "properties": {"repobilityId": "aff9321b8ae76644", "scanner": "scanner-primary", "fingerprint": "c39d21a6e7f602c7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "python_os_system"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/infonet/governance/dsl_executor.py"}, "region": {"startLine": 202}}}]}, {"ruleId": "scanner-c61e92b820023642", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in backend/services/infonet/governance/dsl_executor.py:194"}, "properties": {"repobilityId": "001394ff498ab33a", "scanner": "scanner-primary", "fingerprint": "c61e92b820023642", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/services/infonet/governance/dsl_executor.py"}, "region": {"startLine": 194}}}]}, {"ruleId": "scanner-3f4e9d60b80c0259", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in desktop-shell/scripts/run-desktop-build.cjs:3"}, "properties": {"repobilityId": "aedf80bf0dded3fb", "scanner": "scanner-primary", "fingerprint": "3f4e9d60b80c0259", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "desktop-shell/scripts/run-desktop-build.cjs"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-497f6536c629ae98", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in desktop-shell/src/handlers/settingsHandlers.ts:15"}, "properties": {"repobilityId": "0f8d9bf388ad9964", "scanner": "scanner-primary", "fingerprint": "497f6536c629ae98", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "desktop-shell/src/handlers/settingsHandlers.ts"}, "region": {"startLine": 15}}}]}, {"ruleId": "scanner-27771db4d50873db", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in desktop-shell/src/handlers/wormholeHandlers.ts:25"}, "properties": {"repobilityId": "ef694d133627b3f1", "scanner": "scanner-primary", "fingerprint": "27771db4d50873db", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "desktop-shell/src/handlers/wormholeHandlers.ts"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-aa55a72ec7d3b780", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in desktop-shell/src/handlers/updateHandlers.ts:6"}, "properties": {"repobilityId": "838bfb8cf608e7a4", "scanner": "scanner-primary", "fingerprint": "aa55a72ec7d3b780", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "desktop-shell/src/handlers/updateHandlers.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-873ecec3d94a15a5", "level": "error", "message": {"text": "Possible secret in desktop-shell/tauri-skeleton/build.sh"}, "properties": {"repobilityId": "b92589a4b65494d8", "scanner": "scanner-primary", "fingerprint": "873ecec3d94a15a5", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "desktop-shell/tauri-skeleton/build.sh"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-873ecec3d94a15a5", "level": "error", "message": {"text": "Possible secret in desktop-shell/tauri-skeleton/build.sh"}, "properties": {"repobilityId": "b92589a4b65494d8", "scanner": "scanner-primary", "fingerprint": "873ecec3d94a15a5", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "desktop-shell/tauri-skeleton/build.sh"}, "region": {"startLine": 136}}}]}, {"ruleId": "scanner-f23b83e8c1bb4bdf", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in desktop-shell/tauri-skeleton/scripts/build-frontend-export.cjs:5"}, "properties": {"repobilityId": "9df21af23ac906ce", "scanner": "scanner-primary", "fingerprint": "f23b83e8c1bb4bdf", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "desktop-shell/tauri-skeleton/scripts/build-frontend-export.cjs"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-7ddf6d7f28d7f064", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in desktop-shell/tauri-skeleton/scripts/build-backend-runtime.cjs:5"}, "properties": {"repobilityId": "57b932be0aca094a", "scanner": "scanner-primary", "fingerprint": "7ddf6d7f28d7f064", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "desktop-shell/tauri-skeleton/scripts/build-backend-runtime.cjs"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-090dee693be28292", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/mesh/smoke-external-root-witness-flow.mjs:5"}, "properties": {"repobilityId": "3212064ad68a6f96", "scanner": "scanner-primary", "fingerprint": "090dee693be28292", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/mesh/smoke-external-root-witness-flow.mjs"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-6d64f4219737aede", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/mesh/sync-dm-root-external-assurance.mjs:5"}, "properties": {"repobilityId": "fe57f429ec503b18", "scanner": "scanner-primary", "fingerprint": "6d64f4219737aede", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/mesh/sync-dm-root-external-assurance.mjs"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-67c3687f20f1b09a", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in scripts/mesh/smoke-dm-root-deployment-flow.mjs:4"}, "properties": {"repobilityId": "dc4d4867a2b69d5c", "scanner": "scanner-primary", "fingerprint": "67c3687f20f1b09a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/mesh/smoke-dm-root-deployment-flow.mjs"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-9009262f597904fe", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in frontend/scripts/build-privacy-core-wasm.cjs:1"}, "properties": {"repobilityId": "c98860352b40555f", "scanner": "scanner-primary", "fingerprint": "9009262f597904fe", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/scripts/build-privacy-core-wasm.cjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0075607ea1872226", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in frontend/scripts/dev-all.cjs:1"}, "properties": {"repobilityId": "e6f9bc70375136d1", "scanner": "scanner-primary", "fingerprint": "0075607ea1872226", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/scripts/dev-all.cjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-41611e4ae9b73513", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in frontend/scripts/vite-no-net-use.cjs:1"}, "properties": {"repobilityId": "087d7610cb6f822b", "scanner": "scanner-primary", "fingerprint": "41611e4ae9b73513", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/scripts/vite-no-net-use.cjs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c626b9b96b9095f2", "level": "error", "message": {"text": "Insecure pattern 'exec_used' in frontend/src/components/MeshTerminal.tsx:4807"}, "properties": {"repobilityId": "59d86cd466465a0c", "scanner": "scanner-primary", "fingerprint": "c626b9b96b9095f2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "exec_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/components/MeshTerminal.tsx"}, "region": {"startLine": 4807}}}]}, {"ruleId": "scanner-40e853367533cfe5", "level": "warning", "message": {"text": "Insecure pattern 'local_storage_auth_token' in frontend/src/__tests__/mesh/meshSigningKeyHardening.test.ts:125"}, "properties": {"repobilityId": "457c1fcefe412440", "scanner": "scanner-primary", "fingerprint": "40e853367533cfe5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "local_storage_auth_token"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "frontend/src/__tests__/mesh/meshSigningKeyHardening.test.ts"}, "region": {"startLine": 125}}}]}, {"ruleId": "scanner-b841c61fdfcff569", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "12109195615024ce", "scanner": "scanner-primary", "fingerprint": "b841c61fdfcff569", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-publish.yml"}, "region": {"startLine": 41}}}]}, {"ruleId": "scanner-b841c61fdfcff569", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "61b99f33abffc9fa", "scanner": "scanner-primary", "fingerprint": "b841c61fdfcff569", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-publish.yml"}, "region": {"startLine": 47}}}]}, {"ruleId": "scanner-b841c61fdfcff569", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "765835bcf8a6ce63", "scanner": "scanner-primary", "fingerprint": "b841c61fdfcff569", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-publish.yml"}, "region": {"startLine": 51}}}]}, {"ruleId": "scanner-b841c61fdfcff569", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "61b99f33abffc9fa", "scanner": "scanner-primary", "fingerprint": "b841c61fdfcff569", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-publish.yml"}, "region": {"startLine": 96}}}]}, {"ruleId": "scanner-b841c61fdfcff569", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "12109195615024ce", "scanner": "scanner-primary", "fingerprint": "b841c61fdfcff569", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-publish.yml"}, "region": {"startLine": 132}}}]}, {"ruleId": "scanner-b841c61fdfcff569", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "61b99f33abffc9fa", "scanner": "scanner-primary", "fingerprint": "b841c61fdfcff569", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-publish.yml"}, "region": {"startLine": 138}}}]}, {"ruleId": "scanner-b841c61fdfcff569", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "765835bcf8a6ce63", "scanner": "scanner-primary", "fingerprint": "b841c61fdfcff569", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-publish.yml"}, "region": {"startLine": 142}}}]}, {"ruleId": "scanner-b841c61fdfcff569", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "61b99f33abffc9fa", "scanner": "scanner-primary", "fingerprint": "b841c61fdfcff569", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-publish.yml"}, "region": {"startLine": 188}}}]}, {"ruleId": "scanner-076b03a16e76601d", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "a42462ccbe3d06f2", "scanner": "scanner-primary", "fingerprint": "076b03a16e76601d", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docker-publish.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "3beb6cb780c591da", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 61}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "04f57d208548fcef", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-f6d648c5cefbda11", "level": "note", "message": {"text": "Very large file: backend/main.py (12120 lines)"}, "properties": {"repobilityId": "fb764a5c13811891", "scanner": "scanner-primary", "fingerprint": "f6d648c5cefbda11", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-622e6bea76d431e9", "level": "note", "message": {"text": "Very large file: backend/auth.py (1508 lines)"}, "properties": {"repobilityId": "8ea4d8df2bff61c5", "scanner": "scanner-primary", "fingerprint": "622e6bea76d431e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-db49ffe472baaf8b", "level": "note", "message": {"text": "Very large file: backend/tests/mesh/test_privacy_claims.py (2378 lines)"}, "properties": {"repobilityId": "68a9bad83f7de330", "scanner": "scanner-primary", "fingerprint": "db49ffe472baaf8b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ba4ee721bfeb423c", "level": "note", "message": {"text": "Very large file: backend/tests/mesh/test_s16d_dm_invite_bootstrap.py (1421 lines)"}, "properties": {"repobilityId": "78232c3aae9665b1", "scanner": "scanner-primary", "fingerprint": "ba4ee721bfeb423c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-18b51453aa09b6d6", "level": "note", "message": {"text": "Very large file: backend/tests/mesh/test_mesh_rns_private_dm.py (1480 lines)"}, "properties": {"repobilityId": "207bfecf64039c0a", "scanner": "scanner-primary", "fingerprint": "18b51453aa09b6d6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8fe93e667992826e", "level": "note", "message": {"text": "Very large file: backend/tests/mesh/test_mesh_endpoint_integrity.py (3369 lines)"}, "properties": {"repobilityId": "bb553e0f9447ab2f", "scanner": "scanner-primary", "fingerprint": "8fe93e667992826e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-025ff2d06b27a887", "level": "note", "message": {"text": "Very large file: backend/tests/mesh/test_mesh_privacy_hardening.py (1536 lines)"}, "properties": {"repobilityId": "e3c6b30dab479fd5", "scanner": "scanner-primary", "fingerprint": "025ff2d06b27a887", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5435f4786720ae1e", "level": "note", "message": {"text": "Very large file: backend/routers/ai_intel.py (3491 lines)"}, "properties": {"repobilityId": "9c409a995e938e58", "scanner": "scanner-primary", "fingerprint": "5435f4786720ae1e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-20314de350348b2a", "level": "note", "message": {"text": "Very large file: backend/routers/wormhole.py (1501 lines)"}, "properties": {"repobilityId": "4ad4a4478147c37e", "scanner": "scanner-primary", "fingerprint": "20314de350348b2a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8a4aba3940dec20c", "level": "note", "message": {"text": "Very large file: backend/routers/mesh_public.py (2363 lines)"}, "properties": {"repobilityId": "8c813a127ea8cdce", "scanner": "scanner-primary", "fingerprint": "8a4aba3940dec20c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d2e6dc3d5407e614", "level": "note", "message": {"text": "Very large file: backend/services/telemetry.py (2428 lines)"}, "properties": {"repobilityId": "09d869a7f72fb9a0", "scanner": "scanner-primary", "fingerprint": "d2e6dc3d5407e614", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e8ae7ebe12556766", "level": "note", "message": {"text": "Very large file: backend/services/cctv_pipeline.py (1460 lines)"}, "properties": {"repobilityId": "4d08d705c25f04b0", "scanner": "scanner-primary", "fingerprint": "e8ae7ebe12556766", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f3cd9042be9cf095", "level": "note", "message": {"text": "Very large file: backend/services/openclaw_channel.py (1773 lines)"}, "properties": {"repobilityId": "0d78c0c22c0d73ee", "scanner": "scanner-primary", "fingerprint": "f3cd9042be9cf095", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-aa4a59ec34af4008", "level": "note", "message": {"text": "Very large file: backend/services/sigint_bridge.py (1459 lines)"}, "properties": {"repobilityId": "6e1c7a21c904fd3e", "scanner": "scanner-primary", "fingerprint": "aa4a59ec34af4008", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-386bbf1d5f02cf55", "level": "note", "message": {"text": "Very large file: backend/services/env_check.py (1159 lines)"}, "properties": {"repobilityId": "7cb9a3ec3b81cf4d", "scanner": "scanner-primary", "fingerprint": "386bbf1d5f02cf55", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6e7ce1b5932f83af", "level": "note", "message": {"text": "Very large file: backend/services/privacy_claims.py (1769 lines)"}, "properties": {"repobilityId": "5f89de37f96714e4", "scanner": "scanner-primary", "fingerprint": "6e7ce1b5932f83af", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-048b5215bb56db60", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_reputation.py (1572 lines)"}, "properties": {"repobilityId": "b1dbbd398eeb5c68", "scanner": "scanner-primary", "fingerprint": "048b5215bb56db60", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c57ceb1786020b53", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_wormhole_persona.py (1509 lines)"}, "properties": {"repobilityId": "321eff5796ef809c", "scanner": "scanner-primary", "fingerprint": "c57ceb1786020b53", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-34ad9abcc4114d26", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_dm_relay.py (2140 lines)"}, "properties": {"repobilityId": "1b051058b19d3d9d", "scanner": "scanner-primary", "fingerprint": "34ad9abcc4114d26", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-708b76896ce77359", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_rns.py (1986 lines)"}, "properties": {"repobilityId": "b34e20b4867a8f09", "scanner": "scanner-primary", "fingerprint": "708b76896ce77359", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-83594b518855221d", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_hashchain.py (3340 lines)"}, "properties": {"repobilityId": "f4284143beafc445", "scanner": "scanner-primary", "fingerprint": "83594b518855221d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-45b8542ec7a235b0", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_wormhole_dead_drop.py (1303 lines)"}, "properties": {"repobilityId": "aebc0ea5c660541e", "scanner": "scanner-primary", "fingerprint": "45b8542ec7a235b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-42eee831195dd644", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_wormhole_identity.py (1843 lines)"}, "properties": {"repobilityId": "2fc85729b7522e55", "scanner": "scanner-primary", "fingerprint": "42eee831195dd644", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5331181a00b7bb65", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_gate_mls.py (2443 lines)"}, "properties": {"repobilityId": "175ceae6f08f07fa", "scanner": "scanner-primary", "fingerprint": "5331181a00b7bb65", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f0c1e545c0964577", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_router.py (1343 lines)"}, "properties": {"repobilityId": "38b17dd6aeb4f102", "scanner": "scanner-primary", "fingerprint": "f0c1e545c0964577", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4a9de79ebb26c621", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_wormhole_contacts.py (1878 lines)"}, "properties": {"repobilityId": "730fa620b6837014", "scanner": "scanner-primary", "fingerprint": "4a9de79ebb26c621", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fb9c79d4090d4d89", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_wormhole_prekey.py (1584 lines)"}, "properties": {"repobilityId": "0c3368bfee1e78ea", "scanner": "scanner-primary", "fingerprint": "fb9c79d4090d4d89", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dcbc0a32b16d3932", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_wormhole_root_manifest.py (2174 lines)"}, "properties": {"repobilityId": "f58b21c8f4a5d72f", "scanner": "scanner-primary", "fingerprint": "dcbc0a32b16d3932", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-56b3f1802f1d4a46", "level": "note", "message": {"text": "Very large file: backend/services/mesh/mesh_signed_events.py (1466 lines)"}, "properties": {"repobilityId": "090960d9ca5cd097", "scanner": "scanner-primary", "fingerprint": "56b3f1802f1d4a46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-863fbd38406bdc07", "level": "note", "message": {"text": "Very large file: backend/services/fetchers/earth_observation.py (1790 lines)"}, "properties": {"repobilityId": "6267af8540566920", "scanner": "scanner-primary", "fingerprint": "863fbd38406bdc07", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a8c63179abb1d3f2", "level": "note", "message": {"text": "Very large file: backend/services/fetchers/satellites.py (1057 lines)"}, "properties": {"repobilityId": "4b13a84d75280f79", "scanner": "scanner-primary", "fingerprint": "a8c63179abb1d3f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-67985d1c3bc863fb", "level": "note", "message": {"text": "Very large file: scripts/e2e_dm_short_address_live.py (3579 lines)"}, "properties": {"repobilityId": "c251c4ff023eeb14", "scanner": "scanner-primary", "fingerprint": "67985d1c3bc863fb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-49a67c85fd337cd5", "level": "note", "message": {"text": "Very large file: frontend/src/mesh/wormholeIdentityClient.ts (2200 lines)"}, "properties": {"repobilityId": "debf3315a7a5ff71", "scanner": "scanner-primary", "fingerprint": "49a67c85fd337cd5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4e190c31b107bcd9", "level": "note", "message": {"text": "Very large file: frontend/src/mesh/meshIdentity.ts (1824 lines)"}, "properties": {"repobilityId": "92e2d80c9f40f920", "scanner": "scanner-primary", "fingerprint": "4e190c31b107bcd9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a80c2e89321d3261", "level": "note", "message": {"text": "Very large file: frontend/src/components/AIIntelPanel.tsx (1945 lines)"}, "properties": {"repobilityId": "26fd9c53f4c74086", "scanner": "scanner-primary", "fingerprint": "a80c2e89321d3261", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3e9f4aa352959735", "level": "note", "message": {"text": "Very large file: frontend/src/components/NewsFeed.tsx (2022 lines)"}, "properties": {"repobilityId": "b4c6f4b36c871ba8", "scanner": "scanner-primary", "fingerprint": "3e9f4aa352959735", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-48dcb3d8bb02ca5c", "level": "note", "message": {"text": "Very large file: frontend/src/components/TopRightControls.tsx (1270 lines)"}, "properties": {"repobilityId": "ff28d3ca3f9605ff", "scanner": "scanner-primary", "fingerprint": "48dcb3d8bb02ca5c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1e010e840cccd7bf", "level": "note", "message": {"text": "Very large file: frontend/src/components/SettingsPanel.tsx (3117 lines)"}, "properties": {"repobilityId": "aa09339d0a9f2081", "scanner": "scanner-primary", "fingerprint": "1e010e840cccd7bf", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-02aaa91b6bdee0eb", "level": "note", "message": {"text": "Very large file: frontend/src/components/MeshTerminal.tsx (6139 lines)"}, "properties": {"repobilityId": "f182809064c8ce93", "scanner": "scanner-primary", "fingerprint": "02aaa91b6bdee0eb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-69dfa4d7383c3749", "level": "note", "message": {"text": "Very large file: frontend/src/components/WorldviewLeftPanel.tsx (2088 lines)"}, "properties": {"repobilityId": "c5598ea0cd4da5a8", "scanner": "scanner-primary", "fingerprint": "69dfa4d7383c3749", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fb6c1d56be081d69", "level": "note", "message": {"text": "Very large file: frontend/src/components/PredictionsPanel.tsx (1196 lines)"}, "properties": {"repobilityId": "4e0f19b7474a28a4", "scanner": "scanner-primary", "fingerprint": "fb6c1d56be081d69", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b4914023448a1347", "level": "note", "message": {"text": "Very large file: frontend/src/components/MaplibreViewer.tsx (6535 lines)"}, "properties": {"repobilityId": "c71dafe21170615d", "scanner": "scanner-primary", "fingerprint": "b4914023448a1347", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-21a2312a2eae78c2", "level": "note", "message": {"text": "Very large file: frontend/src/components/MeshChat/index.tsx (1757 lines)"}, "properties": {"repobilityId": "90ce3adda16d75c1", "scanner": "scanner-primary", "fingerprint": "21a2312a2eae78c2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-28e02a7597ad60fe", "level": "note", "message": {"text": "Very large file: frontend/src/components/MeshChat/useMeshChatController.ts (4836 lines)"}, "properties": {"repobilityId": "347c92751b7b55ee", "scanner": "scanner-primary", "fingerprint": "28e02a7597ad60fe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5cb7326647c8b4a0", "level": "note", "message": {"text": "Very large file: frontend/src/components/map/geoJSONBuilders.ts (1958 lines)"}, "properties": {"repobilityId": "64900e3170b28c16", "scanner": "scanner-primary", "fingerprint": "5cb7326647c8b4a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b76bb786b4a1e16a", "level": "note", "message": {"text": "Very large file: frontend/src/components/InfonetTerminal/MessagesView.tsx (3889 lines)"}, "properties": {"repobilityId": "94ba8f1b24439b68", "scanner": "scanner-primary", "fingerprint": "b76bb786b4a1e16a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-64c513a23e09ba95", "level": "note", "message": {"text": "Very large file: privacy-core/src/lib.rs (2254 lines)"}, "properties": {"repobilityId": "18f3474dd233b873", "scanner": "scanner-primary", "fingerprint": "64c513a23e09ba95", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-48f14a556b1e0cb7", "level": "note", "message": {"text": "Very large file: openclaw-skills/shadowbroker/sb_query.py (1403 lines)"}, "properties": {"repobilityId": "31385b435d8570ab", "scanner": "scanner-primary", "fingerprint": "48f14a556b1e0cb7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "9bb9d13f43ccbcd5", "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": "2c12493f40ea78dc", "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": "e749e17e56dbfd97", "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": "b9dc4f6a1cce6b19", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-fb538c316a0e63e1", "level": "none", "message": {"text": "Commented-code block (8 lines) in backend/ais_proxy.js:8"}, "properties": {"repobilityId": "78fb228926060e31", "scanner": "scanner-primary", "fingerprint": "fb538c316a0e63e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-531fa14314a210dd", "level": "note", "message": {"text": "Legacy-named symbol `collect_legacy` in backend/main.py:7853"}, "properties": {"repobilityId": "3dfce481ca593b3c", "scanner": "scanner-primary", "fingerprint": "531fa14314a210dd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-03c6967de07450f5", "level": "none", "message": {"text": "Commented-code block (10 lines) in backend/main.py:1102"}, "properties": {"repobilityId": "48d77ca3c5ffbeeb", "scanner": "scanner-primary", "fingerprint": "03c6967de07450f5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e6c7dd630fe800e1", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2728"}, "properties": {"repobilityId": "6a378ada21c2c62b", "scanner": "scanner-primary", "fingerprint": "e6c7dd630fe800e1", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/main.py"}, "region": {"startLine": 2728}}}]}, {"ruleId": "scanner-d372c47a0c071804", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2739"}, "properties": {"repobilityId": "b5b239a929d717b1", "scanner": "scanner-primary", "fingerprint": "d372c47a0c071804", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/main.py"}, "region": {"startLine": 2739}}}]}, {"ruleId": "scanner-51cd49651bddf6b5", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2741"}, "properties": {"repobilityId": "9acdec605b640811", "scanner": "scanner-primary", "fingerprint": "51cd49651bddf6b5", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/main.py"}, "region": {"startLine": 2741}}}]}, {"ruleId": "scanner-e80179775cc9ab4f", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def lifespan` \u2014 backend/main.py:2812"}, "properties": {"repobilityId": "6443b4f259a8790c", "scanner": "scanner-primary", "fingerprint": "e80179775cc9ab4f", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/main.py"}, "region": {"startLine": 2812}}}]}, {"ruleId": "scanner-fe68526e9d5b801f", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/auth.py:255"}, "properties": {"repobilityId": "5b922a28d7b1b9da", "scanner": "scanner-primary", "fingerprint": "fe68526e9d5b801f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5cb417e983194c8b", "level": "note", "message": {"text": "Legacy-named symbol `_extract_and_copy` in backend/tests/test_gdelt_updater_hardening.py:67"}, "properties": {"repobilityId": "9afe963a0061b874", "scanner": "scanner-primary", "fingerprint": "5cb417e983194c8b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2f23c03bb9caeec7", "level": "none", "message": {"text": "Commented-code block (7 lines) in backend/tests/test_sentinel_routes_auth_gate.py:225"}, "properties": {"repobilityId": "a10bcc7bf9dcc026", "scanner": "scanner-primary", "fingerprint": "2f23c03bb9caeec7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47b114d4cee8d2ba", "level": "note", "message": {"text": "Legacy-named symbol `sb_v1` in backend/tests/mesh/test_mesh_reputation_link.py:33"}, "properties": {"repobilityId": "0903454266c628c6", "scanner": "scanner-primary", "fingerprint": "47b114d4cee8d2ba", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b01c174a1e441832", "level": "note", "message": {"text": "Legacy-named symbol `collect_legacy` in backend/tests/mesh/test_dm_poll_batch_limit.py:121"}, "properties": {"repobilityId": "66510225b3008bd8", "scanner": "scanner-primary", "fingerprint": "b01c174a1e441832", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-49c0846a24f4bd29", "level": "note", "message": {"text": "Legacy-named symbol `test_public_ledger_is_union_of_active_and_legacy` in backend/tests/mesh/test_ledger_policy_split.py:37"}, "properties": {"repobilityId": "f8829b83698b1c58", "scanner": "scanner-primary", "fingerprint": "49c0846a24f4bd29", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9c6d4f1f2030310f", "level": "note", "message": {"text": "Legacy-named symbol `__test_s13d_legacy` in backend/tests/mesh/test_s13d_legacy_envelope_fallback.py:73"}, "properties": {"repobilityId": "d26845d663d39b72", "scanner": "scanner-primary", "fingerprint": "9c6d4f1f2030310f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f6b9e734480ae79d", "level": "note", "message": {"text": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_compatibility_containment.py:206"}, "properties": {"repobilityId": "4eb62a5017b17eaa", "scanner": "scanner-primary", "fingerprint": "f6b9e734480ae79d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4751c5107cdc0045", "level": "note", "message": {"text": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_mesh_dm_security.py:106"}, "properties": {"repobilityId": "1c56ea8611896d6c", "scanner": "scanner-primary", "fingerprint": "4751c5107cdc0045", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-fe3fbc8a6d352554", "level": "note", "message": {"text": "Legacy-named symbol `rust_backup` in backend/tests/mesh/test_gate_state_resync.py:171"}, "properties": {"repobilityId": "24f2fcbb3519a33a", "scanner": "scanner-primary", "fingerprint": "fe3fbc8a6d352554", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a5e7e4993c54469e", "level": "note", "message": {"text": "Legacy-named symbol `sb_unused` in backend/tests/mesh/test_mesh_gate_mls.py:132"}, "properties": {"repobilityId": "4408ecc1ce4a05e0", "scanner": "scanner-primary", "fingerprint": "a5e7e4993c54469e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-951f9ebc688125d4", "level": "note", "message": {"text": "Legacy-named symbol `mls_v1` in backend/tests/mesh/test_s13b_gate_identity_surface.py:49"}, "properties": {"repobilityId": "6979a0023b4b1d4a", "scanner": "scanner-primary", "fingerprint": "951f9ebc688125d4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-22c8151711d54bf0", "level": "note", "message": {"text": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_s16a_dm_count_coarsening.py:181"}, "properties": {"repobilityId": "111b1486a1a310cc", "scanner": "scanner-primary", "fingerprint": "22c8151711d54bf0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f962b7463eb7c4ad", "level": "note", "message": {"text": "Legacy-named symbol `count_legacy` in backend/tests/mesh/test_private_metadata_exposure.py:407"}, "properties": {"repobilityId": "4ca7a5c9d779648c", "scanner": "scanner-primary", "fingerprint": "f962b7463eb7c4ad", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e35b94238ed97056", "level": "note", "message": {"text": "Legacy-named symbol `__test_legacy` in backend/tests/mesh/test_s13c_gate_envelope_policy.py:124"}, "properties": {"repobilityId": "12e50e1ce85f8d22", "scanner": "scanner-primary", "fingerprint": "e35b94238ed97056", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3779bb4b63046e43", "level": "note", "message": {"text": "Legacy-named symbol `normalize_dm_message_payload_legacy` in backend/tests/mesh/test_mesh_rns_private_dm.py:24"}, "properties": {"repobilityId": "5d7b1702d46a69f3", "scanner": "scanner-primary", "fingerprint": "3779bb4b63046e43", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-be8573dc52fd5d4f", "level": "note", "message": {"text": "Legacy-named symbol `sb_old` in backend/tests/mesh/test_signed_write_transport_matrix.py:215"}, "properties": {"repobilityId": "b566f6cdb9a6c336", "scanner": "scanner-primary", "fingerprint": "be8573dc52fd5d4f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-97e244bdff62a8a6", "level": "note", "message": {"text": "Legacy-named symbol `dm_test_legacy` in backend/tests/mesh/test_mesh_wormhole_hardening.py:747"}, "properties": {"repobilityId": "297ae040b81398a0", "scanner": "scanner-primary", "fingerprint": "97e244bdff62a8a6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-446e657d778087a0", "level": "note", "message": {"text": "Legacy-named symbol `peer_sender_legacy` in backend/tests/mesh/test_dm_alias_rotation_binding.py:560"}, "properties": {"repobilityId": "ba7b6dd35e6878d2", "scanner": "scanner-primary", "fingerprint": "446e657d778087a0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2dd03f0adeb01589", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/scripts/convert_power_plants.py:23"}, "properties": {"repobilityId": "f1754456331a67de", "scanner": "scanner-primary", "fingerprint": "2dd03f0adeb01589", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-10c2d2e8806d96c6", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/routers/data.py:110"}, "properties": {"repobilityId": "1197213f37d12303", "scanner": "scanner-primary", "fingerprint": "10c2d2e8806d96c6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44810611f1ca3883", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/routers/health.py:63"}, "properties": {"repobilityId": "1b2cee75fba080aa", "scanner": "scanner-primary", "fingerprint": "44810611f1ca3883", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aec23c61992eb747", "level": "note", "message": {"text": "Legacy-named symbol `compressed_v1` in backend/routers/ai_intel.py:767"}, "properties": {"repobilityId": "6b452a3a6730e48b", "scanner": "scanner-primary", "fingerprint": "aec23c61992eb747", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4e44c9a5bf6cf483", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/routers/ai_intel.py:2609"}, "properties": {"repobilityId": "24035cd4b1765d3f", "scanner": "scanner-primary", "fingerprint": "4e44c9a5bf6cf483", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e900bd29427d857c", "level": "error", "message": {"text": "Blocking `requests.get(...)` inside `async def telegram_media_proxy` \u2014 backend/routers/intel_feeds.py:97"}, "properties": {"repobilityId": "641e4d89d09fa2c7", "scanner": "scanner-primary", "fingerprint": "e900bd29427d857c", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/intel_feeds.py"}, "region": {"startLine": 97}}}]}, {"ruleId": "scanner-f40666398f1d0c3c", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/routers/tools.py:121"}, "properties": {"repobilityId": "68765d4867140241", "scanner": "scanner-primary", "fingerprint": "f40666398f1d0c3c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c37d459606adb3cc", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/routers/wormhole.py:163"}, "properties": {"repobilityId": "1a99e17dc0ae0bf9", "scanner": "scanner-primary", "fingerprint": "c37d459606adb3cc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f11fcb969851d5e0", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/routers/radio.py:24"}, "properties": {"repobilityId": "6a00ebe623b56bf3", "scanner": "scanner-primary", "fingerprint": "f11fcb969851d5e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb4f25e57b8c7be3", "level": "note", "message": {"text": "Legacy-named symbol `rest_v1` in backend/services/region_dossier.py:177"}, "properties": {"repobilityId": "633c3c83c55432d0", "scanner": "scanner-primary", "fingerprint": "bb4f25e57b8c7be3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-79cd3e8e6a58e3be", "level": "none", "message": {"text": "Commented-code block (8 lines) in backend/services/region_dossier.py:22"}, "properties": {"repobilityId": "269d2bfde1b3ae58", "scanner": "scanner-primary", "fingerprint": "79cd3e8e6a58e3be", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-be5d928267108654", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/radio_intercept.py:15"}, "properties": {"repobilityId": "6601115f69cc6764", "scanner": "scanner-primary", "fingerprint": "be5d928267108654", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-44ff0bb8ef8b2f21", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/ais_stream.py:347"}, "properties": {"repobilityId": "afc53c5bd058f947", "scanner": "scanner-primary", "fingerprint": "44ff0bb8ef8b2f21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-75ce6fde7237185f", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 backend/services/ais_stream.py:620"}, "properties": {"repobilityId": "9beee7e7c664546f", "scanner": "scanner-primary", "fingerprint": "75ce6fde7237185f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-cacba1c7f93cc93c", "level": "none", "message": {"text": "Commented-code block (7 lines) in backend/services/api_settings.py:162"}, "properties": {"repobilityId": "129800c09de70018", "scanner": "scanner-primary", "fingerprint": "cacba1c7f93cc93c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c7170dba3a1a1be6", "level": "none", "message": {"text": "Commented-code block (7 lines) in backend/services/network_utils.py:29"}, "properties": {"repobilityId": "48efdb5d63f9a39d", "scanner": "scanner-primary", "fingerprint": "c7170dba3a1a1be6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-77f1fdeee1ce4452", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/config.py:78"}, "properties": {"repobilityId": "612b3fe19eccd156", "scanner": "scanner-primary", "fingerprint": "77f1fdeee1ce4452", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-228976bdbff20fd2", "level": "note", "message": {"text": "Legacy-named symbol `cameras_v1` in backend/services/cctv_pipeline.py:797"}, "properties": {"repobilityId": "4ef5dde726ee517a", "scanner": "scanner-primary", "fingerprint": "228976bdbff20fd2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c5cbe6bf6994ce04", "level": "note", "message": {"text": "Stub function `fetch_data` (body is just `pass`/`return`) \u2014 backend/services/cctv_pipeline.py:298"}, "properties": {"repobilityId": "8937897757255b21", "scanner": "scanner-primary", "fingerprint": "c5cbe6bf6994ce04", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-fa33cacc06cd6599", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/kiwisdr_fetcher.py:38"}, "properties": {"repobilityId": "9a79cc4a3c7f73a7", "scanner": "scanner-primary", "fingerprint": "fa33cacc06cd6599", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce321617ac428b5e", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/services/carrier_tracker.py:234"}, "properties": {"repobilityId": "f99f3c1e7d324aaf", "scanner": "scanner-primary", "fingerprint": "ce321617ac428b5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5eedf681464d4d5", "level": "note", "message": {"text": "Legacy-named symbol `compressed_v1` in backend/services/openclaw_channel.py:565"}, "properties": {"repobilityId": "e6755eecbb4506e1", "scanner": "scanner-primary", "fingerprint": "d5eedf681464d4d5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a9ba882f4052aa22", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/constants.py:14"}, "properties": {"repobilityId": "a0981b5578f10ff3", "scanner": "scanner-primary", "fingerprint": "a9ba882f4052aa22", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5cd7a92a2ef776d", "level": "note", "message": {"text": "Legacy-named symbol `dirs_to_backup` in backend/services/updater.py:393"}, "properties": {"repobilityId": "ae6419f98f30474c", "scanner": "scanner-primary", "fingerprint": "f5cd7a92a2ef776d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-241618a77aad191b", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/updater.py:360"}, "properties": {"repobilityId": "b08dd104e770bb44", "scanner": "scanner-primary", "fingerprint": "241618a77aad191b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-555260953ed8cb78", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 backend/services/updater.py:504"}, "properties": {"repobilityId": "1fe7ced15d253da8", "scanner": "scanner-primary", "fingerprint": "555260953ed8cb78", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-bb30a5c258a1082e", "level": "note", "message": {"text": "Legacy-named symbol `from_buffer_copy` in backend/services/privacy_core_client.py:576"}, "properties": {"repobilityId": "64e858912556af10", "scanner": "scanner-primary", "fingerprint": "bb30a5c258a1082e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d3ca5f1951fb6220", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/services/data_fetcher.py:884"}, "properties": {"repobilityId": "c2c5ebb60368ee31", "scanner": "scanner-primary", "fingerprint": "d3ca5f1951fb6220", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f4f49c97daef616f", "level": "note", "message": {"text": "Legacy-named symbol `_get_security_posture_warnings_legacy` in backend/services/env_check.py:650"}, "properties": {"repobilityId": "b38800703f138383", "scanner": "scanner-primary", "fingerprint": "f4f49c97daef616f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9ab8714dc48e00df", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/services/geocode.py:195"}, "properties": {"repobilityId": "10b9ae14b781455b", "scanner": "scanner-primary", "fingerprint": "9ab8714dc48e00df", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ebfa9a137f3b9628", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/services/geopolitics.py:543"}, "properties": {"repobilityId": "1aefb40247da4785", "scanner": "scanner-primary", "fingerprint": "ebfa9a137f3b9628", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4bd87a9a43cdd4d7", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/tor_hidden_service.py:207"}, "properties": {"repobilityId": "fb05496decd60ac7", "scanner": "scanner-primary", "fingerprint": "4bd87a9a43cdd4d7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc23e007b9f38da9", "level": "note", "message": {"text": "Legacy-named symbol `allow_legacy` in backend/services/mesh/mesh_wormhole_persona.py:846"}, "properties": {"repobilityId": "4015699fb3f64817", "scanner": "scanner-primary", "fingerprint": "dc23e007b9f38da9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4021852a0958ab41", "level": "note", "message": {"text": "Legacy-named symbol `collect_legacy` in backend/services/mesh/mesh_dm_relay.py:2066"}, "properties": {"repobilityId": "ab6feb32670d11af", "scanner": "scanner-primary", "fingerprint": "4021852a0958ab41", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d6351937723a920a", "level": "none", "message": {"text": "Commented-code block (8 lines) in backend/services/mesh/mesh_dm_relay.py:1552"}, "properties": {"repobilityId": "b3f516a6684ce6a0", "scanner": "scanner-primary", "fingerprint": "d6351937723a920a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-76e7eeecb5f13545", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/services/mesh/mesh_rns.py:46"}, "properties": {"repobilityId": "f36698a3b04432ca", "scanner": "scanner-primary", "fingerprint": "76e7eeecb5f13545", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ef2aae07f656595", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/mesh/mesh_hashchain.py:2370"}, "properties": {"repobilityId": "6510d15ad17383de", "scanner": "scanner-primary", "fingerprint": "4ef2aae07f656595", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d30366113704545c", "level": "note", "message": {"text": "Legacy-named symbol `sb_dm_alias_payload_v1` in backend/services/mesh/mesh_wormhole_dead_drop.py:89"}, "properties": {"repobilityId": "fc7bd9b9c9e6d431", "scanner": "scanner-primary", "fingerprint": "d30366113704545c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0a50dbd76ae11bfa", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/mesh/mesh_wormhole_dead_drop.py:76"}, "properties": {"repobilityId": "2e8adffecf5bfb73", "scanner": "scanner-primary", "fingerprint": "0a50dbd76ae11bfa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2d1b7f0155ccf100", "level": "note", "message": {"text": "Legacy-named symbol `store_backup` in backend/services/mesh/mesh_gate_mls.py:998"}, "properties": {"repobilityId": "115de24fc3641f03", "scanner": "scanner-primary", "fingerprint": "2d1b7f0155ccf100", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c9ce15e03a3b32f0", "level": "none", "message": {"text": "Commented-code block (8 lines) in backend/services/mesh/mesh_gate_mls.py:327"}, "properties": {"repobilityId": "f530bbc2c37eb97a", "scanner": "scanner-primary", "fingerprint": "c9ce15e03a3b32f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8c9a6358fdb95a66", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/mesh/mesh_router.py:719"}, "properties": {"repobilityId": "2049785e4c4aa94c", "scanner": "scanner-primary", "fingerprint": "8c9a6358fdb95a66", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9ad252c12d26f859", "level": "none", "message": {"text": "Commented-code block (9 lines) in backend/services/mesh/mesh_crypto.py:90"}, "properties": {"repobilityId": "a760597f576bfea9", "scanner": "scanner-primary", "fingerprint": "9ad252c12d26f859", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7df202107794adab", "level": "note", "message": {"text": "Legacy-named symbol `normalize_dm_message_payload_legacy` in backend/services/mesh/mesh_protocol.py:272"}, "properties": {"repobilityId": "eb0c9d64ceaf196a", "scanner": "scanner-primary", "fingerprint": "7df202107794adab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-39e641ea9d0ce5d1", "level": "note", "message": {"text": "Legacy-named symbol `spk_too_old` in backend/services/mesh/mesh_wormhole_prekey.py:1103"}, "properties": {"repobilityId": "9a98e9fa6aaa63be", "scanner": "scanner-primary", "fingerprint": "39e641ea9d0ce5d1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1882fa398bb05608", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 backend/services/mesh/mesh_wormhole_prekey.py:235"}, "properties": {"repobilityId": "0c4a4f92966c8d5b", "scanner": "scanner-primary", "fingerprint": "1882fa398bb05608", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-d19e8cb68e5edd23", "level": "none", "message": {"text": "Commented-code block (7 lines) in backend/services/mesh/mesh_privacy_policy.py:64"}, "properties": {"repobilityId": "4e668ed1c3723040", "scanner": "scanner-primary", "fingerprint": "d19e8cb68e5edd23", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-513f6e0c00083d32", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/services/mesh/mesh_rollout_flags.py:40"}, "properties": {"repobilityId": "eae6477afbf471d4", "scanner": "scanner-primary", "fingerprint": "513f6e0c00083d32", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e17e1c55fcfdc93", "level": "note", "message": {"text": "Legacy-named symbol `normalize_dm_message_payload_legacy` in backend/services/mesh/mesh_signed_events.py:31"}, "properties": {"repobilityId": "89f76f65075e357c", "scanner": "scanner-primary", "fingerprint": "8e17e1c55fcfdc93", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8bdd663cfbb4b75f", "level": "note", "message": {"text": "Legacy-named symbol `_derive_seal_key_v2` in backend/services/mesh/mesh_wormhole_seal.py:54"}, "properties": {"repobilityId": "9733c2344225c571", "scanner": "scanner-primary", "fingerprint": "8bdd663cfbb4b75f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9971462efd15cc8e", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/fetchers/flights.py:354"}, "properties": {"repobilityId": "d0fda71aebb2f659", "scanner": "scanner-primary", "fingerprint": "9971462efd15cc8e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee6137edba45fb5f", "level": "note", "message": {"text": "Legacy-named symbol `event_copy` in backend/services/fetchers/geo.py:269"}, "properties": {"repobilityId": "1149dd26198889ac", "scanner": "scanner-primary", "fingerprint": "ee6137edba45fb5f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b515a000a96d1129", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/services/fetchers/earth_observation.py:1679"}, "properties": {"repobilityId": "8af7e7131fe1817b", "scanner": "scanner-primary", "fingerprint": "b515a000a96d1129", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-280c4e7dfac6b51e", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/fetchers/usni_fleet_tracker.py:254"}, "properties": {"repobilityId": "08558d6e3210b8a8", "scanner": "scanner-primary", "fingerprint": "280c4e7dfac6b51e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6fca778a96a10d9", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/fetchers/flight_observations.py:82"}, "properties": {"repobilityId": "85aafc6bdf1c9cb1", "scanner": "scanner-primary", "fingerprint": "a6fca778a96a10d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-73d51538ea57da51", "level": "none", "message": {"text": "Commented-code block (9 lines) in backend/services/fetchers/sigint.py:24"}, "properties": {"repobilityId": "b6198427960be93b", "scanner": "scanner-primary", "fingerprint": "73d51538ea57da51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-70651e7adefb3846", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/fetchers/meshtastic_map.py:177"}, "properties": {"repobilityId": "def5480333112231", "scanner": "scanner-primary", "fingerprint": "70651e7adefb3846", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-01b09be08ea4b280", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/infonet/time_validity.py:42"}, "properties": {"repobilityId": "77d5e56865203cd2", "scanner": "scanner-primary", "fingerprint": "01b09be08ea4b280", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1f267a7a53832963", "level": "note", "message": {"text": "Legacy-named symbol `m_old` in backend/services/infonet/tests/test_8_eligibility.py:105"}, "properties": {"repobilityId": "2f78e84f9e90a309", "scanner": "scanner-primary", "fingerprint": "1f267a7a53832963", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-98d1cd71c1b92476", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/infonet/tests/test_1_legacy_files_unchanged.py:25"}, "properties": {"repobilityId": "99e00ed85768021e", "scanner": "scanner-primary", "fingerprint": "98d1cd71c1b92476", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-20ca9448c8eba9fe", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/infonet/tests/test_6_sacrifice.py:97"}, "properties": {"repobilityId": "61e158ae637fd286", "scanner": "scanner-primary", "fingerprint": "20ca9448c8eba9fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-288e8448ab8c4c2d", "level": "note", "message": {"text": "Legacy-named symbol `test_economy_types_disjoint_from_legacy_legacy` in backend/services/infonet/tests/test_1_schema_event_types.py:30"}, "properties": {"repobilityId": "dc1eefe60dc69761", "scanner": "scanner-primary", "fingerprint": "288e8448ab8c4c2d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-10abaf9c10940fea", "level": "note", "message": {"text": "Legacy-named symbol `m_old` in backend/services/infonet/tests/test_5_dispute_bounded_reversal.py:218"}, "properties": {"repobilityId": "437203309c5e6cef", "scanner": "scanner-primary", "fingerprint": "10abaf9c10940fea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-a8139661fc49f431", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/infonet/tests/test_5_dispute_bounded_reversal.py:198"}, "properties": {"repobilityId": "30fc9c4a828e9ccc", "scanner": "scanner-primary", "fingerprint": "a8139661fc49f431", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ccc31a3131c19463", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/services/infonet/reputation/oracle_rep.py:143"}, "properties": {"repobilityId": "02c1cd6517526c81", "scanner": "scanner-primary", "fingerprint": "ccc31a3131c19463", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-86ac06807897da18", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/infonet/reputation/common_rep.py:77"}, "properties": {"repobilityId": "8ac30aa9cf0f877a", "scanner": "scanner-primary", "fingerprint": "86ac06807897da18", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-acacad0e073ff2f5", "level": "note", "message": {"text": "Legacy-named symbol `v1_upreps_v2` in backend/services/infonet/reputation/anti_gaming/clustering.py:98"}, "properties": {"repobilityId": "05ec1f1dc610fa72", "scanner": "scanner-primary", "fingerprint": "acacad0e073ff2f5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-057a665558a063f0", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/infonet/gates/shutdown/shutdown.py:92"}, "properties": {"repobilityId": "1f352b1c9e9c1f94", "scanner": "scanner-primary", "fingerprint": "057a665558a063f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68647137b7af93fd", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/services/infonet/gates/shutdown/appeal.py:129"}, "properties": {"repobilityId": "942a31349267bae2", "scanner": "scanner-primary", "fingerprint": "68647137b7af93fd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6cd533a4f218099", "level": "none", "message": {"text": "Commented-code block (6 lines) in backend/services/infonet/partition/provisional.py:33"}, "properties": {"repobilityId": "5675eb9ba47e8538", "scanner": "scanner-primary", "fingerprint": "b6cd533a4f218099", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cdc05801c715facd", "level": "none", "message": {"text": "Commented-code block (5 lines) in backend/services/infonet/governance/dsl_executor.py:182"}, "properties": {"repobilityId": "a22b3e2fc16e3ef8", "scanner": "scanner-primary", "fingerprint": "cdc05801c715facd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fe1e7ce3e72f08a4", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 backend/services/infonet/governance/dsl_executor.py:198"}, "properties": {"repobilityId": "fe2dbbffd7ff1407", "scanner": "scanner-primary", "fingerprint": "fe1e7ce3e72f08a4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ac917e3676c6b588", "level": "note", "message": {"text": "Stub function `_noop_progress` (body is just `pass`/`return`) \u2014 backend/services/road_corridor_sat/pipeline.py:29"}, "properties": {"repobilityId": "664cf4ac7bc001ac", "scanner": "scanner-primary", "fingerprint": "ac917e3676c6b588", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-49e1caae932c827c", "level": "note", "message": {"text": "Legacy-named symbol `preds_copy` in backend/services/road_corridor_sat/s2_truck_detect.py:484"}, "properties": {"repobilityId": "33adeb68a45c2113", "scanner": "scanner-primary", "fingerprint": "49e1caae932c827c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8bfc0aede88b176f", "level": "none", "message": {"text": "Commented-code block (6 lines) in desktop-shell/tauri-skeleton/scripts/build-frontend-export.cjs:49"}, "properties": {"repobilityId": "54ffd209cb5e1755", "scanner": "scanner-primary", "fingerprint": "8bfc0aede88b176f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7fe7c8ab663637ea", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/e2e_dm_short_address_live.py:184"}, "properties": {"repobilityId": "5624e90f364cf338", "scanner": "scanner-primary", "fingerprint": "7fe7c8ab663637ea", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ca50e42b6073e4e0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/sanitize_submarine_cables.py:105"}, "properties": {"repobilityId": "bf262e41260c75f8", "scanner": "scanner-primary", "fingerprint": "ca50e42b6073e4e0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1490e83cb30754ba", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/vitest.config.js:11"}, "properties": {"repobilityId": "cdbc4f65eed8d683", "scanner": "scanner-primary", "fingerprint": "1490e83cb30754ba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a6d27ca7e85467b2", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/next.config.ts:10"}, "properties": {"repobilityId": "6839f495b84f73c8", "scanner": "scanner-primary", "fingerprint": "a6d27ca7e85467b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a18fac9a0f6252e0", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/app/page.tsx:120"}, "properties": {"repobilityId": "e7f34076cd067757", "scanner": "scanner-primary", "fingerprint": "a18fac9a0f6252e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32921fdd9f4c086b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/app/api/[...path]/route.ts:34"}, "properties": {"repobilityId": "859551111f6810e2", "scanner": "scanner-primary", "fingerprint": "32921fdd9f4c086b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ae1340653dc5e7ac", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/mesh/meshDmClient.ts:355"}, "properties": {"repobilityId": "04dac976a383cbe6", "scanner": "scanner-primary", "fingerprint": "ae1340653dc5e7ac", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-656694ebe021d50e", "level": "note", "message": {"text": "Legacy-named symbol `sb_gate_compat_approvals_v2` in frontend/src/mesh/wormholeIdentityClient.ts:42"}, "properties": {"repobilityId": "95fdde0e449d6e72", "scanner": "scanner-primary", "fingerprint": "656694ebe021d50e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b0e2129541892e7e", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/mesh/infonetEconomyClient.ts:17"}, "properties": {"repobilityId": "b77d2126d8b3f401", "scanner": "scanner-primary", "fingerprint": "b0e2129541892e7e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7d3a997ff66a5d54", "level": "note", "message": {"text": "Legacy-named symbol `sb_gate_compat_telemetry_v1` in frontend/src/mesh/gateCompatTelemetry.ts:4"}, "properties": {"repobilityId": "2c8e3fccd3a7be84", "scanner": "scanner-primary", "fingerprint": "7d3a997ff66a5d54", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-42b9cf8486f3863b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/mesh/privacyCoreWasm/privacy_core.js:421"}, "properties": {"repobilityId": "46aa1d93a1481684", "scanner": "scanner-primary", "fingerprint": "42b9cf8486f3863b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7337b0bf2cfecd07", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/usePredictionMarketsOptIn.ts:38"}, "properties": {"repobilityId": "c201b836015aa659", "scanner": "scanner-primary", "fingerprint": "7337b0bf2cfecd07", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6a17dc2e70517f2b", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/useDataPolling.ts:180"}, "properties": {"repobilityId": "64e1af379c4e957e", "scanner": "scanner-primary", "fingerprint": "6a17dc2e70517f2b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-2db3fe54c55a1746", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/useRegionDossier.ts:87"}, "properties": {"repobilityId": "e74a4136163c551d", "scanner": "scanner-primary", "fingerprint": "2db3fe54c55a1746", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-70f0cb4626fbe750", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/hooks/useLiveUamapScraperOptIn.ts:42"}, "properties": {"repobilityId": "87ef8714230083df", "scanner": "scanner-primary", "fingerprint": "70f0cb4626fbe750", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-af06cf17cc4c565d", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/AIIntelPanel.tsx:360"}, "properties": {"repobilityId": "331bae670278afde", "scanner": "scanner-primary", "fingerprint": "af06cf17cc4c565d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b496fe721556e46c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/AIIntelPanel.tsx:479"}, "properties": {"repobilityId": "2a040ec03cd332f9", "scanner": "scanner-primary", "fingerprint": "b496fe721556e46c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4ac73f6d55432f54", "level": "note", "message": {"text": "Legacy-named symbol `sb_shodan_presets_v1` in frontend/src/components/ShodanPanel.tsx:44"}, "properties": {"repobilityId": "a0adb0ee44f3082d", "scanner": "scanner-primary", "fingerprint": "4ac73f6d55432f54", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d202ae732e27df5c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/ShodanPanel.tsx:576"}, "properties": {"repobilityId": "6a1aa26e69b856b3", "scanner": "scanner-primary", "fingerprint": "d202ae732e27df5c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-22c385ba50bb7f3a", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/NewsFeed.tsx:209"}, "properties": {"repobilityId": "a281c13dabcb3dfb", "scanner": "scanner-primary", "fingerprint": "22c385ba50bb7f3a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-99025b51854f55a9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/NewsFeed.tsx:407"}, "properties": {"repobilityId": "62ab92edb0ccfc9e", "scanner": "scanner-primary", "fingerprint": "99025b51854f55a9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9c16410d7b6ae238", "level": "none", "message": {"text": "Commented-code block (8 lines) in frontend/src/components/TopRightControls.tsx:97"}, "properties": {"repobilityId": "39a17bb3e457d947", "scanner": "scanner-primary", "fingerprint": "9c16410d7b6ae238", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f532485a16cfc830", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/OnboardingModal.tsx:166"}, "properties": {"repobilityId": "b3eaed4d47dc658c", "scanner": "scanner-primary", "fingerprint": "f532485a16cfc830", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92fca07bc837439f", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/ReconPanel.tsx:76"}, "properties": {"repobilityId": "95c1d5478318af91", "scanner": "scanner-primary", "fingerprint": "92fca07bc837439f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8b176fd374518d6a", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/SarModeChooserModal.tsx:74"}, "properties": {"repobilityId": "b919942bbfd50ecd", "scanner": "scanner-primary", "fingerprint": "8b176fd374518d6a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-23295a9e4c5b3ab1", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/SettingsPanel.tsx:82"}, "properties": {"repobilityId": "cfda2e8a5dadb39f", "scanner": "scanner-primary", "fingerprint": "23295a9e4c5b3ab1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ba7793f5544088a", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/MeshTerminal.tsx:2067"}, "properties": {"repobilityId": "7a8c748c03e07666", "scanner": "scanner-primary", "fingerprint": "2ba7793f5544088a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a0ee4ed87ac2a337", "level": "note", "message": {"text": "Legacy-named symbol `kiwisdr_consent_v1` in frontend/src/components/WorldviewLeftPanel.tsx:481"}, "properties": {"repobilityId": "4dfcc7101ff3288b", "scanner": "scanner-primary", "fingerprint": "a0ee4ed87ac2a337", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-acd398ddd4467eab", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/WorldviewLeftPanel.tsx:416"}, "properties": {"repobilityId": "69957b35ee7dff7e", "scanner": "scanner-primary", "fingerprint": "acd398ddd4467eab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ade23447991a99d6", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/RadioInterceptPanel.tsx:87"}, "properties": {"repobilityId": "d6e0b2336011be99", "scanner": "scanner-primary", "fingerprint": "ade23447991a99d6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8874477acd81245c", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/TimelinePanel.tsx:120"}, "properties": {"repobilityId": "57200ab6a489571d", "scanner": "scanner-primary", "fingerprint": "8874477acd81245c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0d85f61914d06403", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/PredictionsPanel.tsx:698"}, "properties": {"repobilityId": "517074fb678e1c9e", "scanner": "scanner-primary", "fingerprint": "0d85f61914d06403", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-317688374526800d", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/MaplibreViewer.tsx:485"}, "properties": {"repobilityId": "f2518fa7e737f0cc", "scanner": "scanner-primary", "fingerprint": "317688374526800d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-eda8adcb9968e679", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/components/MeshChat.tsx:1"}, "properties": {"repobilityId": "1b006b35189bc36c", "scanner": "scanner-primary", "fingerprint": "eda8adcb9968e679", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df6bb7dfa7149534", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/MeshChat/useMeshChatController.ts:387"}, "properties": {"repobilityId": "d36a070915382035", "scanner": "scanner-primary", "fingerprint": "df6bb7dfa7149534", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-14a3e3568e5c4db3", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/MeshChat/useMeshChatController.ts:1155"}, "properties": {"repobilityId": "395dfda09e1726e9", "scanner": "scanner-primary", "fingerprint": "14a3e3568e5c4db3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0e41100d9e32c0d8", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/map/panels/SigintPanels.tsx:96"}, "properties": {"repobilityId": "72af4ef1356fd31b", "scanner": "scanner-primary", "fingerprint": "0e41100d9e32c0d8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ce29a34fe728a736", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/InfonetTerminal/AIQueryView.tsx:140"}, "properties": {"repobilityId": "f86e6fde7165b820", "scanner": "scanner-primary", "fingerprint": "ce29a34fe728a736", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-08e0618f7e26da3f", "level": "none", "message": {"text": "Commented-code block (6 lines) in frontend/src/components/InfonetTerminal/GateView.tsx:291"}, "properties": {"repobilityId": "31529a890bbe24e9", "scanner": "scanner-primary", "fingerprint": "08e0618f7e26da3f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e80fdf1832fc932", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/InfonetTerminal/GateView.tsx:484"}, "properties": {"repobilityId": "a7668e91dafb15d9", "scanner": "scanner-primary", "fingerprint": "1e80fdf1832fc932", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b34ebe3b04f5c9bb", "level": "note", "message": {"text": "Legacy-named symbol `sb_infonet_mailbox_v1` in frontend/src/components/InfonetTerminal/MessagesView.tsx:208"}, "properties": {"repobilityId": "ef15d70544afa77f", "scanner": "scanner-primary", "fingerprint": "b34ebe3b04f5c9bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-13925953a4eb0836", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/components/InfonetTerminal/MarketView.tsx:175"}, "properties": {"repobilityId": "44909e1b140fcc6e", "scanner": "scanner-primary", "fingerprint": "13925953a4eb0836", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f72222152be734c1", "level": "none", "message": {"text": "Commented-code block (7 lines) in frontend/src/lib/api.ts:1"}, "properties": {"repobilityId": "27afbe83b9d95399", "scanner": "scanner-primary", "fingerprint": "f72222152be734c1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ed1b786736ff7a9", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/localControlTransport.ts:106"}, "properties": {"repobilityId": "a3a8c5326d047273", "scanner": "scanner-primary", "fingerprint": "8ed1b786736ff7a9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dbd0f827b24e7697", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/sentinelHub.ts:204"}, "properties": {"repobilityId": "4d78ef2cda702c9e", "scanner": "scanner-primary", "fingerprint": "dbd0f827b24e7697", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dc8652367c3ac2da", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 frontend/src/lib/aiIntelClient.ts:32"}, "properties": {"repobilityId": "811e11cfac8609be", "scanner": "scanner-primary", "fingerprint": "dc8652367c3ac2da", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-23c04d9a154d4708", "level": "note", "message": {"text": "Legacy-named symbol `sb_infonet_mailbox_v1` in frontend/src/__tests__/mesh/messagesViewFirstContact.test.tsx:488"}, "properties": {"repobilityId": "ae8837e6516000cc", "scanner": "scanner-primary", "fingerprint": "23c04d9a154d4708", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1347a6d37a8b41f0", "level": "none", "message": {"text": "Commented-code block (9 lines) in frontend/src/__tests__/mesh/messagesViewFirstContact.test.tsx:868"}, "properties": {"repobilityId": "24b772d597a20ab1", "scanner": "scanner-primary", "fingerprint": "1347a6d37a8b41f0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7fe23deaad5af05c", "level": "note", "message": {"text": "Legacy-named symbol `sb_legacy` in frontend/src/__tests__/mesh/meshDmClientLookup.test.ts:18"}, "properties": {"repobilityId": "f97212972be69427", "scanner": "scanner-primary", "fingerprint": "7fe23deaad5af05c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6daeb2121e8d86a1", "level": "note", "message": {"text": "Legacy-named symbol `sb_legacy` in frontend/src/__tests__/mesh/meshGateWorkerVault.test.ts:199"}, "properties": {"repobilityId": "2dc62a2f9b9f16bc", "scanner": "scanner-primary", "fingerprint": "6daeb2121e8d86a1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3d46bec70e2a440a", "level": "none", "message": {"text": "Commented-code block (5 lines) in frontend/src/__tests__/desktop/adminSessionBoundary.test.ts:48"}, "properties": {"repobilityId": "44195d84fbd6bb87", "scanner": "scanner-primary", "fingerprint": "3d46bec70e2a440a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dc7b461d22ca0194", "level": "none", "message": {"text": "Commented-code block (5 lines) in openclaw-skills/shadowbroker/sb_query.py:66"}, "properties": {"repobilityId": "022087ac19ffc51b", "scanner": "scanner-primary", "fingerprint": "dc7b461d22ca0194", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6f0fdb8d4cd8c31c", "level": "note", "message": {"text": "200 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "29b4f498f50a87fb", "scanner": "scanner-primary", "fingerprint": "6f0fdb8d4cd8c31c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "77b37e78277c4140", "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": "1eebd0b6a1d1f754", "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": "674f8f9034752b87", "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": "0e98984936aef353", "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": "03709262637820f7", "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": "a7a0710c2f81ef5f", "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": "c1dfb6d1790afec5", "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": "2ae52f64b5094267", "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": "bb967815074263ad", "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": "641596bc41f13639", "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": "132ff69a700ddcc7", "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": "f4892ad755cc233b", "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": "ecb60bc1c56e9afb", "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": "22a745af3c248c28", "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": "77ed29d95ff8aa3d", "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": "351da6069346b6b4", "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": "8399c3d689628f85", "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": "3976d20794ced2fc", "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": "44113e2f3061e2d5", "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": "693ccaa89c6d0967", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-20e179cf21448cc1", "level": "error", "message": {"text": "FastAPI POST `satellite_overflights` without auth dependency \u2014 backend/routers/data.py:886"}, "properties": {"repobilityId": "044dd5f178cbb841", "scanner": "scanner-primary", "fingerprint": "20e179cf21448cc1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/data.py"}, "region": {"startLine": 886}}}]}, {"ruleId": "scanner-4977d757adc7b11e", "level": "error", "message": {"text": "FastAPI POST `analyze_road_corridor_here` without auth dependency \u2014 backend/routers/road_corridors.py:64"}, "properties": {"repobilityId": "0a972faf8e3bc105", "scanner": "scanner-primary", "fingerprint": "4977d757adc7b11e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/road_corridors.py"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-ce91aff0ebc164d4", "level": "error", "message": {"text": "FastAPI POST `infonet_peer_push` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:64"}, "properties": {"repobilityId": "d04818f7f23e616a", "scanner": "scanner-primary", "fingerprint": "ce91aff0ebc164d4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_peer_sync.py"}, "region": {"startLine": 64}}}]}, {"ruleId": "scanner-4cea979541e0feeb", "level": "error", "message": {"text": "FastAPI POST `dm_replicate_envelope` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:99"}, "properties": {"repobilityId": "a586ce9eef59c90d", "scanner": "scanner-primary", "fingerprint": "4cea979541e0feeb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_peer_sync.py"}, "region": {"startLine": 99}}}]}, {"ruleId": "scanner-ceb797a0e6dbb0a9", "level": "error", "message": {"text": "FastAPI POST `gate_peer_push` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:157"}, "properties": {"repobilityId": "65225d041503d324", "scanner": "scanner-primary", "fingerprint": "ceb797a0e6dbb0a9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_peer_sync.py"}, "region": {"startLine": 157}}}]}, {"ruleId": "scanner-1064a56ea6f8fd81", "level": "error", "message": {"text": "FastAPI POST `gate_peer_pull` without auth dependency \u2014 backend/routers/mesh_peer_sync.py:275"}, "properties": {"repobilityId": "d979ed0cf262fce6", "scanner": "scanner-primary", "fingerprint": "1064a56ea6f8fd81", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_peer_sync.py"}, "region": {"startLine": 275}}}]}, {"ruleId": "scanner-932d6ab5ea0e8225", "level": "error", "message": {"text": "FastAPI POST `dm_register_key` without auth dependency \u2014 backend/routers/mesh_dm.py:235"}, "properties": {"repobilityId": "c17065ecb2b55584", "scanner": "scanner-primary", "fingerprint": "932d6ab5ea0e8225", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_dm.py"}, "region": {"startLine": 235}}}]}, {"ruleId": "scanner-3559c1d51c8ff0f7", "level": "error", "message": {"text": "FastAPI POST `dm_prekey_peer_lookup` without auth dependency \u2014 backend/routers/mesh_dm.py:299"}, "properties": {"repobilityId": "1f831dfc91338952", "scanner": "scanner-primary", "fingerprint": "3559c1d51c8ff0f7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_dm.py"}, "region": {"startLine": 299}}}]}, {"ruleId": "scanner-1cbc9e9d25282192", "level": "error", "message": {"text": "FastAPI POST `dm_send` without auth dependency \u2014 backend/routers/mesh_dm.py:349"}, "properties": {"repobilityId": "062989a9258099ed", "scanner": "scanner-primary", "fingerprint": "1cbc9e9d25282192", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_dm.py"}, "region": {"startLine": 349}}}]}, {"ruleId": "scanner-484d4fb0553943c4", "level": "error", "message": {"text": "FastAPI POST `dm_poll_secure` without auth dependency \u2014 backend/routers/mesh_dm.py:356"}, "properties": {"repobilityId": "c1c856a9c91b10e3", "scanner": "scanner-primary", "fingerprint": "484d4fb0553943c4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_dm.py"}, "region": {"startLine": 356}}}]}, {"ruleId": "scanner-88a14acdae8f16e6", "level": "error", "message": {"text": "FastAPI POST `dm_count_secure` without auth dependency \u2014 backend/routers/mesh_dm.py:383"}, "properties": {"repobilityId": "77ffb323b756bca6", "scanner": "scanner-primary", "fingerprint": "88a14acdae8f16e6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_dm.py"}, "region": {"startLine": 383}}}]}, {"ruleId": "scanner-f1c98b2ed08e68e1", "level": "error", "message": {"text": "FastAPI POST `dm_block` without auth dependency \u2014 backend/routers/mesh_dm.py:410"}, "properties": {"repobilityId": "3a19b23e7b0b2c50", "scanner": "scanner-primary", "fingerprint": "f1c98b2ed08e68e1", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_dm.py"}, "region": {"startLine": 410}}}]}, {"ruleId": "scanner-4a7dceb0c78452b8", "level": "error", "message": {"text": "FastAPI POST `dm_key_witness` without auth dependency \u2014 backend/routers/mesh_dm.py:449"}, "properties": {"repobilityId": "84ff2b418e28d627", "scanner": "scanner-primary", "fingerprint": "4a7dceb0c78452b8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_dm.py"}, "region": {"startLine": 449}}}]}, {"ruleId": "scanner-cbce01340fe49d7b", "level": "error", "message": {"text": "FastAPI POST `trust_vouch` without auth dependency \u2014 backend/routers/mesh_dm.py:514"}, "properties": {"repobilityId": "2baafae5ba1f76f0", "scanner": "scanner-primary", "fingerprint": "cbce01340fe49d7b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_dm.py"}, "region": {"startLine": 514}}}]}, {"ruleId": "scanner-eb12247c73b4e3cf", "level": "error", "message": {"text": "FastAPI POST `api_wikidata_sparql` without auth dependency \u2014 backend/routers/tools.py:108"}, "properties": {"repobilityId": "34eb441d63564fda", "scanner": "scanner-primary", "fingerprint": "eb12247c73b4e3cf", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/tools.py"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-9e37d2de527acc06", "level": "error", "message": {"text": "FastAPI POST `oracle_predict` without auth dependency \u2014 backend/routers/mesh_oracle.py:69"}, "properties": {"repobilityId": "8d465b4e722ffab1", "scanner": "scanner-primary", "fingerprint": "9e37d2de527acc06", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_oracle.py"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-329755b6d9cf9164", "level": "error", "message": {"text": "FastAPI POST `oracle_stake` without auth dependency \u2014 backend/routers/mesh_oracle.py:265"}, "properties": {"repobilityId": "b477fe27b093e489", "scanner": "scanner-primary", "fingerprint": "329755b6d9cf9164", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_oracle.py"}, "region": {"startLine": 265}}}]}, {"ruleId": "scanner-26652c2f6f2ec54e", "level": "error", "message": {"text": "FastAPI POST `osint_sweep_scan` without auth dependency \u2014 backend/routers/osint.py:142"}, "properties": {"repobilityId": "55cbc476b67a91fa", "scanner": "scanner-primary", "fingerprint": "26652c2f6f2ec54e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/osint.py"}, "region": {"startLine": 142}}}]}, {"ruleId": "scanner-a84bc82f661fada0", "level": "error", "message": {"text": "FastAPI POST `preview_petition_payload` without auth dependency \u2014 backend/routers/infonet.py:173"}, "properties": {"repobilityId": "a14e7ae953a93307", "scanner": "scanner-primary", "fingerprint": "a84bc82f661fada0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/infonet.py"}, "region": {"startLine": 173}}}]}, {"ruleId": "scanner-86f8171adc8f933f", "level": "error", "message": {"text": "FastAPI POST `validate_event` without auth dependency \u2014 backend/routers/infonet.py:190"}, "properties": {"repobilityId": "51727da2e9a4947d", "scanner": "scanner-primary", "fingerprint": "86f8171adc8f933f", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/infonet.py"}, "region": {"startLine": 190}}}]}, {"ruleId": "scanner-e075f318bdf8194c", "level": "error", "message": {"text": "FastAPI POST `append_event` without auth dependency \u2014 backend/routers/infonet.py:493"}, "properties": {"repobilityId": "6e9a36a3e3372e12", "scanner": "scanner-primary", "fingerprint": "e075f318bdf8194c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/infonet.py"}, "region": {"startLine": 493}}}]}, {"ruleId": "scanner-44a4e35fb48b8681", "level": "error", "message": {"text": "FastAPI POST `api_wormhole_leave` without auth dependency \u2014 backend/routers/wormhole.py:666"}, "properties": {"repobilityId": "b94840fc27dc675a", "scanner": "scanner-primary", "fingerprint": "44a4e35fb48b8681", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/wormhole.py"}, "region": {"startLine": 666}}}]}, {"ruleId": "scanner-fc0f0a312c759244", "level": "error", "message": {"text": "FastAPI POST `mesh_send` without auth dependency \u2014 backend/routers/mesh_public.py:617"}, "properties": {"repobilityId": "8f9944c19e3a100a", "scanner": "scanner-primary", "fingerprint": "fc0f0a312c759244", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_public.py"}, "region": {"startLine": 617}}}]}, {"ruleId": "scanner-1ece860508edd4d8", "level": "error", "message": {"text": "FastAPI POST `mesh_vote` without auth dependency \u2014 backend/routers/mesh_public.py:1053"}, "properties": {"repobilityId": "8239c103d382d4cc", "scanner": "scanner-primary", "fingerprint": "1ece860508edd4d8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_public.py"}, "region": {"startLine": 1053}}}]}, {"ruleId": "scanner-77c914c591ddbebd", "level": "error", "message": {"text": "FastAPI POST `mesh_report` without auth dependency \u2014 backend/routers/mesh_public.py:1125"}, "properties": {"repobilityId": "8883bfc00ffcd703", "scanner": "scanner-primary", "fingerprint": "77c914c591ddbebd", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_public.py"}, "region": {"startLine": 1125}}}]}, {"ruleId": "scanner-966d0789abaa64c4", "level": "error", "message": {"text": "FastAPI POST `mesh_identity_rotate` without auth dependency \u2014 backend/routers/mesh_public.py:1229"}, "properties": {"repobilityId": "a58f4ab3bc763f3b", "scanner": "scanner-primary", "fingerprint": "966d0789abaa64c4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_public.py"}, "region": {"startLine": 1229}}}]}, {"ruleId": "scanner-a0762dc20a942048", "level": "error", "message": {"text": "FastAPI POST `mesh_identity_revoke` without auth dependency \u2014 backend/routers/mesh_public.py:1314"}, "properties": {"repobilityId": "7dd6de2e010133e8", "scanner": "scanner-primary", "fingerprint": "a0762dc20a942048", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_public.py"}, "region": {"startLine": 1314}}}]}, {"ruleId": "scanner-212626ad4296533e", "level": "error", "message": {"text": "FastAPI POST `gate_create` without auth dependency \u2014 backend/routers/mesh_public.py:1379"}, "properties": {"repobilityId": "a4a32cd146249dfc", "scanner": "scanner-primary", "fingerprint": "212626ad4296533e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_public.py"}, "region": {"startLine": 1379}}}]}, {"ruleId": "scanner-355b9cd9cd35a2cf", "level": "error", "message": {"text": "FastAPI POST `gate_message` without auth dependency \u2014 backend/routers/mesh_public.py:1466"}, "properties": {"repobilityId": "7de6e1edfa08d30f", "scanner": "scanner-primary", "fingerprint": "355b9cd9cd35a2cf", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_public.py"}, "region": {"startLine": 1466}}}]}, {"ruleId": "scanner-cb04e9657561b091", "level": "error", "message": {"text": "FastAPI POST `infonet_sync_post` without auth dependency \u2014 backend/routers/mesh_public.py:1553"}, "properties": {"repobilityId": "202ceab22fc0ee68", "scanner": "scanner-primary", "fingerprint": "cb04e9657561b091", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_public.py"}, "region": {"startLine": 1553}}}]}, {"ruleId": "scanner-b51c21ae74ff9d72", "level": "error", "message": {"text": "FastAPI PUT `set_gate_envelope_policy` without auth dependency \u2014 backend/routers/mesh_public.py:1924"}, "properties": {"repobilityId": "4e23b10afa0c0c52", "scanner": "scanner-primary", "fingerprint": "b51c21ae74ff9d72", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_public.py"}, "region": {"startLine": 1924}}}]}, {"ruleId": "scanner-2f2f3449aafe0fb7", "level": "error", "message": {"text": "FastAPI PUT `set_gate_legacy_envelope_fallback` without auth dependency \u2014 backend/routers/mesh_public.py:1953"}, "properties": {"repobilityId": "9187391bf6e4806d", "scanner": "scanner-primary", "fingerprint": "2f2f3449aafe0fb7", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "backend/routers/mesh_public.py"}, "region": {"startLine": 1953}}}]}, {"ruleId": "scanner-3084865059d6ce45", "level": "error", "message": {"text": "Dangling fetch: GET http://localhost:3000/api/wormhole/identity/bootstrap (frontend/src/app/api/[...path]/route.ts:155)"}, "properties": {"repobilityId": "60df623bcba8954b", "scanner": "scanner-primary", "fingerprint": "3084865059d6ce45", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-8e97f6b8279fdd36", "level": "error", "message": {"text": "Dangling fetch: GET /data/submarine-cables.json (frontend/src/components/MaplibreViewer.tsx:1183)"}, "properties": {"repobilityId": "ee92c622cf676eb7", "scanner": "scanner-primary", "fingerprint": "8e97f6b8279fdd36", "layer": "api", "severity": "high", "confidence": 1.0, "tags": ["wiring", "dangling-fetch", "fetch"]}}, {"ruleId": "scanner-64b8e6b11d60cba5", "level": "note", "message": {"text": "Unused endpoint: GET /api/refresh"}, "properties": {"repobilityId": "78a96fcd3fbdefef", "scanner": "scanner-primary", "fingerprint": "64b8e6b11d60cba5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4353b0f8125e1970", "level": "note", "message": {"text": "Unused endpoint: POST /api/ais/feed"}, "properties": {"repobilityId": "42957b6787ff5dd7", "scanner": "scanner-primary", "fingerprint": "4353b0f8125e1970", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1b95188964985368", "level": "note", "message": {"text": "Unused endpoint: POST /api/viewport"}, "properties": {"repobilityId": "b9692e92abb91da0", "scanner": "scanner-primary", "fingerprint": "1b95188964985368", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a5250533f323d16f", "level": "note", "message": {"text": "Unused endpoint: POST /api/layers"}, "properties": {"repobilityId": "c0c7ea5ac437fd72", "scanner": "scanner-primary", "fingerprint": "a5250533f323d16f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-75eabf066b36488c", "level": "note", "message": {"text": "Unused endpoint: GET /api/oracle/region-intel"}, "properties": {"repobilityId": "ecb1b5acdd4d272b", "scanner": "scanner-primary", "fingerprint": "75eabf066b36488c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f78356a04b5510c0", "level": "note", "message": {"text": "Unused endpoint: GET /api/thermal/verify"}, "properties": {"repobilityId": "3a8a1784ef5e1189", "scanner": "scanner-primary", "fingerprint": "f78356a04b5510c0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f8615ab72dbcfaf1", "level": "note", "message": {"text": "Unused endpoint: POST /api/sigint/transmit"}, "properties": {"repobilityId": "ca5bc4b2d9730a14", "scanner": "scanner-primary", "fingerprint": "f8615ab72dbcfaf1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e189d242a5a4b387", "level": "note", "message": {"text": "Unused endpoint: GET /api/sigint/nearest-sdr"}, "properties": {"repobilityId": "1853ff5fb5c295e3", "scanner": "scanner-primary", "fingerprint": "e189d242a5a4b387", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2630c0348a67eba3", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/send"}, "properties": {"repobilityId": "9d200147594f2e69", "scanner": "scanner-primary", "fingerprint": "2630c0348a67eba3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-13cbba1481b4f06b", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/log"}, "properties": {"repobilityId": "6c3c9c12226536e4", "scanner": "scanner-primary", "fingerprint": "13cbba1481b4f06b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e62412086c506635", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/status"}, "properties": {"repobilityId": "a395e9de0c8a9330", "scanner": "scanner-primary", "fingerprint": "e62412086c506635", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1b74f5237ea8eabf", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/signals"}, "properties": {"repobilityId": "6d06d793c1d64ce3", "scanner": "scanner-primary", "fingerprint": "1b74f5237ea8eabf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4955a2838637a6b0", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/messages"}, "properties": {"repobilityId": "07c2626ce20ca6f5", "scanner": "scanner-primary", "fingerprint": "4955a2838637a6b0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c7b38a5fb40da645", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/channels"}, "properties": {"repobilityId": "a7a19f7c6a3079de", "scanner": "scanner-primary", "fingerprint": "c7b38a5fb40da645", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8683e27be04aa101", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/vote"}, "properties": {"repobilityId": "f6323cfbb9273133", "scanner": "scanner-primary", "fingerprint": "8683e27be04aa101", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0d9a56628dc7e7f1", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/report"}, "properties": {"repobilityId": "37677a81690665c0", "scanner": "scanner-primary", "fingerprint": "0d9a56628dc7e7f1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bddb62043c6c5b20", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/reputation"}, "properties": {"repobilityId": "e9dd09c11e35be22", "scanner": "scanner-primary", "fingerprint": "bddb62043c6c5b20", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5761d8de3d3b3b1e", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/reputation/batch"}, "properties": {"repobilityId": "99a80459bce16294", "scanner": "scanner-primary", "fingerprint": "5761d8de3d3b3b1e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-524287d7d9e54bbd", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/reputation/all"}, "properties": {"repobilityId": "69ecf98583ec896c", "scanner": "scanner-primary", "fingerprint": "524287d7d9e54bbd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-db26a72c4c665bf4", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/identity/rotate"}, "properties": {"repobilityId": "b74f206275e05acf", "scanner": "scanner-primary", "fingerprint": "db26a72c4c665bf4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-668d45e84c90052f", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/identity/revoke"}, "properties": {"repobilityId": "3158f561e8af1be9", "scanner": "scanner-primary", "fingerprint": "668d45e84c90052f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c8315bb46027031f", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/gate/create"}, "properties": {"repobilityId": "b46c67681eb0ca37", "scanner": "scanner-primary", "fingerprint": "c8315bb46027031f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fec15a5ada376f12", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/gate/list"}, "properties": {"repobilityId": "97a02d3e55853722", "scanner": "scanner-primary", "fingerprint": "fec15a5ada376f12", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3e5851adfdd5383a", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/gate/{gate_id}"}, "properties": {"repobilityId": "9a3fd973545075b1", "scanner": "scanner-primary", "fingerprint": "3e5851adfdd5383a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-53d6e2ad5c24657c", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/gate/{gate_id}/message"}, "properties": {"repobilityId": "398304cc114c5b98", "scanner": "scanner-primary", "fingerprint": "53d6e2ad5c24657c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-64b5dce14dd414d7", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/infonet/status"}, "properties": {"repobilityId": "5227ea3758887998", "scanner": "scanner-primary", "fingerprint": "64b5dce14dd414d7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d60e8e83bcf4fa05", "level": "note", "message": {"text": "Unused endpoint: GET /api/privacy/claims"}, "properties": {"repobilityId": "94f89c7a9dc6fb6e", "scanner": "scanner-primary", "fingerprint": "d60e8e83bcf4fa05", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-154be72dbcaf3cfb", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/infonet/merkle"}, "properties": {"repobilityId": "a28f8f6a153a6c7d", "scanner": "scanner-primary", "fingerprint": "154be72dbcaf3cfb", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8c922a9286ae4e0a", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/infonet/locator"}, "properties": {"repobilityId": "ad8d990e181a71f1", "scanner": "scanner-primary", "fingerprint": "8c922a9286ae4e0a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a002d5c1f5b8e78c", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/infonet/sync"}, "properties": {"repobilityId": "657abbede89bd12e", "scanner": "scanner-primary", "fingerprint": "a002d5c1f5b8e78c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4a52690cd33a91e8", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/metrics"}, "properties": {"repobilityId": "44a46a22fe5e266b", "scanner": "scanner-primary", "fingerprint": "4a52690cd33a91e8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ca4a45dca396b139", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/rns/status"}, "properties": {"repobilityId": "5b0d684e4cb8363a", "scanner": "scanner-primary", "fingerprint": "ca4a45dca396b139", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-41d83f339ac2edd0", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/infonet/sync"}, "properties": {"repobilityId": "062750b2b4143641", "scanner": "scanner-primary", "fingerprint": "41d83f339ac2edd0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-05398a4abc5aa1e9", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/infonet/ingest"}, "properties": {"repobilityId": "f3b666bcb9de631e", "scanner": "scanner-primary", "fingerprint": "05398a4abc5aa1e9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d6914327795067b3", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/infonet/peer-registry"}, "properties": {"repobilityId": "6e3e5cb6fe79cbb6", "scanner": "scanner-primary", "fingerprint": "d6914327795067b3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3058b4ac5f278040", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/infonet/bootstrap-manifest"}, "properties": {"repobilityId": "5b4eb7472e8fb988", "scanner": "scanner-primary", "fingerprint": "3058b4ac5f278040", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c951a9d28cec4ab5", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/infonet/peer-announce"}, "properties": {"repobilityId": "2b12d8d87777e970", "scanner": "scanner-primary", "fingerprint": "c951a9d28cec4ab5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-59e352a2a52160ef", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/infonet/peer-push"}, "properties": {"repobilityId": "6f7a646f581bf1bd", "scanner": "scanner-primary", "fingerprint": "59e352a2a52160ef", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7eaab73ddda04c45", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/gate/peer-push"}, "properties": {"repobilityId": "83a7b65bc5917c15", "scanner": "scanner-primary", "fingerprint": "7eaab73ddda04c45", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b56e3613f60349c4", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/gate/peer-pull"}, "properties": {"repobilityId": "417454b37d9466a5", "scanner": "scanner-primary", "fingerprint": "b56e3613f60349c4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9aef31e48002a861", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/peers"}, "properties": {"repobilityId": "329e7d4a06eca71b", "scanner": "scanner-primary", "fingerprint": "9aef31e48002a861", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c577d0d81147c272", "level": "note", "message": {"text": "Unused endpoint: POST /api/mesh/peers"}, "properties": {"repobilityId": "5fdee3efcc6a7109", "scanner": "scanner-primary", "fingerprint": "c577d0d81147c272", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-503a190322e77289", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/mesh/peers"}, "properties": {"repobilityId": "9b230129073ad872", "scanner": "scanner-primary", "fingerprint": "503a190322e77289", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5bb256fb9deeeefc", "level": "note", "message": {"text": "Unused endpoint: PATCH /api/mesh/peers"}, "properties": {"repobilityId": "f6981b20925a43fd", "scanner": "scanner-primary", "fingerprint": "5bb256fb9deeeefc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-040aefc45894a053", "level": "note", "message": {"text": "Unused endpoint: PUT /api/mesh/gate/{gate_id}/envelope_policy"}, "properties": {"repobilityId": "c6562c6e04474efb", "scanner": "scanner-primary", "fingerprint": "040aefc45894a053", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-73fd487cee551bbc", "level": "note", "message": {"text": "Unused endpoint: PUT /api/mesh/gate/{gate_id}/legacy_envelope_fallback"}, "properties": {"repobilityId": "5193a0852335954d", "scanner": "scanner-primary", "fingerprint": "73fd487cee551bbc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9f04ebfd92a7304e", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/gate/{gate_id}/messages"}, "properties": {"repobilityId": "3d2eec4ba2b1b859", "scanner": "scanner-primary", "fingerprint": "9f04ebfd92a7304e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d42dae3a70037b4e", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/infonet/messages"}, "properties": {"repobilityId": "d6f5c035a7949898", "scanner": "scanner-primary", "fingerprint": "d42dae3a70037b4e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-381be30d442c439c", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/infonet/messages/wait"}, "properties": {"repobilityId": "5be84a39c06253e3", "scanner": "scanner-primary", "fingerprint": "381be30d442c439c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3f1d5f68f5029c47", "level": "note", "message": {"text": "Unused endpoint: GET /api/mesh/infonet/event/{event_id}"}, "properties": {"repobilityId": "b76963db3ff4c3f0", "scanner": "scanner-primary", "fingerprint": "3f1d5f68f5029c47", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}