{"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-4a84f0fe40df47d5", "name": "Privileged port 587 in use", "shortDescription": {"text": "Privileged port 587 in use"}, "fullDescription": {"text": "Port 587 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-7086222d9a8266c2", "name": "Privileged port 465 in use", "shortDescription": {"text": "Privileged port 465 in use"}, "fullDescription": {"text": "Port 465 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-c4e9030ddde6be86", "name": "Docker base image is tag-pinned but not digest-pinned: gcr.io/distroless/cc-debian12:nonroot", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: gcr.io/distroless/cc-debian12:nonroot"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-959db08bc780753c", "name": "Runtime dotenv file present in repo: .env.release", "shortDescription": {"text": "Runtime dotenv file present in repo: .env.release"}, "fullDescription": {"text": "`.env.release` looks like a runtime dotenv file. No high-confidence secret value was matched, but runtime dotenv files often drift into live credentials. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-56a4024189e4b339", "name": "Insecure pattern 'weak_hash' in .anodizer.yaml:1104", "shortDescription": {"text": "Insecure pattern 'weak_hash' in .anodizer.yaml:1104"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-23c463c28040fff9", "name": "Insecure pattern 'weak_hash' in README.md:58", "shortDescription": {"text": "Insecure pattern 'weak_hash' in README.md:58"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-aa7e0efaf0625ac3", "name": "Insecure pattern 'weak_hash' in crates/cli/README.md:60", "shortDescription": {"text": "Insecure pattern 'weak_hash' in crates/cli/README.md:60"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d081a761e9cbb426", "name": "Insecure pattern 'weak_hash' in crates/stage-announce/src/twitter.rs:114", "shortDescription": {"text": "Insecure pattern 'weak_hash' in crates/stage-announce/src/twitter.rs:114"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8430f7e5990463b8", "name": "Possible secret in crates/stage-notarize/src/lib.rs", "shortDescription": {"text": "Possible secret in crates/stage-notarize/src/lib.rs"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-110602a8e80df7ea", "name": "Insecure pattern 'weak_hash' in crates/stage-checksum/Cargo.toml:3", "shortDescription": {"text": "Insecure pattern 'weak_hash' in crates/stage-checksum/Cargo.toml:3"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b96cc5e80ab032d8", "name": "Insecure pattern 'weak_hash' in crates/stage-checksum/README.md:5", "shortDescription": {"text": "Insecure pattern 'weak_hash' in crates/stage-checksum/README.md:5"}, "fullDescription": {"text": "Found a known-risky pattern (weak_hash). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4b1c25859c983574", "name": "Insecure pattern 'private_key_in_repo' in crates/core/src/env_preflight.rs:386", "shortDescription": {"text": "Insecure pattern 'private_key_in_repo' in crates/core/src/env_preflight.rs:386"}, "fullDescription": {"text": "Found a known-risky pattern (private_key_in_repo). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-c792fb9b6f699ba2", "name": "Possible secret in crates/core/src/git/github_api.rs", "shortDescription": {"text": "Possible secret in crates/core/src/git/github_api.rs"}, "fullDescription": {"text": "Detected pattern matching github_token. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-c842922aa226e6c2", "name": "Possible secret in crates/stage-publish/src/http_upload.rs", "shortDescription": {"text": "Possible secret in crates/stage-publish/src/http_upload.rs"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-9bebbc693ef961c5", "name": "Insecure pattern 'node_child_process' in crates/stage-publish/src/npm/optional_deps.rs:242", "shortDescription": {"text": "Insecure pattern 'node_child_process' in crates/stage-publish/src/npm/optional_deps.rs:242"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6b8a6f6596b1f58e", "name": "Insecure pattern 'node_child_process' in crates/stage-publish/src/npm/manifest.rs:572", "shortDescription": {"text": "Insecure pattern 'node_child_process' in crates/stage-publish/src/npm/manifest.rs:572"}, "fullDescription": {"text": "Found a known-risky pattern (node_child_process). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "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": "tj-smith47/anodizer-action@v1 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-64192a3c67110d01", "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-14ce8614dd03f409", "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-ee252b4a1468bf6e", "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-46c644c6227e4d4a", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "tj-smith47/anodizer-action@v1 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-1838a141491ce38c", "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-8aa00f04852839af", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "tj-smith47/anodizer-action@v1 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-5f019219a19382f5", "name": "Very large file: crates/stage-srpm/src/lib.rs (2186 lines)", "shortDescription": {"text": "Very large file: crates/stage-srpm/src/lib.rs (2186 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-27923a922096c62a", "name": "Very large file: crates/stage-blob/src/run.rs (1204 lines)", "shortDescription": {"text": "Very large file: crates/stage-blob/src/run.rs (1204 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-2ef167f3060ffbaa", "name": "Very large file: crates/stage-blob/src/tests.rs (1935 lines)", "shortDescription": {"text": "Very large file: crates/stage-blob/src/tests.rs (1935 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-1415f73058f62d99", "name": "Very large file: crates/stage-pkg/src/lib.rs (3280 lines)", "shortDescription": {"text": "Very large file: crates/stage-pkg/src/lib.rs (3280 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-28ae73a29655749d", "name": "Very large file: crates/cli/tests/changelog_command_integration.rs (2679 lines)", "shortDescription": {"text": "Very large file: crates/cli/tests/changelog_command_integration.rs (2679 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-c46faf76269db71e", "name": "Very large file: crates/cli/tests/tag_changelog_integration.rs (1943 lines)", "shortDescription": {"text": "Very large file: crates/cli/tests/tag_changelog_integration.rs (1943 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-88f2507d22fb14e6", "name": "Very large file: crates/cli/tests/integration.rs (5584 lines)", "shortDescription": {"text": "Very large file: crates/cli/tests/integration.rs (5584 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-18a4006bdc4a910f", "name": "Very large file: crates/cli/src/main.rs (2003 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/main.rs (2003 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-705d1933fc255709", "name": "Very large file: crates/cli/src/commands/helpers.rs (3145 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/commands/helpers.rs (3145 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-3a3be8fd7792f467", "name": "Very large file: crates/cli/src/commands/release/publish_only.rs (3445 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/commands/release/publish_only.rs (3445 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b44976fa8cd7695a", "name": "Very large file: crates/cli/src/commands/release/milestones.rs (1663 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/commands/release/milestones.rs (1663 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-33ef583603b17cb7", "name": "Very large file: crates/cli/src/commands/release/mod.rs (3411 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/commands/release/mod.rs (3411 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-194a7766813983e6", "name": "Very large file: crates/cli/src/commands/release/split.rs (1956 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/commands/release/split.rs (1956 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-00c84cc0597c431a", "name": "Very large file: crates/cli/src/commands/tag/mod.rs (4258 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/commands/tag/mod.rs (4258 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-98f8eeff4d31683a", "name": "Very large file: crates/cli/src/commands/tag/rollback.rs (1748 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/commands/tag/rollback.rs (1748 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-c0e3bd6916d85fa5", "name": "Very large file: crates/cli/src/commands/check/config.rs (1748 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/commands/check/config.rs (1748 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-ad8e6292b198d3e4", "name": "Very large file: crates/cli/src/pipeline/builders.rs (1716 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/pipeline/builders.rs (1716 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-67838d41ebd69a82", "name": "Very large file: crates/cli/src/pipeline/config_loader.rs (1745 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/pipeline/config_loader.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-55d980e9bc9a9055", "name": "Very large file: crates/cli/src/determinism_harness/mod.rs (1331 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/determinism_harness/mod.rs (1331 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-bf3665103bebe32a", "name": "Very large file: crates/cli/src/determinism_harness/preserve.rs (1594 lines)", "shortDescription": {"text": "Very large file: crates/cli/src/determinism_harness/preserve.rs (1594 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-eed7aaa25b112c9e", "name": "Very large file: crates/stage-verify-release/src/smoke.rs (1290 lines)", "shortDescription": {"text": "Very large file: crates/stage-verify-release/src/smoke.rs (1290 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-7abc5048c648e90f", "name": "Very large file: crates/stage-verify-release/src/tests.rs (1696 lines)", "shortDescription": {"text": "Very large file: crates/stage-verify-release/src/tests.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-538de8fd3f0fbae6", "name": "Very large file: crates/stage-announce/src/tests.rs (2518 lines)", "shortDescription": {"text": "Very large file: crates/stage-announce/src/tests.rs (2518 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-65e89629e1218e9e", "name": "Very large file: crates/stage-announce/src/announcers.rs (3720 lines)", "shortDescription": {"text": "Very large file: crates/stage-announce/src/announcers.rs (3720 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-aa38832ed3ed6924", "name": "Very large file: crates/stage-msi/src/lib.rs (2292 lines)", "shortDescription": {"text": "Very large file: crates/stage-msi/src/lib.rs (2292 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-c40d0eee8b47386e", "name": "Very large file: crates/stage-nfpm/src/run.rs (1484 lines)", "shortDescription": {"text": "Very large file: crates/stage-nfpm/src/run.rs (1484 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-8432389164289556", "name": "Very large file: crates/stage-nfpm/src/tests.rs (6394 lines)", "shortDescription": {"text": "Very large file: crates/stage-nfpm/src/tests.rs (6394 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-b1ddaec8ad3a9ed3", "name": "Very large file: crates/stage-changelog/src/render.rs (4892 lines)", "shortDescription": {"text": "Very large file: crates/stage-changelog/src/render.rs (4892 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-251d45e06948ecf4", "name": "Very large file: crates/stage-changelog/src/run.rs (1329 lines)", "shortDescription": {"text": "Very large file: crates/stage-changelog/src/run.rs (1329 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-a15c6b6edeb0e505", "name": "Very large file: crates/stage-changelog/src/tests.rs (5318 lines)", "shortDescription": {"text": "Very large file: crates/stage-changelog/src/tests.rs (5318 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-8c710b8ff348279b", "name": "Very large file: crates/stage-snapcraft/src/build_stage.rs (1392 lines)", "shortDescription": {"text": "Very large file: crates/stage-snapcraft/src/build_stage.rs (1392 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-5cd7cf60352b4af7", "name": "Very large file: crates/stage-snapcraft/src/tests.rs (3921 lines)", "shortDescription": {"text": "Very large file: crates/stage-snapcraft/src/tests.rs (3921 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-0c454bdec7da5bc2", "name": "Very large file: crates/stage-makeself/src/lib.rs (1931 lines)", "shortDescription": {"text": "Very large file: crates/stage-makeself/src/lib.rs (1931 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-0e2c5743a3608d29", "name": "Very large file: crates/stage-notarize/src/lib.rs (1595 lines)", "shortDescription": {"text": "Very large file: crates/stage-notarize/src/lib.rs (1595 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-13fc3d7b6f3c5c7f", "name": "Very large file: crates/stage-notarize/src/run.rs (1396 lines)", "shortDescription": {"text": "Very large file: crates/stage-notarize/src/run.rs (1396 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-a70c53fab06ec855", "name": "Very large file: crates/stage-checksum/src/tests.rs (2531 lines)", "shortDescription": {"text": "Very large file: crates/stage-checksum/src/tests.rs (2531 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-6a82a236b32234c6", "name": "Very large file: crates/stage-nsis/src/lib.rs (2163 lines)", "shortDescription": {"text": "Very large file: crates/stage-nsis/src/lib.rs (2163 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-dfa0d246a6b653c8", "name": "Very large file: crates/stage-appbundle/src/lib.rs (2232 lines)", "shortDescription": {"text": "Very large file: crates/stage-appbundle/src/lib.rs (2232 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-98ff0f2c29c89a7b", "name": "Very large file: crates/stage-source/src/tests.rs (1655 lines)", "shortDescription": {"text": "Very large file: crates/stage-source/src/tests.rs (1655 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-691898164f88d489", "name": "Very large file: crates/stage-docker/src/run.rs (1648 lines)", "shortDescription": {"text": "Very large file: crates/stage-docker/src/run.rs (1648 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-9592f8cf893a55d9", "name": "Very large file: crates/stage-docker/src/tests.rs (6745 lines)", "shortDescription": {"text": "Very large file: crates/stage-docker/src/tests.rs (6745 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-fc198f47029c73c0", "name": "Very large file: crates/core/tests/config_parsing_tests.rs (3797 lines)", "shortDescription": {"text": "Very large file: crates/core/tests/config_parsing_tests.rs (3797 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-5bd33fd79518bb73", "name": "Very large file: crates/core/src/binstall.rs (1469 lines)", "shortDescription": {"text": "Very large file: crates/core/src/binstall.rs (1469 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-ca9ec2ea18f52420", "name": "Very large file: crates/core/src/context.rs (3035 lines)", "shortDescription": {"text": "Very large file: crates/core/src/context.rs (3035 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-8a193f68f7841581", "name": "Very large file: crates/core/src/log.rs (2061 lines)", "shortDescription": {"text": "Very large file: crates/core/src/log.rs (2061 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-1a7de6446023f3e1", "name": "Very large file: crates/core/src/defaults_merge.rs (1620 lines)", "shortDescription": {"text": "Very large file: crates/core/src/defaults_merge.rs (1620 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-6f401f8767d9f219", "name": "Very large file: crates/core/src/retry.rs (1424 lines)", "shortDescription": {"text": "Very large file: crates/core/src/retry.rs (1424 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-381c1226bb51972d", "name": "Very large file: crates/core/src/artifact.rs (2105 lines)", "shortDescription": {"text": "Very large file: crates/core/src/artifact.rs (2105 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-d25a6f3072389cef", "name": "Very large file: crates/core/src/config/mod.rs (2496 lines)", "shortDescription": {"text": "Very large file: crates/core/src/config/mod.rs (2496 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-23865268a39d8b94", "name": "Very large file: crates/core/src/config/tests.rs (9584 lines)", "shortDescription": {"text": "Very large file: crates/core/src/config/tests.rs (9584 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-2ab7d541e75ab1fe", "name": "Very large file: crates/core/src/git/commits.rs (2646 lines)", "shortDescription": {"text": "Very large file: crates/core/src/git/commits.rs (2646 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-270400627bee0ddd", "name": "Very large file: crates/core/src/template/base_tera.rs (1727 lines)", "shortDescription": {"text": "Very large file: crates/core/src/template/base_tera.rs (1727 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-cb9549a1ffa0131d", "name": "Very large file: crates/core/src/template/tests.rs (4150 lines)", "shortDescription": {"text": "Very large file: crates/core/src/template/tests.rs (4150 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-9b889f3971fe0ad4", "name": "Very large file: crates/stage-sbom/src/lib.rs (2021 lines)", "shortDescription": {"text": "Very large file: crates/stage-sbom/src/lib.rs (2021 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-492d03c75b8d627c", "name": "Very large file: crates/stage-dmg/src/lib.rs (2616 lines)", "shortDescription": {"text": "Very large file: crates/stage-dmg/src/lib.rs (2616 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-e5b3757bebf1594d", "name": "Very large file: crates/stage-flatpak/src/lib.rs (2876 lines)", "shortDescription": {"text": "Very large file: crates/stage-flatpak/src/lib.rs (2876 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-8a597a79069a6da1", "name": "Very large file: crates/stage-archive/src/run.rs (1105 lines)", "shortDescription": {"text": "Very large file: crates/stage-archive/src/run.rs (1105 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-cb0077d8cd68589b", "name": "Very large file: crates/stage-archive/src/tests.rs (5616 lines)", "shortDescription": {"text": "Very large file: crates/stage-archive/src/tests.rs (5616 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-2ba89c25bb0a99b6", "name": "Very large file: crates/stage-release/src/gitea.rs (2902 lines)", "shortDescription": {"text": "Very large file: crates/stage-release/src/gitea.rs (2902 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-70ef10e11d214152", "name": "Very large file: crates/stage-release/src/run.rs (1416 lines)", "shortDescription": {"text": "Very large file: crates/stage-release/src/run.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-6080616dc076fcbb", "name": "Very large file: crates/stage-release/src/gitlab.rs (3294 lines)", "shortDescription": {"text": "Very large file: crates/stage-release/src/gitlab.rs (3294 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-17e7f71e5f5992a4", "name": "Very large file: crates/stage-release/src/tests.rs (5705 lines)", "shortDescription": {"text": "Very large file: crates/stage-release/src/tests.rs (5705 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-b76c1f48918ff758", "name": "Very large file: crates/stage-release/src/github/backend.rs (2547 lines)", "shortDescription": {"text": "Very large file: crates/stage-release/src/github/backend.rs (2547 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-32981758e3df7e34", "name": "Very large file: crates/stage-publish/src/scoop.rs (4342 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/scoop.rs (4342 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-0b4f2383ddf1fa80", "name": "Very large file: crates/stage-publish/src/lib.rs (2568 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/lib.rs (2568 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-8f8c8d0f591c26e9", "name": "Very large file: crates/stage-publish/src/artifactory.rs (3798 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/artifactory.rs (3798 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-0e15c051755f1350", "name": "Very large file: crates/stage-publish/src/cargo.rs (6274 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/cargo.rs (6274 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-169632fe9cd2c2bd", "name": "Very large file: crates/stage-publish/src/registry.rs (1591 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/registry.rs (1591 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-31980e566744aa46", "name": "Very large file: crates/stage-publish/src/run_summary.rs (1552 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/run_summary.rs (1552 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-ca6c245789ffd8e0", "name": "Very large file: crates/stage-publish/src/krew.rs (4620 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/krew.rs (4620 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-97f7676aeebadee8", "name": "Very large file: crates/stage-publish/src/uploads.rs (1424 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/uploads.rs (1424 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-87d6a40228f9603b", "name": "Very large file: crates/stage-publish/src/aur_source.rs (2950 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/aur_source.rs (2950 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-42695b9c59e1ee77", "name": "Very large file: crates/stage-publish/src/cloudsmith.rs (4169 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/cloudsmith.rs (4169 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-4bfe3c08e1c1e307", "name": "Very large file: crates/stage-publish/src/dockerhub.rs (2776 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/dockerhub.rs (2776 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-93ac4a58aa965716", "name": "Very large file: crates/stage-publish/src/snapshot_validation.rs (1528 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/snapshot_validation.rs (1528 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-8bb3f587431b76b6", "name": "Very large file: crates/stage-publish/src/winget.rs (4784 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/winget.rs (4784 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-52515e493b1584ab", "name": "Very large file: crates/stage-publish/src/preflight.rs (3081 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/preflight.rs (3081 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-7bc8ff35fa6729de", "name": "Very large file: crates/stage-publish/src/aur.rs (4278 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/aur.rs (4278 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-02736e854e7f0242", "name": "Very large file: crates/stage-publish/src/util/pr.rs (2040 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/util/pr.rs (2040 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-56358dbb4092bf68", "name": "Very large file: crates/stage-publish/src/schemastore/publish.rs (2784 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/schemastore/publish.rs (2784 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-ffdcad518a4121b9", "name": "Very large file: crates/stage-publish/src/homebrew/publish_formula.rs (2226 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/homebrew/publish_formula.rs (2226 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-ebfbe7cf5f6e3c60", "name": "Very large file: crates/stage-publish/src/homebrew/tests.rs (4273 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/homebrew/tests.rs (4273 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-6be2fc0e4f6fad34", "name": "Very large file: crates/stage-publish/src/npm/tests.rs (2342 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/npm/tests.rs (2342 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-090c603d14dd3977", "name": "Very large file: crates/stage-publish/src/nix/publish.rs (2861 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/nix/publish.rs (2861 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-6b47e0fb43dad9cb", "name": "Very large file: crates/stage-publish/src/nix/tests.rs (2151 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/nix/tests.rs (2151 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-10853893beba2338", "name": "Very large file: crates/stage-publish/src/schema_validation/nfpm.rs (1518 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/schema_validation/nfpm.rs (1518 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-e9691ebbd2ed52d8", "name": "Very large file: crates/stage-publish/src/chocolatey/publish.rs (2490 lines)", "shortDescription": {"text": "Very large file: crates/stage-publish/src/chocolatey/publish.rs (2490 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-7234a4e1d47b256c", "name": "Very large file: crates/stage-sign/src/tests.rs (3144 lines)", "shortDescription": {"text": "Very large file: crates/stage-sign/src/tests.rs (3144 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-08b78c0d6731df14", "name": "Very large file: crates/stage-build/src/run_helpers.rs (2724 lines)", "shortDescription": {"text": "Very large file: crates/stage-build/src/run_helpers.rs (2724 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-6a2654f9490a2176", "name": "Very large file: crates/stage-build/src/run.rs (1174 lines)", "shortDescription": {"text": "Very large file: crates/stage-build/src/run.rs (1174 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-d6d5481514f034ab", "name": "Very large file: crates/stage-build/src/tests.rs (2963 lines)", "shortDescription": {"text": "Very large file: crates/stage-build/src/tests.rs (2963 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-ea3b5e389d8c9c0f", "name": "Low test-to-source ratio", "shortDescription": {"text": "Low test-to-source ratio"}, "fullDescription": {"text": "67 tests / 417 src (ratio 0.16)."}, "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 468 placeholder/mock markers across 88 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-f829242eab8fd66d", "name": "Agent instruction/config may expose a secret: .claude/known-bugs.md", "shortDescription": {"text": "Agent instruction/config may expose a secret: .claude/known-bugs.md"}, "fullDescription": {"text": "Agent-facing files are routinely pasted into LLM/tool contexts. Move literal tokens, keys, and passwords into a secret manager or document them as placeholders only."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/21358"}, "properties": {"repository": "tj-smith47/anodizer", "repoUrl": "https://github.com/tj-smith47/anodizer", "branch": "main"}, "results": [{"ruleId": "scanner-4a84f0fe40df47d5", "level": "warning", "message": {"text": "Privileged port 587 in use"}, "properties": {"repobilityId": "a87a96c3b2e62c08", "scanner": "scanner-primary", "fingerprint": "4a84f0fe40df47d5", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".anodizer.yaml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7086222d9a8266c2", "level": "warning", "message": {"text": "Privileged port 465 in use"}, "properties": {"repobilityId": "bcd1f06b60a2b6bc", "scanner": "scanner-primary", "fingerprint": "7086222d9a8266c2", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "crates/stage-announce/src/email.rs"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c4e9030ddde6be86", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: gcr.io/distroless/cc-debian12:nonroot"}, "properties": {"repobilityId": "0d7f22559a6e1e61", "scanner": "scanner-primary", "fingerprint": "c4e9030ddde6be86", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 13}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"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-959db08bc780753c", "level": "error", "message": {"text": "Runtime dotenv file present in repo: .env.release"}, "properties": {"repobilityId": "4dd2a786bf2f1201", "scanner": "scanner-primary", "fingerprint": "959db08bc780753c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".env.release"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-56a4024189e4b339", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in .anodizer.yaml:1104"}, "properties": {"repobilityId": "bf37a5024e35e21c", "scanner": "scanner-primary", "fingerprint": "56a4024189e4b339", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".anodizer.yaml"}, "region": {"startLine": 1104}}}]}, {"ruleId": "scanner-23c463c28040fff9", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in README.md:58"}, "properties": {"repobilityId": "5388562008acceec", "scanner": "scanner-primary", "fingerprint": "23c463c28040fff9", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "README.md"}, "region": {"startLine": 58}}}]}, {"ruleId": "scanner-aa7e0efaf0625ac3", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in crates/cli/README.md:60"}, "properties": {"repobilityId": "ea9afe7a8bb305bb", "scanner": "scanner-primary", "fingerprint": "aa7e0efaf0625ac3", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "crates/cli/README.md"}, "region": {"startLine": 60}}}]}, {"ruleId": "scanner-d081a761e9cbb426", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in crates/stage-announce/src/twitter.rs:114"}, "properties": {"repobilityId": "8ec5c0f811504014", "scanner": "scanner-primary", "fingerprint": "d081a761e9cbb426", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "crates/stage-announce/src/twitter.rs"}, "region": {"startLine": 114}}}]}, {"ruleId": "scanner-8430f7e5990463b8", "level": "error", "message": {"text": "Possible secret in crates/stage-notarize/src/lib.rs"}, "properties": {"repobilityId": "39f5052035330b85", "scanner": "scanner-primary", "fingerprint": "8430f7e5990463b8", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "crates/stage-notarize/src/lib.rs"}, "region": {"startLine": 209}}}]}, {"ruleId": "scanner-110602a8e80df7ea", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in crates/stage-checksum/Cargo.toml:3"}, "properties": {"repobilityId": "6cb044c55040c30a", "scanner": "scanner-primary", "fingerprint": "110602a8e80df7ea", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "crates/stage-checksum/Cargo.toml"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-b96cc5e80ab032d8", "level": "warning", "message": {"text": "Insecure pattern 'weak_hash' in crates/stage-checksum/README.md:5"}, "properties": {"repobilityId": "0a7d036fe05dfa33", "scanner": "scanner-primary", "fingerprint": "b96cc5e80ab032d8", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "weak_hash"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "crates/stage-checksum/README.md"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-4b1c25859c983574", "level": "error", "message": {"text": "Insecure pattern 'private_key_in_repo' in crates/core/src/env_preflight.rs:386"}, "properties": {"repobilityId": "16fff43d1cd22055", "scanner": "scanner-primary", "fingerprint": "4b1c25859c983574", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["owasp", "private_key_in_repo"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "crates/core/src/env_preflight.rs"}, "region": {"startLine": 386}}}]}, {"ruleId": "scanner-c792fb9b6f699ba2", "level": "error", "message": {"text": "Possible secret in crates/core/src/git/github_api.rs"}, "properties": {"repobilityId": "f66b1528ec75cb9f", "scanner": "scanner-primary", "fingerprint": "c792fb9b6f699ba2", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "crates/core/src/git/github_api.rs"}, "region": {"startLine": 405}}}]}, {"ruleId": "scanner-c842922aa226e6c2", "level": "error", "message": {"text": "Possible secret in crates/stage-publish/src/http_upload.rs"}, "properties": {"repobilityId": "f1cd1b7314575357", "scanner": "scanner-primary", "fingerprint": "c842922aa226e6c2", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "crates/stage-publish/src/http_upload.rs"}, "region": {"startLine": 97}}}]}, {"ruleId": "scanner-9bebbc693ef961c5", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in crates/stage-publish/src/npm/optional_deps.rs:242"}, "properties": {"repobilityId": "ee07a9d42f754183", "scanner": "scanner-primary", "fingerprint": "9bebbc693ef961c5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "crates/stage-publish/src/npm/optional_deps.rs"}, "region": {"startLine": 242}}}]}, {"ruleId": "scanner-6b8a6f6596b1f58e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in crates/stage-publish/src/npm/manifest.rs:572"}, "properties": {"repobilityId": "64a47b2f5345adfe", "scanner": "scanner-primary", "fingerprint": "6b8a6f6596b1f58e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "crates/stage-publish/src/npm/manifest.rs"}, "region": {"startLine": 572}}}]}, {"ruleId": "scanner-27924aa79fa4a517", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "bd7b175f3fc23964", "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": 127}}}]}, {"ruleId": "scanner-64192a3c67110d01", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "87338a8bfcb6f435", "scanner": "scanner-primary", "fingerprint": "64192a3c67110d01", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/ci.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-14ce8614dd03f409", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "81c5c697653f94e8", "scanner": "scanner-primary", "fingerprint": "14ce8614dd03f409", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/docs.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ee252b4a1468bf6e", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "8410a23fe51251b5", "scanner": "scanner-primary", "fingerprint": "ee252b4a1468bf6e", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/nightly.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "58d95be7f48dfe6d", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 67}}}]}, {"ruleId": "scanner-46c644c6227e4d4a", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "58d95be7f48dfe6d", "scanner": "scanner-primary", "fingerprint": "46c644c6227e4d4a", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 164}}}]}, {"ruleId": "scanner-1838a141491ce38c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "b8fd4f5048f96576", "scanner": "scanner-primary", "fingerprint": "1838a141491ce38c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/release.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8aa00f04852839af", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "11374a7238337d13", "scanner": "scanner-primary", "fingerprint": "8aa00f04852839af", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/runner-preflight.yml"}, "region": {"startLine": 27}}}]}, {"ruleId": "scanner-5f019219a19382f5", "level": "note", "message": {"text": "Very large file: crates/stage-srpm/src/lib.rs (2186 lines)"}, "properties": {"repobilityId": "c648efa3f0849c8e", "scanner": "scanner-primary", "fingerprint": "5f019219a19382f5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-27923a922096c62a", "level": "note", "message": {"text": "Very large file: crates/stage-blob/src/run.rs (1204 lines)"}, "properties": {"repobilityId": "4f1b3ee3beb60649", "scanner": "scanner-primary", "fingerprint": "27923a922096c62a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2ef167f3060ffbaa", "level": "note", "message": {"text": "Very large file: crates/stage-blob/src/tests.rs (1935 lines)"}, "properties": {"repobilityId": "e773565ca943d51e", "scanner": "scanner-primary", "fingerprint": "2ef167f3060ffbaa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1415f73058f62d99", "level": "note", "message": {"text": "Very large file: crates/stage-pkg/src/lib.rs (3280 lines)"}, "properties": {"repobilityId": "4199ba36bf9d18b7", "scanner": "scanner-primary", "fingerprint": "1415f73058f62d99", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-28ae73a29655749d", "level": "note", "message": {"text": "Very large file: crates/cli/tests/changelog_command_integration.rs (2679 lines)"}, "properties": {"repobilityId": "96e98e4ca57e51c4", "scanner": "scanner-primary", "fingerprint": "28ae73a29655749d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c46faf76269db71e", "level": "note", "message": {"text": "Very large file: crates/cli/tests/tag_changelog_integration.rs (1943 lines)"}, "properties": {"repobilityId": "58a3db7daeae55c3", "scanner": "scanner-primary", "fingerprint": "c46faf76269db71e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-88f2507d22fb14e6", "level": "note", "message": {"text": "Very large file: crates/cli/tests/integration.rs (5584 lines)"}, "properties": {"repobilityId": "e29e5a36d1446aa0", "scanner": "scanner-primary", "fingerprint": "88f2507d22fb14e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-18a4006bdc4a910f", "level": "note", "message": {"text": "Very large file: crates/cli/src/main.rs (2003 lines)"}, "properties": {"repobilityId": "db408a211044c33c", "scanner": "scanner-primary", "fingerprint": "18a4006bdc4a910f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-705d1933fc255709", "level": "note", "message": {"text": "Very large file: crates/cli/src/commands/helpers.rs (3145 lines)"}, "properties": {"repobilityId": "4a3cb31c01cd29bb", "scanner": "scanner-primary", "fingerprint": "705d1933fc255709", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3a3be8fd7792f467", "level": "note", "message": {"text": "Very large file: crates/cli/src/commands/release/publish_only.rs (3445 lines)"}, "properties": {"repobilityId": "9415adc1b1f1abe7", "scanner": "scanner-primary", "fingerprint": "3a3be8fd7792f467", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b44976fa8cd7695a", "level": "note", "message": {"text": "Very large file: crates/cli/src/commands/release/milestones.rs (1663 lines)"}, "properties": {"repobilityId": "826c427d7bbdd2a8", "scanner": "scanner-primary", "fingerprint": "b44976fa8cd7695a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-33ef583603b17cb7", "level": "note", "message": {"text": "Very large file: crates/cli/src/commands/release/mod.rs (3411 lines)"}, "properties": {"repobilityId": "d40c785b1fa4af37", "scanner": "scanner-primary", "fingerprint": "33ef583603b17cb7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-194a7766813983e6", "level": "note", "message": {"text": "Very large file: crates/cli/src/commands/release/split.rs (1956 lines)"}, "properties": {"repobilityId": "baf44a097d25f7a9", "scanner": "scanner-primary", "fingerprint": "194a7766813983e6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-00c84cc0597c431a", "level": "note", "message": {"text": "Very large file: crates/cli/src/commands/tag/mod.rs (4258 lines)"}, "properties": {"repobilityId": "2f3bba515da1bc20", "scanner": "scanner-primary", "fingerprint": "00c84cc0597c431a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-98f8eeff4d31683a", "level": "note", "message": {"text": "Very large file: crates/cli/src/commands/tag/rollback.rs (1748 lines)"}, "properties": {"repobilityId": "3550c72fa673340b", "scanner": "scanner-primary", "fingerprint": "98f8eeff4d31683a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c0e3bd6916d85fa5", "level": "note", "message": {"text": "Very large file: crates/cli/src/commands/check/config.rs (1748 lines)"}, "properties": {"repobilityId": "7b89c95a1d8dcf2a", "scanner": "scanner-primary", "fingerprint": "c0e3bd6916d85fa5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ad8e6292b198d3e4", "level": "note", "message": {"text": "Very large file: crates/cli/src/pipeline/builders.rs (1716 lines)"}, "properties": {"repobilityId": "427db563da336c84", "scanner": "scanner-primary", "fingerprint": "ad8e6292b198d3e4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-67838d41ebd69a82", "level": "note", "message": {"text": "Very large file: crates/cli/src/pipeline/config_loader.rs (1745 lines)"}, "properties": {"repobilityId": "ed41617424f21d5d", "scanner": "scanner-primary", "fingerprint": "67838d41ebd69a82", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-55d980e9bc9a9055", "level": "note", "message": {"text": "Very large file: crates/cli/src/determinism_harness/mod.rs (1331 lines)"}, "properties": {"repobilityId": "65964d3c95890416", "scanner": "scanner-primary", "fingerprint": "55d980e9bc9a9055", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bf3665103bebe32a", "level": "note", "message": {"text": "Very large file: crates/cli/src/determinism_harness/preserve.rs (1594 lines)"}, "properties": {"repobilityId": "f8d42965d3430c16", "scanner": "scanner-primary", "fingerprint": "bf3665103bebe32a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-eed7aaa25b112c9e", "level": "note", "message": {"text": "Very large file: crates/stage-verify-release/src/smoke.rs (1290 lines)"}, "properties": {"repobilityId": "7b433b8501263114", "scanner": "scanner-primary", "fingerprint": "eed7aaa25b112c9e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7abc5048c648e90f", "level": "note", "message": {"text": "Very large file: crates/stage-verify-release/src/tests.rs (1696 lines)"}, "properties": {"repobilityId": "04a54e3bbb117235", "scanner": "scanner-primary", "fingerprint": "7abc5048c648e90f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-538de8fd3f0fbae6", "level": "note", "message": {"text": "Very large file: crates/stage-announce/src/tests.rs (2518 lines)"}, "properties": {"repobilityId": "ae25937f2c0818d3", "scanner": "scanner-primary", "fingerprint": "538de8fd3f0fbae6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-65e89629e1218e9e", "level": "note", "message": {"text": "Very large file: crates/stage-announce/src/announcers.rs (3720 lines)"}, "properties": {"repobilityId": "e6f7344aa1fd6bad", "scanner": "scanner-primary", "fingerprint": "65e89629e1218e9e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-aa38832ed3ed6924", "level": "note", "message": {"text": "Very large file: crates/stage-msi/src/lib.rs (2292 lines)"}, "properties": {"repobilityId": "c88cba83002de67a", "scanner": "scanner-primary", "fingerprint": "aa38832ed3ed6924", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-c40d0eee8b47386e", "level": "note", "message": {"text": "Very large file: crates/stage-nfpm/src/run.rs (1484 lines)"}, "properties": {"repobilityId": "c729cb8e31be185a", "scanner": "scanner-primary", "fingerprint": "c40d0eee8b47386e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8432389164289556", "level": "note", "message": {"text": "Very large file: crates/stage-nfpm/src/tests.rs (6394 lines)"}, "properties": {"repobilityId": "24275ffe5d5fb59a", "scanner": "scanner-primary", "fingerprint": "8432389164289556", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b1ddaec8ad3a9ed3", "level": "note", "message": {"text": "Very large file: crates/stage-changelog/src/render.rs (4892 lines)"}, "properties": {"repobilityId": "07f30996f5c6800b", "scanner": "scanner-primary", "fingerprint": "b1ddaec8ad3a9ed3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-251d45e06948ecf4", "level": "note", "message": {"text": "Very large file: crates/stage-changelog/src/run.rs (1329 lines)"}, "properties": {"repobilityId": "bbafa76e6b2e1a82", "scanner": "scanner-primary", "fingerprint": "251d45e06948ecf4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a15c6b6edeb0e505", "level": "note", "message": {"text": "Very large file: crates/stage-changelog/src/tests.rs (5318 lines)"}, "properties": {"repobilityId": "5757ac304d9ba001", "scanner": "scanner-primary", "fingerprint": "a15c6b6edeb0e505", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8c710b8ff348279b", "level": "note", "message": {"text": "Very large file: crates/stage-snapcraft/src/build_stage.rs (1392 lines)"}, "properties": {"repobilityId": "5c273752abea8f3f", "scanner": "scanner-primary", "fingerprint": "8c710b8ff348279b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5cd7cf60352b4af7", "level": "note", "message": {"text": "Very large file: crates/stage-snapcraft/src/tests.rs (3921 lines)"}, "properties": {"repobilityId": "a9aed75e3041d229", "scanner": "scanner-primary", "fingerprint": "5cd7cf60352b4af7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0c454bdec7da5bc2", "level": "note", "message": {"text": "Very large file: crates/stage-makeself/src/lib.rs (1931 lines)"}, "properties": {"repobilityId": "115df3b6e1c9e03c", "scanner": "scanner-primary", "fingerprint": "0c454bdec7da5bc2", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0e2c5743a3608d29", "level": "note", "message": {"text": "Very large file: crates/stage-notarize/src/lib.rs (1595 lines)"}, "properties": {"repobilityId": "af2e8d2cfcb5424b", "scanner": "scanner-primary", "fingerprint": "0e2c5743a3608d29", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-13fc3d7b6f3c5c7f", "level": "note", "message": {"text": "Very large file: crates/stage-notarize/src/run.rs (1396 lines)"}, "properties": {"repobilityId": "1c69e95ad962710d", "scanner": "scanner-primary", "fingerprint": "13fc3d7b6f3c5c7f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-a70c53fab06ec855", "level": "note", "message": {"text": "Very large file: crates/stage-checksum/src/tests.rs (2531 lines)"}, "properties": {"repobilityId": "db3907d2ea231e47", "scanner": "scanner-primary", "fingerprint": "a70c53fab06ec855", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6a82a236b32234c6", "level": "note", "message": {"text": "Very large file: crates/stage-nsis/src/lib.rs (2163 lines)"}, "properties": {"repobilityId": "936aa2d900604239", "scanner": "scanner-primary", "fingerprint": "6a82a236b32234c6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-dfa0d246a6b653c8", "level": "note", "message": {"text": "Very large file: crates/stage-appbundle/src/lib.rs (2232 lines)"}, "properties": {"repobilityId": "d5d86bc45bd27d82", "scanner": "scanner-primary", "fingerprint": "dfa0d246a6b653c8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-98ff0f2c29c89a7b", "level": "note", "message": {"text": "Very large file: crates/stage-source/src/tests.rs (1655 lines)"}, "properties": {"repobilityId": "2d70ed5a81a67222", "scanner": "scanner-primary", "fingerprint": "98ff0f2c29c89a7b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-691898164f88d489", "level": "note", "message": {"text": "Very large file: crates/stage-docker/src/run.rs (1648 lines)"}, "properties": {"repobilityId": "4347c907c72a934e", "scanner": "scanner-primary", "fingerprint": "691898164f88d489", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9592f8cf893a55d9", "level": "note", "message": {"text": "Very large file: crates/stage-docker/src/tests.rs (6745 lines)"}, "properties": {"repobilityId": "a4055f555e7fb386", "scanner": "scanner-primary", "fingerprint": "9592f8cf893a55d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-fc198f47029c73c0", "level": "note", "message": {"text": "Very large file: crates/core/tests/config_parsing_tests.rs (3797 lines)"}, "properties": {"repobilityId": "639a30d2da87ec1b", "scanner": "scanner-primary", "fingerprint": "fc198f47029c73c0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5bd33fd79518bb73", "level": "note", "message": {"text": "Very large file: crates/core/src/binstall.rs (1469 lines)"}, "properties": {"repobilityId": "360770e8b5de6c39", "scanner": "scanner-primary", "fingerprint": "5bd33fd79518bb73", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ca9ec2ea18f52420", "level": "note", "message": {"text": "Very large file: crates/core/src/context.rs (3035 lines)"}, "properties": {"repobilityId": "29873c1e8370b144", "scanner": "scanner-primary", "fingerprint": "ca9ec2ea18f52420", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8a193f68f7841581", "level": "note", "message": {"text": "Very large file: crates/core/src/log.rs (2061 lines)"}, "properties": {"repobilityId": "5b550cd5058e04b6", "scanner": "scanner-primary", "fingerprint": "8a193f68f7841581", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1a7de6446023f3e1", "level": "note", "message": {"text": "Very large file: crates/core/src/defaults_merge.rs (1620 lines)"}, "properties": {"repobilityId": "a3152470e31e79ed", "scanner": "scanner-primary", "fingerprint": "1a7de6446023f3e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6f401f8767d9f219", "level": "note", "message": {"text": "Very large file: crates/core/src/retry.rs (1424 lines)"}, "properties": {"repobilityId": "9488f3163509b754", "scanner": "scanner-primary", "fingerprint": "6f401f8767d9f219", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-381c1226bb51972d", "level": "note", "message": {"text": "Very large file: crates/core/src/artifact.rs (2105 lines)"}, "properties": {"repobilityId": "805f4290fbb0c998", "scanner": "scanner-primary", "fingerprint": "381c1226bb51972d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d25a6f3072389cef", "level": "note", "message": {"text": "Very large file: crates/core/src/config/mod.rs (2496 lines)"}, "properties": {"repobilityId": "cecd9d5d2a5aea6a", "scanner": "scanner-primary", "fingerprint": "d25a6f3072389cef", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-23865268a39d8b94", "level": "note", "message": {"text": "Very large file: crates/core/src/config/tests.rs (9584 lines)"}, "properties": {"repobilityId": "6f10014c5f7e78e2", "scanner": "scanner-primary", "fingerprint": "23865268a39d8b94", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2ab7d541e75ab1fe", "level": "note", "message": {"text": "Very large file: crates/core/src/git/commits.rs (2646 lines)"}, "properties": {"repobilityId": "ff0a6f3b39abe78d", "scanner": "scanner-primary", "fingerprint": "2ab7d541e75ab1fe", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-270400627bee0ddd", "level": "note", "message": {"text": "Very large file: crates/core/src/template/base_tera.rs (1727 lines)"}, "properties": {"repobilityId": "9811ef962d7a87ce", "scanner": "scanner-primary", "fingerprint": "270400627bee0ddd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cb9549a1ffa0131d", "level": "note", "message": {"text": "Very large file: crates/core/src/template/tests.rs (4150 lines)"}, "properties": {"repobilityId": "f44996221c1119d8", "scanner": "scanner-primary", "fingerprint": "cb9549a1ffa0131d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-9b889f3971fe0ad4", "level": "note", "message": {"text": "Very large file: crates/stage-sbom/src/lib.rs (2021 lines)"}, "properties": {"repobilityId": "4bdbd11963752f6c", "scanner": "scanner-primary", "fingerprint": "9b889f3971fe0ad4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-492d03c75b8d627c", "level": "note", "message": {"text": "Very large file: crates/stage-dmg/src/lib.rs (2616 lines)"}, "properties": {"repobilityId": "dea09afba359a4a2", "scanner": "scanner-primary", "fingerprint": "492d03c75b8d627c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e5b3757bebf1594d", "level": "note", "message": {"text": "Very large file: crates/stage-flatpak/src/lib.rs (2876 lines)"}, "properties": {"repobilityId": "5ce481a7e5240797", "scanner": "scanner-primary", "fingerprint": "e5b3757bebf1594d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8a597a79069a6da1", "level": "note", "message": {"text": "Very large file: crates/stage-archive/src/run.rs (1105 lines)"}, "properties": {"repobilityId": "5accdd8aa9b03166", "scanner": "scanner-primary", "fingerprint": "8a597a79069a6da1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cb0077d8cd68589b", "level": "note", "message": {"text": "Very large file: crates/stage-archive/src/tests.rs (5616 lines)"}, "properties": {"repobilityId": "5b7a5f6090453a4e", "scanner": "scanner-primary", "fingerprint": "cb0077d8cd68589b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2ba89c25bb0a99b6", "level": "note", "message": {"text": "Very large file: crates/stage-release/src/gitea.rs (2902 lines)"}, "properties": {"repobilityId": "0946317c60b39aee", "scanner": "scanner-primary", "fingerprint": "2ba89c25bb0a99b6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-70ef10e11d214152", "level": "note", "message": {"text": "Very large file: crates/stage-release/src/run.rs (1416 lines)"}, "properties": {"repobilityId": "829b34b1806c9334", "scanner": "scanner-primary", "fingerprint": "70ef10e11d214152", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6080616dc076fcbb", "level": "note", "message": {"text": "Very large file: crates/stage-release/src/gitlab.rs (3294 lines)"}, "properties": {"repobilityId": "b324419bb94589ac", "scanner": "scanner-primary", "fingerprint": "6080616dc076fcbb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-17e7f71e5f5992a4", "level": "note", "message": {"text": "Very large file: crates/stage-release/src/tests.rs (5705 lines)"}, "properties": {"repobilityId": "5337a1bd523713f1", "scanner": "scanner-primary", "fingerprint": "17e7f71e5f5992a4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-b76c1f48918ff758", "level": "note", "message": {"text": "Very large file: crates/stage-release/src/github/backend.rs (2547 lines)"}, "properties": {"repobilityId": "83b2c31d5f4646a9", "scanner": "scanner-primary", "fingerprint": "b76c1f48918ff758", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-32981758e3df7e34", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/scoop.rs (4342 lines)"}, "properties": {"repobilityId": "ea1834e088c1b10a", "scanner": "scanner-primary", "fingerprint": "32981758e3df7e34", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0b4f2383ddf1fa80", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/lib.rs (2568 lines)"}, "properties": {"repobilityId": "1eda088a7577caee", "scanner": "scanner-primary", "fingerprint": "0b4f2383ddf1fa80", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8f8c8d0f591c26e9", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/artifactory.rs (3798 lines)"}, "properties": {"repobilityId": "eb46cca3a03cf0e3", "scanner": "scanner-primary", "fingerprint": "8f8c8d0f591c26e9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-0e15c051755f1350", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/cargo.rs (6274 lines)"}, "properties": {"repobilityId": "7dbe92beec940fb5", "scanner": "scanner-primary", "fingerprint": "0e15c051755f1350", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-169632fe9cd2c2bd", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/registry.rs (1591 lines)"}, "properties": {"repobilityId": "2ba996a64c6138bd", "scanner": "scanner-primary", "fingerprint": "169632fe9cd2c2bd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-31980e566744aa46", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/run_summary.rs (1552 lines)"}, "properties": {"repobilityId": "533df9681be3baa8", "scanner": "scanner-primary", "fingerprint": "31980e566744aa46", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ca6c245789ffd8e0", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/krew.rs (4620 lines)"}, "properties": {"repobilityId": "32f54d4cf97dc077", "scanner": "scanner-primary", "fingerprint": "ca6c245789ffd8e0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-97f7676aeebadee8", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/uploads.rs (1424 lines)"}, "properties": {"repobilityId": "9cad18872f08233f", "scanner": "scanner-primary", "fingerprint": "97f7676aeebadee8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-87d6a40228f9603b", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/aur_source.rs (2950 lines)"}, "properties": {"repobilityId": "9ab7a5ca0d152545", "scanner": "scanner-primary", "fingerprint": "87d6a40228f9603b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-42695b9c59e1ee77", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/cloudsmith.rs (4169 lines)"}, "properties": {"repobilityId": "db50834b3b96b597", "scanner": "scanner-primary", "fingerprint": "42695b9c59e1ee77", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4bfe3c08e1c1e307", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/dockerhub.rs (2776 lines)"}, "properties": {"repobilityId": "04564982e7b6503b", "scanner": "scanner-primary", "fingerprint": "4bfe3c08e1c1e307", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-93ac4a58aa965716", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/snapshot_validation.rs (1528 lines)"}, "properties": {"repobilityId": "9557a743689d0839", "scanner": "scanner-primary", "fingerprint": "93ac4a58aa965716", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-8bb3f587431b76b6", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/winget.rs (4784 lines)"}, "properties": {"repobilityId": "d11fef762020ab00", "scanner": "scanner-primary", "fingerprint": "8bb3f587431b76b6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-52515e493b1584ab", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/preflight.rs (3081 lines)"}, "properties": {"repobilityId": "f658dc75637e779c", "scanner": "scanner-primary", "fingerprint": "52515e493b1584ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7bc8ff35fa6729de", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/aur.rs (4278 lines)"}, "properties": {"repobilityId": "7d2132671f9e34b9", "scanner": "scanner-primary", "fingerprint": "7bc8ff35fa6729de", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-02736e854e7f0242", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/util/pr.rs (2040 lines)"}, "properties": {"repobilityId": "49fbc143b993a35d", "scanner": "scanner-primary", "fingerprint": "02736e854e7f0242", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-56358dbb4092bf68", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/schemastore/publish.rs (2784 lines)"}, "properties": {"repobilityId": "a2c56d7189914bc4", "scanner": "scanner-primary", "fingerprint": "56358dbb4092bf68", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ffdcad518a4121b9", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/homebrew/publish_formula.rs (2226 lines)"}, "properties": {"repobilityId": "90ae12cfc362d455", "scanner": "scanner-primary", "fingerprint": "ffdcad518a4121b9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ebfbe7cf5f6e3c60", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/homebrew/tests.rs (4273 lines)"}, "properties": {"repobilityId": "db034eb4e877857b", "scanner": "scanner-primary", "fingerprint": "ebfbe7cf5f6e3c60", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6be2fc0e4f6fad34", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/npm/tests.rs (2342 lines)"}, "properties": {"repobilityId": "becd0c52ac9f414c", "scanner": "scanner-primary", "fingerprint": "6be2fc0e4f6fad34", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-090c603d14dd3977", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/nix/publish.rs (2861 lines)"}, "properties": {"repobilityId": "ff97ab90d92ec96b", "scanner": "scanner-primary", "fingerprint": "090c603d14dd3977", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6b47e0fb43dad9cb", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/nix/tests.rs (2151 lines)"}, "properties": {"repobilityId": "2be12969e68ae19a", "scanner": "scanner-primary", "fingerprint": "6b47e0fb43dad9cb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-10853893beba2338", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/schema_validation/nfpm.rs (1518 lines)"}, "properties": {"repobilityId": "9b33cb3f6a0a1257", "scanner": "scanner-primary", "fingerprint": "10853893beba2338", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e9691ebbd2ed52d8", "level": "note", "message": {"text": "Very large file: crates/stage-publish/src/chocolatey/publish.rs (2490 lines)"}, "properties": {"repobilityId": "a8dc1a358c028986", "scanner": "scanner-primary", "fingerprint": "e9691ebbd2ed52d8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-7234a4e1d47b256c", "level": "note", "message": {"text": "Very large file: crates/stage-sign/src/tests.rs (3144 lines)"}, "properties": {"repobilityId": "d80b0cc975f6d5da", "scanner": "scanner-primary", "fingerprint": "7234a4e1d47b256c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-08b78c0d6731df14", "level": "note", "message": {"text": "Very large file: crates/stage-build/src/run_helpers.rs (2724 lines)"}, "properties": {"repobilityId": "c87e7076476a8d2c", "scanner": "scanner-primary", "fingerprint": "08b78c0d6731df14", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6a2654f9490a2176", "level": "note", "message": {"text": "Very large file: crates/stage-build/src/run.rs (1174 lines)"}, "properties": {"repobilityId": "41172d9282b96315", "scanner": "scanner-primary", "fingerprint": "6a2654f9490a2176", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-d6d5481514f034ab", "level": "note", "message": {"text": "Very large file: crates/stage-build/src/tests.rs (2963 lines)"}, "properties": {"repobilityId": "cbefc1f0d5560a55", "scanner": "scanner-primary", "fingerprint": "d6d5481514f034ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ea3b5e389d8c9c0f", "level": "note", "message": {"text": "Low test-to-source ratio"}, "properties": {"repobilityId": "ef7b2552cc00a375", "scanner": "scanner-primary", "fingerprint": "ea3b5e389d8c9c0f", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["tests"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "526306e9822a7902", "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": "c0d3bb213e0edde7", "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": "75e17c007663a0d1", "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": "569bb5bf1d20d02f", "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": "b43281d2367d1108", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-f829242eab8fd66d", "level": "error", "message": {"text": "Agent instruction/config may expose a secret: .claude/known-bugs.md"}, "properties": {"repobilityId": "e050419a23fbabb4", "scanner": "scanner-primary", "fingerprint": "f829242eab8fd66d", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["agent-instructions", "secrets", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/known-bugs.md"}, "region": {"startLine": 216}}}]}]}]}