{"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-995921e6a93c0bec", "name": "Possibly dead Python function: track_db_query", "shortDescription": {"text": "Possibly dead Python function: track_db_query"}, "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-d1d145a756ec5b95", "name": "Possibly dead Python function: is_configured", "shortDescription": {"text": "Possibly dead Python function: is_configured"}, "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-cd4d68ec9de856db", "name": "Possibly dead Python function: shutdown", "shortDescription": {"text": "Possibly dead Python function: shutdown"}, "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-f76dc6bb5fc1b663", "name": "Possibly dead Python function: reset_for_tests", "shortDescription": {"text": "Possibly dead Python function: reset_for_tests"}, "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-38fb7abe4da0fff1", "name": "Possibly dead Python function: purge", "shortDescription": {"text": "Possibly dead Python function: purge"}, "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-5fa8af56e30abd47", "name": "Possibly dead Python function: kv", "shortDescription": {"text": "Possibly dead Python function: kv"}, "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-c3410d0f56ca9ba8", "name": "Possibly dead Python function: send_email_async", "shortDescription": {"text": "Possibly dead Python function: send_email_async"}, "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-07c95abb46aa9690", "name": "Possibly dead Python function: send_welcome_email", "shortDescription": {"text": "Possibly dead Python function: send_welcome_email"}, "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-54374dfff63716a6", "name": "Possibly dead Python function: send_password_reset_email", "shortDescription": {"text": "Possibly dead Python function: send_password_reset_email"}, "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-2939719b5abdfd2c", "name": "Possibly dead Python function: send_magic_link_email", "shortDescription": {"text": "Possibly dead Python function: send_magic_link_email"}, "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-9cd146a84f60c6da", "name": "Possibly dead Python function: send_notification_email", "shortDescription": {"text": "Possibly dead Python function: send_notification_email"}, "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-91aae4a0c21d6bd9", "name": "Possibly dead Python function: slice_filter", "shortDescription": {"text": "Possibly dead Python function: slice_filter"}, "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-2420aed9729c0e98", "name": "Possibly dead Python function: handle_db_errors", "shortDescription": {"text": "Possibly dead Python function: handle_db_errors"}, "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-0f6bd816f773b1e7", "name": "Possibly dead Python function: asset_url", "shortDescription": {"text": "Possibly dead Python function: asset_url"}, "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-5139a0019fdfc630", "name": "Insecure pattern 'debug_true' in main.py:15", "shortDescription": {"text": "Insecure pattern 'debug_true' in main.py:15"}, "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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 11 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-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. 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-3226a25ffe4c12eb", "name": "Commented-code block (7 lines) in google_auth.py:51", "shortDescription": {"text": "Commented-code block (7 lines) in google_auth.py:51"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f9a2b7ddfee31d67", "name": "Commented-code block (5 lines) in nats_client.py:61", "shortDescription": {"text": "Commented-code block (5 lines) in nats_client.py:61"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cd1a5358369c9659", "name": "Commented-code block (5 lines) in models.py:30", "shortDescription": {"text": "Commented-code block (5 lines) in models.py:30"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-6a7740a6d2a0eb09", "name": "Commented-code block (5 lines) in app.py:137", "shortDescription": {"text": "Commented-code block (5 lines) in app.py:137"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b3efe6d10d772642", "name": "Commented-code block (8 lines) in worker.py:197", "shortDescription": {"text": "Commented-code block (8 lines) in worker.py:197"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nmail.py:send_email_async, mail.py:send_email\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}}]}}, "automationDetails": {"id": "repobility/25989"}, "properties": {"repository": "Gabangxa/FreelanceDash1", "repoUrl": "https://github.com/Gabangxa/FreelanceDash1", "branch": "main"}, "results": [{"ruleId": "scanner-995921e6a93c0bec", "level": "note", "message": {"text": "Possibly dead Python function: track_db_query"}, "properties": {"repobilityId": "2e2e64dcb58b8300", "scanner": "scanner-primary", "fingerprint": "995921e6a93c0bec", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "performance.py:92"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d1d145a756ec5b95", "level": "note", "message": {"text": "Possibly dead Python function: is_configured"}, "properties": {"repobilityId": "ebc1764a7e6462c8", "scanner": "scanner-primary", "fingerprint": "d1d145a756ec5b95", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "google_auth.py:80"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cd4d68ec9de856db", "level": "note", "message": {"text": "Possibly dead Python function: shutdown"}, "properties": {"repobilityId": "c1b7442732df40cc", "scanner": "scanner-primary", "fingerprint": "cd4d68ec9de856db", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "nats_client.py:251"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f76dc6bb5fc1b663", "level": "note", "message": {"text": "Possibly dead Python function: reset_for_tests"}, "properties": {"repobilityId": "05b9751b6986f14c", "scanner": "scanner-primary", "fingerprint": "f76dc6bb5fc1b663", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "nats_client.py:280"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-38fb7abe4da0fff1", "level": "note", "message": {"text": "Possibly dead Python function: purge"}, "properties": {"repobilityId": "330dd9f75a0c25ab", "scanner": "scanner-primary", "fingerprint": "38fb7abe4da0fff1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "nats_client.py:433"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5fa8af56e30abd47", "level": "note", "message": {"text": "Possibly dead Python function: kv"}, "properties": {"repobilityId": "ad0b62f4e15b553c", "scanner": "scanner-primary", "fingerprint": "5fa8af56e30abd47", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "nats_client.py:447"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c3410d0f56ca9ba8", "level": "note", "message": {"text": "Possibly dead Python function: send_email_async"}, "properties": {"repobilityId": "351e2c992804868d", "scanner": "scanner-primary", "fingerprint": "c3410d0f56ca9ba8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mail.py:141"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-07c95abb46aa9690", "level": "note", "message": {"text": "Possibly dead Python function: send_welcome_email"}, "properties": {"repobilityId": "1195c19cc930bea9", "scanner": "scanner-primary", "fingerprint": "07c95abb46aa9690", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mail.py:263"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-54374dfff63716a6", "level": "note", "message": {"text": "Possibly dead Python function: send_password_reset_email"}, "properties": {"repobilityId": "cb5da10aa56ef088", "scanner": "scanner-primary", "fingerprint": "54374dfff63716a6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mail.py:288"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2939719b5abdfd2c", "level": "note", "message": {"text": "Possibly dead Python function: send_magic_link_email"}, "properties": {"repobilityId": "42cf25f1d18d4908", "scanner": "scanner-primary", "fingerprint": "2939719b5abdfd2c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mail.py:317"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9cd146a84f60c6da", "level": "note", "message": {"text": "Possibly dead Python function: send_notification_email"}, "properties": {"repobilityId": "5e0431d6c73d8fe9", "scanner": "scanner-primary", "fingerprint": "9cd146a84f60c6da", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mail.py:346"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-91aae4a0c21d6bd9", "level": "note", "message": {"text": "Possibly dead Python function: slice_filter"}, "properties": {"repobilityId": "c414f49b32c90220", "scanner": "scanner-primary", "fingerprint": "91aae4a0c21d6bd9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "app.py:156"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2420aed9729c0e98", "level": "note", "message": {"text": "Possibly dead Python function: handle_db_errors"}, "properties": {"repobilityId": "c0f3ff237deccd0a", "scanner": "scanner-primary", "fingerprint": "2420aed9729c0e98", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "errors.py:226"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0f6bd816f773b1e7", "level": "note", "message": {"text": "Possibly dead Python function: asset_url"}, "properties": {"repobilityId": "673ca18b64447e83", "scanner": "scanner-primary", "fingerprint": "0f6bd816f773b1e7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "asset_bundler.py:174"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5139a0019fdfc630", "level": "note", "message": {"text": "Insecure pattern 'debug_true' in main.py:15"}, "properties": {"repobilityId": "da00e5dcdcbb6462", "scanner": "scanner-primary", "fingerprint": "5139a0019fdfc630", "layer": "security", "severity": "low", "confidence": 1.0, "tags": ["owasp", "debug_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "main.py"}, "region": {"startLine": 15}}}]}, {"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": "7c10f6847a6d0c4f", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "151d5b347043417f", "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": "4425fc288ff6cb38", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3226a25ffe4c12eb", "level": "none", "message": {"text": "Commented-code block (7 lines) in google_auth.py:51"}, "properties": {"repobilityId": "2e2615a22e76c530", "scanner": "scanner-primary", "fingerprint": "3226a25ffe4c12eb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f9a2b7ddfee31d67", "level": "none", "message": {"text": "Commented-code block (5 lines) in nats_client.py:61"}, "properties": {"repobilityId": "a0fc00d50b7b4876", "scanner": "scanner-primary", "fingerprint": "f9a2b7ddfee31d67", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd1a5358369c9659", "level": "none", "message": {"text": "Commented-code block (5 lines) in models.py:30"}, "properties": {"repobilityId": "e6468ad496d27f45", "scanner": "scanner-primary", "fingerprint": "cd1a5358369c9659", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6a7740a6d2a0eb09", "level": "none", "message": {"text": "Commented-code block (5 lines) in app.py:137"}, "properties": {"repobilityId": "66d0f41ce2f16ac6", "scanner": "scanner-primary", "fingerprint": "6a7740a6d2a0eb09", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b3efe6d10d772642", "level": "none", "message": {"text": "Commented-code block (8 lines) in worker.py:197"}, "properties": {"repobilityId": "4d2403decbf4402f", "scanner": "scanner-primary", "fingerprint": "b3efe6d10d772642", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "2beaff43fd79949b", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}