{"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-9bcd78b2be179695", "name": "Possibly dead Python function: n_logged", "shortDescription": {"text": "Possibly dead Python function: n_logged"}, "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-135d1c9010b45599", "name": "Possibly dead Python function: plot_3d", "shortDescription": {"text": "Possibly dead Python function: plot_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-5d64e4037e6b4d92", "name": "Possibly dead Python function: plot_image_plane", "shortDescription": {"text": "Possibly dead Python function: plot_image_plane"}, "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-0f4a2dcef72790f3", "name": "Possibly dead Python function: offline_filter", "shortDescription": {"text": "Possibly dead Python function: offline_filter"}, "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-c485362c30d096b6", "name": "Possibly dead Python function: runtime_filter", "shortDescription": {"text": "Possibly dead Python function: runtime_filter"}, "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-6e69b77afaf86eeb", "name": "Possibly dead Python function: channel_r2", "shortDescription": {"text": "Possibly dead Python function: channel_r2"}, "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-7b2c0305a4c53578", "name": "Possibly dead Python function: pose_callback", "shortDescription": {"text": "Possibly dead Python function: pose_callback"}, "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-a27f22fb39277a4f", "name": "Possibly dead Python function: image_callback", "shortDescription": {"text": "Possibly dead Python function: image_callback"}, "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-22c8e282f0399b03", "name": "Possibly dead Python function: clock_callback", "shortDescription": {"text": "Possibly dead Python function: clock_callback"}, "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-bcafaf8317b417f8", "name": "Possibly dead Python function: checkTargetVisibility", "shortDescription": {"text": "Possibly dead Python function: checkTargetVisibility"}, "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-a1f09022bc44c252", "name": "Possibly dead Python function: enableRecording", "shortDescription": {"text": "Possibly dead Python function: enableRecording"}, "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-c71dde4d362522c5", "name": "Possibly dead Python function: getAccIMU", "shortDescription": {"text": "Possibly dead Python function: getAccIMU"}, "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-a2d1460f0010a4f5", "name": "Possibly dead Python function: RK4", "shortDescription": {"text": "Possibly dead Python function: RK4"}, "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-3986211d27795271", "name": "Possibly dead Python function: metrics", "shortDescription": {"text": "Possibly dead Python function: metrics"}, "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-a252f0fc93281452", "name": "Possibly dead Python function: getTargetVel", "shortDescription": {"text": "Possibly dead Python function: getTargetVel"}, "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-53438ceec2d42add", "name": "Possibly dead Python function: getRingFlowAngVel", "shortDescription": {"text": "Possibly dead Python function: getRingFlowAngVel"}, "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-822e86d2277d5185", "name": "Insecure pattern 'eval_used' in PX4_Gazebo/tools/validate_output_flow.py:38", "shortDescription": {"text": "Insecure pattern 'eval_used' in PX4_Gazebo/tools/validate_output_flow.py:38"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-fc744e36e5d503f4", "name": "Insecure pattern 'eval_used' in PX4_Gazebo/tools/derive_ring_cal.py:40", "shortDescription": {"text": "Insecure pattern 'eval_used' in PX4_Gazebo/tools/derive_ring_cal.py:40"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "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-bd8aaa90427baa67", "name": "Very large file: PX4_Gazebo/src/controller.py (1531 lines)", "shortDescription": {"text": "Very large file: PX4_Gazebo/src/controller.py (1531 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-306f6db1e80855ad", "name": "Very large file: PX4_Gazebo/src/img_data.py (1772 lines)", "shortDescription": {"text": "Very large file: PX4_Gazebo/src/img_data.py (1772 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": "2 test file(s) for 63 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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 1057 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-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-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-79b5c4d88217dc51", "name": "Commented-code block (5 lines) in scripts/make_multi_init_plots.py:588", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/make_multi_init_plots.py:588"}, "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-d095a3c2a57a5694", "name": "Commented-code block (5 lines) in scripts/make_plasmc_plots.py:90", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/make_plasmc_plots.py:90"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4ca428e02a5b6193", "name": "Commented-code block (7 lines) in scripts/make_comparison_multi_speed_plots.py:64", "shortDescription": {"text": "Commented-code block (7 lines) in scripts/make_comparison_multi_speed_plots.py:64"}, "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-cf1ba7678cfc6e01", "name": "Commented-code block (5 lines) in scripts/make_comparison_plots.py:52", "shortDescription": {"text": "Commented-code block (5 lines) in scripts/make_comparison_plots.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-98cbc95d1f0dabe9", "name": "Commented-code block (9 lines) in PX4_Gazebo/apps/record_output_calibration.py:42", "shortDescription": {"text": "Commented-code block (9 lines) in PX4_Gazebo/apps/record_output_calibration.py:42"}, "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-fddf7b312c7346c5", "name": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_output_calibration.py:250", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_output_calibration.py:250"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5a2b6a4963494348", "name": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/cbf_isolation_test.py:87", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/cbf_isolation_test.py:87"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-886e7c432395c00b", "name": "Commented-code block (10 lines) in PX4_Gazebo/apps/record_input_validation.py:8", "shortDescription": {"text": "Commented-code block (10 lines) in PX4_Gazebo/apps/record_input_validation.py:8"}, "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-db2ba11fed4af53c", "name": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_input_validation.py:97", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_input_validation.py:97"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-15f74ffb43e2c787", "name": "Commented-code block (11 lines) in PX4_Gazebo/apps/landing_test.py:37", "shortDescription": {"text": "Commented-code block (11 lines) in PX4_Gazebo/apps/landing_test.py:37"}, "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-59daddf3b9298b8e", "name": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/landing_test.py:144", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/landing_test.py:144"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-14044ccb77b80859", "name": "Commented-code block (6 lines) in PX4_Gazebo/apps/record_input_calibration.py:218", "shortDescription": {"text": "Commented-code block (6 lines) in PX4_Gazebo/apps/record_input_calibration.py:218"}, "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-62d408bf7987485c", "name": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_input_calibration.py:106", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_input_calibration.py:106"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-3230905ea9dd5592", "name": "Commented-code block (5 lines) in PX4_Gazebo/apps/record_output_validation.py:7", "shortDescription": {"text": "Commented-code block (5 lines) in PX4_Gazebo/apps/record_output_validation.py:7"}, "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-3f9ce3c450ef48b6", "name": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_output_validation.py:108", "shortDescription": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_output_validation.py:108"}, "fullDescription": {"text": "Sync I/O inside an async function blocks the event loop. While `time.sleep(...)` is running, *all* other coroutines on this loop are paused \u2014 silent throughput collapse under concurrency. Use the async equivalent (`httpx.AsyncClient`, `asyncio.sleep`, `aiofiles`) or wrap with `await asyncio.to_thread(...)`."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5ed3f896f837d9ff", "name": "Commented-code block (6 lines) in PX4_Gazebo/tools/validate_cbf.py:316", "shortDescription": {"text": "Commented-code block (6 lines) in PX4_Gazebo/tools/validate_cbf.py:316"}, "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-9c5e09edcf0557ef", "name": "Commented-code block (5 lines) in PX4_Gazebo/tools/coord_descent_tune.py:96", "shortDescription": {"text": "Commented-code block (5 lines) in PX4_Gazebo/tools/coord_descent_tune.py:96"}, "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-7be977636f561f25", "name": "Commented-code block (5 lines) in PX4_Gazebo/tools/aggregate_input_calibration.py:35", "shortDescription": {"text": "Commented-code block (5 lines) in PX4_Gazebo/tools/aggregate_input_calibration.py:35"}, "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-240f717badc58894", "name": "Commented-code block (9 lines) in PX4_Gazebo/tools/make_aruco_board.py:42", "shortDescription": {"text": "Commented-code block (9 lines) in PX4_Gazebo/tools/make_aruco_board.py:42"}, "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-a7e0e73342bad6e6", "name": "Commented-code block (5 lines) in PX4_Gazebo/tools/validate_output_flow.py:42", "shortDescription": {"text": "Commented-code block (5 lines) in PX4_Gazebo/tools/validate_output_flow.py:42"}, "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-c7adb420cb1f565d", "name": "Commented-code block (5 lines) in PX4_Gazebo/tools/analyze_marker_switch.py:49", "shortDescription": {"text": "Commented-code block (5 lines) in PX4_Gazebo/tools/analyze_marker_switch.py:49"}, "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-9c22cdbf392f41c0", "name": "Commented-code block (10 lines) in PX4_Gazebo/tools/derive_board_cal.py:40", "shortDescription": {"text": "Commented-code block (10 lines) in PX4_Gazebo/tools/derive_board_cal.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-8d0f2d49c7c8f905", "name": "Commented-code block (7 lines) in PX4_Gazebo/tools/analyze_saturation_audit.py:187", "shortDescription": {"text": "Commented-code block (7 lines) in PX4_Gazebo/tools/analyze_saturation_audit.py:187"}, "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-74c020312202d81a", "name": "Legacy-named symbol `cbf_old` in PX4_Gazebo/tools/analyze_cbf_visibility.py:75", "shortDescription": {"text": "Legacy-named symbol `cbf_old` in PX4_Gazebo/tools/analyze_cbf_visibility.py:75"}, "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-ebd4474a62d0389f", "name": "Commented-code block (7 lines) in PX4_Gazebo/src/gz_subscriber.py:177", "shortDescription": {"text": "Commented-code block (7 lines) in PX4_Gazebo/src/gz_subscriber.py:177"}, "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-b44188a00fbc322d", "name": "Commented-code block (5 lines) in PX4_Gazebo/src/controller.py:4", "shortDescription": {"text": "Commented-code block (5 lines) in PX4_Gazebo/src/controller.py:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-78cbeb5dff706cc7", "name": "Commented-code block (6 lines) in PX4_Gazebo/src/flight_controller.py:1", "shortDescription": {"text": "Commented-code block (6 lines) in PX4_Gazebo/src/flight_controller.py:1"}, "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-04628a635d507493", "name": "Commented-code block (5 lines) in PX4_Gazebo/src/img_data.py:27", "shortDescription": {"text": "Commented-code block (5 lines) in PX4_Gazebo/src/img_data.py:27"}, "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/make_multi_speed_plots.py:draw_landing_corridor, scripts/make_comparison_plots.py:draw_landing_corridor\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:\nscripts/make_multi_speed_plots.py:strip, scripts/make_comparison_multi_speed_plots.py:strip, scripts/make_comparison_plots.py:strip\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/19581"}, "properties": {"repository": "Shu6hamSingha1/Soft-Precise-Landing", "repoUrl": "https://github.com/Shu6hamSingha1/Soft-Precise-Landing", "branch": "main"}, "results": [{"ruleId": "scanner-9bcd78b2be179695", "level": "note", "message": {"text": "Possibly dead Python function: n_logged"}, "properties": {"repobilityId": "04d0b4150b2596c2", "scanner": "scanner-primary", "fingerprint": "9bcd78b2be179695", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/summarize_sweep.py:11"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-135d1c9010b45599", "level": "note", "message": {"text": "Possibly dead Python function: plot_3d"}, "properties": {"repobilityId": "a3965d884da372c1", "scanner": "scanner-primary", "fingerprint": "135d1c9010b45599", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/make_multi_init_plots.py:201"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5d64e4037e6b4d92", "level": "note", "message": {"text": "Possibly dead Python function: plot_image_plane"}, "properties": {"repobilityId": "5de18137044ab5a3", "scanner": "scanner-primary", "fingerprint": "5d64e4037e6b4d92", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/make_multi_init_plots.py:259"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0f4a2dcef72790f3", "level": "note", "message": {"text": "Possibly dead Python function: offline_filter"}, "properties": {"repobilityId": "136749d36dcc60f6", "scanner": "scanner-primary", "fingerprint": "0f4a2dcef72790f3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/tools/tune_savgol.py:70"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c485362c30d096b6", "level": "note", "message": {"text": "Possibly dead Python function: runtime_filter"}, "properties": {"repobilityId": "e2936252537f732b", "scanner": "scanner-primary", "fingerprint": "c485362c30d096b6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/tools/tune_savgol.py:76"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e69b77afaf86eeb", "level": "note", "message": {"text": "Possibly dead Python function: channel_r2"}, "properties": {"repobilityId": "33bee8f1ef557449", "scanner": "scanner-primary", "fingerprint": "6e69b77afaf86eeb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/tools/validate_output_flow.py:187"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b2c0305a4c53578", "level": "note", "message": {"text": "Possibly dead Python function: pose_callback"}, "properties": {"repobilityId": "77b2a1259ab385cc", "scanner": "scanner-primary", "fingerprint": "7b2c0305a4c53578", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/src/gz_subscriber.py:82"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a27f22fb39277a4f", "level": "note", "message": {"text": "Possibly dead Python function: image_callback"}, "properties": {"repobilityId": "9a485129c777d215", "scanner": "scanner-primary", "fingerprint": "a27f22fb39277a4f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/src/gz_subscriber.py:147"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-22c8e282f0399b03", "level": "note", "message": {"text": "Possibly dead Python function: clock_callback"}, "properties": {"repobilityId": "cf8acff6892f4e48", "scanner": "scanner-primary", "fingerprint": "22c8e282f0399b03", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/src/gz_subscriber.py:266"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bcafaf8317b417f8", "level": "note", "message": {"text": "Possibly dead Python function: checkTargetVisibility"}, "properties": {"repobilityId": "6d351215b4d0ef51", "scanner": "scanner-primary", "fingerprint": "bcafaf8317b417f8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/src/controller.py:1402"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a1f09022bc44c252", "level": "note", "message": {"text": "Possibly dead Python function: enableRecording"}, "properties": {"repobilityId": "6945f5c637a80495", "scanner": "scanner-primary", "fingerprint": "a1f09022bc44c252", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/src/controller.py:1530"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c71dde4d362522c5", "level": "note", "message": {"text": "Possibly dead Python function: getAccIMU"}, "properties": {"repobilityId": "850790cdf255c8d1", "scanner": "scanner-primary", "fingerprint": "c71dde4d362522c5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/src/flight_controller.py:437"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a2d1460f0010a4f5", "level": "note", "message": {"text": "Possibly dead Python function: RK4"}, "properties": {"repobilityId": "c790ee912a62557d", "scanner": "scanner-primary", "fingerprint": "a2d1460f0010a4f5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/src/numerical_methods.py:14"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3986211d27795271", "level": "note", "message": {"text": "Possibly dead Python function: metrics"}, "properties": {"repobilityId": "06296242867989c9", "scanner": "scanner-primary", "fingerprint": "3986211d27795271", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/src/img_data.py:676"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a252f0fc93281452", "level": "note", "message": {"text": "Possibly dead Python function: getTargetVel"}, "properties": {"repobilityId": "1415ca66018cf5b9", "scanner": "scanner-primary", "fingerprint": "a252f0fc93281452", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/src/img_data.py:1352"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-53438ceec2d42add", "level": "note", "message": {"text": "Possibly dead Python function: getRingFlowAngVel"}, "properties": {"repobilityId": "fef1f005145b6822", "scanner": "scanner-primary", "fingerprint": "53438ceec2d42add", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/src/img_data.py:1707"}, "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-822e86d2277d5185", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in PX4_Gazebo/tools/validate_output_flow.py:38"}, "properties": {"repobilityId": "a9e9bfbabd58ce6d", "scanner": "scanner-primary", "fingerprint": "822e86d2277d5185", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/tools/validate_output_flow.py"}, "region": {"startLine": 38}}}]}, {"ruleId": "scanner-fc744e36e5d503f4", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in PX4_Gazebo/tools/derive_ring_cal.py:40"}, "properties": {"repobilityId": "b2883df9e50518a9", "scanner": "scanner-primary", "fingerprint": "fc744e36e5d503f4", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/tools/derive_ring_cal.py"}, "region": {"startLine": 40}}}]}, {"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-bd8aaa90427baa67", "level": "note", "message": {"text": "Very large file: PX4_Gazebo/src/controller.py (1531 lines)"}, "properties": {"repobilityId": "2da0e538388a40a5", "scanner": "scanner-primary", "fingerprint": "bd8aaa90427baa67", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-306f6db1e80855ad", "level": "note", "message": {"text": "Very large file: PX4_Gazebo/src/img_data.py (1772 lines)"}, "properties": {"repobilityId": "7bdfea7d1c733345", "scanner": "scanner-primary", "fingerprint": "306f6db1e80855ad", "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": "2962731985796091", "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": "f04794fcfadf700d", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "75e787476a4d6334", "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": "1dd96c88d54b7964", "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": "3cfa44bb398f4922", "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": "cfce11c832d37968", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-79b5c4d88217dc51", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/make_multi_init_plots.py:588"}, "properties": {"repobilityId": "ffbcdcfc9bfa257e", "scanner": "scanner-primary", "fingerprint": "79b5c4d88217dc51", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d095a3c2a57a5694", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/make_plasmc_plots.py:90"}, "properties": {"repobilityId": "2710ab1d29ab5b45", "scanner": "scanner-primary", "fingerprint": "d095a3c2a57a5694", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4ca428e02a5b6193", "level": "none", "message": {"text": "Commented-code block (7 lines) in scripts/make_comparison_multi_speed_plots.py:64"}, "properties": {"repobilityId": "be7f7a1f887f7473", "scanner": "scanner-primary", "fingerprint": "4ca428e02a5b6193", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cf1ba7678cfc6e01", "level": "none", "message": {"text": "Commented-code block (5 lines) in scripts/make_comparison_plots.py:52"}, "properties": {"repobilityId": "9a0794c33370dcff", "scanner": "scanner-primary", "fingerprint": "cf1ba7678cfc6e01", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-98cbc95d1f0dabe9", "level": "none", "message": {"text": "Commented-code block (9 lines) in PX4_Gazebo/apps/record_output_calibration.py:42"}, "properties": {"repobilityId": "439f93ff7405a733", "scanner": "scanner-primary", "fingerprint": "98cbc95d1f0dabe9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fddf7b312c7346c5", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_output_calibration.py:250"}, "properties": {"repobilityId": "723d4fe5faf17c58", "scanner": "scanner-primary", "fingerprint": "fddf7b312c7346c5", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/apps/record_output_calibration.py"}, "region": {"startLine": 250}}}]}, {"ruleId": "scanner-5a2b6a4963494348", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/cbf_isolation_test.py:87"}, "properties": {"repobilityId": "85d56fd6d02316d2", "scanner": "scanner-primary", "fingerprint": "5a2b6a4963494348", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/apps/cbf_isolation_test.py"}, "region": {"startLine": 87}}}]}, {"ruleId": "scanner-886e7c432395c00b", "level": "none", "message": {"text": "Commented-code block (10 lines) in PX4_Gazebo/apps/record_input_validation.py:8"}, "properties": {"repobilityId": "5ebc6ccba6c9a99a", "scanner": "scanner-primary", "fingerprint": "886e7c432395c00b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-db2ba11fed4af53c", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_input_validation.py:97"}, "properties": {"repobilityId": "83d2f535fa8032ef", "scanner": "scanner-primary", "fingerprint": "db2ba11fed4af53c", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/apps/record_input_validation.py"}, "region": {"startLine": 97}}}]}, {"ruleId": "scanner-15f74ffb43e2c787", "level": "none", "message": {"text": "Commented-code block (11 lines) in PX4_Gazebo/apps/landing_test.py:37"}, "properties": {"repobilityId": "857c4adc4628f836", "scanner": "scanner-primary", "fingerprint": "15f74ffb43e2c787", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-59daddf3b9298b8e", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/landing_test.py:144"}, "properties": {"repobilityId": "ed84d1f408208adc", "scanner": "scanner-primary", "fingerprint": "59daddf3b9298b8e", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/apps/landing_test.py"}, "region": {"startLine": 144}}}]}, {"ruleId": "scanner-14044ccb77b80859", "level": "none", "message": {"text": "Commented-code block (6 lines) in PX4_Gazebo/apps/record_input_calibration.py:218"}, "properties": {"repobilityId": "c72dcaacc6af52d2", "scanner": "scanner-primary", "fingerprint": "14044ccb77b80859", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62d408bf7987485c", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_input_calibration.py:106"}, "properties": {"repobilityId": "4dc836a048ae1555", "scanner": "scanner-primary", "fingerprint": "62d408bf7987485c", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/apps/record_input_calibration.py"}, "region": {"startLine": 106}}}]}, {"ruleId": "scanner-3230905ea9dd5592", "level": "none", "message": {"text": "Commented-code block (5 lines) in PX4_Gazebo/apps/record_output_validation.py:7"}, "properties": {"repobilityId": "ca1e958972a08f83", "scanner": "scanner-primary", "fingerprint": "3230905ea9dd5592", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3f9ce3c450ef48b6", "level": "error", "message": {"text": "Blocking `time.sleep(...)` inside `async def main` \u2014 PX4_Gazebo/apps/record_output_validation.py:108"}, "properties": {"repobilityId": "97ce2f2cee84ff53", "scanner": "scanner-primary", "fingerprint": "3f9ce3c450ef48b6", "layer": "quality", "severity": "high", "confidence": 1.0, "tags": ["integrity", "sync-io-in-async", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "PX4_Gazebo/apps/record_output_validation.py"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-5ed3f896f837d9ff", "level": "none", "message": {"text": "Commented-code block (6 lines) in PX4_Gazebo/tools/validate_cbf.py:316"}, "properties": {"repobilityId": "a9ee033fd0fc7bb4", "scanner": "scanner-primary", "fingerprint": "5ed3f896f837d9ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c5e09edcf0557ef", "level": "none", "message": {"text": "Commented-code block (5 lines) in PX4_Gazebo/tools/coord_descent_tune.py:96"}, "properties": {"repobilityId": "c4b673eaee67a71f", "scanner": "scanner-primary", "fingerprint": "9c5e09edcf0557ef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7be977636f561f25", "level": "none", "message": {"text": "Commented-code block (5 lines) in PX4_Gazebo/tools/aggregate_input_calibration.py:35"}, "properties": {"repobilityId": "1241eb28b7c24670", "scanner": "scanner-primary", "fingerprint": "7be977636f561f25", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-240f717badc58894", "level": "none", "message": {"text": "Commented-code block (9 lines) in PX4_Gazebo/tools/make_aruco_board.py:42"}, "properties": {"repobilityId": "3500c094c670fc80", "scanner": "scanner-primary", "fingerprint": "240f717badc58894", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a7e0e73342bad6e6", "level": "none", "message": {"text": "Commented-code block (5 lines) in PX4_Gazebo/tools/validate_output_flow.py:42"}, "properties": {"repobilityId": "1af45503ffdb811a", "scanner": "scanner-primary", "fingerprint": "a7e0e73342bad6e6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c7adb420cb1f565d", "level": "none", "message": {"text": "Commented-code block (5 lines) in PX4_Gazebo/tools/analyze_marker_switch.py:49"}, "properties": {"repobilityId": "d818c5e86f5da2ec", "scanner": "scanner-primary", "fingerprint": "c7adb420cb1f565d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9c22cdbf392f41c0", "level": "none", "message": {"text": "Commented-code block (10 lines) in PX4_Gazebo/tools/derive_board_cal.py:40"}, "properties": {"repobilityId": "a4d08f72a6834f65", "scanner": "scanner-primary", "fingerprint": "9c22cdbf392f41c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8d0f2d49c7c8f905", "level": "none", "message": {"text": "Commented-code block (7 lines) in PX4_Gazebo/tools/analyze_saturation_audit.py:187"}, "properties": {"repobilityId": "3e11a82d0e197375", "scanner": "scanner-primary", "fingerprint": "8d0f2d49c7c8f905", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-74c020312202d81a", "level": "note", "message": {"text": "Legacy-named symbol `cbf_old` in PX4_Gazebo/tools/analyze_cbf_visibility.py:75"}, "properties": {"repobilityId": "aa3ed3d09ed9f9dd", "scanner": "scanner-primary", "fingerprint": "74c020312202d81a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-ebd4474a62d0389f", "level": "none", "message": {"text": "Commented-code block (7 lines) in PX4_Gazebo/src/gz_subscriber.py:177"}, "properties": {"repobilityId": "a957d9a1eaf80aaf", "scanner": "scanner-primary", "fingerprint": "ebd4474a62d0389f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b44188a00fbc322d", "level": "none", "message": {"text": "Commented-code block (5 lines) in PX4_Gazebo/src/controller.py:4"}, "properties": {"repobilityId": "4187e440f748f19e", "scanner": "scanner-primary", "fingerprint": "b44188a00fbc322d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78cbeb5dff706cc7", "level": "none", "message": {"text": "Commented-code block (6 lines) in PX4_Gazebo/src/flight_controller.py:1"}, "properties": {"repobilityId": "caa12aafbd5b5918", "scanner": "scanner-primary", "fingerprint": "78cbeb5dff706cc7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-04628a635d507493", "level": "none", "message": {"text": "Commented-code block (5 lines) in PX4_Gazebo/src/img_data.py:27"}, "properties": {"repobilityId": "d3d507dd6fc990d9", "scanner": "scanner-primary", "fingerprint": "04628a635d507493", "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": "46f75ab844e43923", "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": "ab0aa82fcbc71b82", "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": "95e2916a5c1fc654", "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": "e54f611b38e99b54", "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": "dcd15d9a2c7af8b3", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}