{"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-bf3b880721c53824", "name": "Possibly dead Python function: s_sidecar_collapse", "shortDescription": {"text": "Possibly dead Python function: s_sidecar_collapse"}, "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-f98ccc7a51e03d87", "name": "Possibly dead Python function: s_oversize_result_clamp", "shortDescription": {"text": "Possibly dead Python function: s_oversize_result_clamp"}, "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-c64815e92512f85f", "name": "Possibly dead Python function: s_reasoning_fold", "shortDescription": {"text": "Possibly dead Python function: s_reasoning_fold"}, "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-f3d2d37ca3eae135", "name": "Possibly dead Python function: s_aged_result_condense", "shortDescription": {"text": "Possibly dead Python function: s_aged_result_condense"}, "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-077a56f33a817e9d", "name": "Possibly dead Python function: s_mcp_payload_condense", "shortDescription": {"text": "Possibly dead Python function: s_mcp_payload_condense"}, "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-ffa9ec5c80322d49", "name": "Possibly dead Python function: s_shell_tail_keep", "shortDescription": {"text": "Possibly dead Python function: s_shell_tail_keep"}, "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-8a40de891f4f4d6e", "name": "Possibly dead Python function: s_superseded_read_condense", "shortDescription": {"text": "Possibly dead Python function: s_superseded_read_condense"}, "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-d2bb04bca184521e", "name": "Possibly dead Python function: s_repeat_reminder_fold", "shortDescription": {"text": "Possibly dead Python function: s_repeat_reminder_fold"}, "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-6703d4f6d33f8bbd", "name": "Possibly dead Python function: s_inline_image_evict", "shortDescription": {"text": "Possibly dead Python function: s_inline_image_evict"}, "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-036bc8ad7c0dc27a", "name": "Possibly dead Python function: usd", "shortDescription": {"text": "Possibly dead Python function: usd"}, "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-22ffb89536741fb7", "name": "Possibly dead Python function: short_path", "shortDescription": {"text": "Possibly dead Python function: short_path"}, "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-9da7cda29ceb1e6f", "name": "Possibly dead Python function: git_dirty", "shortDescription": {"text": "Possibly dead Python function: git_dirty"}, "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-e8aabb8400794a7b", "name": "Possibly dead Python function: burn_spark", "shortDescription": {"text": "Possibly dead Python function: burn_spark"}, "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-348e889979ebd4d2", "name": "Possibly dead Python function: subagent_dir", "shortDescription": {"text": "Possibly dead Python function: subagent_dir"}, "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-0274b2e1376c1f52", "name": "Possibly dead Python function: read_subagents", "shortDescription": {"text": "Possibly dead Python function: read_subagents"}, "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-30434f1ad739fdc5", "name": "Possibly dead Python function: cols", "shortDescription": {"text": "Possibly dead Python function: cols"}, "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-05045b180511b7a4", "name": "Possibly dead Python function: seg_window_inline", "shortDescription": {"text": "Possibly dead Python function: seg_window_inline"}, "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-d48b0f9cbd177fb7", "name": "Possibly dead Python function: model_pill", "shortDescription": {"text": "Possibly dead Python function: model_pill"}, "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-83a098469ec35f77", "name": "Possibly dead Python function: usage_row", "shortDescription": {"text": "Possibly dead Python function: usage_row"}, "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-cf8a76db2c569c09", "name": "Possibly dead Python function: seg_lines", "shortDescription": {"text": "Possibly dead Python function: seg_lines"}, "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-1f2b618561b1e2b6", "name": "Possibly dead Python function: seg_pr", "shortDescription": {"text": "Possibly dead Python function: seg_pr"}, "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-6f9531a08a2ced5b", "name": "Possibly dead Python function: seg_prune", "shortDescription": {"text": "Possibly dead Python function: seg_prune"}, "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-78d5b0ee38dbbc58", "name": "Possibly dead Python function: dev_active", "shortDescription": {"text": "Possibly dead Python function: dev_active"}, "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-223fde52cae0c7e4", "name": "Possibly dead Python function: repl", "shortDescription": {"text": "Possibly dead Python function: repl"}, "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-8574f538a0f39168", "name": "Stray `console.log` in TS/JS \u2014 plugins/ca/tools/farm.test.ts:712", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 plugins/ca/tools/farm.test.ts:712"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f70b03eec717ed6", "name": "Insecure pattern 'tls_verify_false' in plugins/ca/hooks/_hooklib.py:46", "shortDescription": {"text": "Insecure pattern 'tls_verify_false' in plugins/ca/hooks/_hooklib.py:46"}, "fullDescription": {"text": "Found a known-risky pattern (tls_verify_false). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8c24a52bfcb0e021", "name": "Insecure pattern 'weak_hash' in plugins/ca/hooks/post-write-edit.py:110", "shortDescription": {"text": "Insecure pattern 'weak_hash' in plugins/ca/hooks/post-write-edit.py:110"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea62d25002063bd3", "name": "Insecure pattern 'node_child_process' in plugins/ca/tools/farm.js:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in plugins/ca/tools/farm.js:4"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c1e14fd8ccf2abd3", "name": "Insecure pattern 'node_child_process' in plugins/ca/tools/farm.ts:37", "shortDescription": {"text": "Insecure pattern 'node_child_process' in plugins/ca/tools/farm.ts:37"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-491a29f9c54cff7b", "name": "Insecure pattern 'node_child_process' in plugins/ca/tools/farm.test.ts:6", "shortDescription": {"text": "Insecure pattern 'node_child_process' in plugins/ca/tools/farm.test.ts:6"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-012b9eb2162aa4e2", "name": "Insecure pattern 'weak_hash' in plugins/ca/skills/crypto-compliance/SKILL.md:36", "shortDescription": {"text": "Insecure pattern 'weak_hash' in plugins/ca/skills/crypto-compliance/SKILL.md:36"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-df9934baedd0f73b", "name": "Very large file: plugins/ca/hooks/statusline.py (1268 lines)", "shortDescription": {"text": "Very large file: plugins/ca/hooks/statusline.py (1268 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-f812c5bda8934b5d", "name": "Very large file: plugins/ca/tools/farm.ts (1498 lines)", "shortDescription": {"text": "Very large file: plugins/ca/tools/farm.ts (1498 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 71 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-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-2676bfbcb4d01ab4", "name": "Agent authority lacks a verifier contract: plugins/ca/skills/decision-lifecycle/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: plugins/ca/skills/decision-lifecycle/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-ce2f95d86f78b940", "name": "Network/subprocess call without timeout or try/except \u2014 tools/statusline-screenshot.py:75", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/statusline-screenshot.py:75"}, "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-6f5c7eb16ff4cd73", "name": "Commented-code block (7 lines) in .github/scripts/test_hooks_cold_install.py:190", "shortDescription": {"text": "Commented-code block (7 lines) in .github/scripts/test_hooks_cold_install.py:190"}, "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-56a88ccdf7e19874", "name": "Commented-code block (5 lines) in plugins/ca/hooks/init-codearbiter.py:6", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/init-codearbiter.py:6"}, "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-8ef419acf7a7ef92", "name": "Commented-code block (5 lines) in plugins/ca/hooks/pre-bash.py:2", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/pre-bash.py:2"}, "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-ede9b37c15398943", "name": "Commented-code block (6 lines) in plugins/ca/hooks/_hooklib.py:4", "shortDescription": {"text": "Commented-code block (6 lines) in plugins/ca/hooks/_hooklib.py:4"}, "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-9fe192ffa8e4c425", "name": "Commented-code block (5 lines) in plugins/ca/hooks/post-write-edit.py:5", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/post-write-edit.py:5"}, "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-8263cf7278561753", "name": "Commented-code block (5 lines) in plugins/ca/hooks/_sloplib.py:3", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/_sloplib.py:3"}, "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-58943e2b0552302b", "name": "Commented-code block (5 lines) in plugins/ca/hooks/_prunelib.py:4", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/_prunelib.py:4"}, "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-5c22fa7ad0b5ed95", "name": "Commented-code block (5 lines) in plugins/ca/hooks/session-start.py:2", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/session-start.py:2"}, "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-465131c7a4a4a224", "name": "Network/subprocess call without timeout or try/except \u2014 plugins/ca/hooks/session-start.py:194", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 plugins/ca/hooks/session-start.py:194"}, "fullDescription": {"text": "`subprocess.Popen(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-0926a3b78249186e", "name": "Commented-code block (5 lines) in plugins/ca/hooks/_standuplib.py:4", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/_standuplib.py:4"}, "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-4ae9123c88e7daac", "name": "Commented-code block (10 lines) in plugins/ca/hooks/security-pass.py:4", "shortDescription": {"text": "Commented-code block (10 lines) in plugins/ca/hooks/security-pass.py:4"}, "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-8e2ab9ce499d7f92", "name": "Commented-code block (8 lines) in plugins/ca/hooks/doctor.py:4", "shortDescription": {"text": "Commented-code block (8 lines) in plugins/ca/hooks/doctor.py:4"}, "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-c324a8aae037a14c", "name": "Commented-code block (5 lines) in plugins/ca/hooks/statusline.py:4", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/statusline.py:4"}, "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-1c76eec0203b3a7f", "name": "Commented-code block (5 lines) in plugins/ca/hooks/pre-edit.py:5", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/pre-edit.py:5"}, "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-0f041d352c8a58cd", "name": "Commented-code block (8 lines) in plugins/ca/hooks/wire-statusline.py:10", "shortDescription": {"text": "Commented-code block (8 lines) in plugins/ca/hooks/wire-statusline.py:10"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f333224930f9cbce", "name": "Legacy-named symbol `test_second_install_does_not_add_duplicate_backup` in plugins/ca/hooks/tests/test_wire_statusline.p", "shortDescription": {"text": "Legacy-named symbol `test_second_install_does_not_add_duplicate_backup` in plugins/ca/hooks/tests/test_wire_statusline.py:160"}, "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-5edc015c3b413dea", "name": "Legacy-named symbol `_plant_backup` in plugins/ca/hooks/tests/test_write.py:180", "shortDescription": {"text": "Legacy-named symbol `_plant_backup` in plugins/ca/hooks/tests/test_write.py:180"}, "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-4e08adf3d900c715", "name": "Legacy-named symbol `name_v1` in plugins/ca/tools/farm.unit.test.ts:188", "shortDescription": {"text": "Legacy-named symbol `name_v1` in plugins/ca/tools/farm.unit.test.ts:188"}, "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-744ebbcbc6da1a58", "name": "Commented-code block (7 lines) in plugins/ca/tools/farm.unit.test.ts:365", "shortDescription": {"text": "Commented-code block (7 lines) in plugins/ca/tools/farm.unit.test.ts:365"}, "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-c500ae66484ea077", "name": "Commented-code block (9 lines) in plugins/ca/tools/farm.js:36", "shortDescription": {"text": "Commented-code block (9 lines) in plugins/ca/tools/farm.js:36"}, "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-4453ef6f0906e367", "name": "Commented-code block (9 lines) in plugins/ca/tools/farm.ts:97", "shortDescription": {"text": "Commented-code block (9 lines) in plugins/ca/tools/farm.ts:97"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-152271762bec85c2", "name": "`fetch()` without try/.catch or AbortSignal \u2014 plugins/ca/tools/farm.ts:1238", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 plugins/ca/tools/farm.ts:1238"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ed78b45bf2585954", "name": "Commented-code block (5 lines) in plugins/ca/tools/farm.test.ts:775", "shortDescription": {"text": "Commented-code block (5 lines) in plugins/ca/tools/farm.test.ts:775"}, "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-030da566069872e9", "name": "15 env vars used in code but missing from .env.example", "shortDescription": {"text": "15 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `CLAUDE_PLUGIN_ROOT`, `CODEARBITER_BASE_BRANCH`, `CODEARBITER_COMPACT`, `CODEARBITER_COMPACT_AT`, `CODEARBITER_LEDGER`, `CODEARBITER_STATUSLINE`, `CODEARBITER_WIDTH`, `COLUMNS` + 7 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nplugins/ca/hooks/post-write-edit.py:main, plugins/ca/hooks/pre-edit.py:main\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/20420"}, "properties": {"repository": "SUaDtL/codeArbiter", "repoUrl": "https://github.com/SUaDtL/codeArbiter", "branch": "main"}, "results": [{"ruleId": "scanner-bf3b880721c53824", "level": "note", "message": {"text": "Possibly dead Python function: s_sidecar_collapse"}, "properties": {"repobilityId": "50712b75a0e874c0", "scanner": "scanner-primary", "fingerprint": "bf3b880721c53824", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/_prunelib.py:213"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f98ccc7a51e03d87", "level": "note", "message": {"text": "Possibly dead Python function: s_oversize_result_clamp"}, "properties": {"repobilityId": "51c1e428d89be5a5", "scanner": "scanner-primary", "fingerprint": "f98ccc7a51e03d87", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/_prunelib.py:254"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c64815e92512f85f", "level": "note", "message": {"text": "Possibly dead Python function: s_reasoning_fold"}, "properties": {"repobilityId": "67bd4c2c6bc23d63", "scanner": "scanner-primary", "fingerprint": "c64815e92512f85f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/_prunelib.py:334"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f3d2d37ca3eae135", "level": "note", "message": {"text": "Possibly dead Python function: s_aged_result_condense"}, "properties": {"repobilityId": "6411d634d622eb62", "scanner": "scanner-primary", "fingerprint": "f3d2d37ca3eae135", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/_prunelib.py:363"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-077a56f33a817e9d", "level": "note", "message": {"text": "Possibly dead Python function: s_mcp_payload_condense"}, "properties": {"repobilityId": "7e76bcb46232ed21", "scanner": "scanner-primary", "fingerprint": "077a56f33a817e9d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/_prunelib.py:390"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ffa9ec5c80322d49", "level": "note", "message": {"text": "Possibly dead Python function: s_shell_tail_keep"}, "properties": {"repobilityId": "d9e549ca2b79a2fb", "scanner": "scanner-primary", "fingerprint": "ffa9ec5c80322d49", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/_prunelib.py:426"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a40de891f4f4d6e", "level": "note", "message": {"text": "Possibly dead Python function: s_superseded_read_condense"}, "properties": {"repobilityId": "07c69f9f8f0babd3", "scanner": "scanner-primary", "fingerprint": "8a40de891f4f4d6e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/_prunelib.py:479"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d2bb04bca184521e", "level": "note", "message": {"text": "Possibly dead Python function: s_repeat_reminder_fold"}, "properties": {"repobilityId": "0a24ec0235636f87", "scanner": "scanner-primary", "fingerprint": "d2bb04bca184521e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/_prunelib.py:511"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6703d4f6d33f8bbd", "level": "note", "message": {"text": "Possibly dead Python function: s_inline_image_evict"}, "properties": {"repobilityId": "5d507400f75871be", "scanner": "scanner-primary", "fingerprint": "6703d4f6d33f8bbd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/_prunelib.py:549"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-036bc8ad7c0dc27a", "level": "note", "message": {"text": "Possibly dead Python function: usd"}, "properties": {"repobilityId": "b2bb48541981b170", "scanner": "scanner-primary", "fingerprint": "036bc8ad7c0dc27a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:190"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-22ffb89536741fb7", "level": "note", "message": {"text": "Possibly dead Python function: short_path"}, "properties": {"repobilityId": "9bc70cb8f03dbead", "scanner": "scanner-primary", "fingerprint": "22ffb89536741fb7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:206"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9da7cda29ceb1e6f", "level": "note", "message": {"text": "Possibly dead Python function: git_dirty"}, "properties": {"repobilityId": "02ab3ac4dc431fd8", "scanner": "scanner-primary", "fingerprint": "9da7cda29ceb1e6f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:319"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e8aabb8400794a7b", "level": "note", "message": {"text": "Possibly dead Python function: burn_spark"}, "properties": {"repobilityId": "c6901ee4e5558911", "scanner": "scanner-primary", "fingerprint": "e8aabb8400794a7b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:642"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-348e889979ebd4d2", "level": "note", "message": {"text": "Possibly dead Python function: subagent_dir"}, "properties": {"repobilityId": "1b8d0c5f3d8823d1", "scanner": "scanner-primary", "fingerprint": "348e889979ebd4d2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:680"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0274b2e1376c1f52", "level": "note", "message": {"text": "Possibly dead Python function: read_subagents"}, "properties": {"repobilityId": "17649e3743e3786b", "scanner": "scanner-primary", "fingerprint": "0274b2e1376c1f52", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:706"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-30434f1ad739fdc5", "level": "note", "message": {"text": "Possibly dead Python function: cols"}, "properties": {"repobilityId": "c6787a1bdf9770a7", "scanner": "scanner-primary", "fingerprint": "30434f1ad739fdc5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:858"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-05045b180511b7a4", "level": "note", "message": {"text": "Possibly dead Python function: seg_window_inline"}, "properties": {"repobilityId": "d5d12b697dc003b1", "scanner": "scanner-primary", "fingerprint": "05045b180511b7a4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:944"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d48b0f9cbd177fb7", "level": "note", "message": {"text": "Possibly dead Python function: model_pill"}, "properties": {"repobilityId": "4487fa69f8d58ed7", "scanner": "scanner-primary", "fingerprint": "d48b0f9cbd177fb7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:954"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-83a098469ec35f77", "level": "note", "message": {"text": "Possibly dead Python function: usage_row"}, "properties": {"repobilityId": "8a630a7f07c133ad", "scanner": "scanner-primary", "fingerprint": "83a098469ec35f77", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:986"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cf8a76db2c569c09", "level": "note", "message": {"text": "Possibly dead Python function: seg_lines"}, "properties": {"repobilityId": "10881f93015b23ac", "scanner": "scanner-primary", "fingerprint": "cf8a76db2c569c09", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:997"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f2b618561b1e2b6", "level": "note", "message": {"text": "Possibly dead Python function: seg_pr"}, "properties": {"repobilityId": "ebced7b0ef7cf083", "scanner": "scanner-primary", "fingerprint": "1f2b618561b1e2b6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:1005"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6f9531a08a2ced5b", "level": "note", "message": {"text": "Possibly dead Python function: seg_prune"}, "properties": {"repobilityId": "2a03f099b008c38f", "scanner": "scanner-primary", "fingerprint": "6f9531a08a2ced5b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:1023"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-78d5b0ee38dbbc58", "level": "note", "message": {"text": "Possibly dead Python function: dev_active"}, "properties": {"repobilityId": "4263bfdbd879033a", "scanner": "scanner-primary", "fingerprint": "78d5b0ee38dbbc58", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:1046"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-223fde52cae0c7e4", "level": "note", "message": {"text": "Possibly dead Python function: repl"}, "properties": {"repobilityId": "6f5d3779bbb8be8b", "scanner": "scanner-primary", "fingerprint": "223fde52cae0c7e4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/statusline.py:1055"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8574f538a0f39168", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 plugins/ca/tools/farm.test.ts:712"}, "properties": {"repobilityId": "0326d6fdceab5ef9", "scanner": "scanner-primary", "fingerprint": "8574f538a0f39168", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"ruleId": "scanner-5f70b03eec717ed6", "level": "error", "message": {"text": "Insecure pattern 'tls_verify_false' in plugins/ca/hooks/_hooklib.py:46"}, "properties": {"repobilityId": "960449998e3596fd", "scanner": "scanner-primary", "fingerprint": "5f70b03eec717ed6", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "tls_verify_false"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/_hooklib.py"}, "region": {"startLine": 46}}}]}, {"ruleId": "scanner-8c24a52bfcb0e021", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in plugins/ca/hooks/post-write-edit.py:110"}, "properties": {"repobilityId": "64cbc3494f9caaeb", "scanner": "scanner-primary", "fingerprint": "8c24a52bfcb0e021", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/hooks/post-write-edit.py"}, "region": {"startLine": 110}}}]}, {"ruleId": "scanner-ea62d25002063bd3", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in plugins/ca/tools/farm.js:4"}, "properties": {"repobilityId": "4ba935cdc237774c", "scanner": "scanner-primary", "fingerprint": "ea62d25002063bd3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/tools/farm.js"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-c1e14fd8ccf2abd3", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in plugins/ca/tools/farm.ts:37"}, "properties": {"repobilityId": "5a1737521f8c038a", "scanner": "scanner-primary", "fingerprint": "c1e14fd8ccf2abd3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/tools/farm.ts"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-491a29f9c54cff7b", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in plugins/ca/tools/farm.test.ts:6"}, "properties": {"repobilityId": "5b220c326036d47b", "scanner": "scanner-primary", "fingerprint": "491a29f9c54cff7b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/tools/farm.test.ts"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-012b9eb2162aa4e2", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in plugins/ca/skills/crypto-compliance/SKILL.md:36"}, "properties": {"repobilityId": "5897031fc5fd1e97", "scanner": "scanner-primary", "fingerprint": "012b9eb2162aa4e2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/skills/crypto-compliance/SKILL.md"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-df9934baedd0f73b", "level": "note", "message": {"text": "Very large file: plugins/ca/hooks/statusline.py (1268 lines)"}, "properties": {"repobilityId": "4751d6f1462db80c", "scanner": "scanner-primary", "fingerprint": "df9934baedd0f73b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f812c5bda8934b5d", "level": "note", "message": {"text": "Very large file: plugins/ca/tools/farm.ts (1498 lines)"}, "properties": {"repobilityId": "76ed76bd95628be3", "scanner": "scanner-primary", "fingerprint": "f812c5bda8934b5d", "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": "23155204825f90c7", "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": "9261c7e791daf877", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "e682086342a7e355", "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": "03c53b53ffae49ff", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-2676bfbcb4d01ab4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: plugins/ca/skills/decision-lifecycle/SKILL.md"}, "properties": {"repobilityId": "239b70e2f6016318", "scanner": "scanner-primary", "fingerprint": "2676bfbcb4d01ab4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "plugins/ca/skills/decision-lifecycle/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ce2f95d86f78b940", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 tools/statusline-screenshot.py:75"}, "properties": {"repobilityId": "4c30956596decec1", "scanner": "scanner-primary", "fingerprint": "ce2f95d86f78b940", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6f5c7eb16ff4cd73", "level": "none", "message": {"text": "Commented-code block (7 lines) in .github/scripts/test_hooks_cold_install.py:190"}, "properties": {"repobilityId": "81d4676ebce78cdd", "scanner": "scanner-primary", "fingerprint": "6f5c7eb16ff4cd73", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-56a88ccdf7e19874", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/init-codearbiter.py:6"}, "properties": {"repobilityId": "0c5816cee11ffdaf", "scanner": "scanner-primary", "fingerprint": "56a88ccdf7e19874", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ef419acf7a7ef92", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/pre-bash.py:2"}, "properties": {"repobilityId": "74f29bb15db45d0a", "scanner": "scanner-primary", "fingerprint": "8ef419acf7a7ef92", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ede9b37c15398943", "level": "none", "message": {"text": "Commented-code block (6 lines) in plugins/ca/hooks/_hooklib.py:4"}, "properties": {"repobilityId": "baa90671b3ee0894", "scanner": "scanner-primary", "fingerprint": "ede9b37c15398943", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9fe192ffa8e4c425", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/post-write-edit.py:5"}, "properties": {"repobilityId": "1456c174af442309", "scanner": "scanner-primary", "fingerprint": "9fe192ffa8e4c425", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8263cf7278561753", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/_sloplib.py:3"}, "properties": {"repobilityId": "fb23351ad13a770d", "scanner": "scanner-primary", "fingerprint": "8263cf7278561753", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-58943e2b0552302b", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/_prunelib.py:4"}, "properties": {"repobilityId": "9a57a4c71161fee3", "scanner": "scanner-primary", "fingerprint": "58943e2b0552302b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5c22fa7ad0b5ed95", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/session-start.py:2"}, "properties": {"repobilityId": "b9262256ca48cf1a", "scanner": "scanner-primary", "fingerprint": "5c22fa7ad0b5ed95", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-465131c7a4a4a224", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 plugins/ca/hooks/session-start.py:194"}, "properties": {"repobilityId": "4224a44d1bf5cd40", "scanner": "scanner-primary", "fingerprint": "465131c7a4a4a224", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-0926a3b78249186e", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/_standuplib.py:4"}, "properties": {"repobilityId": "a37cb9a1b3cb564c", "scanner": "scanner-primary", "fingerprint": "0926a3b78249186e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ae9123c88e7daac", "level": "none", "message": {"text": "Commented-code block (10 lines) in plugins/ca/hooks/security-pass.py:4"}, "properties": {"repobilityId": "e5c8e679a52e2901", "scanner": "scanner-primary", "fingerprint": "4ae9123c88e7daac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8e2ab9ce499d7f92", "level": "none", "message": {"text": "Commented-code block (8 lines) in plugins/ca/hooks/doctor.py:4"}, "properties": {"repobilityId": "42a5aade338643c4", "scanner": "scanner-primary", "fingerprint": "8e2ab9ce499d7f92", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c324a8aae037a14c", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/statusline.py:4"}, "properties": {"repobilityId": "d7aad4c0a06b363a", "scanner": "scanner-primary", "fingerprint": "c324a8aae037a14c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c76eec0203b3a7f", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/ca/hooks/pre-edit.py:5"}, "properties": {"repobilityId": "45969abeb0814503", "scanner": "scanner-primary", "fingerprint": "1c76eec0203b3a7f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0f041d352c8a58cd", "level": "none", "message": {"text": "Commented-code block (8 lines) in plugins/ca/hooks/wire-statusline.py:10"}, "properties": {"repobilityId": "18e0321e30ba57d3", "scanner": "scanner-primary", "fingerprint": "0f041d352c8a58cd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f333224930f9cbce", "level": "note", "message": {"text": "Legacy-named symbol `test_second_install_does_not_add_duplicate_backup` in plugins/ca/hooks/tests/test_wire_statusline.py:160"}, "properties": {"repobilityId": "cfe9ebf1c04e86c2", "scanner": "scanner-primary", "fingerprint": "f333224930f9cbce", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5edc015c3b413dea", "level": "note", "message": {"text": "Legacy-named symbol `_plant_backup` in plugins/ca/hooks/tests/test_write.py:180"}, "properties": {"repobilityId": "6fbde1338e920474", "scanner": "scanner-primary", "fingerprint": "5edc015c3b413dea", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-4e08adf3d900c715", "level": "note", "message": {"text": "Legacy-named symbol `name_v1` in plugins/ca/tools/farm.unit.test.ts:188"}, "properties": {"repobilityId": "34ebe30a587d3806", "scanner": "scanner-primary", "fingerprint": "4e08adf3d900c715", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-744ebbcbc6da1a58", "level": "none", "message": {"text": "Commented-code block (7 lines) in plugins/ca/tools/farm.unit.test.ts:365"}, "properties": {"repobilityId": "c555a3010bd91e35", "scanner": "scanner-primary", "fingerprint": "744ebbcbc6da1a58", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c500ae66484ea077", "level": "none", "message": {"text": "Commented-code block (9 lines) in plugins/ca/tools/farm.js:36"}, "properties": {"repobilityId": "a2a50688c991df27", "scanner": "scanner-primary", "fingerprint": "c500ae66484ea077", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4453ef6f0906e367", "level": "none", "message": {"text": "Commented-code block (9 lines) in plugins/ca/tools/farm.ts:97"}, "properties": {"repobilityId": "5ea862f075cfc1c1", "scanner": "scanner-primary", "fingerprint": "4453ef6f0906e367", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-152271762bec85c2", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 plugins/ca/tools/farm.ts:1238"}, "properties": {"repobilityId": "267ebac82f0221ff", "scanner": "scanner-primary", "fingerprint": "152271762bec85c2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-ed78b45bf2585954", "level": "none", "message": {"text": "Commented-code block (5 lines) in plugins/ca/tools/farm.test.ts:775"}, "properties": {"repobilityId": "e8d768d2da655a4b", "scanner": "scanner-primary", "fingerprint": "ed78b45bf2585954", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-030da566069872e9", "level": "note", "message": {"text": "15 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "0519c1c0e8c1f8e4", "scanner": "scanner-primary", "fingerprint": "030da566069872e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "d0c3973426ab29be", "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": "28ef5643a60882d9", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}