{"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-b265528a1ed64cea", "name": "Possibly dead Python function: load_score", "shortDescription": {"text": "Possibly dead Python function: load_score"}, "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-759646945414a906", "name": "Possibly dead Python function: uname_for", "shortDescription": {"text": "Possibly dead Python function: uname_for"}, "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-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4f4bc17d094de02a", "name": "Insecure pattern 'direct_innerhtml_assignment' in sanctuary.html:86", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sanctuary.html:86"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-36b94a8fbeebe3d1", "name": "Insecure pattern 'debug_true' in app.py:4162", "shortDescription": {"text": "Insecure pattern 'debug_true' in app.py:4162"}, "fullDescription": {"text": "Found a known-risky pattern (debug_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ddd1f77fa881a8cd", "name": "Insecure pattern 'direct_innerhtml_assignment' in Three_world.html:239", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in Three_world.html:239"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e5a112a1e1232dd4", "name": "Very large file: app.py (4161 lines)", "shortDescription": {"text": "Very large file: app.py (4161 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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 12 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-01f96f71d9907a8c", "name": "README lacks setup or run instructions", "shortDescription": {"text": "README lacks setup or run instructions"}, "fullDescription": {"text": "A README exists, but it does not contain common install/setup/run markers. This matches a frequent generated-code pattern: UI is present, operational handoff is thin."}, "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 55 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 24 placeholder/mock markers across 3 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-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-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, tests, operator-readme. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci, tests, operator-readme. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1b1537f9e4fc22b0", "name": "Legacy-named symbol `eleven_multilingual_v2` in lumina_voice.py:15", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in lumina_voice.py:15"}, "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-80e27c778f026576", "name": "Legacy-named symbol `eleven_multilingual_v2` in app.py:4027", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in app.py:4027"}, "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-23f92940e4c671c5", "name": "Legacy-named symbol `eleven_multilingual_v2` in scripts/generate_lumina_voice.py:21", "shortDescription": {"text": "Legacy-named symbol `eleven_multilingual_v2` in scripts/generate_lumina_voice.py:21"}, "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-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\napp.py:claude_messenger, app.py:about, app.py:inspiration, app.py:vision\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\napp.py:projects, app.py:love_counter, app.py:post\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-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:\napp.py:lumina_voice_audio, app.py:lumina_voice\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-bb8176794f7b4dcf", "name": "Flask mutation route `contact` without `@login_required` \u2014 app.py:2061", "shortDescription": {"text": "Flask mutation route `contact` without `@login_required` \u2014 app.py:2061"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-77ff6a1c7a64ca4b", "name": "Flask mutation route `save_mood` without `@login_required` \u2014 app.py:2241", "shortDescription": {"text": "Flask mutation route `save_mood` without `@login_required` \u2014 app.py:2241"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8745b567f89e2bc9", "name": "Flask mutation route `signin` without `@login_required` \u2014 app.py:2411", "shortDescription": {"text": "Flask mutation route `signin` without `@login_required` \u2014 app.py:2411"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-b77a5831dd82f529", "name": "Flask mutation route `send_dm` without `@login_required` \u2014 app.py:2859", "shortDescription": {"text": "Flask mutation route `send_dm` without `@login_required` \u2014 app.py:2859"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-318bcc0a4a826bbb", "name": "Flask mutation route `add_friend` without `@login_required` \u2014 app.py:2938", "shortDescription": {"text": "Flask mutation route `add_friend` without `@login_required` \u2014 app.py:2938"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-243c5c49ac86b94b", "name": "Flask mutation route `accept_friend` without `@login_required` \u2014 app.py:2964", "shortDescription": {"text": "Flask mutation route `accept_friend` without `@login_required` \u2014 app.py:2964"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-02e505f7d979b331", "name": "Flask mutation route `decline_friend` without `@login_required` \u2014 app.py:2984", "shortDescription": {"text": "Flask mutation route `decline_friend` without `@login_required` \u2014 app.py:2984"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ee597d6ee37f0b2e", "name": "Flask mutation route `save_message` without `@login_required` \u2014 app.py:3223", "shortDescription": {"text": "Flask mutation route `save_message` without `@login_required` \u2014 app.py:3223"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-1cce0c570e24e808", "name": "Flask mutation route `change_world` without `@login_required` \u2014 app.py:3630", "shortDescription": {"text": "Flask mutation route `change_world` without `@login_required` \u2014 app.py:3630"}, "fullDescription": {"text": "Flask route declares POST/PUT/DELETE/PATCH methods without an auth decorator. Add `@login_required` (Flask-Login) or equivalent."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-f891c29e7670771b", "name": "Unused endpoint: ANY /setup-social", "shortDescription": {"text": "Unused endpoint: ANY /setup-social"}, "fullDescription": {"text": "`app.py` declares `ANY /setup-social` 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-1a6d91f2236825bf", "name": "Unused endpoint: ANY /", "shortDescription": {"text": "Unused endpoint: ANY /"}, "fullDescription": {"text": "`app.py` declares `ANY /` 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-1effde918bc76c6b", "name": "Unused endpoint: ANY /claude-messenger", "shortDescription": {"text": "Unused endpoint: ANY /claude-messenger"}, "fullDescription": {"text": "`app.py` declares `ANY /claude-messenger` 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-d9304729e929e874", "name": "Unused endpoint: ANY /claude-messenger-underwater", "shortDescription": {"text": "Unused endpoint: ANY /claude-messenger-underwater"}, "fullDescription": {"text": "`app.py` declares `ANY /claude-messenger-underwater` 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-407a8341d9acecb5", "name": "Unused endpoint: ANY /claude-messenger-worlds", "shortDescription": {"text": "Unused endpoint: ANY /claude-messenger-worlds"}, "fullDescription": {"text": "`app.py` declares `ANY /claude-messenger-worlds` 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-3102cd39cf8c7e3a", "name": "Unused endpoint: ANY /world/ocean", "shortDescription": {"text": "Unused endpoint: ANY /world/ocean"}, "fullDescription": {"text": "`app.py` declares `ANY /world/ocean` 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-4d7ed8975b8b5ba0", "name": "Unused endpoint: ANY /world/snow", "shortDescription": {"text": "Unused endpoint: ANY /world/snow"}, "fullDescription": {"text": "`app.py` declares `ANY /world/snow` 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-f092faab2b79c7ed", "name": "Unused endpoint: ANY /world/river", "shortDescription": {"text": "Unused endpoint: ANY /world/river"}, "fullDescription": {"text": "`app.py` declares `ANY /world/river` 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-5a8dba1762ce7572", "name": "Unused endpoint: ANY /world/cyberpunk", "shortDescription": {"text": "Unused endpoint: ANY /world/cyberpunk"}, "fullDescription": {"text": "`app.py` declares `ANY /world/cyberpunk` 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-05eee1817aa67354", "name": "Unused endpoint: ANY /world/forest", "shortDescription": {"text": "Unused endpoint: ANY /world/forest"}, "fullDescription": {"text": "`app.py` declares `ANY /world/forest` 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-90c706db49ab668d", "name": "Unused endpoint: ANY /world/space", "shortDescription": {"text": "Unused endpoint: ANY /world/space"}, "fullDescription": {"text": "`app.py` declares `ANY /world/space` 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-cac8b4bfbbc69ef4", "name": "Unused endpoint: ANY /about", "shortDescription": {"text": "Unused endpoint: ANY /about"}, "fullDescription": {"text": "`app.py` declares `ANY /about` 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-846b8619cc0a942e", "name": "Unused endpoint: ANY /projects", "shortDescription": {"text": "Unused endpoint: ANY /projects"}, "fullDescription": {"text": "`app.py` declares `ANY /projects` 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-a552e00ba3249c77", "name": "Unused endpoint: ANY /world/passion-love", "shortDescription": {"text": "Unused endpoint: ANY /world/passion-love"}, "fullDescription": {"text": "`app.py` declares `ANY /world/passion-love` 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-8752337d8713ea6f", "name": "Unused endpoint: ANY /love-counter", "shortDescription": {"text": "Unused endpoint: ANY /love-counter"}, "fullDescription": {"text": "`app.py` declares `ANY /love-counter` 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-221ce2053c6bf12b", "name": "Unused endpoint: ANY /inspiration", "shortDescription": {"text": "Unused endpoint: ANY /inspiration"}, "fullDescription": {"text": "`app.py` declares `ANY /inspiration` 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-6a6a066356ea5086", "name": "Unused endpoint: ANY /vision", "shortDescription": {"text": "Unused endpoint: ANY /vision"}, "fullDescription": {"text": "`app.py` declares `ANY /vision` 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-1d72ecc7eab20c39", "name": "Unused endpoint: ANY /why-bot", "shortDescription": {"text": "Unused endpoint: ANY /why-bot"}, "fullDescription": {"text": "`app.py` declares `ANY /why-bot` 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-2d2d13dc37653507", "name": "Unused endpoint: ANY /contact", "shortDescription": {"text": "Unused endpoint: ANY /contact"}, "fullDescription": {"text": "`app.py` declares `ANY /contact` 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-fb82676d5c4ad440", "name": "Unused endpoint: ANY /3d-world", "shortDescription": {"text": "Unused endpoint: ANY /3d-world"}, "fullDescription": {"text": "`app.py` declares `ANY /3d-world` 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-25105fc955034cdd", "name": "Unused endpoint: ANY /mood-form", "shortDescription": {"text": "Unused endpoint: ANY /mood-form"}, "fullDescription": {"text": "`app.py` declares `ANY /mood-form` 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-b5b06b5e198a06cc", "name": "Unused endpoint: ANY /save-mood", "shortDescription": {"text": "Unused endpoint: ANY /save-mood"}, "fullDescription": {"text": "`app.py` declares `ANY /save-mood` 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-6157b5a66a6129ea", "name": "Unused endpoint: ANY /moods", "shortDescription": {"text": "Unused endpoint: ANY /moods"}, "fullDescription": {"text": "`app.py` declares `ANY /moods` 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-4c7ad61ba1b23915", "name": "Unused endpoint: ANY /login", "shortDescription": {"text": "Unused endpoint: ANY /login"}, "fullDescription": {"text": "`app.py` declares `ANY /login` 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-5f3706829fa00b26", "name": "Unused endpoint: ANY /signin", "shortDescription": {"text": "Unused endpoint: ANY /signin"}, "fullDescription": {"text": "`app.py` declares `ANY /signin` 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-970c981b2159ee1f", "name": "Unused endpoint: ANY /join", "shortDescription": {"text": "Unused endpoint: ANY /join"}, "fullDescription": {"text": "`app.py` declares `ANY /join` 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-77e51c281fcb0177", "name": "Unused endpoint: ANY /create-account", "shortDescription": {"text": "Unused endpoint: ANY /create-account"}, "fullDescription": {"text": "`app.py` declares `ANY /create-account` 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-c9e449c3b9e73b73", "name": "Unused endpoint: ANY /logout", "shortDescription": {"text": "Unused endpoint: ANY /logout"}, "fullDescription": {"text": "`app.py` declares `ANY /logout` 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-02c8df9e57feeddd", "name": "Unused endpoint: ANY /setup-db", "shortDescription": {"text": "Unused endpoint: ANY /setup-db"}, "fullDescription": {"text": "`app.py` declares `ANY /setup-db` 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-838d6766a3b80f8c", "name": "Unused endpoint: ANY /profiles", "shortDescription": {"text": "Unused endpoint: ANY /profiles"}, "fullDescription": {"text": "`app.py` declares `ANY /profiles` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bfcd12c4a15f8ed1", "name": "Unused endpoint: ANY /api/unread", "shortDescription": {"text": "Unused endpoint: ANY /api/unread"}, "fullDescription": {"text": "`app.py` declares `ANY /api/unread` 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-233a42f489bc4841", "name": "Unused endpoint: ANY /inbox", "shortDescription": {"text": "Unused endpoint: ANY /inbox"}, "fullDescription": {"text": "`app.py` declares `ANY /inbox` 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-26ff5606fbf20bfe", "name": "Unused endpoint: ANY /dm/<username>", "shortDescription": {"text": "Unused endpoint: ANY /dm/<username>"}, "fullDescription": {"text": "`app.py` declares `ANY /dm/<username>` 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-25bfc408bb4155c9", "name": "Unused endpoint: ANY /send-dm", "shortDescription": {"text": "Unused endpoint: ANY /send-dm"}, "fullDescription": {"text": "`app.py` declares `ANY /send-dm` 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-c1932202add53017", "name": "Unused endpoint: ANY /friends", "shortDescription": {"text": "Unused endpoint: ANY /friends"}, "fullDescription": {"text": "`app.py` declares `ANY /friends` 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-33c7f5213d5e547a", "name": "Unused endpoint: ANY /add-friend/<username>", "shortDescription": {"text": "Unused endpoint: ANY /add-friend/<username>"}, "fullDescription": {"text": "`app.py` declares `ANY /add-friend/<username>` 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-9a263110776fdee5", "name": "Unused endpoint: ANY /accept-friend/<username>", "shortDescription": {"text": "Unused endpoint: ANY /accept-friend/<username>"}, "fullDescription": {"text": "`app.py` declares `ANY /accept-friend/<username>` 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-1fefe12eb03f14e1", "name": "Unused endpoint: ANY /decline-friend/<username>", "shortDescription": {"text": "Unused endpoint: ANY /decline-friend/<username>"}, "fullDescription": {"text": "`app.py` declares `ANY /decline-friend/<username>` 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-c5f3bd258ecb72e0", "name": "Unused endpoint: ANY /setup-message-db", "shortDescription": {"text": "Unused endpoint: ANY /setup-message-db"}, "fullDescription": {"text": "`app.py` declares `ANY /setup-message-db` 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-8aa084dd836b7919", "name": "Unused endpoint: ANY /message-formm", "shortDescription": {"text": "Unused endpoint: ANY /message-formm"}, "fullDescription": {"text": "`app.py` declares `ANY /message-formm` 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-cb791c1f37b36010", "name": "Unused endpoint: ANY /message", "shortDescription": {"text": "Unused endpoint: ANY /message"}, "fullDescription": {"text": "`app.py` declares `ANY /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-3b5dca0b5b132eba", "name": "Unused endpoint: ANY /save-message", "shortDescription": {"text": "Unused endpoint: ANY /save-message"}, "fullDescription": {"text": "`app.py` declares `ANY /save-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-6aec618390cd0242", "name": "Unused endpoint: ANY /setup-timestamps", "shortDescription": {"text": "Unused endpoint: ANY /setup-timestamps"}, "fullDescription": {"text": "`app.py` declares `ANY /setup-timestamps` 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-19b5864b5f695023", "name": "Unused endpoint: ANY /dashboard/<username>", "shortDescription": {"text": "Unused endpoint: ANY /dashboard/<username>"}, "fullDescription": {"text": "`app.py` declares `ANY /dashboard/<username>` 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-79293aaf74d6ffce", "name": "Unused endpoint: ANY /change-world", "shortDescription": {"text": "Unused endpoint: ANY /change-world"}, "fullDescription": {"text": "`app.py` declares `ANY /change-world` 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-95aafa2b020aeff7", "name": "Unused endpoint: ANY /elements-reactions", "shortDescription": {"text": "Unused endpoint: ANY /elements-reactions"}, "fullDescription": {"text": "`app.py` declares `ANY /elements-reactions` 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-18a2ae247496ea2a", "name": "Unused endpoint: ANY /pet-memorial", "shortDescription": {"text": "Unused endpoint: ANY /pet-memorial"}, "fullDescription": {"text": "`app.py` declares `ANY /pet-memorial` 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-b2aabbb0b440c13c", "name": "Unused endpoint: ANY /crisis-line", "shortDescription": {"text": "Unused endpoint: ANY /crisis-line"}, "fullDescription": {"text": "`app.py` declares `ANY /crisis-line` 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-69be372ced8bb83f", "name": "Unused endpoint: ANY /lumina-voice.mp3", "shortDescription": {"text": "Unused endpoint: ANY /lumina-voice.mp3"}, "fullDescription": {"text": "`app.py` declares `ANY /lumina-voice.mp3` 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-cb8dad78964d14ff", "name": "Unused endpoint: ANY /lumina-say/<lang>/<int:idx>", "shortDescription": {"text": "Unused endpoint: ANY /lumina-say/<lang>/<int:idx>"}, "fullDescription": {"text": "`app.py` declares `ANY /lumina-say/<lang>/<int:idx>` 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/22468"}, "properties": {"repository": "w00l23/Claude-Messenger", "repoUrl": "https://github.com/w00l23/Claude-Messenger", "branch": "main"}, "results": [{"ruleId": "scanner-b265528a1ed64cea", "level": "note", "message": {"text": "Possibly dead Python function: load_score"}, "properties": {"repobilityId": "b462e157842251b0", "scanner": "scanner-primary", "fingerprint": "b265528a1ed64cea", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "game.py:8"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-759646945414a906", "level": "note", "message": {"text": "Possibly dead Python function: uname_for"}, "properties": {"repobilityId": "d5f78412562ef42f", "scanner": "scanner-primary", "fingerprint": "759646945414a906", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py:61"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-4f4bc17d094de02a", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sanctuary.html:86"}, "properties": {"repobilityId": "e4f2bb633d70a8ec", "scanner": "scanner-primary", "fingerprint": "4f4bc17d094de02a", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sanctuary.html"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-36b94a8fbeebe3d1", "level": "note", "message": {"text": "Insecure pattern 'debug_true' in app.py:4162"}, "properties": {"repobilityId": "820a29d1c28c9121", "scanner": "scanner-primary", "fingerprint": "36b94a8fbeebe3d1", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "debug_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 4162}}}]}, {"ruleId": "scanner-ddd1f77fa881a8cd", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in Three_world.html:239"}, "properties": {"repobilityId": "17bdbefa882edefc", "scanner": "scanner-primary", "fingerprint": "ddd1f77fa881a8cd", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Three_world.html"}, "region": {"startLine": 239}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-e5a112a1e1232dd4", "level": "note", "message": {"text": "Very large file: app.py (4161 lines)"}, "properties": {"repobilityId": "5a74e6652f3a10d4", "scanner": "scanner-primary", "fingerprint": "e5a112a1e1232dd4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "eb6175b12b487a36", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-01f96f71d9907a8c", "level": "note", "message": {"text": "README lacks setup or run instructions"}, "properties": {"repobilityId": "b9488529329d18b9", "scanner": "scanner-primary", "fingerprint": "01f96f71d9907a8c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["docs", "readme", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "2ac80874cee8ce5c", "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": "d0242447d2218f27", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "643072d872537dbe", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "ec369b4e9e21473e", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "859cba9892a886ba", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "9609115ddb423c50", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "56c23a67cbda3fa1", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-1b1537f9e4fc22b0", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in lumina_voice.py:15"}, "properties": {"repobilityId": "8d7675e193e2d5f6", "scanner": "scanner-primary", "fingerprint": "1b1537f9e4fc22b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-80e27c778f026576", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in app.py:4027"}, "properties": {"repobilityId": "d8682578f1333b10", "scanner": "scanner-primary", "fingerprint": "80e27c778f026576", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-23f92940e4c671c5", "level": "note", "message": {"text": "Legacy-named symbol `eleven_multilingual_v2` in scripts/generate_lumina_voice.py:21"}, "properties": {"repobilityId": "1de0bb6ba6d6d7e1", "scanner": "scanner-primary", "fingerprint": "23f92940e4c671c5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "5489ff80d05cf3d8", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "2596babf52c47646", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "14c023b92cb503bb", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "6a446fe80c715273", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-bb8176794f7b4dcf", "level": "error", "message": {"text": "Flask mutation route `contact` without `@login_required` \u2014 app.py:2061"}, "properties": {"repobilityId": "d6ef141439caf859", "scanner": "scanner-primary", "fingerprint": "bb8176794f7b4dcf", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 2061}}}]}, {"ruleId": "scanner-77ff6a1c7a64ca4b", "level": "error", "message": {"text": "Flask mutation route `save_mood` without `@login_required` \u2014 app.py:2241"}, "properties": {"repobilityId": "4f2fc9b36d875905", "scanner": "scanner-primary", "fingerprint": "77ff6a1c7a64ca4b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 2241}}}]}, {"ruleId": "scanner-8745b567f89e2bc9", "level": "error", "message": {"text": "Flask mutation route `signin` without `@login_required` \u2014 app.py:2411"}, "properties": {"repobilityId": "b0e5773ebbe691e0", "scanner": "scanner-primary", "fingerprint": "8745b567f89e2bc9", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 2411}}}]}, {"ruleId": "scanner-b77a5831dd82f529", "level": "error", "message": {"text": "Flask mutation route `send_dm` without `@login_required` \u2014 app.py:2859"}, "properties": {"repobilityId": "f3bfa2ac3f49b5fd", "scanner": "scanner-primary", "fingerprint": "b77a5831dd82f529", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 2859}}}]}, {"ruleId": "scanner-318bcc0a4a826bbb", "level": "error", "message": {"text": "Flask mutation route `add_friend` without `@login_required` \u2014 app.py:2938"}, "properties": {"repobilityId": "bd7bfe7be2275513", "scanner": "scanner-primary", "fingerprint": "318bcc0a4a826bbb", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 2938}}}]}, {"ruleId": "scanner-243c5c49ac86b94b", "level": "error", "message": {"text": "Flask mutation route `accept_friend` without `@login_required` \u2014 app.py:2964"}, "properties": {"repobilityId": "db5290b092bfb9c6", "scanner": "scanner-primary", "fingerprint": "243c5c49ac86b94b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 2964}}}]}, {"ruleId": "scanner-02e505f7d979b331", "level": "error", "message": {"text": "Flask mutation route `decline_friend` without `@login_required` \u2014 app.py:2984"}, "properties": {"repobilityId": "e7fd42fd2a904e30", "scanner": "scanner-primary", "fingerprint": "02e505f7d979b331", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 2984}}}]}, {"ruleId": "scanner-ee597d6ee37f0b2e", "level": "error", "message": {"text": "Flask mutation route `save_message` without `@login_required` \u2014 app.py:3223"}, "properties": {"repobilityId": "d1f70098a2003a8f", "scanner": "scanner-primary", "fingerprint": "ee597d6ee37f0b2e", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 3223}}}]}, {"ruleId": "scanner-1cce0c570e24e808", "level": "error", "message": {"text": "Flask mutation route `change_world` without `@login_required` \u2014 app.py:3630"}, "properties": {"repobilityId": "04ae739482867848", "scanner": "scanner-primary", "fingerprint": "1cce0c570e24e808", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.flask.unauth_route"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py"}, "region": {"startLine": 3630}}}]}, {"ruleId": "scanner-f891c29e7670771b", "level": "note", "message": {"text": "Unused endpoint: ANY /setup-social"}, "properties": {"repobilityId": "2be0de8e4ccc0976", "scanner": "scanner-primary", "fingerprint": "f891c29e7670771b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1a6d91f2236825bf", "level": "note", "message": {"text": "Unused endpoint: ANY /"}, "properties": {"repobilityId": "302fe621a396c5fd", "scanner": "scanner-primary", "fingerprint": "1a6d91f2236825bf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1effde918bc76c6b", "level": "note", "message": {"text": "Unused endpoint: ANY /claude-messenger"}, "properties": {"repobilityId": "dd119bf7b3c7bcf2", "scanner": "scanner-primary", "fingerprint": "1effde918bc76c6b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d9304729e929e874", "level": "note", "message": {"text": "Unused endpoint: ANY /claude-messenger-underwater"}, "properties": {"repobilityId": "351bb70e049cb40d", "scanner": "scanner-primary", "fingerprint": "d9304729e929e874", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-407a8341d9acecb5", "level": "note", "message": {"text": "Unused endpoint: ANY /claude-messenger-worlds"}, "properties": {"repobilityId": "d8e8f7647ac16d3a", "scanner": "scanner-primary", "fingerprint": "407a8341d9acecb5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3102cd39cf8c7e3a", "level": "note", "message": {"text": "Unused endpoint: ANY /world/ocean"}, "properties": {"repobilityId": "4fb404c272b974b9", "scanner": "scanner-primary", "fingerprint": "3102cd39cf8c7e3a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4d7ed8975b8b5ba0", "level": "note", "message": {"text": "Unused endpoint: ANY /world/snow"}, "properties": {"repobilityId": "d089c187eb17b314", "scanner": "scanner-primary", "fingerprint": "4d7ed8975b8b5ba0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f092faab2b79c7ed", "level": "note", "message": {"text": "Unused endpoint: ANY /world/river"}, "properties": {"repobilityId": "81739ddefdc5a2ac", "scanner": "scanner-primary", "fingerprint": "f092faab2b79c7ed", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5a8dba1762ce7572", "level": "note", "message": {"text": "Unused endpoint: ANY /world/cyberpunk"}, "properties": {"repobilityId": "e987e56511ac57ce", "scanner": "scanner-primary", "fingerprint": "5a8dba1762ce7572", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-05eee1817aa67354", "level": "note", "message": {"text": "Unused endpoint: ANY /world/forest"}, "properties": {"repobilityId": "2cc92d3bd30bd272", "scanner": "scanner-primary", "fingerprint": "05eee1817aa67354", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-90c706db49ab668d", "level": "note", "message": {"text": "Unused endpoint: ANY /world/space"}, "properties": {"repobilityId": "392bd8c662ce1877", "scanner": "scanner-primary", "fingerprint": "90c706db49ab668d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cac8b4bfbbc69ef4", "level": "note", "message": {"text": "Unused endpoint: ANY /about"}, "properties": {"repobilityId": "9da6316d96930ce8", "scanner": "scanner-primary", "fingerprint": "cac8b4bfbbc69ef4", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-846b8619cc0a942e", "level": "note", "message": {"text": "Unused endpoint: ANY /projects"}, "properties": {"repobilityId": "4f96526f50d8e070", "scanner": "scanner-primary", "fingerprint": "846b8619cc0a942e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a552e00ba3249c77", "level": "note", "message": {"text": "Unused endpoint: ANY /world/passion-love"}, "properties": {"repobilityId": "17defc383179da2a", "scanner": "scanner-primary", "fingerprint": "a552e00ba3249c77", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8752337d8713ea6f", "level": "note", "message": {"text": "Unused endpoint: ANY /love-counter"}, "properties": {"repobilityId": "f5dde802fcb28443", "scanner": "scanner-primary", "fingerprint": "8752337d8713ea6f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-221ce2053c6bf12b", "level": "note", "message": {"text": "Unused endpoint: ANY /inspiration"}, "properties": {"repobilityId": "c4f81eea11adf75c", "scanner": "scanner-primary", "fingerprint": "221ce2053c6bf12b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6a6a066356ea5086", "level": "note", "message": {"text": "Unused endpoint: ANY /vision"}, "properties": {"repobilityId": "f5f9b0166c7c1d73", "scanner": "scanner-primary", "fingerprint": "6a6a066356ea5086", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1d72ecc7eab20c39", "level": "note", "message": {"text": "Unused endpoint: ANY /why-bot"}, "properties": {"repobilityId": "63ef38a22d55d5c1", "scanner": "scanner-primary", "fingerprint": "1d72ecc7eab20c39", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2d2d13dc37653507", "level": "note", "message": {"text": "Unused endpoint: ANY /contact"}, "properties": {"repobilityId": "977e9a1cc6069a52", "scanner": "scanner-primary", "fingerprint": "2d2d13dc37653507", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fb82676d5c4ad440", "level": "note", "message": {"text": "Unused endpoint: ANY /3d-world"}, "properties": {"repobilityId": "a875c17547b4761d", "scanner": "scanner-primary", "fingerprint": "fb82676d5c4ad440", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-25105fc955034cdd", "level": "note", "message": {"text": "Unused endpoint: ANY /mood-form"}, "properties": {"repobilityId": "c1363c5aa7eb1495", "scanner": "scanner-primary", "fingerprint": "25105fc955034cdd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b5b06b5e198a06cc", "level": "note", "message": {"text": "Unused endpoint: ANY /save-mood"}, "properties": {"repobilityId": "7c1d496110c2cc0b", "scanner": "scanner-primary", "fingerprint": "b5b06b5e198a06cc", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6157b5a66a6129ea", "level": "note", "message": {"text": "Unused endpoint: ANY /moods"}, "properties": {"repobilityId": "b049110075b146e7", "scanner": "scanner-primary", "fingerprint": "6157b5a66a6129ea", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-4c7ad61ba1b23915", "level": "note", "message": {"text": "Unused endpoint: ANY /login"}, "properties": {"repobilityId": "2d2d4aa670f43283", "scanner": "scanner-primary", "fingerprint": "4c7ad61ba1b23915", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-5f3706829fa00b26", "level": "note", "message": {"text": "Unused endpoint: ANY /signin"}, "properties": {"repobilityId": "9e8445614c7791ab", "scanner": "scanner-primary", "fingerprint": "5f3706829fa00b26", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-970c981b2159ee1f", "level": "note", "message": {"text": "Unused endpoint: ANY /join"}, "properties": {"repobilityId": "474f7349ffcb76b3", "scanner": "scanner-primary", "fingerprint": "970c981b2159ee1f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-77e51c281fcb0177", "level": "note", "message": {"text": "Unused endpoint: ANY /create-account"}, "properties": {"repobilityId": "5b0d7f6375a371e9", "scanner": "scanner-primary", "fingerprint": "77e51c281fcb0177", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c9e449c3b9e73b73", "level": "note", "message": {"text": "Unused endpoint: ANY /logout"}, "properties": {"repobilityId": "1d0f5ae7dd7dbf56", "scanner": "scanner-primary", "fingerprint": "c9e449c3b9e73b73", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-02c8df9e57feeddd", "level": "note", "message": {"text": "Unused endpoint: ANY /setup-db"}, "properties": {"repobilityId": "76aac04cc701caaf", "scanner": "scanner-primary", "fingerprint": "02c8df9e57feeddd", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-838d6766a3b80f8c", "level": "note", "message": {"text": "Unused endpoint: ANY /profiles"}, "properties": {"repobilityId": "2c08c82b2bedcb7d", "scanner": "scanner-primary", "fingerprint": "838d6766a3b80f8c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bfcd12c4a15f8ed1", "level": "note", "message": {"text": "Unused endpoint: ANY /api/unread"}, "properties": {"repobilityId": "7cec90cdddc4771b", "scanner": "scanner-primary", "fingerprint": "bfcd12c4a15f8ed1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-233a42f489bc4841", "level": "note", "message": {"text": "Unused endpoint: ANY /inbox"}, "properties": {"repobilityId": "d924041b83416d32", "scanner": "scanner-primary", "fingerprint": "233a42f489bc4841", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-26ff5606fbf20bfe", "level": "note", "message": {"text": "Unused endpoint: ANY /dm/<username>"}, "properties": {"repobilityId": "39c30bb7aab341e8", "scanner": "scanner-primary", "fingerprint": "26ff5606fbf20bfe", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-25bfc408bb4155c9", "level": "note", "message": {"text": "Unused endpoint: ANY /send-dm"}, "properties": {"repobilityId": "81d2eebfabbc81bd", "scanner": "scanner-primary", "fingerprint": "25bfc408bb4155c9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c1932202add53017", "level": "note", "message": {"text": "Unused endpoint: ANY /friends"}, "properties": {"repobilityId": "57cde243bfd19f57", "scanner": "scanner-primary", "fingerprint": "c1932202add53017", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-33c7f5213d5e547a", "level": "note", "message": {"text": "Unused endpoint: ANY /add-friend/<username>"}, "properties": {"repobilityId": "37e1897d3fdefe42", "scanner": "scanner-primary", "fingerprint": "33c7f5213d5e547a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9a263110776fdee5", "level": "note", "message": {"text": "Unused endpoint: ANY /accept-friend/<username>"}, "properties": {"repobilityId": "e2cbf8565b62fc48", "scanner": "scanner-primary", "fingerprint": "9a263110776fdee5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1fefe12eb03f14e1", "level": "note", "message": {"text": "Unused endpoint: ANY /decline-friend/<username>"}, "properties": {"repobilityId": "7f2cc06402302d53", "scanner": "scanner-primary", "fingerprint": "1fefe12eb03f14e1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-c5f3bd258ecb72e0", "level": "note", "message": {"text": "Unused endpoint: ANY /setup-message-db"}, "properties": {"repobilityId": "fecc312853bea891", "scanner": "scanner-primary", "fingerprint": "c5f3bd258ecb72e0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8aa084dd836b7919", "level": "note", "message": {"text": "Unused endpoint: ANY /message-formm"}, "properties": {"repobilityId": "3fa7e1205d8f1396", "scanner": "scanner-primary", "fingerprint": "8aa084dd836b7919", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cb791c1f37b36010", "level": "note", "message": {"text": "Unused endpoint: ANY /message"}, "properties": {"repobilityId": "b7bc4a16fad15607", "scanner": "scanner-primary", "fingerprint": "cb791c1f37b36010", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3b5dca0b5b132eba", "level": "note", "message": {"text": "Unused endpoint: ANY /save-message"}, "properties": {"repobilityId": "76574de46cdd705d", "scanner": "scanner-primary", "fingerprint": "3b5dca0b5b132eba", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6aec618390cd0242", "level": "note", "message": {"text": "Unused endpoint: ANY /setup-timestamps"}, "properties": {"repobilityId": "a534a5935767dab3", "scanner": "scanner-primary", "fingerprint": "6aec618390cd0242", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-19b5864b5f695023", "level": "note", "message": {"text": "Unused endpoint: ANY /dashboard/<username>"}, "properties": {"repobilityId": "8688786175e396b0", "scanner": "scanner-primary", "fingerprint": "19b5864b5f695023", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-79293aaf74d6ffce", "level": "note", "message": {"text": "Unused endpoint: ANY /change-world"}, "properties": {"repobilityId": "e775f392168415b8", "scanner": "scanner-primary", "fingerprint": "79293aaf74d6ffce", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-95aafa2b020aeff7", "level": "note", "message": {"text": "Unused endpoint: ANY /elements-reactions"}, "properties": {"repobilityId": "cb7245139d6e2550", "scanner": "scanner-primary", "fingerprint": "95aafa2b020aeff7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-18a2ae247496ea2a", "level": "note", "message": {"text": "Unused endpoint: ANY /pet-memorial"}, "properties": {"repobilityId": "743b92e3611750ab", "scanner": "scanner-primary", "fingerprint": "18a2ae247496ea2a", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-b2aabbb0b440c13c", "level": "note", "message": {"text": "Unused endpoint: ANY /crisis-line"}, "properties": {"repobilityId": "439c3c8fff810947", "scanner": "scanner-primary", "fingerprint": "b2aabbb0b440c13c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-69be372ced8bb83f", "level": "note", "message": {"text": "Unused endpoint: ANY /lumina-voice.mp3"}, "properties": {"repobilityId": "dcb175daf9f9169b", "scanner": "scanner-primary", "fingerprint": "69be372ced8bb83f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cb8dad78964d14ff", "level": "note", "message": {"text": "Unused endpoint: ANY /lumina-say/<lang>/<int:idx>"}, "properties": {"repobilityId": "4c0b87ca3d15ac5b", "scanner": "scanner-primary", "fingerprint": "cb8dad78964d14ff", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}