{"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-100297fd51204497", "name": "Possibly dead Python function: header_status", "shortDescription": {"text": "Possibly dead Python function: header_status"}, "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-152055f2425354bc", "name": "Possibly dead Python function: risk_panel", "shortDescription": {"text": "Possibly dead Python function: risk_panel"}, "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-009634e367f226f9", "name": "Possibly dead Python function: account_panel", "shortDescription": {"text": "Possibly dead Python function: account_panel"}, "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-ae807027c82ef4fe", "name": "Possibly dead Python function: regime_panel", "shortDescription": {"text": "Possibly dead Python function: regime_panel"}, "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-4b0bb7955e68a2bb", "name": "Possibly dead Python function: performance_panel", "shortDescription": {"text": "Possibly dead Python function: performance_panel"}, "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-7123f3445fb82430", "name": "Possibly dead Python function: null_hierarchy", "shortDescription": {"text": "Possibly dead Python function: null_hierarchy"}, "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-ee052029f2c1219f", "name": "Possibly dead Python function: attribution_panel", "shortDescription": {"text": "Possibly dead Python function: attribution_panel"}, "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-271064c409f8e8bf", "name": "Possibly dead Python function: funnel_panel", "shortDescription": {"text": "Possibly dead Python function: funnel_panel"}, "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-61720bb8424defb9", "name": "Possibly dead Python function: cap_binding_flow", "shortDescription": {"text": "Possibly dead Python function: cap_binding_flow"}, "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-ee6fa2048b9c44c0", "name": "Possibly dead Python function: market_context", "shortDescription": {"text": "Possibly dead Python function: market_context"}, "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-2573de732d1bc05a", "name": "Possibly dead Python function: sentinels_panel", "shortDescription": {"text": "Possibly dead Python function: sentinels_panel"}, "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-5c067b2ebfffac99", "name": "Possibly dead Python function: positions_panel", "shortDescription": {"text": "Possibly dead Python function: positions_panel"}, "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-08cf692038b2a6d7", "name": "Possibly dead Python function: council_panel", "shortDescription": {"text": "Possibly dead Python function: council_panel"}, "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-943bda96a52e47f5", "name": "Possibly dead Python function: latest_run_deliberation", "shortDescription": {"text": "Possibly dead Python function: latest_run_deliberation"}, "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-1c1f933ff7716bf4", "name": "Possibly dead Python function: curation_panel", "shortDescription": {"text": "Possibly dead Python function: curation_panel"}, "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-a4a348716c57815f", "name": "Possibly dead Python function: data_gathered_panel", "shortDescription": {"text": "Possibly dead Python function: data_gathered_panel"}, "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-0e9bd6ced2f2b25b", "name": "Possibly dead Python function: t4_scoreboard", "shortDescription": {"text": "Possibly dead Python function: t4_scoreboard"}, "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-71236e2b5ddd6d6f", "name": "Possibly dead Python function: gate_dualread_report", "shortDescription": {"text": "Possibly dead Python function: gate_dualread_report"}, "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-26cca45c9065c79e", "name": "Possibly dead Python function: revalidate_active", "shortDescription": {"text": "Possibly dead Python function: revalidate_active"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-03f2ff3e3445dda4", "name": "Possibly dead Python function: summarize_put_tradability", "shortDescription": {"text": "Possibly dead Python function: summarize_put_tradability"}, "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-6779e932be11cae0", "name": "Possibly dead Python function: grounding_attribution_report", "shortDescription": {"text": "Possibly dead Python function: grounding_attribution_report"}, "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-17a24655c5e718c8", "name": "Possibly dead Python function: record_signals", "shortDescription": {"text": "Possibly dead Python function: record_signals"}, "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-733390f7e48deaa7", "name": "Possibly dead Python function: record_council_proposal", "shortDescription": {"text": "Possibly dead Python function: record_council_proposal"}, "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-d744c89847e35b26", "name": "Possibly dead Python function: record_agent_output", "shortDescription": {"text": "Possibly dead Python function: record_agent_output"}, "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-d970e51497e6c050", "name": "Possibly dead Python function: council_proposal_for_position", "shortDescription": {"text": "Possibly dead Python function: council_proposal_for_position"}, "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-a08518b4eba375f9", "name": "Possibly dead Python function: sentinel_by_id", "shortDescription": {"text": "Possibly dead Python function: sentinel_by_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-e96888b53e312f33", "name": "Possibly dead Python function: members", "shortDescription": {"text": "Possibly dead Python function: members"}, "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-fff89b088d6d7588", "name": "Privileged port 8 in use", "shortDescription": {"text": "Privileged port 8 in use"}, "fullDescription": {"text": "Port 8 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-df38d31b05d57262", "name": "Privileged port 15 in use", "shortDescription": {"text": "Privileged port 15 in use"}, "fullDescription": {"text": "Port 15 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-f73517d2c87694ad", "name": "Privileged port 45 in use", "shortDescription": {"text": "Privileged port 45 in use"}, "fullDescription": {"text": "Port 45 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-efa56881b47cbd9b", "name": "Very large file: dashboard_data.py (970 lines)", "shortDescription": {"text": "Very large file: dashboard_data.py (970 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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "1 test file(s) for 32 source file(s) (ratio 0.03). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "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, ci. 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-bea357a6497a2d5d", "name": "Agent authority lacks a verifier contract: CLAUDE.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: 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-d01ab6a439944520", "name": "Commented-code block (5 lines) in paper_loop.py:127", "shortDescription": {"text": "Commented-code block (5 lines) in paper_loop.py:127"}, "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-427eda4eff037c0d", "name": "Commented-code block (5 lines) in dashboard_data.py:48", "shortDescription": {"text": "Commented-code block (5 lines) in dashboard_data.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-080d4100eb172bc3", "name": "Legacy-named symbol `fundamentals_v1` in orchestrator.py:145", "shortDescription": {"text": "Legacy-named symbol `fundamentals_v1` in orchestrator.py:145"}, "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-aa355c8c663eef88", "name": "Commented-code block (5 lines) in orchestrator.py:575", "shortDescription": {"text": "Commented-code block (5 lines) in orchestrator.py:575"}, "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-64200a92ae20cc80", "name": "Commented-code block (5 lines) in state.py:451", "shortDescription": {"text": "Commented-code block (5 lines) in state.py:451"}, "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-49f32b7a0af148a2", "name": "Commented-code block (5 lines) in config_loader.py:80", "shortDescription": {"text": "Commented-code block (5 lines) in config_loader.py:80"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-3482f7e5dd70cd1a", "name": "6 env vars used in code but missing from .env.example", "shortDescription": {"text": "6 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `DRAMATIC_CACHE_DIR`, `DRAMATIC_DB`, `DRAMATIC_SKIP_DOTENV`, `KILL`, `OPENAI_API_KEY`, `PERPLEXITY_API_KEY`. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\npaper_loop.py:run_paper_cycle, fixed_basket.py:run_fixed_basket_3a_cycle, shadow_book.py:run_shadow_cycle\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:\nconvexity_data.py:option_mid, convexity_data.py:option_mid, convexity_data.py:option_mid, convexity_data.py:option_mid\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nstate.py:record_convexity_eval, state.py:record_council_proposal\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/29150"}, "properties": {"repository": "rozavala/dramatic_options", "repoUrl": "https://github.com/rozavala/dramatic_options", "branch": "main"}, "results": [{"ruleId": "scanner-100297fd51204497", "level": "note", "message": {"text": "Possibly dead Python function: header_status"}, "properties": {"repobilityId": "8d77de8042f0edd9", "scanner": "scanner-primary", "fingerprint": "100297fd51204497", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:250"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-152055f2425354bc", "level": "note", "message": {"text": "Possibly dead Python function: risk_panel"}, "properties": {"repobilityId": "e9f78f488c1888a9", "scanner": "scanner-primary", "fingerprint": "152055f2425354bc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:305"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-009634e367f226f9", "level": "note", "message": {"text": "Possibly dead Python function: account_panel"}, "properties": {"repobilityId": "84e5d2426244bf40", "scanner": "scanner-primary", "fingerprint": "009634e367f226f9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:343"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ae807027c82ef4fe", "level": "note", "message": {"text": "Possibly dead Python function: regime_panel"}, "properties": {"repobilityId": "d683edad5133f4e4", "scanner": "scanner-primary", "fingerprint": "ae807027c82ef4fe", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:384"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4b0bb7955e68a2bb", "level": "note", "message": {"text": "Possibly dead Python function: performance_panel"}, "properties": {"repobilityId": "c111fea40c32434e", "scanner": "scanner-primary", "fingerprint": "4b0bb7955e68a2bb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:497"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7123f3445fb82430", "level": "note", "message": {"text": "Possibly dead Python function: null_hierarchy"}, "properties": {"repobilityId": "11bf7e8671f253d3", "scanner": "scanner-primary", "fingerprint": "7123f3445fb82430", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:520"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ee052029f2c1219f", "level": "note", "message": {"text": "Possibly dead Python function: attribution_panel"}, "properties": {"repobilityId": "714f927467137ae8", "scanner": "scanner-primary", "fingerprint": "ee052029f2c1219f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:544"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-271064c409f8e8bf", "level": "note", "message": {"text": "Possibly dead Python function: funnel_panel"}, "properties": {"repobilityId": "d7a0e0265f8e3ae2", "scanner": "scanner-primary", "fingerprint": "271064c409f8e8bf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:604"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-61720bb8424defb9", "level": "note", "message": {"text": "Possibly dead Python function: cap_binding_flow"}, "properties": {"repobilityId": "3667d7fae7fe145e", "scanner": "scanner-primary", "fingerprint": "61720bb8424defb9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:654"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ee6fa2048b9c44c0", "level": "note", "message": {"text": "Possibly dead Python function: market_context"}, "properties": {"repobilityId": "14a643b27de49119", "scanner": "scanner-primary", "fingerprint": "ee6fa2048b9c44c0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:675"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2573de732d1bc05a", "level": "note", "message": {"text": "Possibly dead Python function: sentinels_panel"}, "properties": {"repobilityId": "1dc6437e150adc46", "scanner": "scanner-primary", "fingerprint": "2573de732d1bc05a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:703"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5c067b2ebfffac99", "level": "note", "message": {"text": "Possibly dead Python function: positions_panel"}, "properties": {"repobilityId": "004f5aaa5d706aa9", "scanner": "scanner-primary", "fingerprint": "5c067b2ebfffac99", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:717"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-08cf692038b2a6d7", "level": "note", "message": {"text": "Possibly dead Python function: council_panel"}, "properties": {"repobilityId": "071c79619c446dd8", "scanner": "scanner-primary", "fingerprint": "08cf692038b2a6d7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:781"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-943bda96a52e47f5", "level": "note", "message": {"text": "Possibly dead Python function: latest_run_deliberation"}, "properties": {"repobilityId": "1fb45fe6ceefa1bd", "scanner": "scanner-primary", "fingerprint": "943bda96a52e47f5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:792"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1c1f933ff7716bf4", "level": "note", "message": {"text": "Possibly dead Python function: curation_panel"}, "properties": {"repobilityId": "ad13e4a64570c549", "scanner": "scanner-primary", "fingerprint": "1c1f933ff7716bf4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:812"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a4a348716c57815f", "level": "note", "message": {"text": "Possibly dead Python function: data_gathered_panel"}, "properties": {"repobilityId": "969963a7a347869a", "scanner": "scanner-primary", "fingerprint": "a4a348716c57815f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:827"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0e9bd6ced2f2b25b", "level": "note", "message": {"text": "Possibly dead Python function: t4_scoreboard"}, "properties": {"repobilityId": "d907e62027b553f2", "scanner": "scanner-primary", "fingerprint": "0e9bd6ced2f2b25b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:847"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-71236e2b5ddd6d6f", "level": "note", "message": {"text": "Possibly dead Python function: gate_dualread_report"}, "properties": {"repobilityId": "8c34b03c93f2b4bf", "scanner": "scanner-primary", "fingerprint": "71236e2b5ddd6d6f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "dashboard_data.py:895"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-26cca45c9065c79e", "level": "note", "message": {"text": "Possibly dead Python function: revalidate_active"}, "properties": {"repobilityId": "a6da7716398f608f", "scanner": "scanner-primary", "fingerprint": "26cca45c9065c79e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sentinels.py:140"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-03f2ff3e3445dda4", "level": "note", "message": {"text": "Possibly dead Python function: summarize_put_tradability"}, "properties": {"repobilityId": "02266676e439d5eb", "scanner": "scanner-primary", "fingerprint": "03f2ff3e3445dda4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "options_tradability.py:66"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6779e932be11cae0", "level": "note", "message": {"text": "Possibly dead Python function: grounding_attribution_report"}, "properties": {"repobilityId": "7dd676627b268815", "scanner": "scanner-primary", "fingerprint": "6779e932be11cae0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "grounding_attribution.py:103"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-17a24655c5e718c8", "level": "note", "message": {"text": "Possibly dead Python function: record_signals"}, "properties": {"repobilityId": "5774cb9aff6a27f1", "scanner": "scanner-primary", "fingerprint": "17a24655c5e718c8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "state.py:78"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-733390f7e48deaa7", "level": "note", "message": {"text": "Possibly dead Python function: record_council_proposal"}, "properties": {"repobilityId": "0b9b1712e33953b1", "scanner": "scanner-primary", "fingerprint": "733390f7e48deaa7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "state.py:741"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d744c89847e35b26", "level": "note", "message": {"text": "Possibly dead Python function: record_agent_output"}, "properties": {"repobilityId": "161f92bc1d07607d", "scanner": "scanner-primary", "fingerprint": "d744c89847e35b26", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "state.py:784"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d970e51497e6c050", "level": "note", "message": {"text": "Possibly dead Python function: council_proposal_for_position"}, "properties": {"repobilityId": "c598a77350f125bf", "scanner": "scanner-primary", "fingerprint": "d970e51497e6c050", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "state.py:893"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a08518b4eba375f9", "level": "note", "message": {"text": "Possibly dead Python function: sentinel_by_id"}, "properties": {"repobilityId": "078d2a79ecf09bb6", "scanner": "scanner-primary", "fingerprint": "a08518b4eba375f9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "state.py:1073"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e96888b53e312f33", "level": "note", "message": {"text": "Possibly dead Python function: members"}, "properties": {"repobilityId": "b2f96c2109716a36", "scanner": "scanner-primary", "fingerprint": "e96888b53e312f33", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "universe.py:56"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fff89b088d6d7588", "level": "warning", "message": {"text": "Privileged port 8 in use"}, "properties": {"repobilityId": "8e03f5632e703751", "scanner": "scanner-primary", "fingerprint": "fff89b088d6d7588", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "deploy.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-df38d31b05d57262", "level": "warning", "message": {"text": "Privileged port 15 in use"}, "properties": {"repobilityId": "3340f9a170f285cd", "scanner": "scanner-primary", "fingerprint": "df38d31b05d57262", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "deploy.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f73517d2c87694ad", "level": "warning", "message": {"text": "Privileged port 45 in use"}, "properties": {"repobilityId": "73cf64d92574d41c", "scanner": "scanner-primary", "fingerprint": "f73517d2c87694ad", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "deploy.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-efa56881b47cbd9b", "level": "note", "message": {"text": "Very large file: dashboard_data.py (970 lines)"}, "properties": {"repobilityId": "e509586aa91c4fef", "scanner": "scanner-primary", "fingerprint": "efa56881b47cbd9b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "25e6aefa90bfdb79", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "1423bb5e6efb6662", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "615def88eb7bc93a", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "64f25c5d83a83f0c", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-bea357a6497a2d5d", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: CLAUDE.md"}, "properties": {"repobilityId": "aae72df3934829ac", "scanner": "scanner-primary", "fingerprint": "bea357a6497a2d5d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "CLAUDE.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d01ab6a439944520", "level": "none", "message": {"text": "Commented-code block (5 lines) in paper_loop.py:127"}, "properties": {"repobilityId": "559d220e2fa714b2", "scanner": "scanner-primary", "fingerprint": "d01ab6a439944520", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-427eda4eff037c0d", "level": "none", "message": {"text": "Commented-code block (5 lines) in dashboard_data.py:48"}, "properties": {"repobilityId": "fcafbaf9cd7741de", "scanner": "scanner-primary", "fingerprint": "427eda4eff037c0d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-080d4100eb172bc3", "level": "note", "message": {"text": "Legacy-named symbol `fundamentals_v1` in orchestrator.py:145"}, "properties": {"repobilityId": "8fe61362d0e7bf26", "scanner": "scanner-primary", "fingerprint": "080d4100eb172bc3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-aa355c8c663eef88", "level": "none", "message": {"text": "Commented-code block (5 lines) in orchestrator.py:575"}, "properties": {"repobilityId": "080dd800a4374ef2", "scanner": "scanner-primary", "fingerprint": "aa355c8c663eef88", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-64200a92ae20cc80", "level": "none", "message": {"text": "Commented-code block (5 lines) in state.py:451"}, "properties": {"repobilityId": "7788c6137742d973", "scanner": "scanner-primary", "fingerprint": "64200a92ae20cc80", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-49f32b7a0af148a2", "level": "none", "message": {"text": "Commented-code block (5 lines) in config_loader.py:80"}, "properties": {"repobilityId": "e4e9a6027d475727", "scanner": "scanner-primary", "fingerprint": "49f32b7a0af148a2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3482f7e5dd70cd1a", "level": "note", "message": {"text": "6 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "1da70f25aa46f6e9", "scanner": "scanner-primary", "fingerprint": "3482f7e5dd70cd1a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "c35a0a4700f3ae75", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "d9370e2ea34c605b", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "9be9a013a504e25e", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "a9d00fcb4a5a16eb", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "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": "eabdb95dc4525034", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "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": "3b981337c5ef4264", "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": "fd7e3ec9cebab400", "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": "31e2f819cde6057f", "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": "62d006c0d3f317df", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "9cd69070ef5fad89", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "824a952dc7a1e2f4", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "ce6b3aaea51dab96", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "3ad18f8658ce1032", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}