{"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-7bc8f27e52d7ecf8", "name": "File has no detected symbols: .claude/skills/user-test/scripts/proto_gen/events_legacy_pb2_grpc.py", "shortDescription": {"text": "File has no detected symbols: .claude/skills/user-test/scripts/proto_gen/events_legacy_pb2_grpc.py"}, "fullDescription": {"text": "Source file with no class/function declarations \u2014 possible config, dead code, or scratch file."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bc22ba51fb13b134", "name": "File has no detected symbols: .claude/skills/user-test/scripts/proto_gen/events_legacy_pb2.py", "shortDescription": {"text": "File has no detected symbols: .claude/skills/user-test/scripts/proto_gen/events_legacy_pb2.py"}, "fullDescription": {"text": "Source file with no class/function declarations \u2014 possible config, dead code, or scratch file."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1668308715ec9dde", "name": "File has no detected symbols: .claude/skills/user-test-performance/scripts/proto_gen/events_legacy_pb2_grpc.py", "shortDescription": {"text": "File has no detected symbols: .claude/skills/user-test-performance/scripts/proto_gen/events_legacy_pb2_grpc.py"}, "fullDescription": {"text": "Source file with no class/function declarations \u2014 possible config, dead code, or scratch file."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1341583560b6bc6", "name": "File has no detected symbols: .claude/skills/user-test-performance/scripts/proto_gen/events_legacy_pb2.py", "shortDescription": {"text": "File has no detected symbols: .claude/skills/user-test-performance/scripts/proto_gen/events_legacy_pb2.py"}, "fullDescription": {"text": "Source file with no class/function declarations \u2014 possible config, dead code, or scratch file."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-47fe110eea8d73d1", "name": "Privileged port 23 in use", "shortDescription": {"text": "Privileged port 23 in use"}, "fullDescription": {"text": "Port 23 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-e4e38b767e3ca546", "name": "Privileged port 59 in use", "shortDescription": {"text": "Privileged port 59 in use"}, "fullDescription": {"text": "Port 59 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0992a1ff5a9e522b", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "android-actions/setup-android@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": "medium", "confidence": 1.0}}, {"id": "scanner-099133a7472552fe", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v6 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-27924aa79fa4a517", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v6 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-f79007f1db873cf9", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/cache@v5 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-c38fe32c58a7928f", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/upload-artifact@v6 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-b323ed82594588ea", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 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-f30210f4834a2ff2", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v5 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-898f8d5221ba8240", "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-b8edcc8b06e425b0", "name": "Very large file: tests/integration/text_stream_portal_adapter.rs (1495 lines)", "shortDescription": {"text": "Very large file: tests/integration/text_stream_portal_adapter.rs (1495 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-24a129dd59a677a3", "name": "Very large file: tests/integration/text_stream_portal_surface.rs (1745 lines)", "shortDescription": {"text": "Very large file: tests/integration/text_stream_portal_surface.rs (1745 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-e79ca102f02b1f19", "name": "Very large file: app/tze_hud_app/src/main.rs (1260 lines)", "shortDescription": {"text": "Very large file: app/tze_hud_app/src/main.rs (1260 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-76bc1ede6b5d8721", "name": "Very large file: crates/tze_hud_config/src/portal_tokens.rs (1151 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_config/src/portal_tokens.rs (1151 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-55e0fe021843fbd4", "name": "Very large file: crates/tze_hud_config/src/component_profiles.rs (2364 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_config/src/component_profiles.rs (2364 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-bb13650ad91c03f6", "name": "Very large file: crates/tze_hud_config/src/tests.rs (1984 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_config/src/tests.rs (1984 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-94d0931bfcb71a9f", "name": "Very large file: crates/tze_hud_runtime/tests/pixel_readback.rs (1203 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_runtime/tests/pixel_readback.rs (1203 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-c67618d74660c5ef", "name": "Very large file: crates/tze_hud_runtime/src/media_ingress.rs (2552 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_runtime/src/media_ingress.rs (2552 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-d8216f7d58ae902c", "name": "Very large file: crates/tze_hud_runtime/src/headless.rs (1651 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_runtime/src/headless.rs (1651 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-7f71c7929fe0ab26", "name": "Very large file: crates/tze_hud_runtime/src/media_admission.rs (1696 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_runtime/src/media_admission.rs (1696 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-7bc9b9e4c5ded804", "name": "Very large file: crates/tze_hud_runtime/src/pipeline.rs (1532 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_runtime/src/pipeline.rs (1532 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-e16ea7bd3b5a0f14", "name": "Very large file: crates/tze_hud_runtime/src/portal_projection_driver.rs (3190 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_runtime/src/portal_projection_driver.rs (3190 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-156bf856349a6217", "name": "Very large file: crates/tze_hud_runtime/src/windowed.rs (10061 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_runtime/src/windowed.rs (10061 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-042d7f8bdf7b47f1", "name": "Very large file: crates/tze_hud_runtime/src/shell/safe_mode.rs (1737 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_runtime/src/shell/safe_mode.rs (1737 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-1cf0c7c7aff0cb33", "name": "Very large file: crates/tze_hud_runtime/src/shell/chrome.rs (1949 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_runtime/src/shell/chrome.rs (1949 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-5ac0d5fd126e6c61", "name": "Very large file: crates/tze_hud_input/src/lib.rs (4122 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_input/src/lib.rs (4122 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-e5bbb5a1379305e9", "name": "Very large file: crates/tze_hud_input/src/scroll.rs (1416 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_input/src/scroll.rs (1416 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-f9ad9c53b44a4e41", "name": "Very large file: crates/tze_hud_input/src/portal_resize.rs (1701 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_input/src/portal_resize.rs (1701 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-66f8741b0745e200", "name": "Very large file: crates/tze_hud_input/src/composer_draft.rs (2288 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_input/src/composer_draft.rs (2288 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-bef119c54e873bfe", "name": "Very large file: crates/tze_hud_input/src/focus.rs (1813 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_input/src/focus.rs (1813 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-a408bc3856c1c679", "name": "Very large file: crates/tze_hud_policy/src/tests.rs (1382 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_policy/src/tests.rs (1382 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-468fd174c6efb422", "name": "Very large file: crates/tze_hud_projection/src/resident_grpc.rs (1592 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_projection/src/resident_grpc.rs (1592 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-22c6ff20bc78c071", "name": "Very large file: crates/tze_hud_projection/src/authority.rs (2081 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_projection/src/authority.rs (2081 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-cc65a156aeb763ed", "name": "Very large file: crates/tze_hud_projection/src/tests/mod.rs (3519 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_projection/src/tests/mod.rs (3519 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-637af6bb81ec891b", "name": "Very large file: crates/tze_hud_telemetry/src/record.rs (1312 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_telemetry/src/record.rs (1312 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-6e454b340a6979f2", "name": "Very large file: crates/tze_hud_compositor/src/text.rs (5381 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_compositor/src/text.rs (5381 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-20ac08960f243693", "name": "Very large file: crates/tze_hud_compositor/src/widget.rs (4384 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_compositor/src/widget.rs (4384 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-8e8b18e516c48a8c", "name": "Very large file: crates/tze_hud_compositor/src/overflow.rs (3057 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_compositor/src/overflow.rs (3057 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-7acc7c1f208a912b", "name": "Very large file: crates/tze_hud_compositor/src/markdown.rs (3789 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_compositor/src/markdown.rs (3789 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-d5eed0e5df54f1d9", "name": "Very large file: crates/tze_hud_compositor/src/renderer/text.rs (1263 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_compositor/src/renderer/text.rs (1263 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-8b61444cf09678da", "name": "Very large file: crates/tze_hud_compositor/src/renderer/mod.rs (1805 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_compositor/src/renderer/mod.rs (1805 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-86fa4fb2394097cb", "name": "Very large file: crates/tze_hud_compositor/src/renderer/tests.rs (10550 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_compositor/src/renderer/tests.rs (10550 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-5642a4657858c9f4", "name": "Very large file: crates/tze_hud_validation/src/layer4.rs (1815 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_validation/src/layer4.rs (1815 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-6dfa82d3dadc3236", "name": "Very large file: crates/tze_hud_protocol/tests/roundtrip.rs (2335 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_protocol/tests/roundtrip.rs (2335 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-401ad6df0f51fd68", "name": "Very large file: crates/tze_hud_protocol/src/convert.rs (2195 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_protocol/src/convert.rs (2195 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-c184f11a2d952bc5", "name": "Very large file: crates/tze_hud_protocol/src/session_server/mod.rs (1569 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_protocol/src/session_server/mod.rs (1569 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-53a77f85eb69ba13", "name": "Very large file: crates/tze_hud_protocol/src/session_server/mutations.rs (1163 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_protocol/src/session_server/mutations.rs (1163 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-e710faa618f5fe12", "name": "Very large file: crates/tze_hud_protocol/src/session_server/tests.rs (9784 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_protocol/src/session_server/tests.rs (9784 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-310e57163d0d251b", "name": "Very large file: crates/tze_hud_widget/tests/bundle_loader.rs (2261 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_widget/tests/bundle_loader.rs (2261 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-9d5b42f247dd257f", "name": "Very large file: crates/tze_hud_widget/src/loader.rs (1666 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_widget/src/loader.rs (1666 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-1e5da640125a652d", "name": "Very large file: crates/tze_hud_mcp/src/server.rs (1877 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_mcp/src/server.rs (1877 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-0512c9d44dd61094", "name": "Very large file: crates/tze_hud_mcp/src/tools.rs (6025 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_mcp/src/tools.rs (6025 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-1491d8e4ee3cce77", "name": "Very large file: crates/tze_hud_scene/tests/zone_ontology.rs (2397 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_scene/tests/zone_ontology.rs (2397 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-81708418f0ae7ef7", "name": "Very large file: crates/tze_hud_scene/tests/session_lifecycle.rs (2111 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_scene/tests/session_lifecycle.rs (2111 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-96feb94a1f2ee015", "name": "Very large file: crates/tze_hud_scene/src/invariants.rs (3124 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_scene/src/invariants.rs (3124 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-b5723f5b5e4c616e", "name": "Very large file: crates/tze_hud_scene/src/types.rs (3582 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_scene/src/types.rs (3582 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-6e47d97d8b24a3f3", "name": "Very large file: crates/tze_hud_scene/src/test_scenes.rs (4750 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_scene/src/test_scenes.rs (4750 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-0c287c6ab70a3014", "name": "Very large file: crates/tze_hud_scene/src/mutation.rs (1625 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_scene/src/mutation.rs (1625 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-307dbd8ea6501cfc", "name": "Very large file: crates/tze_hud_scene/src/graph/spec_scenarios.rs (2828 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_scene/src/graph/spec_scenarios.rs (2828 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-6b8837a835e2d26a", "name": "Very large file: crates/tze_hud_scene/src/graph/tests.rs (3749 lines)", "shortDescription": {"text": "Very large file: crates/tze_hud_scene/src/graph/tests.rs (3749 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-92c62d84ed1c0a1b", "name": "Very large file: .claude/skills/user-test/scripts/text_stream_portal_exemplar.py (4584 lines)", "shortDescription": {"text": "Very large file: .claude/skills/user-test/scripts/text_stream_portal_exemplar.py (4584 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-d1e46c43c6342a04", "name": "Very large file: .claude/skills/user-test/scripts/stress_test_zones.py (1589 lines)", "shortDescription": {"text": "Very large file: .claude/skills/user-test/scripts/stress_test_zones.py (1589 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-2e6ee39664d2a05a", "name": "Very large file: examples/benchmark/src/main.rs (1448 lines)", "shortDescription": {"text": "Very large file: examples/benchmark/src/main.rs (1448 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-ca54a0c896202cd9", "name": "Very large file: examples/dashboard_tile_agent/src/main.rs (5507 lines)", "shortDescription": {"text": "Very large file: examples/dashboard_tile_agent/src/main.rs (5507 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-c4f682ebf8e3652f", "name": "Very large file: examples/vertical_slice/tests/budget_assertions.rs (1845 lines)", "shortDescription": {"text": "Very large file: examples/vertical_slice/tests/budget_assertions.rs (1845 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-1d7eb4d7a29a50b4", "name": "Very large file: examples/vertical_slice/src/main.rs (2127 lines)", "shortDescription": {"text": "Very large file: examples/vertical_slice/src/main.rs (2127 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 276 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 216 placeholder/mock markers across 42 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9d79c4077342a7d0", "name": "Runtime service client appears to use placeholder configuration", "shortDescription": {"text": "Runtime service client appears to use placeholder configuration"}, "fullDescription": {"text": "A runtime source file appears to wire Supabase/Firebase/AI/payment-style clients to placeholder URLs, keys, or fallback values. In the Fable corpus this often means the UI/API shape is present while the backend service is not actually configured."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-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-6c10344bdf57df51", "name": "Agent authority lacks a verifier contract: .claude/commands/opsx/sync.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/sync.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-df8d7aecf447de62", "name": "Agent authority lacks a verifier contract: .claude/commands/opsx/archive.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/archive.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-021b572fe2fa6b9c", "name": "Agent authority lacks a verifier contract: .claude/commands/opsx/apply.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/apply.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-14b94de34d897ad4", "name": "Agent authority lacks a verifier contract: .claude/skills/openspec-apply-change/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-apply-change/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8a585f74bb40a5f1", "name": "Agent authority lacks a verifier contract: .claude/skills/openspec-archive-change/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-archive-change/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a046c541f61b0e4e", "name": "Agent authority lacks a verifier contract: .claude/skills/hud-projection/references/mcp-facade.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/hud-projection/references/mcp-facade.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-6fc92f5e5e7945b0", "name": "Agent authority lacks a verifier contract: .claude/skills/hud-projection/agents/openai.yaml", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/hud-projection/agents/openai.yaml"}, "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-1861f29946301e43", "name": "Agent authority lacks a verifier contract: .claude/skills/openspec-sync-specs/SKILL.md", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-sync-specs/SKILL.md"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7e6d221a6073c913", "name": "Commented-code block (6 lines) in scripts/ci/check_windows_perf_budgets.py:71", "shortDescription": {"text": "Commented-code block (6 lines) in scripts/ci/check_windows_perf_budgets.py:71"}, "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-1deb640b08e98b3a", "name": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test/scripts/hud_grpc_client.py:139", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test/scripts/hud_grpc_client.py:139"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-87db6c0ae9a793e2", "name": "Commented-code block (6 lines) in .claude/skills/user-test/scripts/text_stream_portal_exemplar.py:2124", "shortDescription": {"text": "Commented-code block (6 lines) in .claude/skills/user-test/scripts/text_stream_portal_exemplar.py:2124"}, "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-19befa478b6b9a5e", "name": "Commented-code block (5 lines) in .claude/skills/user-test/scripts/stress_test_zones.py:727", "shortDescription": {"text": "Commented-code block (5 lines) in .claude/skills/user-test/scripts/stress_test_zones.py:727"}, "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-4aaec3daafc895a2", "name": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test/scripts/stress_test_zones.py:562", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test/scripts/stress_test_zones.py:562"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8ca906a353dcdd54", "name": "Commented-code block (8 lines) in .claude/skills/user-test/scripts/windows_media_ingress_exemplar.py:412", "shortDescription": {"text": "Commented-code block (8 lines) in .claude/skills/user-test/scripts/windows_media_ingress_exemplar.py:412"}, "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-5ee7b2856bd247bd", "name": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test/scripts/windows_media_ingress_exemplar.", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test/scripts/windows_media_ingress_exemplar.py:506"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-c826649f0666a59b", "name": "Legacy-named symbol `x65vents_legacy` in .claude/skills/user-test/scripts/proto_gen/session_pb2.py:30", "shortDescription": {"text": "Legacy-named symbol `x65vents_legacy` in .claude/skills/user-test/scripts/proto_gen/session_pb2.py:30"}, "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-3700288eb57ec2ef", "name": "Legacy-named symbol `events_legacy` in .claude/skills/user-test/scripts/proto_gen/events_legacy_pb2.py:4", "shortDescription": {"text": "Legacy-named symbol `events_legacy` in .claude/skills/user-test/scripts/proto_gen/events_legacy_pb2.py:4"}, "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-9c88c83bf7533665", "name": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test-performance/scripts/widget_soak_runner.", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test-performance/scripts/widget_soak_runner.py:152"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3e582294b3647e22", "name": "Legacy-named symbol `x65vents_legacy` in .claude/skills/user-test-performance/scripts/proto_gen/session_pb2.py:30", "shortDescription": {"text": "Legacy-named symbol `x65vents_legacy` in .claude/skills/user-test-performance/scripts/proto_gen/session_pb2.py:30"}, "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-146c8dc2e3e88157", "name": "Legacy-named symbol `events_legacy` in .claude/skills/user-test-performance/scripts/proto_gen/events_legacy_pb2.py:4", "shortDescription": {"text": "Legacy-named symbol `events_legacy` in .claude/skills/user-test-performance/scripts/proto_gen/events_legacy_pb2.py:4"}, "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-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:\n.claude/skills/user-test/scripts/hud_grpc_client.py:build_presence_card_add_node_mutations, .claude/skills/user-test/scripts/hud_grpc_client.py:build_presence_card_tree_mutations\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:\n.claude/skills/user-test/scripts/text_stream_portal_exemplar.py:run_markdown, .claude/skills/user-test/scripts/text_stream_portal_exemplar.py:run_overflow, .claude/skills/user-test/scripts/text_stream_portal_exemplar.py:run_profile_swap\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-33a6b62e30ce7ab4", "name": "Near-duplicate function bodies in 6 places", "shortDescription": {"text": "Near-duplicate function bodies in 6 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n.claude/skills/user-test/scripts/notification_exemplar.py:rpc_call, .claude/skills/user-test/scripts/subtitle_exemplar.py:rpc_call, .claude/skills/user-test/scripts/alert_banner_exemplar.py:rpc_call, .claude/skills/user-test/scripts/stress_test_zones.py:rpc_call\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-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n.claude/skills/user-test/scripts/notification_exemplar.py:main, .claude/skills/user-test/scripts/subtitle_exemplar.py:main, .claude/skills/user-test/scripts/alert_banner_exemplar.py:main, .claude/skills/user-test/scripts/status_bar_exemplar.py:main\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49c98f7cedd9c977", "name": "Near-duplicate function bodies in 4 places", "shortDescription": {"text": "Near-duplicate function bodies in 4 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n.claude/skills/user-test/scripts/proto_gen/session_pb2_grpc.py:Session, .claude/skills/user-test/scripts/proto_gen/session_pb2_grpc.py:Session, .claude/skills/user-test-performance/scripts/proto_gen/session_pb2_grpc.py:Session, .claude/skills/user-test-performance/scripts/proto_gen/session_pb2_grpc.py:Session\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/21839"}, "properties": {"repository": "Tzeusy/tze-hud", "repoUrl": "https://github.com/Tzeusy/tze-hud", "branch": "main"}, "results": [{"ruleId": "scanner-7bc8f27e52d7ecf8", "level": "note", "message": {"text": "File has no detected symbols: .claude/skills/user-test/scripts/proto_gen/events_legacy_pb2_grpc.py"}, "properties": {"repobilityId": "b0cbdfc06a471050", "scanner": "scanner-primary", "fingerprint": "7bc8f27e52d7ecf8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code-candidate"]}}, {"ruleId": "scanner-bc22ba51fb13b134", "level": "note", "message": {"text": "File has no detected symbols: .claude/skills/user-test/scripts/proto_gen/events_legacy_pb2.py"}, "properties": {"repobilityId": "a238d62252da575d", "scanner": "scanner-primary", "fingerprint": "bc22ba51fb13b134", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code-candidate"]}}, {"ruleId": "scanner-1668308715ec9dde", "level": "note", "message": {"text": "File has no detected symbols: .claude/skills/user-test-performance/scripts/proto_gen/events_legacy_pb2_grpc.py"}, "properties": {"repobilityId": "59ffee6252223697", "scanner": "scanner-primary", "fingerprint": "1668308715ec9dde", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code-candidate"]}}, {"ruleId": "scanner-f1341583560b6bc6", "level": "note", "message": {"text": "File has no detected symbols: .claude/skills/user-test-performance/scripts/proto_gen/events_legacy_pb2.py"}, "properties": {"repobilityId": "32e072f0a4d9e28e", "scanner": "scanner-primary", "fingerprint": "f1341583560b6bc6", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code-candidate"]}}, {"ruleId": "scanner-47fe110eea8d73d1", "level": "warning", "message": {"text": "Privileged port 23 in use"}, "properties": {"repobilityId": "a1230e3dfc4becfa", "scanner": "scanner-primary", "fingerprint": "47fe110eea8d73d1", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/evidence/external-agent-projection-authority/live-replay.sh"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e4e38b767e3ca546", "level": "warning", "message": {"text": "Privileged port 59 in use"}, "properties": {"repobilityId": "6c14a9dab4958e92", "scanner": "scanner-primary", "fingerprint": "e4e38b767e3ca546", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/evidence/external-agent-projection-authority/live-replay.sh"}, "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-0992a1ff5a9e522b", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "5c569b67a68e409a", "scanner": "scanner-primary", "fingerprint": "0992a1ff5a9e522b", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/android-bootstrap.yml"}, "region": {"startLine": 76}}}]}, {"ruleId": "scanner-0992a1ff5a9e522b", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "f898532e963a0575", "scanner": "scanner-primary", "fingerprint": "0992a1ff5a9e522b", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/android-bootstrap.yml"}, "region": {"startLine": 91}}}]}, {"ruleId": "scanner-099133a7472552fe", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fbac1313ac1a0d5c", "scanner": "scanner-primary", "fingerprint": "099133a7472552fe", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/windowed-overlay-perf.yml"}, "region": {"startLine": 82}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8fb57e9e0362cf03", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 325}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8fb57e9e0362cf03", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 332}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "55b7a12c77b52f9a", "scanner": "scanner-primary", "fingerprint": "27924aa79fa4a517", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 608}}}]}, {"ruleId": "scanner-f79007f1db873cf9", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "e7d49c61a446663b", "scanner": "scanner-primary", "fingerprint": "f79007f1db873cf9", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/safari-simulcast-interop.yml"}, "region": {"startLine": 94}}}]}, {"ruleId": "scanner-c38fe32c58a7928f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "10cd594a12a9d494", "scanner": "scanner-primary", "fingerprint": "c38fe32c58a7928f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/perf-assert.yml"}, "region": {"startLine": 127}}}]}, {"ruleId": "scanner-c38fe32c58a7928f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "10cd594a12a9d494", "scanner": "scanner-primary", "fingerprint": "c38fe32c58a7928f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/perf-assert.yml"}, "region": {"startLine": 196}}}]}, {"ruleId": "scanner-c38fe32c58a7928f", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "10cd594a12a9d494", "scanner": "scanner-primary", "fingerprint": "c38fe32c58a7928f", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/perf-assert.yml"}, "region": {"startLine": 288}}}]}, {"ruleId": "scanner-b323ed82594588ea", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "0c7cb4232581b876", "scanner": "scanner-primary", "fingerprint": "b323ed82594588ea", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ios-libvpx-bootstrap.yml"}, "region": {"startLine": 52}}}]}, {"ruleId": "scanner-b323ed82594588ea", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "fdf257ae8d89c2c9", "scanner": "scanner-primary", "fingerprint": "b323ed82594588ea", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ios-libvpx-bootstrap.yml"}, "region": {"startLine": 55}}}]}, {"ruleId": "scanner-b323ed82594588ea", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "40b918e8431011f5", "scanner": "scanner-primary", "fingerprint": "b323ed82594588ea", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ios-libvpx-bootstrap.yml"}, "region": {"startLine": 70}}}]}, {"ruleId": "scanner-b323ed82594588ea", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b7d12432d5738f39", "scanner": "scanner-primary", "fingerprint": "b323ed82594588ea", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ios-libvpx-bootstrap.yml"}, "region": {"startLine": 86}}}]}, {"ruleId": "scanner-b323ed82594588ea", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "b7d12432d5738f39", "scanner": "scanner-primary", "fingerprint": "b323ed82594588ea", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ios-libvpx-bootstrap.yml"}, "region": {"startLine": 108}}}]}, {"ruleId": "scanner-f30210f4834a2ff2", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8b0f4da6c47c82d9", "scanner": "scanner-primary", "fingerprint": "f30210f4834a2ff2", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/delete-merged-branches.yml"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-898f8d5221ba8240", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "4c6183c691a8055b", "scanner": "scanner-primary", "fingerprint": "898f8d5221ba8240", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/delete-merged-branches.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b8edcc8b06e425b0", "level": "note", "message": {"text": "Very large file: tests/integration/text_stream_portal_adapter.rs (1495 lines)"}, "properties": {"repobilityId": "f9cf5f7d7b2c33b9", "scanner": "scanner-primary", "fingerprint": "b8edcc8b06e425b0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-24a129dd59a677a3", "level": "note", "message": {"text": "Very large file: tests/integration/text_stream_portal_surface.rs (1745 lines)"}, "properties": {"repobilityId": "484f8356529bc505", "scanner": "scanner-primary", "fingerprint": "24a129dd59a677a3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e79ca102f02b1f19", "level": "note", "message": {"text": "Very large file: app/tze_hud_app/src/main.rs (1260 lines)"}, "properties": {"repobilityId": "42e91e146e298b63", "scanner": "scanner-primary", "fingerprint": "e79ca102f02b1f19", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-76bc1ede6b5d8721", "level": "note", "message": {"text": "Very large file: crates/tze_hud_config/src/portal_tokens.rs (1151 lines)"}, "properties": {"repobilityId": "fd43ef2d55b9cec5", "scanner": "scanner-primary", "fingerprint": "76bc1ede6b5d8721", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-55e0fe021843fbd4", "level": "note", "message": {"text": "Very large file: crates/tze_hud_config/src/component_profiles.rs (2364 lines)"}, "properties": {"repobilityId": "3c21088c88f98b81", "scanner": "scanner-primary", "fingerprint": "55e0fe021843fbd4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bb13650ad91c03f6", "level": "note", "message": {"text": "Very large file: crates/tze_hud_config/src/tests.rs (1984 lines)"}, "properties": {"repobilityId": "5c4fe3fe5af2da31", "scanner": "scanner-primary", "fingerprint": "bb13650ad91c03f6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-94d0931bfcb71a9f", "level": "note", "message": {"text": "Very large file: crates/tze_hud_runtime/tests/pixel_readback.rs (1203 lines)"}, "properties": {"repobilityId": "0cc683f9deca9930", "scanner": "scanner-primary", "fingerprint": "94d0931bfcb71a9f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c67618d74660c5ef", "level": "note", "message": {"text": "Very large file: crates/tze_hud_runtime/src/media_ingress.rs (2552 lines)"}, "properties": {"repobilityId": "2b6085742c6b3bd3", "scanner": "scanner-primary", "fingerprint": "c67618d74660c5ef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d8216f7d58ae902c", "level": "note", "message": {"text": "Very large file: crates/tze_hud_runtime/src/headless.rs (1651 lines)"}, "properties": {"repobilityId": "e81b1ed1dd5311de", "scanner": "scanner-primary", "fingerprint": "d8216f7d58ae902c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7f71c7929fe0ab26", "level": "note", "message": {"text": "Very large file: crates/tze_hud_runtime/src/media_admission.rs (1696 lines)"}, "properties": {"repobilityId": "647e5338bdae2af6", "scanner": "scanner-primary", "fingerprint": "7f71c7929fe0ab26", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7bc9b9e4c5ded804", "level": "note", "message": {"text": "Very large file: crates/tze_hud_runtime/src/pipeline.rs (1532 lines)"}, "properties": {"repobilityId": "d771e8638d783969", "scanner": "scanner-primary", "fingerprint": "7bc9b9e4c5ded804", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e16ea7bd3b5a0f14", "level": "note", "message": {"text": "Very large file: crates/tze_hud_runtime/src/portal_projection_driver.rs (3190 lines)"}, "properties": {"repobilityId": "601edc101ca7b92e", "scanner": "scanner-primary", "fingerprint": "e16ea7bd3b5a0f14", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-156bf856349a6217", "level": "note", "message": {"text": "Very large file: crates/tze_hud_runtime/src/windowed.rs (10061 lines)"}, "properties": {"repobilityId": "cb138f851a09c0cb", "scanner": "scanner-primary", "fingerprint": "156bf856349a6217", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-042d7f8bdf7b47f1", "level": "note", "message": {"text": "Very large file: crates/tze_hud_runtime/src/shell/safe_mode.rs (1737 lines)"}, "properties": {"repobilityId": "4d701e245db8d791", "scanner": "scanner-primary", "fingerprint": "042d7f8bdf7b47f1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1cf0c7c7aff0cb33", "level": "note", "message": {"text": "Very large file: crates/tze_hud_runtime/src/shell/chrome.rs (1949 lines)"}, "properties": {"repobilityId": "e8808a40bb0e7ab9", "scanner": "scanner-primary", "fingerprint": "1cf0c7c7aff0cb33", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5ac0d5fd126e6c61", "level": "note", "message": {"text": "Very large file: crates/tze_hud_input/src/lib.rs (4122 lines)"}, "properties": {"repobilityId": "c93b5bf48de72a9c", "scanner": "scanner-primary", "fingerprint": "5ac0d5fd126e6c61", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e5bbb5a1379305e9", "level": "note", "message": {"text": "Very large file: crates/tze_hud_input/src/scroll.rs (1416 lines)"}, "properties": {"repobilityId": "e498452b0d1898fa", "scanner": "scanner-primary", "fingerprint": "e5bbb5a1379305e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-f9ad9c53b44a4e41", "level": "note", "message": {"text": "Very large file: crates/tze_hud_input/src/portal_resize.rs (1701 lines)"}, "properties": {"repobilityId": "b19764f9fdddb6cd", "scanner": "scanner-primary", "fingerprint": "f9ad9c53b44a4e41", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-66f8741b0745e200", "level": "note", "message": {"text": "Very large file: crates/tze_hud_input/src/composer_draft.rs (2288 lines)"}, "properties": {"repobilityId": "37a7acd70ba86f25", "scanner": "scanner-primary", "fingerprint": "66f8741b0745e200", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bef119c54e873bfe", "level": "note", "message": {"text": "Very large file: crates/tze_hud_input/src/focus.rs (1813 lines)"}, "properties": {"repobilityId": "e6fccc41eb015030", "scanner": "scanner-primary", "fingerprint": "bef119c54e873bfe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a408bc3856c1c679", "level": "note", "message": {"text": "Very large file: crates/tze_hud_policy/src/tests.rs (1382 lines)"}, "properties": {"repobilityId": "b77352a8b223f74a", "scanner": "scanner-primary", "fingerprint": "a408bc3856c1c679", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-468fd174c6efb422", "level": "note", "message": {"text": "Very large file: crates/tze_hud_projection/src/resident_grpc.rs (1592 lines)"}, "properties": {"repobilityId": "cf6a9049c3c98a2a", "scanner": "scanner-primary", "fingerprint": "468fd174c6efb422", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-22c6ff20bc78c071", "level": "note", "message": {"text": "Very large file: crates/tze_hud_projection/src/authority.rs (2081 lines)"}, "properties": {"repobilityId": "2de68bbfaf584107", "scanner": "scanner-primary", "fingerprint": "22c6ff20bc78c071", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cc65a156aeb763ed", "level": "note", "message": {"text": "Very large file: crates/tze_hud_projection/src/tests/mod.rs (3519 lines)"}, "properties": {"repobilityId": "e92676e68069f480", "scanner": "scanner-primary", "fingerprint": "cc65a156aeb763ed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-637af6bb81ec891b", "level": "note", "message": {"text": "Very large file: crates/tze_hud_telemetry/src/record.rs (1312 lines)"}, "properties": {"repobilityId": "101b9e3b46a6a15b", "scanner": "scanner-primary", "fingerprint": "637af6bb81ec891b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6e454b340a6979f2", "level": "note", "message": {"text": "Very large file: crates/tze_hud_compositor/src/text.rs (5381 lines)"}, "properties": {"repobilityId": "d1c2d9e4d12452cb", "scanner": "scanner-primary", "fingerprint": "6e454b340a6979f2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-20ac08960f243693", "level": "note", "message": {"text": "Very large file: crates/tze_hud_compositor/src/widget.rs (4384 lines)"}, "properties": {"repobilityId": "71a3eedc0ccbf7cc", "scanner": "scanner-primary", "fingerprint": "20ac08960f243693", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8e8b18e516c48a8c", "level": "note", "message": {"text": "Very large file: crates/tze_hud_compositor/src/overflow.rs (3057 lines)"}, "properties": {"repobilityId": "90b772df6e27cf89", "scanner": "scanner-primary", "fingerprint": "8e8b18e516c48a8c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7acc7c1f208a912b", "level": "note", "message": {"text": "Very large file: crates/tze_hud_compositor/src/markdown.rs (3789 lines)"}, "properties": {"repobilityId": "3c6015da99a5cbe4", "scanner": "scanner-primary", "fingerprint": "7acc7c1f208a912b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d5eed0e5df54f1d9", "level": "note", "message": {"text": "Very large file: crates/tze_hud_compositor/src/renderer/text.rs (1263 lines)"}, "properties": {"repobilityId": "7ee6ae9a14ee6b6a", "scanner": "scanner-primary", "fingerprint": "d5eed0e5df54f1d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8b61444cf09678da", "level": "note", "message": {"text": "Very large file: crates/tze_hud_compositor/src/renderer/mod.rs (1805 lines)"}, "properties": {"repobilityId": "a97b6bfb07e92a10", "scanner": "scanner-primary", "fingerprint": "8b61444cf09678da", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-86fa4fb2394097cb", "level": "note", "message": {"text": "Very large file: crates/tze_hud_compositor/src/renderer/tests.rs (10550 lines)"}, "properties": {"repobilityId": "876eb2dab3607f0a", "scanner": "scanner-primary", "fingerprint": "86fa4fb2394097cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5642a4657858c9f4", "level": "note", "message": {"text": "Very large file: crates/tze_hud_validation/src/layer4.rs (1815 lines)"}, "properties": {"repobilityId": "e1e6d0e505857b15", "scanner": "scanner-primary", "fingerprint": "5642a4657858c9f4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6dfa82d3dadc3236", "level": "note", "message": {"text": "Very large file: crates/tze_hud_protocol/tests/roundtrip.rs (2335 lines)"}, "properties": {"repobilityId": "c21d836a6079eba8", "scanner": "scanner-primary", "fingerprint": "6dfa82d3dadc3236", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-401ad6df0f51fd68", "level": "note", "message": {"text": "Very large file: crates/tze_hud_protocol/src/convert.rs (2195 lines)"}, "properties": {"repobilityId": "d316002fc129863f", "scanner": "scanner-primary", "fingerprint": "401ad6df0f51fd68", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c184f11a2d952bc5", "level": "note", "message": {"text": "Very large file: crates/tze_hud_protocol/src/session_server/mod.rs (1569 lines)"}, "properties": {"repobilityId": "4779d00ec30ea2b8", "scanner": "scanner-primary", "fingerprint": "c184f11a2d952bc5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-53a77f85eb69ba13", "level": "note", "message": {"text": "Very large file: crates/tze_hud_protocol/src/session_server/mutations.rs (1163 lines)"}, "properties": {"repobilityId": "1d1b7b83d72c74f7", "scanner": "scanner-primary", "fingerprint": "53a77f85eb69ba13", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e710faa618f5fe12", "level": "note", "message": {"text": "Very large file: crates/tze_hud_protocol/src/session_server/tests.rs (9784 lines)"}, "properties": {"repobilityId": "f430e67057fa03f1", "scanner": "scanner-primary", "fingerprint": "e710faa618f5fe12", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-310e57163d0d251b", "level": "note", "message": {"text": "Very large file: crates/tze_hud_widget/tests/bundle_loader.rs (2261 lines)"}, "properties": {"repobilityId": "7e443b8d4879393d", "scanner": "scanner-primary", "fingerprint": "310e57163d0d251b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9d5b42f247dd257f", "level": "note", "message": {"text": "Very large file: crates/tze_hud_widget/src/loader.rs (1666 lines)"}, "properties": {"repobilityId": "be5dd5e8c8c36751", "scanner": "scanner-primary", "fingerprint": "9d5b42f247dd257f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1e5da640125a652d", "level": "note", "message": {"text": "Very large file: crates/tze_hud_mcp/src/server.rs (1877 lines)"}, "properties": {"repobilityId": "34a6dcf77644c0e9", "scanner": "scanner-primary", "fingerprint": "1e5da640125a652d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0512c9d44dd61094", "level": "note", "message": {"text": "Very large file: crates/tze_hud_mcp/src/tools.rs (6025 lines)"}, "properties": {"repobilityId": "d18a701ae0cfc93f", "scanner": "scanner-primary", "fingerprint": "0512c9d44dd61094", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1491d8e4ee3cce77", "level": "note", "message": {"text": "Very large file: crates/tze_hud_scene/tests/zone_ontology.rs (2397 lines)"}, "properties": {"repobilityId": "e79d710c6d80ecbf", "scanner": "scanner-primary", "fingerprint": "1491d8e4ee3cce77", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-81708418f0ae7ef7", "level": "note", "message": {"text": "Very large file: crates/tze_hud_scene/tests/session_lifecycle.rs (2111 lines)"}, "properties": {"repobilityId": "dbd1e21d10b0c370", "scanner": "scanner-primary", "fingerprint": "81708418f0ae7ef7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-96feb94a1f2ee015", "level": "note", "message": {"text": "Very large file: crates/tze_hud_scene/src/invariants.rs (3124 lines)"}, "properties": {"repobilityId": "213f26e8884ceeb8", "scanner": "scanner-primary", "fingerprint": "96feb94a1f2ee015", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b5723f5b5e4c616e", "level": "note", "message": {"text": "Very large file: crates/tze_hud_scene/src/types.rs (3582 lines)"}, "properties": {"repobilityId": "0a7731119c359a76", "scanner": "scanner-primary", "fingerprint": "b5723f5b5e4c616e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6e47d97d8b24a3f3", "level": "note", "message": {"text": "Very large file: crates/tze_hud_scene/src/test_scenes.rs (4750 lines)"}, "properties": {"repobilityId": "26f783972f163555", "scanner": "scanner-primary", "fingerprint": "6e47d97d8b24a3f3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0c287c6ab70a3014", "level": "note", "message": {"text": "Very large file: crates/tze_hud_scene/src/mutation.rs (1625 lines)"}, "properties": {"repobilityId": "29f22469aed41ff9", "scanner": "scanner-primary", "fingerprint": "0c287c6ab70a3014", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-307dbd8ea6501cfc", "level": "note", "message": {"text": "Very large file: crates/tze_hud_scene/src/graph/spec_scenarios.rs (2828 lines)"}, "properties": {"repobilityId": "7c0a1b392ec4c5d2", "scanner": "scanner-primary", "fingerprint": "307dbd8ea6501cfc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6b8837a835e2d26a", "level": "note", "message": {"text": "Very large file: crates/tze_hud_scene/src/graph/tests.rs (3749 lines)"}, "properties": {"repobilityId": "8a51cc3057aed12c", "scanner": "scanner-primary", "fingerprint": "6b8837a835e2d26a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-92c62d84ed1c0a1b", "level": "note", "message": {"text": "Very large file: .claude/skills/user-test/scripts/text_stream_portal_exemplar.py (4584 lines)"}, "properties": {"repobilityId": "00dc92f8ea74ca8b", "scanner": "scanner-primary", "fingerprint": "92c62d84ed1c0a1b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d1e46c43c6342a04", "level": "note", "message": {"text": "Very large file: .claude/skills/user-test/scripts/stress_test_zones.py (1589 lines)"}, "properties": {"repobilityId": "a6ddd17473adab7a", "scanner": "scanner-primary", "fingerprint": "d1e46c43c6342a04", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2e6ee39664d2a05a", "level": "note", "message": {"text": "Very large file: examples/benchmark/src/main.rs (1448 lines)"}, "properties": {"repobilityId": "a2ee86d23702d6b9", "scanner": "scanner-primary", "fingerprint": "2e6ee39664d2a05a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ca54a0c896202cd9", "level": "note", "message": {"text": "Very large file: examples/dashboard_tile_agent/src/main.rs (5507 lines)"}, "properties": {"repobilityId": "a1fc9796fc30bbfa", "scanner": "scanner-primary", "fingerprint": "ca54a0c896202cd9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c4f682ebf8e3652f", "level": "note", "message": {"text": "Very large file: examples/vertical_slice/tests/budget_assertions.rs (1845 lines)"}, "properties": {"repobilityId": "4d274869ae51cc5a", "scanner": "scanner-primary", "fingerprint": "c4f682ebf8e3652f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1d7eb4d7a29a50b4", "level": "note", "message": {"text": "Very large file: examples/vertical_slice/src/main.rs (2127 lines)"}, "properties": {"repobilityId": "0e09722542563094", "scanner": "scanner-primary", "fingerprint": "1d7eb4d7a29a50b4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "7f0be13c397abf39", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "7b4b7ff0f4bd4e2d", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-9d79c4077342a7d0", "level": "warning", "message": {"text": "Runtime service client appears to use placeholder configuration"}, "properties": {"repobilityId": "ac41b9652c9bf3d8", "scanner": "scanner-primary", "fingerprint": "9d79c4077342a7d0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "runtime-config", "service-client", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "4e6cd4426a661145", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "363b11a49bf1b758", "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": "58727fcad8362191", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "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-6c10344bdf57df51", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/sync.md"}, "properties": {"repobilityId": "c67e0c803c0dbcac", "scanner": "scanner-primary", "fingerprint": "6c10344bdf57df51", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/opsx/sync.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-df8d7aecf447de62", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/archive.md"}, "properties": {"repobilityId": "222623e99b9cb4f7", "scanner": "scanner-primary", "fingerprint": "df8d7aecf447de62", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/opsx/archive.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-021b572fe2fa6b9c", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/commands/opsx/apply.md"}, "properties": {"repobilityId": "5ba922ec1bca34d1", "scanner": "scanner-primary", "fingerprint": "021b572fe2fa6b9c", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/commands/opsx/apply.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-14b94de34d897ad4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-apply-change/SKILL.md"}, "properties": {"repobilityId": "ff525910a58aad1b", "scanner": "scanner-primary", "fingerprint": "14b94de34d897ad4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/openspec-apply-change/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8a585f74bb40a5f1", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-archive-change/SKILL.md"}, "properties": {"repobilityId": "1499167b45dee6be", "scanner": "scanner-primary", "fingerprint": "8a585f74bb40a5f1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/openspec-archive-change/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a046c541f61b0e4e", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/hud-projection/references/mcp-facade.md"}, "properties": {"repobilityId": "487129df425a1a02", "scanner": "scanner-primary", "fingerprint": "a046c541f61b0e4e", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hud-projection/references/mcp-facade.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6fc92f5e5e7945b0", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/hud-projection/agents/openai.yaml"}, "properties": {"repobilityId": "c9f70971882992b5", "scanner": "scanner-primary", "fingerprint": "6fc92f5e5e7945b0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/hud-projection/agents/openai.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1861f29946301e43", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/skills/openspec-sync-specs/SKILL.md"}, "properties": {"repobilityId": "67a28bca6aa28ab2", "scanner": "scanner-primary", "fingerprint": "1861f29946301e43", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/skills/openspec-sync-specs/SKILL.md"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7e6d221a6073c913", "level": "none", "message": {"text": "Commented-code block (6 lines) in scripts/ci/check_windows_perf_budgets.py:71"}, "properties": {"repobilityId": "85f1d33c726ba2ab", "scanner": "scanner-primary", "fingerprint": "7e6d221a6073c913", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1deb640b08e98b3a", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test/scripts/hud_grpc_client.py:139"}, "properties": {"repobilityId": "60ffb11545d0b5d5", "scanner": "scanner-primary", "fingerprint": "1deb640b08e98b3a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-87db6c0ae9a793e2", "level": "none", "message": {"text": "Commented-code block (6 lines) in .claude/skills/user-test/scripts/text_stream_portal_exemplar.py:2124"}, "properties": {"repobilityId": "827383037ac5e9d6", "scanner": "scanner-primary", "fingerprint": "87db6c0ae9a793e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-19befa478b6b9a5e", "level": "none", "message": {"text": "Commented-code block (5 lines) in .claude/skills/user-test/scripts/stress_test_zones.py:727"}, "properties": {"repobilityId": "7beccb4b3619a936", "scanner": "scanner-primary", "fingerprint": "19befa478b6b9a5e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4aaec3daafc895a2", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test/scripts/stress_test_zones.py:562"}, "properties": {"repobilityId": "66570d16035e22e0", "scanner": "scanner-primary", "fingerprint": "4aaec3daafc895a2", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-8ca906a353dcdd54", "level": "none", "message": {"text": "Commented-code block (8 lines) in .claude/skills/user-test/scripts/windows_media_ingress_exemplar.py:412"}, "properties": {"repobilityId": "d54b3d6bf9cdb9e5", "scanner": "scanner-primary", "fingerprint": "8ca906a353dcdd54", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ee7b2856bd247bd", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test/scripts/windows_media_ingress_exemplar.py:506"}, "properties": {"repobilityId": "cd9c0c4c516208d4", "scanner": "scanner-primary", "fingerprint": "5ee7b2856bd247bd", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-c826649f0666a59b", "level": "note", "message": {"text": "Legacy-named symbol `x65vents_legacy` in .claude/skills/user-test/scripts/proto_gen/session_pb2.py:30"}, "properties": {"repobilityId": "3549136ca6997d3e", "scanner": "scanner-primary", "fingerprint": "c826649f0666a59b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3700288eb57ec2ef", "level": "note", "message": {"text": "Legacy-named symbol `events_legacy` in .claude/skills/user-test/scripts/proto_gen/events_legacy_pb2.py:4"}, "properties": {"repobilityId": "f359493b5bfb6b69", "scanner": "scanner-primary", "fingerprint": "3700288eb57ec2ef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9c88c83bf7533665", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 .claude/skills/user-test-performance/scripts/widget_soak_runner.py:152"}, "properties": {"repobilityId": "6f0f4192b566aa18", "scanner": "scanner-primary", "fingerprint": "9c88c83bf7533665", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-3e582294b3647e22", "level": "note", "message": {"text": "Legacy-named symbol `x65vents_legacy` in .claude/skills/user-test-performance/scripts/proto_gen/session_pb2.py:30"}, "properties": {"repobilityId": "5957434b904a2d08", "scanner": "scanner-primary", "fingerprint": "3e582294b3647e22", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-146c8dc2e3e88157", "level": "note", "message": {"text": "Legacy-named symbol `events_legacy` in .claude/skills/user-test-performance/scripts/proto_gen/events_legacy_pb2.py:4"}, "properties": {"repobilityId": "c7c4a57b11cecdfd", "scanner": "scanner-primary", "fingerprint": "146c8dc2e3e88157", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "398379edbed87cad", "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": "1fd1b28eec627aa8", "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": "b08dd1d1e42246f1", "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": "7d80000adfc0eff5", "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": "aec30401024db7b4", "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": "ae3141d5a2528cad", "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": "d33c900789308c06", "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": "405d8ba63d0a48c4", "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": "d0069347e2afef02", "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": "bbf1ef033f0228cf", "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": "03c3f99cb43ccf91", "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": "5a07dc3f7d5e9a85", "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": "04dc0a3e2a226d82", "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": "4eb636b3e3f79b5d", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-33a6b62e30ce7ab4", "level": "note", "message": {"text": "Near-duplicate function bodies in 6 places"}, "properties": {"repobilityId": "7353c9c309224d74", "scanner": "scanner-primary", "fingerprint": "33a6b62e30ce7ab4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "a76e822d149797ea", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "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": "93a1a8ae1db5ba5e", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "162376b7e441f899", "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": "c266595ccd52d98a", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-49c98f7cedd9c977", "level": "note", "message": {"text": "Near-duplicate function bodies in 4 places"}, "properties": {"repobilityId": "6262eea6764d2998", "scanner": "scanner-primary", "fingerprint": "49c98f7cedd9c977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}