{"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-8a6b0c3b2768dbcf", "name": "Possibly dead Python function: cmd_create", "shortDescription": {"text": "Possibly dead Python function: cmd_create"}, "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-f0eb4267ba3b13c1", "name": "Possibly dead Python function: cmd_release", "shortDescription": {"text": "Possibly dead Python function: cmd_release"}, "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-9bb5118a8fe67c8c", "name": "Possibly dead Python function: cmd_enqueue", "shortDescription": {"text": "Possibly dead Python function: cmd_enqueue"}, "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-ea12a1b7c8120097", "name": "Possibly dead Python function: cmd_list", "shortDescription": {"text": "Possibly dead Python function: cmd_list"}, "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-84fdd92bee6a32f5", "name": "Possibly dead Python function: cmd_remove", "shortDescription": {"text": "Possibly dead Python function: cmd_remove"}, "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-220f76da3040b124", "name": "Possibly dead Python function: cmd_process", "shortDescription": {"text": "Possibly dead Python function: cmd_process"}, "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-f03908946bb0ccf4", "name": "Possibly dead Python function: cmd_new", "shortDescription": {"text": "Possibly dead Python function: cmd_new"}, "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-42c86ff347ddad2b", "name": "Possibly dead Python function: cmd_now", "shortDescription": {"text": "Possibly dead Python function: cmd_now"}, "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-09df87825dd9e4ac", "name": "Possibly dead Python function: cmd_verify", "shortDescription": {"text": "Possibly dead Python function: cmd_verify"}, "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-10add92a50392f9e", "name": "Possibly dead Python function: cmd_criteria", "shortDescription": {"text": "Possibly dead Python function: cmd_criteria"}, "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-24b651a61f715612", "name": "Possibly dead Python function: cmd_assign", "shortDescription": {"text": "Possibly dead Python function: cmd_assign"}, "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-23e6116822caf172", "name": "Possibly dead Python function: cmd_split", "shortDescription": {"text": "Possibly dead Python function: cmd_split"}, "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-fd44f68de22d4def", "name": "Possibly dead Python function: cmd_close", "shortDescription": {"text": "Possibly dead Python function: cmd_close"}, "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-4b35b151699d5020", "name": "Possibly dead Python function: cmd_stats", "shortDescription": {"text": "Possibly dead Python function: cmd_stats"}, "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-e187d853fce428ad", "name": "Possibly dead Python function: cmd_view_save", "shortDescription": {"text": "Possibly dead Python function: cmd_view_save"}, "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-776a17e205bd9db8", "name": "Possibly dead Python function: cmd_view_run", "shortDescription": {"text": "Possibly dead Python function: cmd_view_run"}, "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-bb788f4dc857252e", "name": "Possibly dead Python function: cmd_view_list", "shortDescription": {"text": "Possibly dead Python function: cmd_view_list"}, "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-f83f877f2e0159d6", "name": "Possibly dead Python function: cmd_backfill", "shortDescription": {"text": "Possibly dead Python function: cmd_backfill"}, "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-14f13cb383e8cb13", "name": "Possibly dead Python function: cmd_create", "shortDescription": {"text": "Possibly dead Python function: cmd_create"}, "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-22fba878344101a3", "name": "Possibly dead Python function: cmd_reserve_id", "shortDescription": {"text": "Possibly dead Python function: cmd_reserve_id"}, "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-cdea4b6416b203d7", "name": "Possibly dead Python function: handle_data", "shortDescription": {"text": "Possibly dead Python function: handle_data"}, "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-4b4065bbfe496f39", "name": "Possibly dead Python function: resolve_team", "shortDescription": {"text": "Possibly dead Python function: resolve_team"}, "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-31a1fcd45d63ffe0", "name": "Possibly dead Python function: cmd_summary", "shortDescription": {"text": "Possibly dead Python function: cmd_summary"}, "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-8937915ae4222281", "name": "Possibly dead Python function: cmd_census_record", "shortDescription": {"text": "Possibly dead Python function: cmd_census_record"}, "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-ce4dc1df2f15b827", "name": "Possibly dead Python function: cmd_census", "shortDescription": {"text": "Possibly dead Python function: cmd_census"}, "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-23eaff9ed9fd5b03", "name": "Possibly dead Python function: cmd_summary", "shortDescription": {"text": "Possibly dead Python function: cmd_summary"}, "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-e4aac0bc6d754fa0", "name": "Possibly dead Python function: cmd_start", "shortDescription": {"text": "Possibly dead Python function: cmd_start"}, "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-43ca933ac3ea7c18", "name": "Possibly dead Python function: cmd_list", "shortDescription": {"text": "Possibly dead Python function: cmd_list"}, "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-d3d0d7d1fcdec98a", "name": "Possibly dead Python function: cmd_due", "shortDescription": {"text": "Possibly dead Python function: cmd_due"}, "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-298ad78526dbcc4b", "name": "Possibly dead Python function: cmd_revive", "shortDescription": {"text": "Possibly dead Python function: cmd_revive"}, "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-5bb368e3d9f45d0f", "name": "Privileged port 44 in use", "shortDescription": {"text": "Privileged port 44 in use"}, "fullDescription": {"text": "Port 44 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-737eaef49a442d24", "name": "Privileged port 35 in use", "shortDescription": {"text": "Privileged port 35 in use"}, "fullDescription": {"text": "Port 35 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7a904ed5bfc2975d", "name": "Insecure pattern 'subprocess_shell_true' in scripts/work.py:2169", "shortDescription": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/work.py:2169"}, "fullDescription": {"text": "Found a known-risky pattern (subprocess_shell_true). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7efbda965f283c17", "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@v4 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-bda6deb11902724f", "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-13aa5ea7ee0504e4", "name": "Very large file: tests/test_inventory_sync_sanitize.py (2372 lines)", "shortDescription": {"text": "Very large file: tests/test_inventory_sync_sanitize.py (2372 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-7f1969ab285d89e5", "name": "Very large file: tests/test_ui_state.py (3095 lines)", "shortDescription": {"text": "Very large file: tests/test_ui_state.py (3095 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-a1100ef51db28d91", "name": "Very large file: tests/test_ui_console.py (3445 lines)", "shortDescription": {"text": "Very large file: tests/test_ui_console.py (3445 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-b9c70ee80da4b64a", "name": "Very large file: tests/test_template_message_queue.py (3027 lines)", "shortDescription": {"text": "Very large file: tests/test_template_message_queue.py (3027 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-b8d7a751d79b1bec", "name": "Very large file: scripts/work.py (3482 lines)", "shortDescription": {"text": "Very large file: scripts/work.py (3482 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-4c6bfd2687894242", "name": "Very large file: src/agent_runtime/ui_commands.py (2038 lines)", "shortDescription": {"text": "Very large file: src/agent_runtime/ui_commands.py (2038 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-5d96fa62a24ad601", "name": "Very large file: src/agent_runtime/ui_state.py (7521 lines)", "shortDescription": {"text": "Very large file: src/agent_runtime/ui_state.py (7521 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-fb7bc61d795a8153", "name": "Very large file: src/agent_runtime/ui_console.py (12588 lines)", "shortDescription": {"text": "Very large file: src/agent_runtime/ui_console.py (12588 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-3319e9cfc00c5d37", "name": "Very large file: src/agent_runtime/templates/project/scripts/check_agent_docs.py (1881 lines)", "shortDescription": {"text": "Very large file: src/agent_runtime/templates/project/scripts/check_agent_docs.py (1881 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-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 1471 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 105 placeholder/mock markers across 22 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-909eb64265cce1c7", "name": "Agent authority lacks a verifier contract: .codex/hooks.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .codex/hooks.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-57f2c07721e61ff5", "name": "Agent authority lacks a verifier contract: skills/taskset-dispatch/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/taskset-dispatch/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-1ac19580ad9fddc3", "name": "Agent authority lacks a verifier contract: skills/scm-steward/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/scm-steward/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-3f59ddb0b60fb8b1", "name": "Agent authority lacks a verifier contract: skills/failure-to-regression/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: skills/failure-to-regression/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-bedaf4cc087a98a0", "name": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/CURSOR.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/CURSOR.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-03358ee1bfa11644", "name": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/docs/agent_bootstrap/claude.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/docs/agent_bootstrap/claude.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-89d3ec0b3b79cb6b", "name": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/research_agent/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/research_agent/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-6f8c9af5331651cc", "name": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/timeline_agent/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/timeline_agent/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-7ef5f5ca5d9c0ed9", "name": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/owner/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/owner/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-b5177f1905b8d305", "name": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/backend_engineer/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/backend_engineer/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-e75d942a7b66ecc9", "name": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/.codex/hooks.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/.codex/hooks.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-649a422b55d1afe3", "name": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/skills/taskset-dispatch/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/skills/taskset-dispatch/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-5267bb5f9d2e568d", "name": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/skills/scm-steward/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/skills/scm-steward/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-1b94e927051d47a5", "name": "Legacy-named symbol `test_work_stats_csv_filters_kind_and_status_and_skips_legacy` in tests/test_work_stats.py:155", "shortDescription": {"text": "Legacy-named symbol `test_work_stats_csv_filters_kind_and_status_and_skips_legacy` in tests/test_work_stats.py:155"}, "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-ca7e6161bc7af1bb", "name": "Legacy-named symbol `summary_push_v1` in tests/test_template_message_queue.py:1612", "shortDescription": {"text": "Legacy-named symbol `summary_push_v1` in tests/test_template_message_queue.py:1612"}, "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-ad98462dab74f8a6", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/session_baseline.py:17", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/session_baseline.py:17"}, "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-1c090b90a1a90c71", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_pane_progress_taskset.py:32", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_pane_progress_taskset.py:32"}, "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-60e23c5d4eaf6d2c", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/stop_hook_dirty_intake.py:23", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/stop_hook_dirty_intake.py:23"}, "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-3977c6c97bc80eb4", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_rsi_operating_system_taskset.py:64", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_rsi_operating_system_taskset.py:64"}, "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-4f4faba354000bc1", "name": "Commented-code block (5 lines) in scripts/knowledge_graph.py:270", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/knowledge_graph.py:270"}, "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-ab4e307ce28eacc3", "name": "Commented-code block (5 lines) in scripts/taskset_work_gate.py:16", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/taskset_work_gate.py:16"}, "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-5168dd59fb7ff428", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/host_feedback_replyback.py:113", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/host_feedback_replyback.py:113"}, "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-3192a4295cfdeb3c", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/lock_merge_driver.py:46", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/lock_merge_driver.py:46"}, "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-93f0b108f73020b8", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/wave_dispatcher.py:498", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/wave_dispatcher.py:498"}, "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-3b940b34bcb439d2", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/dirty_intake.py:91", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/dirty_intake.py:91"}, "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-b7c6fb5ac6f96e15", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_pm_operating_system_taskset.py:76", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_pm_operating_system_taskset.py:76"}, "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-c6d31e2a21ed36ad", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/taskset_dispatcher.py:240", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/taskset_dispatcher.py:240"}, "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-8e31639d90ec376e", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/close_rsi_planning_taskset.py:258", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/close_rsi_planning_taskset.py:258"}, "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-8834b7888e8cbf69", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/console_autostart.py:48", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/console_autostart.py:48"}, "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-1ed7f6ad8f750665", "name": "Commented-code block (6 lines) in scripts/idea_vault.py:48", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/idea_vault.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-df39681be47d3989", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_wheel_dotfiles.py:34", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_wheel_dotfiles.py:34"}, "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-65cff9b3084e4c89", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_rsi_planning_taskset.py:25", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_rsi_planning_taskset.py:25"}, "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-8895adf398048c29", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/footprint_conflict_gate.py:171", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/footprint_conflict_gate.py:171"}, "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-91598125419c642d", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_session_closeout_taskset.py:22", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_session_closeout_taskset.py:22"}, "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-73c47cad998f3fb1", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/stop_hook_owner_governance.py:32", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/stop_hook_owner_governance.py:32"}, "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-04c39409e2b983dc", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_github_plan.py:98", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_github_plan.py:98"}, "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-aa5bb6f209c1276c", "name": "Commented-code block (5 lines) in src/agent_runtime/ui_commands.py:40", "shortDescription": {"text": "Commented-code block (5 lines) in src/agent_runtime/ui_commands.py:40"}, "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-e295d28c35aaeb06", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/ui_commands.py:280", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/ui_commands.py:280"}, "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-e98623cda05908e0", "name": "Commented-code block (7 lines) in src/agent_runtime/ui_state.py:777", "shortDescription": {"text": "Commented-code block (7 lines) in src/agent_runtime/ui_state.py:777"}, "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-6863ac174958fb82", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/host_update.py:304", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/host_update.py:304"}, "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-6733bebc2a43e35d", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_tag_smoke.py:58", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_tag_smoke.py:58"}, "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-77407663fb96ee87", "name": "Stub function `log_message` (body is just `pass`/`return`) \u2014 src/agent_runtime/ui_console.py:12567", "shortDescription": {"text": "Stub function `log_message` (body is just `pass`/`return`) \u2014 src/agent_runtime/ui_console.py:12567"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2220beac83e2d52d", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_github_execute.py:77", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_github_execute.py:77"}, "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-1073306447de9386", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_github_status.py:44", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_github_status.py:44"}, "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-5c65f713c316b14b", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/task_api.py:115", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/task_api.py:115"}, "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-483ccf6f3b078a54", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/cycle_gate.py:143", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/cycle_gate.py:143"}, "fullDescription": {"text": "`subprocess.check_output(...)` 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-f8c1f28189aa9a45", "name": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/knowledge_graph.py:270", "shortDescription": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/knowledge_graph.py:270"}, "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-2903b9aae707f758", "name": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/taskset_work_gate.py:16", "shortDescription": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/taskset_work_gate.py:16"}, "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-25f6e3c63e7ee110", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/auto_merge.py:53", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/auto_merge.py:53"}, "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-64f0e382c9bdfd9f", "name": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/agent_terminal.py:145", "shortDescription": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/agent_terminal.py:145"}, "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-7d1c5f2f5d02bd69", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/lock_merge_driver.py", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/lock_merge_driver.py:46"}, "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-1eb94a71e284fb88", "name": "Legacy-named symbol `test_apply_skill_patch_adds_guardrail_with_backup` in src/agent_runtime/templates/project/scripts/t", "shortDescription": {"text": "Legacy-named symbol `test_apply_skill_patch_adds_guardrail_with_backup` in src/agent_runtime/templates/project/scripts/test_agent_retro.py:227"}, "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-5355e4072be8d517", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/wave_dispatcher.py:4", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/wave_dispatcher.py:498"}, "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-dec2be6d9b542be0", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/query_tasks.py:175", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/query_tasks.py:175"}, "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-74c2bc528ed1dbae", "name": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/check_agent_docs.py:86", "shortDescription": {"text": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/check_agent_docs.py:86"}, "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-3f73aeb23e73d436", "name": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/check_agent_docs.py:1061", "shortDescription": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/check_agent_docs.py:1061"}, "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-f71f12e55484a094", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/taskset_dispatcher.p", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/taskset_dispatcher.py:240"}, "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-7dbeeacb779e3796", "name": "Commented-code block (8 lines) in src/agent_runtime/templates/project/scripts/owner_governance_gate.py:54", "shortDescription": {"text": "Commented-code block (8 lines) in src/agent_runtime/templates/project/scripts/owner_governance_gate.py:54"}, "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-f8067acc917851a4", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/auto_runner.py:253", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/auto_runner.py:253"}, "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-3c715bcbe9d38ee6", "name": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/codex_subagent_bridge.py:6", "shortDescription": {"text": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/codex_subagent_bridge.py:6"}, "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-00fb36aa3c8231a7", "name": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/backlog_board.py:216", "shortDescription": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/backlog_board.py:216"}, "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-72ce33d004a98b4a", "name": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/stop_hook_owner_gove", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/stop_hook_owner_governance.py:31"}, "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-549c2a63bfc24fbd", "name": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/test_codex_subagent_bridge.py:28", "shortDescription": {"text": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/test_codex_subagent_bridge.py:28"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f086783f846de182", "name": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/providers/codex.py:7", "shortDescription": {"text": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/providers/codex.py:7"}, "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-c8fe00105227ec8d", "name": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/providers/claude.py:52", "shortDescription": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/providers/claude.py:52"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/task_claim_dispatcher.py:cmd_create, src/agent_runtime/templates/project/scripts/task_claim_dispatcher.py:cmd_create\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-0027e313ade46c8f", "name": "Near-duplicate function bodies in 7 places", "shortDescription": {"text": "Near-duplicate function bodies in 7 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/task_claim_dispatcher.py:main, scripts/agent_instance_registry.py:main, scripts/taskset_dispatcher.py:main, src/agent_runtime/templates/project/scripts/task_claim_dispatcher.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}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/agent_instance_registry.py:build_instance_record, scripts/agent_instance_registry.py:record_claim_instance, src/agent_runtime/templates/project/scripts/agent_instance_registry.py:build_instance_record, src/agent_runtime/templates/project/scripts/agent_instance_registry.py:record_claim_instance\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/23194"}, "properties": {"repository": "ycpiglet/agent_runtime", "repoUrl": "https://github.com/ycpiglet/agent_runtime", "branch": "main"}, "results": [{"ruleId": "scanner-8a6b0c3b2768dbcf", "level": "note", "message": {"text": "Possibly dead Python function: cmd_create"}, "properties": {"repobilityId": "226974daa6d37fc8", "scanner": "scanner-primary", "fingerprint": "8a6b0c3b2768dbcf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/task_claim_dispatcher.py:483"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f0eb4267ba3b13c1", "level": "note", "message": {"text": "Possibly dead Python function: cmd_release"}, "properties": {"repobilityId": "ba8ad5ab00e91ce9", "scanner": "scanner-primary", "fingerprint": "f0eb4267ba3b13c1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/task_claim_dispatcher.py:661"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9bb5118a8fe67c8c", "level": "note", "message": {"text": "Possibly dead Python function: cmd_enqueue"}, "properties": {"repobilityId": "5b700ca3308bd38a", "scanner": "scanner-primary", "fingerprint": "9bb5118a8fe67c8c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/merge_queue.py:542"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ea12a1b7c8120097", "level": "note", "message": {"text": "Possibly dead Python function: cmd_list"}, "properties": {"repobilityId": "bd09044da90857da", "scanner": "scanner-primary", "fingerprint": "ea12a1b7c8120097", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/merge_queue.py:564"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84fdd92bee6a32f5", "level": "note", "message": {"text": "Possibly dead Python function: cmd_remove"}, "properties": {"repobilityId": "d39b296d61583f94", "scanner": "scanner-primary", "fingerprint": "84fdd92bee6a32f5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/merge_queue.py:589"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-220f76da3040b124", "level": "note", "message": {"text": "Possibly dead Python function: cmd_process"}, "properties": {"repobilityId": "4f3eb4c3f146beb8", "scanner": "scanner-primary", "fingerprint": "220f76da3040b124", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/merge_queue.py:604"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f03908946bb0ccf4", "level": "note", "message": {"text": "Possibly dead Python function: cmd_new"}, "properties": {"repobilityId": "bf2714594b108757", "scanner": "scanner-primary", "fingerprint": "f03908946bb0ccf4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py:2955"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-42c86ff347ddad2b", "level": "note", "message": {"text": "Possibly dead Python function: cmd_now"}, "properties": {"repobilityId": "b3500462a19c97d4", "scanner": "scanner-primary", "fingerprint": "42c86ff347ddad2b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py:2985"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-09df87825dd9e4ac", "level": "note", "message": {"text": "Possibly dead Python function: cmd_verify"}, "properties": {"repobilityId": "658bcb24bc7535c7", "scanner": "scanner-primary", "fingerprint": "09df87825dd9e4ac", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py:3108"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-10add92a50392f9e", "level": "note", "message": {"text": "Possibly dead Python function: cmd_criteria"}, "properties": {"repobilityId": "9c48e7942078d329", "scanner": "scanner-primary", "fingerprint": "10add92a50392f9e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py:3127"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-24b651a61f715612", "level": "note", "message": {"text": "Possibly dead Python function: cmd_assign"}, "properties": {"repobilityId": "da16d1d34e59e7e5", "scanner": "scanner-primary", "fingerprint": "24b651a61f715612", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py:3153"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-23e6116822caf172", "level": "note", "message": {"text": "Possibly dead Python function: cmd_split"}, "properties": {"repobilityId": "99e09b2c4f50b03a", "scanner": "scanner-primary", "fingerprint": "23e6116822caf172", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py:3179"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fd44f68de22d4def", "level": "note", "message": {"text": "Possibly dead Python function: cmd_close"}, "properties": {"repobilityId": "6b2e577632ad5daf", "scanner": "scanner-primary", "fingerprint": "fd44f68de22d4def", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py:3205"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4b35b151699d5020", "level": "note", "message": {"text": "Possibly dead Python function: cmd_stats"}, "properties": {"repobilityId": "192d1822cd670340", "scanner": "scanner-primary", "fingerprint": "4b35b151699d5020", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py:3243"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e187d853fce428ad", "level": "note", "message": {"text": "Possibly dead Python function: cmd_view_save"}, "properties": {"repobilityId": "41fec8c79b449f0c", "scanner": "scanner-primary", "fingerprint": "e187d853fce428ad", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py:3269"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-776a17e205bd9db8", "level": "note", "message": {"text": "Possibly dead Python function: cmd_view_run"}, "properties": {"repobilityId": "1fbff9bdbcb351d8", "scanner": "scanner-primary", "fingerprint": "776a17e205bd9db8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py:3296"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bb788f4dc857252e", "level": "note", "message": {"text": "Possibly dead Python function: cmd_view_list"}, "properties": {"repobilityId": "c3f16c3da437f311", "scanner": "scanner-primary", "fingerprint": "bb788f4dc857252e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py:3319"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f83f877f2e0159d6", "level": "note", "message": {"text": "Possibly dead Python function: cmd_backfill"}, "properties": {"repobilityId": "75b917fa5e4c999e", "scanner": "scanner-primary", "fingerprint": "f83f877f2e0159d6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/task_identity.py:486"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-14f13cb383e8cb13", "level": "note", "message": {"text": "Possibly dead Python function: cmd_create"}, "properties": {"repobilityId": "226974daa6d37fc8", "scanner": "scanner-primary", "fingerprint": "14f13cb383e8cb13", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/task_identity.py:611"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-22fba878344101a3", "level": "note", "message": {"text": "Possibly dead Python function: cmd_reserve_id"}, "properties": {"repobilityId": "ad8a4e57e9f1e587", "scanner": "scanner-primary", "fingerprint": "22fba878344101a3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/task_identity.py:651"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cdea4b6416b203d7", "level": "note", "message": {"text": "Possibly dead Python function: handle_data"}, "properties": {"repobilityId": "3a673a278f4fc1e6", "scanner": "scanner-primary", "fingerprint": "cdea4b6416b203d7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/doc_to_plan.py:33"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4b4065bbfe496f39", "level": "note", "message": {"text": "Possibly dead Python function: resolve_team"}, "properties": {"repobilityId": "196d94390bc09a3d", "scanner": "scanner-primary", "fingerprint": "4b4065bbfe496f39", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/org_model_gate.py:117"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-31a1fcd45d63ffe0", "level": "note", "message": {"text": "Possibly dead Python function: cmd_summary"}, "properties": {"repobilityId": "6926d757078f2bcb", "scanner": "scanner-primary", "fingerprint": "31a1fcd45d63ffe0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pane_event_log.py:290"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8937915ae4222281", "level": "note", "message": {"text": "Possibly dead Python function: cmd_census_record"}, "properties": {"repobilityId": "515b2e1279ca2d8f", "scanner": "scanner-primary", "fingerprint": "8937915ae4222281", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pane_event_log.py:296"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ce4dc1df2f15b827", "level": "note", "message": {"text": "Possibly dead Python function: cmd_census"}, "properties": {"repobilityId": "2cdca9ba8c7a2242", "scanner": "scanner-primary", "fingerprint": "ce4dc1df2f15b827", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/pane_event_log.py:316"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-23eaff9ed9fd5b03", "level": "note", "message": {"text": "Possibly dead Python function: cmd_summary"}, "properties": {"repobilityId": "6926d757078f2bcb", "scanner": "scanner-primary", "fingerprint": "23eaff9ed9fd5b03", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/stop_events.py:270"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e4aac0bc6d754fa0", "level": "note", "message": {"text": "Possibly dead Python function: cmd_start"}, "properties": {"repobilityId": "fc872c8259f0135a", "scanner": "scanner-primary", "fingerprint": "e4aac0bc6d754fa0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/taskset_dispatcher.py:441"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-43ca933ac3ea7c18", "level": "note", "message": {"text": "Possibly dead Python function: cmd_list"}, "properties": {"repobilityId": "bd09044da90857da", "scanner": "scanner-primary", "fingerprint": "43ca933ac3ea7c18", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/idea_vault.py:301"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d3d0d7d1fcdec98a", "level": "note", "message": {"text": "Possibly dead Python function: cmd_due"}, "properties": {"repobilityId": "0e879b31c3ddaa34", "scanner": "scanner-primary", "fingerprint": "d3d0d7d1fcdec98a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/idea_vault.py:312"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-298ad78526dbcc4b", "level": "note", "message": {"text": "Possibly dead Python function: cmd_revive"}, "properties": {"repobilityId": "e136105d8f2d8d2a", "scanner": "scanner-primary", "fingerprint": "298ad78526dbcc4b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/idea_vault.py:325"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5bb368e3d9f45d0f", "level": "warning", "message": {"text": "Privileged port 44 in use"}, "properties": {"repobilityId": "1f021a2e926773a0", "scanner": "scanner-primary", "fingerprint": "5bb368e3d9f45d0f", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "reviews/RELEASE-CLOSEOUT-BUNDLE-2026-06-10-task-ar-222.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-737eaef49a442d24", "level": "warning", "message": {"text": "Privileged port 35 in use"}, "properties": {"repobilityId": "e997ec9811d79c6d", "scanner": "scanner-primary", "fingerprint": "737eaef49a442d24", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "agents/project/NEXT-SESSION-POINTER.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-7a904ed5bfc2975d", "level": "warning", "message": {"text": "Insecure pattern 'subprocess_shell_true' in scripts/work.py:2169"}, "properties": {"repobilityId": "873ed332390717e1", "scanner": "scanner-primary", "fingerprint": "7a904ed5bfc2975d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "subprocess_shell_true"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/work.py"}, "region": {"startLine": 2169}}}]}, {"ruleId": "scanner-7efbda965f283c17", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "c7b0656e54a8a817", "scanner": "scanner-primary", "fingerprint": "7efbda965f283c17", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/test.yml"}, "region": {"startLine": 231}}}]}, {"ruleId": "scanner-bda6deb11902724f", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "52fa6a3933670e49", "scanner": "scanner-primary", "fingerprint": "bda6deb11902724f", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/auto-merge.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-13aa5ea7ee0504e4", "level": "note", "message": {"text": "Very large file: tests/test_inventory_sync_sanitize.py (2372 lines)"}, "properties": {"repobilityId": "60c58b09af6e8985", "scanner": "scanner-primary", "fingerprint": "13aa5ea7ee0504e4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7f1969ab285d89e5", "level": "note", "message": {"text": "Very large file: tests/test_ui_state.py (3095 lines)"}, "properties": {"repobilityId": "0baddc473b8424a1", "scanner": "scanner-primary", "fingerprint": "7f1969ab285d89e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a1100ef51db28d91", "level": "note", "message": {"text": "Very large file: tests/test_ui_console.py (3445 lines)"}, "properties": {"repobilityId": "e4ae23353cc3f3fd", "scanner": "scanner-primary", "fingerprint": "a1100ef51db28d91", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b9c70ee80da4b64a", "level": "note", "message": {"text": "Very large file: tests/test_template_message_queue.py (3027 lines)"}, "properties": {"repobilityId": "94a79cd443c791da", "scanner": "scanner-primary", "fingerprint": "b9c70ee80da4b64a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b8d7a751d79b1bec", "level": "note", "message": {"text": "Very large file: scripts/work.py (3482 lines)"}, "properties": {"repobilityId": "baa6a0179a542161", "scanner": "scanner-primary", "fingerprint": "b8d7a751d79b1bec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4c6bfd2687894242", "level": "note", "message": {"text": "Very large file: src/agent_runtime/ui_commands.py (2038 lines)"}, "properties": {"repobilityId": "4c8029b277c77cb6", "scanner": "scanner-primary", "fingerprint": "4c6bfd2687894242", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5d96fa62a24ad601", "level": "note", "message": {"text": "Very large file: src/agent_runtime/ui_state.py (7521 lines)"}, "properties": {"repobilityId": "85a87d7376ce0018", "scanner": "scanner-primary", "fingerprint": "5d96fa62a24ad601", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fb7bc61d795a8153", "level": "note", "message": {"text": "Very large file: src/agent_runtime/ui_console.py (12588 lines)"}, "properties": {"repobilityId": "3ee3fa7fbcfa3761", "scanner": "scanner-primary", "fingerprint": "fb7bc61d795a8153", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3319e9cfc00c5d37", "level": "note", "message": {"text": "Very large file: src/agent_runtime/templates/project/scripts/check_agent_docs.py (1881 lines)"}, "properties": {"repobilityId": "2038eebbef8ad250", "scanner": "scanner-primary", "fingerprint": "3319e9cfc00c5d37", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "50b68cc0fa7883b6", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "6690d52a24392c0d", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "2cd54ac8f3473bbf", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "380d2997c781cef5", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "5b50a5226d408526", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "88b646006ab6a969", "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": "5c4782e7f6cd407f", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-909eb64265cce1c7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .codex/hooks.json"}, "properties": {"repobilityId": "6befa6c7c9baca08", "scanner": "scanner-primary", "fingerprint": "909eb64265cce1c7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".codex/hooks.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-57f2c07721e61ff5", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/taskset-dispatch/SKILL.md"}, "properties": {"repobilityId": "3d7fae86faf87a1e", "scanner": "scanner-primary", "fingerprint": "57f2c07721e61ff5", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/taskset-dispatch/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1ac19580ad9fddc3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/scm-steward/SKILL.md"}, "properties": {"repobilityId": "e76a11dc4192950e", "scanner": "scanner-primary", "fingerprint": "1ac19580ad9fddc3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/scm-steward/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3f59ddb0b60fb8b1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: skills/failure-to-regression/SKILL.md"}, "properties": {"repobilityId": "e14d7cf112ffcfae", "scanner": "scanner-primary", "fingerprint": "3f59ddb0b60fb8b1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "skills/failure-to-regression/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bedaf4cc087a98a0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/CURSOR.md"}, "properties": {"repobilityId": "ad96d410ddbe1691", "scanner": "scanner-primary", "fingerprint": "bedaf4cc087a98a0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "agent_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agent_runtime/templates/project/CURSOR.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-03358ee1bfa11644", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/docs/agent_bootstrap/claude.md"}, "properties": {"repobilityId": "a70fb40895ced0dd", "scanner": "scanner-primary", "fingerprint": "03358ee1bfa11644", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agent_runtime/templates/project/docs/agent_bootstrap/claude.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-89d3ec0b3b79cb6b", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/research_agent/SKILL.md"}, "properties": {"repobilityId": "f7694d51049ea35a", "scanner": "scanner-primary", "fingerprint": "89d3ec0b3b79cb6b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agent_runtime/templates/project/agents/research_agent/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6f8c9af5331651cc", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/timeline_agent/SKILL.md"}, "properties": {"repobilityId": "95d1c5d1f6ecb9cd", "scanner": "scanner-primary", "fingerprint": "6f8c9af5331651cc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agent_runtime/templates/project/agents/timeline_agent/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7ef5f5ca5d9c0ed9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/owner/SKILL.md"}, "properties": {"repobilityId": "2238915023671f4b", "scanner": "scanner-primary", "fingerprint": "7ef5f5ca5d9c0ed9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agent_runtime/templates/project/agents/owner/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b5177f1905b8d305", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/agents/backend_engineer/SKILL.md"}, "properties": {"repobilityId": "3747d0902548cc23", "scanner": "scanner-primary", "fingerprint": "b5177f1905b8d305", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agent_runtime/templates/project/agents/backend_engineer/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e75d942a7b66ecc9", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/.codex/hooks.json"}, "properties": {"repobilityId": "495dc034eadcba76", "scanner": "scanner-primary", "fingerprint": "e75d942a7b66ecc9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "codex_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agent_runtime/templates/project/.codex/hooks.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-649a422b55d1afe3", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/skills/taskset-dispatch/SKILL.md"}, "properties": {"repobilityId": "5af26b2d7360ddb7", "scanner": "scanner-primary", "fingerprint": "649a422b55d1afe3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agent_runtime/templates/project/skills/taskset-dispatch/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5267bb5f9d2e568d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: src/agent_runtime/templates/project/skills/scm-steward/SKILL.md"}, "properties": {"repobilityId": "f8fd19d05d100207", "scanner": "scanner-primary", "fingerprint": "5267bb5f9d2e568d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "skill_file"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/agent_runtime/templates/project/skills/scm-steward/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1b94e927051d47a5", "level": "note", "message": {"text": "Legacy-named symbol `test_work_stats_csv_filters_kind_and_status_and_skips_legacy` in tests/test_work_stats.py:155"}, "properties": {"repobilityId": "81a90719a25af1a6", "scanner": "scanner-primary", "fingerprint": "1b94e927051d47a5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ca7e6161bc7af1bb", "level": "note", "message": {"text": "Legacy-named symbol `summary_push_v1` in tests/test_template_message_queue.py:1612"}, "properties": {"repobilityId": "0d5af5974d71a2de", "scanner": "scanner-primary", "fingerprint": "ca7e6161bc7af1bb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ad98462dab74f8a6", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/session_baseline.py:17"}, "properties": {"repobilityId": "8d1732e7e1a4cff9", "scanner": "scanner-primary", "fingerprint": "ad98462dab74f8a6", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1c090b90a1a90c71", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_pane_progress_taskset.py:32"}, "properties": {"repobilityId": "769a0887d5b05874", "scanner": "scanner-primary", "fingerprint": "1c090b90a1a90c71", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-60e23c5d4eaf6d2c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/stop_hook_dirty_intake.py:23"}, "properties": {"repobilityId": "956876dff105a35a", "scanner": "scanner-primary", "fingerprint": "60e23c5d4eaf6d2c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3977c6c97bc80eb4", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_rsi_operating_system_taskset.py:64"}, "properties": {"repobilityId": "93cca533237cb699", "scanner": "scanner-primary", "fingerprint": "3977c6c97bc80eb4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-4f4faba354000bc1", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/knowledge_graph.py:270"}, "properties": {"repobilityId": "ed400e031801ee9f", "scanner": "scanner-primary", "fingerprint": "4f4faba354000bc1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ab4e307ce28eacc3", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/taskset_work_gate.py:16"}, "properties": {"repobilityId": "aabbc42562dfd150", "scanner": "scanner-primary", "fingerprint": "ab4e307ce28eacc3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5168dd59fb7ff428", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/host_feedback_replyback.py:113"}, "properties": {"repobilityId": "6b6b1f97ad5c5cea", "scanner": "scanner-primary", "fingerprint": "5168dd59fb7ff428", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3192a4295cfdeb3c", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/lock_merge_driver.py:46"}, "properties": {"repobilityId": "ffdaa15820f7161d", "scanner": "scanner-primary", "fingerprint": "3192a4295cfdeb3c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-93f0b108f73020b8", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/wave_dispatcher.py:498"}, "properties": {"repobilityId": "357e7dc1855e367d", "scanner": "scanner-primary", "fingerprint": "93f0b108f73020b8", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3b940b34bcb439d2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/dirty_intake.py:91"}, "properties": {"repobilityId": "b57e5bfe7c9f5753", "scanner": "scanner-primary", "fingerprint": "3b940b34bcb439d2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-b7c6fb5ac6f96e15", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_pm_operating_system_taskset.py:76"}, "properties": {"repobilityId": "04666d95969f7b80", "scanner": "scanner-primary", "fingerprint": "b7c6fb5ac6f96e15", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c6d31e2a21ed36ad", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/taskset_dispatcher.py:240"}, "properties": {"repobilityId": "53cb1e14fa13061d", "scanner": "scanner-primary", "fingerprint": "c6d31e2a21ed36ad", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8e31639d90ec376e", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/close_rsi_planning_taskset.py:258"}, "properties": {"repobilityId": "aea5bccfea3578a5", "scanner": "scanner-primary", "fingerprint": "8e31639d90ec376e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8834b7888e8cbf69", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/console_autostart.py:48"}, "properties": {"repobilityId": "d341067261951cde", "scanner": "scanner-primary", "fingerprint": "8834b7888e8cbf69", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1ed7f6ad8f750665", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/idea_vault.py:48"}, "properties": {"repobilityId": "338da8ab556515ad", "scanner": "scanner-primary", "fingerprint": "1ed7f6ad8f750665", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df39681be47d3989", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_wheel_dotfiles.py:34"}, "properties": {"repobilityId": "8ec0f9983cffb37f", "scanner": "scanner-primary", "fingerprint": "df39681be47d3989", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-65cff9b3084e4c89", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_rsi_planning_taskset.py:25"}, "properties": {"repobilityId": "e6864b264338874d", "scanner": "scanner-primary", "fingerprint": "65cff9b3084e4c89", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8895adf398048c29", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/footprint_conflict_gate.py:171"}, "properties": {"repobilityId": "a2cb061de756c5a1", "scanner": "scanner-primary", "fingerprint": "8895adf398048c29", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-91598125419c642d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/verify_session_closeout_taskset.py:22"}, "properties": {"repobilityId": "a0ee0dd2ad300b7b", "scanner": "scanner-primary", "fingerprint": "91598125419c642d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-73c47cad998f3fb1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/stop_hook_owner_governance.py:32"}, "properties": {"repobilityId": "dd8828b98dc334b4", "scanner": "scanner-primary", "fingerprint": "73c47cad998f3fb1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-04c39409e2b983dc", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_github_plan.py:98"}, "properties": {"repobilityId": "81597d1647da6af0", "scanner": "scanner-primary", "fingerprint": "04c39409e2b983dc", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-aa5bb6f209c1276c", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agent_runtime/ui_commands.py:40"}, "properties": {"repobilityId": "ee51488596cac47b", "scanner": "scanner-primary", "fingerprint": "aa5bb6f209c1276c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e295d28c35aaeb06", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/ui_commands.py:280"}, "properties": {"repobilityId": "039d2fa35cbea044", "scanner": "scanner-primary", "fingerprint": "e295d28c35aaeb06", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e98623cda05908e0", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/agent_runtime/ui_state.py:777"}, "properties": {"repobilityId": "e1fb82ec1869a624", "scanner": "scanner-primary", "fingerprint": "e98623cda05908e0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6863ac174958fb82", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/host_update.py:304"}, "properties": {"repobilityId": "ed6440ddfcc2a5eb", "scanner": "scanner-primary", "fingerprint": "6863ac174958fb82", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-6733bebc2a43e35d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_tag_smoke.py:58"}, "properties": {"repobilityId": "27f86719d9071e28", "scanner": "scanner-primary", "fingerprint": "6733bebc2a43e35d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-77407663fb96ee87", "level": "note", "message": {"text": "Stub function `log_message` (body is just `pass`/`return`) \u2014 src/agent_runtime/ui_console.py:12567"}, "properties": {"repobilityId": "b9b1908b2422a92a", "scanner": "scanner-primary", "fingerprint": "77407663fb96ee87", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-2220beac83e2d52d", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_github_execute.py:77"}, "properties": {"repobilityId": "efdcfc4504c79783", "scanner": "scanner-primary", "fingerprint": "2220beac83e2d52d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1073306447de9386", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/publish_github_status.py:44"}, "properties": {"repobilityId": "86ed4797aa69c3e6", "scanner": "scanner-primary", "fingerprint": "1073306447de9386", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-5c65f713c316b14b", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/task_api.py:115"}, "properties": {"repobilityId": "d4fc7920ca29e008", "scanner": "scanner-primary", "fingerprint": "5c65f713c316b14b", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-483ccf6f3b078a54", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/cycle_gate.py:143"}, "properties": {"repobilityId": "de39f83164673e68", "scanner": "scanner-primary", "fingerprint": "483ccf6f3b078a54", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f8c1f28189aa9a45", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/knowledge_graph.py:270"}, "properties": {"repobilityId": "196bd079f1a404bb", "scanner": "scanner-primary", "fingerprint": "f8c1f28189aa9a45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2903b9aae707f758", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/taskset_work_gate.py:16"}, "properties": {"repobilityId": "cebc3b80e0ca959d", "scanner": "scanner-primary", "fingerprint": "2903b9aae707f758", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-25f6e3c63e7ee110", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/auto_merge.py:53"}, "properties": {"repobilityId": "f4ab353a1b4b962b", "scanner": "scanner-primary", "fingerprint": "25f6e3c63e7ee110", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-64f0e382c9bdfd9f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/agent_terminal.py:145"}, "properties": {"repobilityId": "28b8826561891188", "scanner": "scanner-primary", "fingerprint": "64f0e382c9bdfd9f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7d1c5f2f5d02bd69", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/lock_merge_driver.py:46"}, "properties": {"repobilityId": "d3ec152dc836f03b", "scanner": "scanner-primary", "fingerprint": "7d1c5f2f5d02bd69", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-1eb94a71e284fb88", "level": "note", "message": {"text": "Legacy-named symbol `test_apply_skill_patch_adds_guardrail_with_backup` in src/agent_runtime/templates/project/scripts/test_agent_retro.py:227"}, "properties": {"repobilityId": "eed31cdad2faf560", "scanner": "scanner-primary", "fingerprint": "1eb94a71e284fb88", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-5355e4072be8d517", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/wave_dispatcher.py:498"}, "properties": {"repobilityId": "d79365a8e6c16dec", "scanner": "scanner-primary", "fingerprint": "5355e4072be8d517", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-dec2be6d9b542be0", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/query_tasks.py:175"}, "properties": {"repobilityId": "30454019b93b7645", "scanner": "scanner-primary", "fingerprint": "dec2be6d9b542be0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-74c2bc528ed1dbae", "level": "note", "message": {"text": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/check_agent_docs.py:86"}, "properties": {"repobilityId": "9a8d7add68f5b77a", "scanner": "scanner-primary", "fingerprint": "74c2bc528ed1dbae", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3f73aeb23e73d436", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/check_agent_docs.py:1061"}, "properties": {"repobilityId": "e365e740d87125aa", "scanner": "scanner-primary", "fingerprint": "3f73aeb23e73d436", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f71f12e55484a094", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/taskset_dispatcher.py:240"}, "properties": {"repobilityId": "a655009ee87d2091", "scanner": "scanner-primary", "fingerprint": "f71f12e55484a094", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-7dbeeacb779e3796", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/agent_runtime/templates/project/scripts/owner_governance_gate.py:54"}, "properties": {"repobilityId": "838cd58ced37ba2f", "scanner": "scanner-primary", "fingerprint": "7dbeeacb779e3796", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f8067acc917851a4", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/auto_runner.py:253"}, "properties": {"repobilityId": "721d88d7e29b0a42", "scanner": "scanner-primary", "fingerprint": "f8067acc917851a4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3c715bcbe9d38ee6", "level": "note", "message": {"text": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/codex_subagent_bridge.py:6"}, "properties": {"repobilityId": "e5e553159ad728e7", "scanner": "scanner-primary", "fingerprint": "3c715bcbe9d38ee6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-00fb36aa3c8231a7", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/backlog_board.py:216"}, "properties": {"repobilityId": "9e1407c4a6bd0a87", "scanner": "scanner-primary", "fingerprint": "00fb36aa3c8231a7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-72ce33d004a98b4a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 src/agent_runtime/templates/project/scripts/stop_hook_owner_governance.py:31"}, "properties": {"repobilityId": "2052eba9c7412a8c", "scanner": "scanner-primary", "fingerprint": "72ce33d004a98b4a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-549c2a63bfc24fbd", "level": "note", "message": {"text": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/test_codex_subagent_bridge.py:28"}, "properties": {"repobilityId": "ff9f05905704ab6f", "scanner": "scanner-primary", "fingerprint": "549c2a63bfc24fbd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f086783f846de182", "level": "note", "message": {"text": "Legacy-named symbol `multi_agent_v1` in src/agent_runtime/templates/project/scripts/providers/codex.py:7"}, "properties": {"repobilityId": "753a46838b78483c", "scanner": "scanner-primary", "fingerprint": "f086783f846de182", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c8fe00105227ec8d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/agent_runtime/templates/project/scripts/providers/claude.py:52"}, "properties": {"repobilityId": "6812dad326c04185", "scanner": "scanner-primary", "fingerprint": "c8fe00105227ec8d", "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": "b2e2f6583d604237", "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": "2f36ef59a04d04e8", "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": "7f12967d0d5012fb", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-0027e313ade46c8f", "level": "note", "message": {"text": "Near-duplicate function bodies in 7 places"}, "properties": {"repobilityId": "4f2a3db9be5ba7b1", "scanner": "scanner-primary", "fingerprint": "0027e313ade46c8f", "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": "73059aa44f60cfdf", "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": "f9bc98b1b97a1175", "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": "93c69e79661a6394", "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": "77eae34fb79e0cdb", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "1f698f51415e7425", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "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": "6921999573a0ba70", "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": "31cf1ac06553d850", "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": "8512d9f1c7ad2300", "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": "9660a2d1c988867a", "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": "4dcb774fd6f9086d", "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": "5cc9a00dd785e8a6", "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": "1638d9bb94e91ead", "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": "2dfd689822f8fa45", "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": "5b27bc990316f64f", "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": "7d4fb9abffcb8975", "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": "5a3de7e7aa645da1", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}