{"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-7ac27feb83827753", "name": "Possibly dead Python function: case_2d", "shortDescription": {"text": "Possibly dead Python function: case_2d"}, "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-278e724222d9282e", "name": "Possibly dead Python function: fn", "shortDescription": {"text": "Possibly dead Python function: fn"}, "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-45b41e4522dcadbc", "name": "Possibly dead Python function: case_3d", "shortDescription": {"text": "Possibly dead Python function: case_3d"}, "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-e24d8555830a87dd", "name": "Possibly dead Python function: total_loss", "shortDescription": {"text": "Possibly dead Python function: total_loss"}, "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-712fc1e47d1e47fb", "name": "Possibly dead Python function: one_direction", "shortDescription": {"text": "Possibly dead Python function: one_direction"}, "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-86682a19714d6f8f", "name": "Possibly dead Python function: one_theta", "shortDescription": {"text": "Possibly dead Python function: one_theta"}, "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-bf0dd7fde0ddffb0", "name": "Possibly dead Python function: field_objective", "shortDescription": {"text": "Possibly dead Python function: field_objective"}, "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-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-47d7f2836debd0c2", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/ui.ts:104", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/ui.ts:104"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5f5424fe5b721606", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/main.ts:36", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/main.ts:36"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2479e499ac9cb42d", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/S11View.ts:20", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/S11View.ts:20"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e27ce9871c7c2c7b", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/Antenna3DView.ts:98", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/Antenna3DView.ts:98"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d878fa2ff365e8c9", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/OptimizationView.ts:88", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/OptimizationView.ts:88"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-02706c0e79210e23", "name": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/LiveFdtdView.ts:61", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/LiveFdtdView.ts:61"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "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-e4f658c0c00de0d4", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/deploy-pages@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-448d8837178ae57a", "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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 126 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-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-493dcf9c1e9d800f", "name": "Legacy-named symbol `test_recommended_env_returns_fresh_copy` in tests/test_platform.py:76", "shortDescription": {"text": "Legacy-named symbol `test_recommended_env_returns_fresh_copy` in tests/test_platform.py:76"}, "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-8e3469ee1e14e01d", "name": "Commented-code block (5 lines) in tests/test_platform.py:24", "shortDescription": {"text": "Commented-code block (5 lines) in tests/test_platform.py:24"}, "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-cc707a5e1ae20340", "name": "Commented-code block (6 lines) in tests/test_native.py:44", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_native.py:44"}, "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-1e5c4dfbbe547d45", "name": "Commented-code block (7 lines) in tests/test_topopt3d.py:107", "shortDescription": {"text": "Commented-code block (7 lines) in tests/test_topopt3d.py:107"}, "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-48ca24e1f1559303", "name": "Commented-code block (6 lines) in tests/test_native3d.py:47", "shortDescription": {"text": "Commented-code block (6 lines) in tests/test_native3d.py:47"}, "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-1d4c57450a432940", "name": "Commented-code block (8 lines) in benchmarks/openems_refs/generate_patch_refs.py:163", "shortDescription": {"text": "Commented-code block (8 lines) in benchmarks/openems_refs/generate_patch_refs.py:163"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-dbad00093459b6da", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/wasm-kernel/pkg/gradenna_wasm.js:248", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/wasm-kernel/pkg/gradenna_wasm.js:248"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-e803c99a82643ec1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 web/app/src/views/Antenna3DView.ts:219", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/app/src/views/Antenna3DView.ts:219"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f3b99ac916bdba75", "name": "Commented-code block (5 lines) in src/gradenna/native3d.py:430", "shortDescription": {"text": "Commented-code block (5 lines) in src/gradenna/native3d.py:430"}, "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-f32c6602b0e5f640", "name": "Commented-code block (7 lines) in src/gradenna/freq_adjoint.py:475", "shortDescription": {"text": "Commented-code block (7 lines) in src/gradenna/freq_adjoint.py:475"}, "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/export_viz.py:objective, examples/optimize_2d_antenna.py:objective\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-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:\nexamples/optimize_directivity.py:simulate_design, examples/optimize_multiband.py:simulate_design, examples/optimize_2d_antenna.py:simulate_design\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/18688"}, "properties": {"repository": "s-hosomi/gradenna", "repoUrl": "https://github.com/s-hosomi/gradenna", "branch": "main"}, "results": [{"ruleId": "scanner-7ac27feb83827753", "level": "note", "message": {"text": "Possibly dead Python function: case_2d"}, "properties": {"repobilityId": "1e3b022a480811ed", "scanner": "scanner-primary", "fingerprint": "7ac27feb83827753", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/benchmark.py:108"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-278e724222d9282e", "level": "note", "message": {"text": "Possibly dead Python function: fn"}, "properties": {"repobilityId": "4c8478d06c1d90af", "scanner": "scanner-primary", "fingerprint": "278e724222d9282e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/benchmark.py:160"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-45b41e4522dcadbc", "level": "note", "message": {"text": "Possibly dead Python function: case_3d"}, "properties": {"repobilityId": "5e468e82d5bf05cf", "scanner": "scanner-primary", "fingerprint": "45b41e4522dcadbc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/benchmark.py:137"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e24d8555830a87dd", "level": "note", "message": {"text": "Possibly dead Python function: total_loss"}, "properties": {"repobilityId": "952afd870c662f78", "scanner": "scanner-primary", "fingerprint": "e24d8555830a87dd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/gradenna/topopt.py:281"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-712fc1e47d1e47fb", "level": "note", "message": {"text": "Possibly dead Python function: one_direction"}, "properties": {"repobilityId": "8e057dbcb557b12b", "scanner": "scanner-primary", "fingerprint": "712fc1e47d1e47fb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/gradenna/ntff.py:406"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-86682a19714d6f8f", "level": "note", "message": {"text": "Possibly dead Python function: one_theta"}, "properties": {"repobilityId": "55690a3c09548845", "scanner": "scanner-primary", "fingerprint": "86682a19714d6f8f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/gradenna/ntff.py:422"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bf0dd7fde0ddffb0", "level": "note", "message": {"text": "Possibly dead Python function: field_objective"}, "properties": {"repobilityId": "f34d9af2fe9500e7", "scanner": "scanner-primary", "fingerprint": "bf0dd7fde0ddffb0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/gradenna/freq_adjoint.py:1000"}, "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-47d7f2836debd0c2", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/ui.ts:104"}, "properties": {"repobilityId": "4e866bdc0276aa4c", "scanner": "scanner-primary", "fingerprint": "47d7f2836debd0c2", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/app/src/ui.ts"}, "region": {"startLine": 104}}}]}, {"ruleId": "scanner-5f5424fe5b721606", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/main.ts:36"}, "properties": {"repobilityId": "f738ddaec3a8575d", "scanner": "scanner-primary", "fingerprint": "5f5424fe5b721606", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/app/src/main.ts"}, "region": {"startLine": 36}}}]}, {"ruleId": "scanner-2479e499ac9cb42d", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/S11View.ts:20"}, "properties": {"repobilityId": "68b683594715a818", "scanner": "scanner-primary", "fingerprint": "2479e499ac9cb42d", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/app/src/views/S11View.ts"}, "region": {"startLine": 20}}}]}, {"ruleId": "scanner-e27ce9871c7c2c7b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/Antenna3DView.ts:98"}, "properties": {"repobilityId": "3087def48546867a", "scanner": "scanner-primary", "fingerprint": "e27ce9871c7c2c7b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/app/src/views/Antenna3DView.ts"}, "region": {"startLine": 98}}}]}, {"ruleId": "scanner-d878fa2ff365e8c9", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/OptimizationView.ts:88"}, "properties": {"repobilityId": "9e650abf0904a176", "scanner": "scanner-primary", "fingerprint": "d878fa2ff365e8c9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/app/src/views/OptimizationView.ts"}, "region": {"startLine": 88}}}]}, {"ruleId": "scanner-02706c0e79210e23", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in web/app/src/views/LiveFdtdView.ts:61"}, "properties": {"repobilityId": "31b619df394098fb", "scanner": "scanner-primary", "fingerprint": "02706c0e79210e23", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "web/app/src/views/LiveFdtdView.ts"}, "region": {"startLine": 61}}}]}, {"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-e4f658c0c00de0d4", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "25e1fa3783e7cb32", "scanner": "scanner-primary", "fingerprint": "e4f658c0c00de0d4", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pages.yml"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-448d8837178ae57a", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "13af6451e15656fc", "scanner": "scanner-primary", "fingerprint": "448d8837178ae57a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/pages.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "40321c1095990c27", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "97fafd576f240f61", "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": "423ccce8aff03769", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-493dcf9c1e9d800f", "level": "note", "message": {"text": "Legacy-named symbol `test_recommended_env_returns_fresh_copy` in tests/test_platform.py:76"}, "properties": {"repobilityId": "d2f368202aba72fa", "scanner": "scanner-primary", "fingerprint": "493dcf9c1e9d800f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8e3469ee1e14e01d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/test_platform.py:24"}, "properties": {"repobilityId": "4999b0a026f3c377", "scanner": "scanner-primary", "fingerprint": "8e3469ee1e14e01d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc707a5e1ae20340", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_native.py:44"}, "properties": {"repobilityId": "7f1954873ca1b38b", "scanner": "scanner-primary", "fingerprint": "cc707a5e1ae20340", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1e5c4dfbbe547d45", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/test_topopt3d.py:107"}, "properties": {"repobilityId": "44bdc46f74126350", "scanner": "scanner-primary", "fingerprint": "1e5c4dfbbe547d45", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-48ca24e1f1559303", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/test_native3d.py:47"}, "properties": {"repobilityId": "7438c68a8d20f26a", "scanner": "scanner-primary", "fingerprint": "48ca24e1f1559303", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1d4c57450a432940", "level": "none", "message": {"text": "Commented-code block (8 lines) in benchmarks/openems_refs/generate_patch_refs.py:163"}, "properties": {"repobilityId": "50f73ead0158e129", "scanner": "scanner-primary", "fingerprint": "1d4c57450a432940", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-dbad00093459b6da", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/wasm-kernel/pkg/gradenna_wasm.js:248"}, "properties": {"repobilityId": "db9fb03b03ea7564", "scanner": "scanner-primary", "fingerprint": "dbad00093459b6da", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-e803c99a82643ec1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 web/app/src/views/Antenna3DView.ts:219"}, "properties": {"repobilityId": "6f173a16b7c60d91", "scanner": "scanner-primary", "fingerprint": "e803c99a82643ec1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f3b99ac916bdba75", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/gradenna/native3d.py:430"}, "properties": {"repobilityId": "22f042346cc56e5d", "scanner": "scanner-primary", "fingerprint": "f3b99ac916bdba75", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f32c6602b0e5f640", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/gradenna/freq_adjoint.py:475"}, "properties": {"repobilityId": "f7d3465e8e00731d", "scanner": "scanner-primary", "fingerprint": "f32c6602b0e5f640", "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": "aec862fe207f0d9b", "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": "e2f4712e954e72f0", "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": "53ad87ececf4ce5d", "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": "90c721ddc458298c", "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": "f35f4c288bd141bd", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "bcbb72764ed5f242", "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": "8e1558b89724a31c", "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": "adbce3d6ee7af4b4", "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": "2078d5e64a7987b3", "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": "28ebad9b60714ea4", "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": "b719e17ad1ee1c2d", "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": "e01c50e0fc4a63fe", "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": "b8dab03dadae7dae", "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": "daa3a5048fd66e67", "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": "2c3ee3056d87149e", "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": "45da72a8bbf23cdb", "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": "b50d05dadcab9240", "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": "7888994d4afeba71", "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": "a5590afb4e99cec3", "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": "af910b2ce9dadf17", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}