{"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-1ad6ee43cf42cbb5", "name": "Possibly dead Python function: signature_phones", "shortDescription": {"text": "Possibly dead Python function: signature_phones"}, "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-d6bef992ffeee1bd", "name": "Possibly dead Python function: fetch_campaign", "shortDescription": {"text": "Possibly dead Python function: fetch_campaign"}, "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-a22b0f84c3818122", "name": "Possibly dead Python function: resolve_ns", "shortDescription": {"text": "Possibly dead Python function: resolve_ns"}, "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-f9d2937835a96e55", "name": "Possibly dead Python function: fetch_table", "shortDescription": {"text": "Possibly dead Python function: fetch_table"}, "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-9e372c400a350417", "name": "Possibly dead Python function: resolve_pg_url", "shortDescription": {"text": "Possibly dead Python function: resolve_pg_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-e89549340a8cf1ca", "name": "Possibly dead Python function: list_tag_mappings", "shortDescription": {"text": "Possibly dead Python function: list_tag_mappings"}, "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-544d6f3a6b5246a5", "name": "Possibly dead Python function: describe", "shortDescription": {"text": "Possibly dead Python function: describe"}, "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-ecf04cbdf1f47395", "name": "Possibly dead Python function: run_pipeline_mirror", "shortDescription": {"text": "Possibly dead Python function: run_pipeline_mirror"}, "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-58d92fa0ce48ca6f", "name": "Possibly dead Python function: run_campaign_analytics_ingest", "shortDescription": {"text": "Possibly dead Python function: run_campaign_analytics_ingest"}, "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-8f0868d8cb324a6c", "name": "Possibly dead Python function: run_account_truth_mirror", "shortDescription": {"text": "Possibly dead Python function: run_account_truth_mirror"}, "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-7b98ce7f18e74edf", "name": "Possibly dead Python function: run_sending_account", "shortDescription": {"text": "Possibly dead Python function: run_sending_account"}, "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-328b6e06ea607864", "name": "Possibly dead Python function: run_instantly_replies_ingest", "shortDescription": {"text": "Possibly dead Python function: run_instantly_replies_ingest"}, "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-d8f0808076e05c62", "name": "Possibly dead Python function: run_opportunity", "shortDescription": {"text": "Possibly dead Python function: run_opportunity"}, "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-c18159f2d96721e6", "name": "Possibly dead Python function: run_sheets_mirror", "shortDescription": {"text": "Possibly dead Python function: run_sheets_mirror"}, "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-a29cfe92f7a87979", "name": "Possibly dead Python function: run_sending_dq", "shortDescription": {"text": "Possibly dead Python function: run_sending_dq"}, "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-40a26f9afb2d2bae", "name": "Possibly dead Python function: run_sms_logs", "shortDescription": {"text": "Possibly dead Python function: run_sms_logs"}, "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-51cda6e9ccab051b", "name": "Privileged port 5 in use", "shortDescription": {"text": "Privileged port 5 in use"}, "fullDescription": {"text": "Port 5 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f599fb79a7216998", "name": "Privileged port 45 in use", "shortDescription": {"text": "Privileged port 45 in use"}, "fullDescription": {"text": "Port 45 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d5003d4a883c1a03", "name": "Privileged port 30 in use", "shortDescription": {"text": "Privileged port 30 in use"}, "fullDescription": {"text": "Port 30 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "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-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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "1 test file(s) for 71 source file(s) (ratio 0.01). 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-faccb9061e9b52a0", "name": "No README detected", "shortDescription": {"text": "No README detected"}, "fullDescription": {"text": "No README file was found. Generated repos without README context are hard to operate, validate, or safely hand off."}, "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 88 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-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-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-690e6fcbc7a86aa5", "name": "Legacy-named symbol `raw_pipeline_campaign_data__prehash_legacy` in scripts/refresh_sync_registry.py:62", "shortDescription": {"text": "Legacy-named symbol `raw_pipeline_campaign_data__prehash_legacy` in scripts/refresh_sync_registry.py:62"}, "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-7283470114941b7d", "name": "Commented-code block (7 lines) in scripts/portal_data.py:80", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/portal_data.py:80"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-b2e0187ade5afab3", "name": "Commented-code block (5 lines) in scripts/publish_campaign_data_d1.py:89", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/publish_campaign_data_d1.py:89"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-cfde7cda0777e1be", "name": "Legacy-named symbol `reply_signature_v2` in scripts/signature_phone_sync.py:18", "shortDescription": {"text": "Legacy-named symbol `reply_signature_v2` in scripts/signature_phone_sync.py:18"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e478c49e3d622ed9", "name": "Commented-code block (5 lines) in scripts/dashboard_data.py:29", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/dashboard_data.py:29"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e7700da09b8470f6", "name": "Commented-code block (7 lines) in scripts/warehouse_qa.py:150", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/warehouse_qa.py:150"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-00a359cd1ebc4169", "name": "Legacy-named symbol `__legacy` in scripts/migrate_pipeline_mirror_v2.py:10", "shortDescription": {"text": "Legacy-named symbol `__legacy` in scripts/migrate_pipeline_mirror_v2.py:10"}, "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-f7f6fc8ef0f0ac89", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/stage_otd_billing.py:78", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/stage_otd_billing.py:78"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e2e87186e80a8271", "name": "Commented-code block (5 lines) in scripts/_test_lead_intel.py:58", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/_test_lead_intel.py:58"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-36b6342a468c4fd0", "name": "Commented-code block (5 lines) in sources/dns.py:428", "shortDescription": {"text": "Commented-code block (5 lines) in sources/dns.py:428"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d39d740e240ef5e1", "name": "Commented-code block (8 lines) in sources/sheets.py:51", "shortDescription": {"text": "Commented-code block (8 lines) in sources/sheets.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-285955e6b4d727ee", "name": "Legacy-named symbol `variant_copy` in entities/pipeline_mirror.py:28", "shortDescription": {"text": "Legacy-named symbol `variant_copy` in entities/pipeline_mirror.py:28"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-424bce1ebd7ed188", "name": "Commented-code block (9 lines) in entities/pipeline_mirror.py:85", "shortDescription": {"text": "Commented-code block (9 lines) in entities/pipeline_mirror.py:85"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-06fa0b5080128cbb", "name": "Commented-code block (6 lines) in entities/conversion_event.py:100", "shortDescription": {"text": "Commented-code block (6 lines) in entities/conversion_event.py:100"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-a189d95eeb6af243", "name": "Commented-code block (7 lines) in entities/lead_spine.py:52", "shortDescription": {"text": "Commented-code block (7 lines) in entities/lead_spine.py:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-aeee48fba9505210", "name": "Commented-code block (5 lines) in entities/lead_intel.py:242", "shortDescription": {"text": "Commented-code block (5 lines) in entities/lead_intel.py:242"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-bcf9351c6e43e6c7", "name": "Commented-code block (5 lines) in entities/domain.py:134", "shortDescription": {"text": "Commented-code block (5 lines) in entities/domain.py:134"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3b4280fdc7b69083", "name": "Commented-code block (5 lines) in entities/workspace.py:52", "shortDescription": {"text": "Commented-code block (5 lines) in entities/workspace.py:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-419ad77c6053503d", "name": "Commented-code block (6 lines) in entities/campaign.py:232", "shortDescription": {"text": "Commented-code block (6 lines) in entities/campaign.py:232"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-09f262ee35f83b36", "name": "58 env vars used in code but missing from .env.example", "shortDescription": {"text": "58 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ACCOUNT_TRUTH_ACTUALS_DIR`, `ACCOUNT_TRUTH_DB`, `ACCOUNT_TRUTH_DIR`, `BLS_DNS_LIFETIME`, `BLS_DNS_RESOLVER`, `BLS_DNS_TIMEOUT`, `BLS_SPAMHAUS_DQS_KEY`, `CC_D1_API_TOKEN` + 50 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-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:\nscripts/portal_data.py:q, scripts/kpi_dashboard_data.py:q, scripts/dashboard_data.py:q\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:\nscripts/portal_data.py:one, scripts/dashboard_data.py:one\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/19126"}, "properties": {"repository": "sdultsin/renaissance-warehouse", "repoUrl": "https://github.com/sdultsin/renaissance-warehouse", "branch": "main"}, "results": [{"ruleId": "scanner-1ad6ee43cf42cbb5", "level": "note", "message": {"text": "Possibly dead Python function: signature_phones"}, "properties": {"repobilityId": "608bc00f93283e86", "scanner": "scanner-primary", "fingerprint": "1ad6ee43cf42cbb5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/phone_parser.py:141"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d6bef992ffeee1bd", "level": "note", "message": {"text": "Possibly dead Python function: fetch_campaign"}, "properties": {"repobilityId": "3e4cdd3b42911a4c", "scanner": "scanner-primary", "fingerprint": "d6bef992ffeee1bd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/build_campaign_daily.py:104"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a22b0f84c3818122", "level": "note", "message": {"text": "Possibly dead Python function: resolve_ns"}, "properties": {"repobilityId": "f0480b2a140043e3", "scanner": "scanner-primary", "fingerprint": "a22b0f84c3818122", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/ns_sweep.py:37"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f9d2937835a96e55", "level": "note", "message": {"text": "Possibly dead Python function: fetch_table"}, "properties": {"repobilityId": "550a996fbd63eb81", "scanner": "scanner-primary", "fingerprint": "f9d2937835a96e55", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sources/pipeline_supabase.py:50"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9e372c400a350417", "level": "note", "message": {"text": "Possibly dead Python function: resolve_pg_url"}, "properties": {"repobilityId": "b83beeb23c4ec92b", "scanner": "scanner-primary", "fingerprint": "9e372c400a350417", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sources/comms_supabase.py:20"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e89549340a8cf1ca", "level": "note", "message": {"text": "Possibly dead Python function: list_tag_mappings"}, "properties": {"repobilityId": "35ab92f0a02b3fe1", "scanner": "scanner-primary", "fingerprint": "e89549340a8cf1ca", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sources/instantly.py:226"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-544d6f3a6b5246a5", "level": "note", "message": {"text": "Possibly dead Python function: describe"}, "properties": {"repobilityId": "031a29a46186597a", "scanner": "scanner-primary", "fingerprint": "544d6f3a6b5246a5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sources/sheets.py:112"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ecf04cbdf1f47395", "level": "note", "message": {"text": "Possibly dead Python function: run_pipeline_mirror"}, "properties": {"repobilityId": "210b3efc57035727", "scanner": "scanner-primary", "fingerprint": "ecf04cbdf1f47395", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "entities/pipeline_mirror.py:271"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-58d92fa0ce48ca6f", "level": "note", "message": {"text": "Possibly dead Python function: run_campaign_analytics_ingest"}, "properties": {"repobilityId": "35b8fd04d61dd87d", "scanner": "scanner-primary", "fingerprint": "58d92fa0ce48ca6f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "entities/campaign_analytics.py:67"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8f0868d8cb324a6c", "level": "note", "message": {"text": "Possibly dead Python function: run_account_truth_mirror"}, "properties": {"repobilityId": "d3fce587d857937e", "scanner": "scanner-primary", "fingerprint": "8f0868d8cb324a6c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "entities/account_truth.py:60"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b98ce7f18e74edf", "level": "note", "message": {"text": "Possibly dead Python function: run_sending_account"}, "properties": {"repobilityId": "f630c8eec7ecef30", "scanner": "scanner-primary", "fingerprint": "7b98ce7f18e74edf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "entities/sending_account.py:44"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-328b6e06ea607864", "level": "note", "message": {"text": "Possibly dead Python function: run_instantly_replies_ingest"}, "properties": {"repobilityId": "056d943a6b1fcfa3", "scanner": "scanner-primary", "fingerprint": "328b6e06ea607864", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "entities/instantly_replies.py:74"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d8f0808076e05c62", "level": "note", "message": {"text": "Possibly dead Python function: run_opportunity"}, "properties": {"repobilityId": "9b46b6f7fe2396e7", "scanner": "scanner-primary", "fingerprint": "d8f0808076e05c62", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "entities/opportunity.py:37"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c18159f2d96721e6", "level": "note", "message": {"text": "Possibly dead Python function: run_sheets_mirror"}, "properties": {"repobilityId": "c22db140818934b3", "scanner": "scanner-primary", "fingerprint": "c18159f2d96721e6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "entities/sheets_mirror.py:53"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a29cfe92f7a87979", "level": "note", "message": {"text": "Possibly dead Python function: run_sending_dq"}, "properties": {"repobilityId": "3b28971f38ab5a30", "scanner": "scanner-primary", "fingerprint": "a29cfe92f7a87979", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "entities/sending_dq.py:37"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-40a26f9afb2d2bae", "level": "note", "message": {"text": "Possibly dead Python function: run_sms_logs"}, "properties": {"repobilityId": "b86efaea1a0989c5", "scanner": "scanner-primary", "fingerprint": "40a26f9afb2d2bae", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "entities/sendivo_logs.py:158"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-51cda6e9ccab051b", "level": "warning", "message": {"text": "Privileged port 5 in use"}, "properties": {"repobilityId": "a8f80b4866464301", "scanner": "scanner-primary", "fingerprint": "51cda6e9ccab051b", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/backup.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f599fb79a7216998", "level": "warning", "message": {"text": "Privileged port 45 in use"}, "properties": {"repobilityId": "73cf64d92574d41c", "scanner": "scanner-primary", "fingerprint": "f599fb79a7216998", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/backup.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d5003d4a883c1a03", "level": "warning", "message": {"text": "Privileged port 30 in use"}, "properties": {"repobilityId": "54f172e7d16fc662", "scanner": "scanner-primary", "fingerprint": "d5003d4a883c1a03", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/meetings_refresh.sh"}, "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-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-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": "8a0b1fcb6da013fa", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-faccb9061e9b52a0", "level": "note", "message": {"text": "No README detected"}, "properties": {"repobilityId": "5536cacaa8ecd711", "scanner": "scanner-primary", "fingerprint": "faccb9061e9b52a0", "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": "db4dc106d26b70c9", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "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": "dca3a1b822a2694e", "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": "ae449e3b05c5022d", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "3f8830b97ac6fc4d", "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": "c8731b8d8b9e5916", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-690e6fcbc7a86aa5", "level": "note", "message": {"text": "Legacy-named symbol `raw_pipeline_campaign_data__prehash_legacy` in scripts/refresh_sync_registry.py:62"}, "properties": {"repobilityId": "729b5aadc6f9cd81", "scanner": "scanner-primary", "fingerprint": "690e6fcbc7a86aa5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-7283470114941b7d", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/portal_data.py:80"}, "properties": {"repobilityId": "1569c5ccc55663f5", "scanner": "scanner-primary", "fingerprint": "7283470114941b7d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2e0187ade5afab3", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/publish_campaign_data_d1.py:89"}, "properties": {"repobilityId": "c70564b577c78c08", "scanner": "scanner-primary", "fingerprint": "b2e0187ade5afab3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cfde7cda0777e1be", "level": "note", "message": {"text": "Legacy-named symbol `reply_signature_v2` in scripts/signature_phone_sync.py:18"}, "properties": {"repobilityId": "9c3d5a95c17e16df", "scanner": "scanner-primary", "fingerprint": "cfde7cda0777e1be", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e478c49e3d622ed9", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/dashboard_data.py:29"}, "properties": {"repobilityId": "e743308bb6874c80", "scanner": "scanner-primary", "fingerprint": "e478c49e3d622ed9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7700da09b8470f6", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/warehouse_qa.py:150"}, "properties": {"repobilityId": "d977a107bf2a201f", "scanner": "scanner-primary", "fingerprint": "e7700da09b8470f6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00a359cd1ebc4169", "level": "note", "message": {"text": "Legacy-named symbol `__legacy` in scripts/migrate_pipeline_mirror_v2.py:10"}, "properties": {"repobilityId": "4105c164c374e6e3", "scanner": "scanner-primary", "fingerprint": "00a359cd1ebc4169", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f7f6fc8ef0f0ac89", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/stage_otd_billing.py:78"}, "properties": {"repobilityId": "e43dd34b44488217", "scanner": "scanner-primary", "fingerprint": "f7f6fc8ef0f0ac89", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e2e87186e80a8271", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/_test_lead_intel.py:58"}, "properties": {"repobilityId": "d8adeac3b9758f53", "scanner": "scanner-primary", "fingerprint": "e2e87186e80a8271", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36b6342a468c4fd0", "level": "none", "message": {"text": "Commented-code block (5 lines) in sources/dns.py:428"}, "properties": {"repobilityId": "6ae0fe65d33202a1", "scanner": "scanner-primary", "fingerprint": "36b6342a468c4fd0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d39d740e240ef5e1", "level": "none", "message": {"text": "Commented-code block (8 lines) in sources/sheets.py:51"}, "properties": {"repobilityId": "37691f67f876cb16", "scanner": "scanner-primary", "fingerprint": "d39d740e240ef5e1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-285955e6b4d727ee", "level": "note", "message": {"text": "Legacy-named symbol `variant_copy` in entities/pipeline_mirror.py:28"}, "properties": {"repobilityId": "43e1071a94c845d2", "scanner": "scanner-primary", "fingerprint": "285955e6b4d727ee", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-424bce1ebd7ed188", "level": "none", "message": {"text": "Commented-code block (9 lines) in entities/pipeline_mirror.py:85"}, "properties": {"repobilityId": "45d63f7c3acdc37e", "scanner": "scanner-primary", "fingerprint": "424bce1ebd7ed188", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-06fa0b5080128cbb", "level": "none", "message": {"text": "Commented-code block (6 lines) in entities/conversion_event.py:100"}, "properties": {"repobilityId": "f4a100da84f3f5f1", "scanner": "scanner-primary", "fingerprint": "06fa0b5080128cbb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a189d95eeb6af243", "level": "none", "message": {"text": "Commented-code block (7 lines) in entities/lead_spine.py:52"}, "properties": {"repobilityId": "d3662fd17304fce1", "scanner": "scanner-primary", "fingerprint": "a189d95eeb6af243", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-aeee48fba9505210", "level": "none", "message": {"text": "Commented-code block (5 lines) in entities/lead_intel.py:242"}, "properties": {"repobilityId": "a98aa760892a76d4", "scanner": "scanner-primary", "fingerprint": "aeee48fba9505210", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bcf9351c6e43e6c7", "level": "none", "message": {"text": "Commented-code block (5 lines) in entities/domain.py:134"}, "properties": {"repobilityId": "d85d7b35adee92d3", "scanner": "scanner-primary", "fingerprint": "bcf9351c6e43e6c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3b4280fdc7b69083", "level": "none", "message": {"text": "Commented-code block (5 lines) in entities/workspace.py:52"}, "properties": {"repobilityId": "7733baad7f996b48", "scanner": "scanner-primary", "fingerprint": "3b4280fdc7b69083", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-419ad77c6053503d", "level": "none", "message": {"text": "Commented-code block (6 lines) in entities/campaign.py:232"}, "properties": {"repobilityId": "81aae749983dbd49", "scanner": "scanner-primary", "fingerprint": "419ad77c6053503d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09f262ee35f83b36", "level": "note", "message": {"text": "58 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "929a1590d71ca96e", "scanner": "scanner-primary", "fingerprint": "09f262ee35f83b36", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "ed9d20adfa238c69", "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": "c3f66d775fe50df4", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "5305aadf53fd4a0c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "83427e05716237eb", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}