{"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-838d56511e98b273", "name": "Possibly dead Python function: cmd_signpost", "shortDescription": {"text": "Possibly dead Python function: cmd_signpost"}, "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-e6604863c3939f74", "name": "Possibly dead Python function: emit", "shortDescription": {"text": "Possibly dead Python function: emit"}, "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-9a7c160333c913e4", "name": "Possibly dead Python function: decorator", "shortDescription": {"text": "Possibly dead Python function: decorator"}, "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-d2bbe96d223f210e", "name": "Possibly dead Python function: file_size", "shortDescription": {"text": "Possibly dead Python function: file_size"}, "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-06d4759919f63f66", "name": "Possibly dead Python function: parent_of", "shortDescription": {"text": "Possibly dead Python function: parent_of"}, "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-c808a07b8e072204", "name": "Possibly dead Python function: next_user_turn", "shortDescription": {"text": "Possibly dead Python function: next_user_turn"}, "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-1ac6d15a072d2bb7", "name": "Possibly dead Python function: prev_assistant_turn", "shortDescription": {"text": "Possibly dead Python function: prev_assistant_turn"}, "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-f56773937760ffa5", "name": "Privileged port 10 in use", "shortDescription": {"text": "Privileged port 10 in use"}, "fullDescription": {"text": "Port 10 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-46c644c6227e4d4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v7 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1838a141491ce38c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a5ac4f20973b9a58", "name": "Very large file: tests/test_index.py (1454 lines)", "shortDescription": {"text": "Very large file: tests/test_index.py (1454 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-9647556e61bb6f2c", "name": "Very large file: index/ingest.py (1606 lines)", "shortDescription": {"text": "Very large file: index/ingest.py (1606 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-d42e86ad4a128745", "name": "Very large file: extractors/ontology.py (1589 lines)", "shortDescription": {"text": "Very large file: extractors/ontology.py (1589 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 15 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-cc55229a7a3c078d", "name": "Agent authority lacks a verifier contract: .mcp.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6e8f51bb11d2ae14", "name": "Agent authority lacks a verifier contract: skills/llm-setup/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/llm-setup/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9cf2c26aa26d1f32", "name": "Agent authority lacks a verifier contract: skills/speak-like-operator/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/speak-like-operator/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e24e850cd3a1eee6", "name": "Legacy-named symbol `original_copy` in tests/test_llm_refine_ontology.py:502", "shortDescription": {"text": "Legacy-named symbol `original_copy` in tests/test_llm_refine_ontology.py:502"}, "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-5cbccc11a0fdeedf", "name": "Commented-code block (6 lines) in tests/test_consolidate.py:420", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_consolidate.py:420"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3baf2e350ef7a8f1", "name": "Legacy-named symbol `vscdb_legacy` in tests/test_sources_cursor.py:851", "shortDescription": {"text": "Legacy-named symbol `vscdb_legacy` in tests/test_sources_cursor.py:851"}, "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-6870a2ea1663d742", "name": "Legacy-named symbol `ts_old` in tests/test_model_corrections.py:326", "shortDescription": {"text": "Legacy-named symbol `ts_old` in tests/test_model_corrections.py:326"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d620ac890ee2748d", "name": "Commented-code block (5 lines) in tests/test_ontology.py:342", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_ontology.py:342"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3ea41e680efb1837", "name": "Legacy-named symbol `test_schema_migration_v1_to_v2` in tests/test_index.py:634", "shortDescription": {"text": "Legacy-named symbol `test_schema_migration_v1_to_v2` in tests/test_index.py:634"}, "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-5a3edd99e503487e", "name": "Commented-code block (5 lines) in tests/test_index.py:502", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_index.py:502"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9effb01bfe4b7b84", "name": "Legacy-named symbol `sess_legacy` in tests/test_sources_opencode.py:383", "shortDescription": {"text": "Legacy-named symbol `sess_legacy` in tests/test_sources_opencode.py:383"}, "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-189640c39d1436d6", "name": "Commented-code block (6 lines) in tests/test_multi_source_ingest.py:467", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_multi_source_ingest.py:467"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e05571963d0ee801", "name": "Legacy-named symbol `index_v1` in tests/test_metrics_queries.py:242", "shortDescription": {"text": "Legacy-named symbol `index_v1` in tests/test_metrics_queries.py:242"}, "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-1d518d116afc7689", "name": "Legacy-named symbol `too_old` in tests/test_events.py:116", "shortDescription": {"text": "Legacy-named symbol `too_old` in tests/test_events.py:116"}, "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-4a20cff0284e6540", "name": "Commented-code block (12 lines) in tests/integration/test_backtest_real_corpus.py:46", "shortDescription": {"text": "Commented-code block (12 lines) in tests/integration/test_backtest_real_corpus.py:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d8867b7f1b1c08e5", "name": "Commented-code block (9 lines) in tests/integration/test_backtest_multi_source.py:33", "shortDescription": {"text": "Commented-code block (9 lines) in tests/integration/test_backtest_multi_source.py:33"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-e5d08aa132036097", "name": "Commented-code block (6 lines) in index/ingest.py:545", "shortDescription": {"text": "Commented-code block (6 lines) in index/ingest.py:545"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9161d95f44b00949", "name": "Commented-code block (5 lines) in index/query.py:226", "shortDescription": {"text": "Commented-code block (5 lines) in index/query.py:226"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-672f67ce3d6ad104", "name": "Commented-code block (5 lines) in index/goals.py:108", "shortDescription": {"text": "Commented-code block (5 lines) in index/goals.py:108"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-52f5bb59abb2c352", "name": "Commented-code block (8 lines) in index/metrics.py:90", "shortDescription": {"text": "Commented-code block (8 lines) in index/metrics.py:90"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-42e1cda475005976", "name": "Commented-code block (5 lines) in index/db.py:163", "shortDescription": {"text": "Commented-code block (5 lines) in index/db.py:163"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-47b37ca7ddb1ec2a", "name": "Commented-code block (5 lines) in total_recall/__main__.py:106", "shortDescription": {"text": "Commented-code block (5 lines) in total_recall/__main__.py:106"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ea4721c2dc988b77", "name": "Commented-code block (5 lines) in total_recall/cost.py:69", "shortDescription": {"text": "Commented-code block (5 lines) in total_recall/cost.py:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-817d6ee7f0481545", "name": "Commented-code block (6 lines) in total_recall/cmd_index.py:131", "shortDescription": {"text": "Commented-code block (6 lines) in total_recall/cmd_index.py:131"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-abda74a19c329f29", "name": "Commented-code block (5 lines) in total_recall/cmd_tail.py:69", "shortDescription": {"text": "Commented-code block (5 lines) in total_recall/cmd_tail.py:69"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-deb654e32b203c38", "name": "Commented-code block (7 lines) in total_recall/cmd_rebuild.py:186", "shortDescription": {"text": "Commented-code block (7 lines) in total_recall/cmd_rebuild.py:186"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-98308f7a6ea82270", "name": "Commented-code block (5 lines) in mcp_server/extras/operator_context_tools.py:46", "shortDescription": {"text": "Commented-code block (5 lines) in mcp_server/extras/operator_context_tools.py:46"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-125f6c30404c971c", "name": "Commented-code block (6 lines) in detector/escalation.py:48", "shortDescription": {"text": "Commented-code block (6 lines) in detector/escalation.py:48"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-ef183f3763f41cb9", "name": "Legacy-named symbol `vscdb_legacy` in lib/sources/cursor.py:806", "shortDescription": {"text": "Legacy-named symbol `vscdb_legacy` in lib/sources/cursor.py:806"}, "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-67acb39a4c1acabd", "name": "Commented-code block (13 lines) in extractors/ontology.py:185", "shortDescription": {"text": "Commented-code block (13 lines) in extractors/ontology.py:185"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f349c7dd32b2d534", "name": "Commented-code block (5 lines) in extractors/voice_profile.py:68", "shortDescription": {"text": "Commented-code block (5 lines) in extractors/voice_profile.py:68"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d5a36c1e514bc2ca", "name": "Commented-code block (5 lines) in extractors/goals.py:138", "shortDescription": {"text": "Commented-code block (5 lines) in extractors/goals.py:138"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-61d031f73d1d487d", "name": "Commented-code block (6 lines) in extractors/operator_profile.py:504", "shortDescription": {"text": "Commented-code block (6 lines) in extractors/operator_profile.py:504"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-40e0d95efa8fc06a", "name": "Commented-code block (6 lines) in extractors/bans.py:135", "shortDescription": {"text": "Commented-code block (6 lines) in extractors/bans.py:135"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0fb153022360d8b0", "name": "Commented-code block (8 lines) in extractors/llm/client.py:60", "shortDescription": {"text": "Commented-code block (8 lines) in extractors/llm/client.py:60"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0520ac106db0cced", "name": "Commented-code block (6 lines) in vec/store.py:83", "shortDescription": {"text": "Commented-code block (6 lines) in vec/store.py:83"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nindex/operator.py:get_profile_field, index/operator.py:get_profile\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-76a2f6818267a9a8", "name": "Near-duplicate function bodies in 8 places", "shortDescription": {"text": "Near-duplicate function bodies in 8 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nextractors/domain_facts.py:extract, extractors/progress.py:extract, extractors/self_corrections.py:extract, extractors/standing_decisions.py:extract\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/23821"}, "properties": {"repository": "88plug/total-recall", "repoUrl": "https://github.com/88plug/total-recall", "branch": "main"}, "results": [{"ruleId": "scanner-838d56511e98b273", "level": "note", "message": {"text": "Possibly dead Python function: cmd_signpost"}, "properties": {"repobilityId": "1ba7e7e3916376b2", "scanner": "scanner-primary", "fingerprint": "838d56511e98b273", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "hooks/lib/query.py:178"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e6604863c3939f74", "level": "note", "message": {"text": "Possibly dead Python function: emit"}, "properties": {"repobilityId": "fecc700ec874b669", "scanner": "scanner-primary", "fingerprint": "e6604863c3939f74", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "total_recall/util.py:195"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9a7c160333c913e4", "level": "note", "message": {"text": "Possibly dead Python function: decorator"}, "properties": {"repobilityId": "ffbcbc9bc189af1c", "scanner": "scanner-primary", "fingerprint": "9a7c160333c913e4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "mcp_server/tools.py:55"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d2bbe96d223f210e", "level": "note", "message": {"text": "Possibly dead Python function: file_size"}, "properties": {"repobilityId": "502d9490cbaa3095", "scanner": "scanner-primary", "fingerprint": "d2bbe96d223f210e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lib/jsonl_walker.py:187"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-06d4759919f63f66", "level": "note", "message": {"text": "Possibly dead Python function: parent_of"}, "properties": {"repobilityId": "83c95727d18f213d", "scanner": "scanner-primary", "fingerprint": "06d4759919f63f66", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extractors/base.py:55"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c808a07b8e072204", "level": "note", "message": {"text": "Possibly dead Python function: next_user_turn"}, "properties": {"repobilityId": "e8fd6b39b754c575", "scanner": "scanner-primary", "fingerprint": "c808a07b8e072204", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extractors/base.py:56"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1ac6d15a072d2bb7", "level": "note", "message": {"text": "Possibly dead Python function: prev_assistant_turn"}, "properties": {"repobilityId": "3c9ceffbc9b3561e", "scanner": "scanner-primary", "fingerprint": "1ac6d15a072d2bb7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "extractors/base.py:57"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f56773937760ffa5", "level": "warning", "message": {"text": "Privileged port 10 in use"}, "properties": {"repobilityId": "735372d6b5594915", "scanner": "scanner-primary", "fingerprint": "f56773937760ffa5", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tests/test_compact_recovery.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "40de0ea74eab3ee8", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 77}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8eb96fb1706184f3", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 97}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f0c3d4499b6cd885", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 124}}}]}, {"ruleId": "scanner-1838a141491ce38c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b8fd4f5048f96576", "scanner": "scanner-primary", "fingerprint": "1838a141491ce38c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a5ac4f20973b9a58", "level": "note", "message": {"text": "Very large file: tests/test_index.py (1454 lines)"}, "properties": {"repobilityId": "6987856cb0790e19", "scanner": "scanner-primary", "fingerprint": "a5ac4f20973b9a58", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9647556e61bb6f2c", "level": "note", "message": {"text": "Very large file: index/ingest.py (1606 lines)"}, "properties": {"repobilityId": "682cb54dc48fe41e", "scanner": "scanner-primary", "fingerprint": "9647556e61bb6f2c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d42e86ad4a128745", "level": "note", "message": {"text": "Very large file: extractors/ontology.py (1589 lines)"}, "properties": {"repobilityId": "f3b189c5e9359a46", "scanner": "scanner-primary", "fingerprint": "d42e86ad4a128745", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "ba73c5dc61c0c149", "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": "3dd1a1c692a997ad", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-cc55229a7a3c078d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .mcp.json"}, "properties": {"repobilityId": "51942fb3d5b8b5b4", "scanner": "scanner-primary", "fingerprint": "cc55229a7a3c078d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "mcp_config"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".mcp.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e8f51bb11d2ae14", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/llm-setup/SKILL.md"}, "properties": {"repobilityId": "24d36e37f3f2beed", "scanner": "scanner-primary", "fingerprint": "6e8f51bb11d2ae14", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/llm-setup/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9cf2c26aa26d1f32", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/speak-like-operator/SKILL.md"}, "properties": {"repobilityId": "f746b0d4a0ab4825", "scanner": "scanner-primary", "fingerprint": "9cf2c26aa26d1f32", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/speak-like-operator/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e24e850cd3a1eee6", "level": "note", "message": {"text": "Legacy-named symbol `original_copy` in tests/test_llm_refine_ontology.py:502"}, "properties": {"repobilityId": "4cb135a78b12c6f8", "scanner": "scanner-primary", "fingerprint": "e24e850cd3a1eee6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5cbccc11a0fdeedf", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_consolidate.py:420"}, "properties": {"repobilityId": "63d4b23e73302043", "scanner": "scanner-primary", "fingerprint": "5cbccc11a0fdeedf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3baf2e350ef7a8f1", "level": "note", "message": {"text": "Legacy-named symbol `vscdb_legacy` in tests/test_sources_cursor.py:851"}, "properties": {"repobilityId": "22a94aa4602fbdef", "scanner": "scanner-primary", "fingerprint": "3baf2e350ef7a8f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6870a2ea1663d742", "level": "note", "message": {"text": "Legacy-named symbol `ts_old` in tests/test_model_corrections.py:326"}, "properties": {"repobilityId": "a70040edea85d446", "scanner": "scanner-primary", "fingerprint": "6870a2ea1663d742", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d620ac890ee2748d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_ontology.py:342"}, "properties": {"repobilityId": "b44b5b3ca87caef1", "scanner": "scanner-primary", "fingerprint": "d620ac890ee2748d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ea41e680efb1837", "level": "note", "message": {"text": "Legacy-named symbol `test_schema_migration_v1_to_v2` in tests/test_index.py:634"}, "properties": {"repobilityId": "24dcbfcacc56b2f7", "scanner": "scanner-primary", "fingerprint": "3ea41e680efb1837", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5a3edd99e503487e", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_index.py:502"}, "properties": {"repobilityId": "27d1f00b86677c65", "scanner": "scanner-primary", "fingerprint": "5a3edd99e503487e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9effb01bfe4b7b84", "level": "note", "message": {"text": "Legacy-named symbol `sess_legacy` in tests/test_sources_opencode.py:383"}, "properties": {"repobilityId": "a4366be3ac2a9982", "scanner": "scanner-primary", "fingerprint": "9effb01bfe4b7b84", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-189640c39d1436d6", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_multi_source_ingest.py:467"}, "properties": {"repobilityId": "f4d29e57dc2e248c", "scanner": "scanner-primary", "fingerprint": "189640c39d1436d6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e05571963d0ee801", "level": "note", "message": {"text": "Legacy-named symbol `index_v1` in tests/test_metrics_queries.py:242"}, "properties": {"repobilityId": "c1b2cdfae4a5ba84", "scanner": "scanner-primary", "fingerprint": "e05571963d0ee801", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1d518d116afc7689", "level": "note", "message": {"text": "Legacy-named symbol `too_old` in tests/test_events.py:116"}, "properties": {"repobilityId": "9abe71aff07cae8f", "scanner": "scanner-primary", "fingerprint": "1d518d116afc7689", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4a20cff0284e6540", "level": "none", "message": {"text": "Commented-code block (12 lines) in tests/integration/test_backtest_real_corpus.py:46"}, "properties": {"repobilityId": "520c9af73fd98eb1", "scanner": "scanner-primary", "fingerprint": "4a20cff0284e6540", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d8867b7f1b1c08e5", "level": "none", "message": {"text": "Commented-code block (9 lines) in tests/integration/test_backtest_multi_source.py:33"}, "properties": {"repobilityId": "9e0dbca3288f9572", "scanner": "scanner-primary", "fingerprint": "d8867b7f1b1c08e5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e5d08aa132036097", "level": "none", "message": {"text": "Commented-code block (6 lines) in index/ingest.py:545"}, "properties": {"repobilityId": "c6adab5ffda07695", "scanner": "scanner-primary", "fingerprint": "e5d08aa132036097", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9161d95f44b00949", "level": "none", "message": {"text": "Commented-code block (5 lines) in index/query.py:226"}, "properties": {"repobilityId": "b602ba4f947df141", "scanner": "scanner-primary", "fingerprint": "9161d95f44b00949", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-672f67ce3d6ad104", "level": "none", "message": {"text": "Commented-code block (5 lines) in index/goals.py:108"}, "properties": {"repobilityId": "7ba57bc309dfe018", "scanner": "scanner-primary", "fingerprint": "672f67ce3d6ad104", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-52f5bb59abb2c352", "level": "none", "message": {"text": "Commented-code block (8 lines) in index/metrics.py:90"}, "properties": {"repobilityId": "91b8b3ebe4865d85", "scanner": "scanner-primary", "fingerprint": "52f5bb59abb2c352", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-42e1cda475005976", "level": "none", "message": {"text": "Commented-code block (5 lines) in index/db.py:163"}, "properties": {"repobilityId": "984aa367c4945f05", "scanner": "scanner-primary", "fingerprint": "42e1cda475005976", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-47b37ca7ddb1ec2a", "level": "none", "message": {"text": "Commented-code block (5 lines) in total_recall/__main__.py:106"}, "properties": {"repobilityId": "bbd1fac9763d0dcd", "scanner": "scanner-primary", "fingerprint": "47b37ca7ddb1ec2a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ea4721c2dc988b77", "level": "none", "message": {"text": "Commented-code block (5 lines) in total_recall/cost.py:69"}, "properties": {"repobilityId": "5b0ee9bac84119c9", "scanner": "scanner-primary", "fingerprint": "ea4721c2dc988b77", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-817d6ee7f0481545", "level": "none", "message": {"text": "Commented-code block (6 lines) in total_recall/cmd_index.py:131"}, "properties": {"repobilityId": "3baf56571aa5f828", "scanner": "scanner-primary", "fingerprint": "817d6ee7f0481545", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-abda74a19c329f29", "level": "none", "message": {"text": "Commented-code block (5 lines) in total_recall/cmd_tail.py:69"}, "properties": {"repobilityId": "bb00b8cb1b854513", "scanner": "scanner-primary", "fingerprint": "abda74a19c329f29", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-deb654e32b203c38", "level": "none", "message": {"text": "Commented-code block (7 lines) in total_recall/cmd_rebuild.py:186"}, "properties": {"repobilityId": "d3b48caf8cd2c2d1", "scanner": "scanner-primary", "fingerprint": "deb654e32b203c38", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98308f7a6ea82270", "level": "none", "message": {"text": "Commented-code block (5 lines) in mcp_server/extras/operator_context_tools.py:46"}, "properties": {"repobilityId": "46974099bb8651d5", "scanner": "scanner-primary", "fingerprint": "98308f7a6ea82270", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-125f6c30404c971c", "level": "none", "message": {"text": "Commented-code block (6 lines) in detector/escalation.py:48"}, "properties": {"repobilityId": "e7d516ff6fe23a23", "scanner": "scanner-primary", "fingerprint": "125f6c30404c971c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef183f3763f41cb9", "level": "note", "message": {"text": "Legacy-named symbol `vscdb_legacy` in lib/sources/cursor.py:806"}, "properties": {"repobilityId": "da923a5eb8becf14", "scanner": "scanner-primary", "fingerprint": "ef183f3763f41cb9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-67acb39a4c1acabd", "level": "none", "message": {"text": "Commented-code block (13 lines) in extractors/ontology.py:185"}, "properties": {"repobilityId": "13ca038576188143", "scanner": "scanner-primary", "fingerprint": "67acb39a4c1acabd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f349c7dd32b2d534", "level": "none", "message": {"text": "Commented-code block (5 lines) in extractors/voice_profile.py:68"}, "properties": {"repobilityId": "7e1e4fc38998fadc", "scanner": "scanner-primary", "fingerprint": "f349c7dd32b2d534", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5a36c1e514bc2ca", "level": "none", "message": {"text": "Commented-code block (5 lines) in extractors/goals.py:138"}, "properties": {"repobilityId": "fbec133dfa218ad6", "scanner": "scanner-primary", "fingerprint": "d5a36c1e514bc2ca", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-61d031f73d1d487d", "level": "none", "message": {"text": "Commented-code block (6 lines) in extractors/operator_profile.py:504"}, "properties": {"repobilityId": "9e2b25572094a313", "scanner": "scanner-primary", "fingerprint": "61d031f73d1d487d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-40e0d95efa8fc06a", "level": "none", "message": {"text": "Commented-code block (6 lines) in extractors/bans.py:135"}, "properties": {"repobilityId": "ce9755a52c8d9551", "scanner": "scanner-primary", "fingerprint": "40e0d95efa8fc06a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0fb153022360d8b0", "level": "none", "message": {"text": "Commented-code block (8 lines) in extractors/llm/client.py:60"}, "properties": {"repobilityId": "4f08ee3ac20dbf47", "scanner": "scanner-primary", "fingerprint": "0fb153022360d8b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0520ac106db0cced", "level": "none", "message": {"text": "Commented-code block (6 lines) in vec/store.py:83"}, "properties": {"repobilityId": "bf03c270ddd66763", "scanner": "scanner-primary", "fingerprint": "0520ac106db0cced", "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": "3475f56d3973a93d", "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": "be299ee23ce2bc6d", "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": "2f71fe3d351c1868", "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": "354f48d3c1456404", "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": "4239fe9e66071dfd", "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": "e10ed86202603377", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "d0ff109e9eae1f4a", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}