{"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-2b89d367e509de71", "name": "Possibly dead Python function: repl", "shortDescription": {"text": "Possibly dead Python function: repl"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b881e1e6d25e928", "name": "Possibly dead Python function: build_cart", "shortDescription": {"text": "Possibly dead Python function: build_cart"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0cb90eaa78fbef92", "name": "Possibly dead Python function: build_market_stall", "shortDescription": {"text": "Possibly dead Python function: build_market_stall"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f318dac186823ec4", "name": "Possibly dead Python function: build_stone_wall", "shortDescription": {"text": "Possibly dead Python function: build_stone_wall"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4c6b74c082209c5f", "name": "Possibly dead Python function: build_gate_arch", "shortDescription": {"text": "Possibly dead Python function: build_gate_arch"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-513c395f5f086d37", "name": "Possibly dead Python function: build_pot", "shortDescription": {"text": "Possibly dead Python function: build_pot"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b6b9cbb723fe4809", "name": "Possibly dead Python function: build_chochin", "shortDescription": {"text": "Possibly dead Python function: build_chochin"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-71e741eb1c64252c", "name": "Possibly dead Python function: build_crate_stack", "shortDescription": {"text": "Possibly dead Python function: build_crate_stack"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-76243e83b4c3d845", "name": "Possibly dead Python function: build_wood_fence", "shortDescription": {"text": "Possibly dead Python function: build_wood_fence"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a4817491ea2e8dd3", "name": "Possibly dead Python function: build_brazier", "shortDescription": {"text": "Possibly dead Python function: build_brazier"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f1427985ff57300c", "name": "Possibly dead Python function: build_lily_pad_blue", "shortDescription": {"text": "Possibly dead Python function: build_lily_pad_blue"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-009c83a388f87684", "name": "Possibly dead Python function: build_tea_pavilion", "shortDescription": {"text": "Possibly dead Python function: build_tea_pavilion"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7f9c0dfcf9c40e9", "name": "Possibly dead Python function: find_color_from_node_tree", "shortDescription": {"text": "Possibly dead Python function: find_color_from_node_tree"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-70620ea61296acec", "name": "Possibly dead Python function: build_deer", "shortDescription": {"text": "Possibly dead Python function: build_deer"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-74c7c3879837f819", "name": "Possibly dead Python function: build_fox", "shortDescription": {"text": "Possibly dead Python function: build_fox"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e105a5d6ffe8d3b8", "name": "Possibly dead Python function: build_cat", "shortDescription": {"text": "Possibly dead Python function: build_cat"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2c72ecd42984585", "name": "Possibly dead Python function: build_bird_perched", "shortDescription": {"text": "Possibly dead Python function: build_bird_perched"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7b3ff719b8f52973", "name": "Possibly dead Python function: build_lotus", "shortDescription": {"text": "Possibly dead Python function: build_lotus"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ae5d567b057804d2", "name": "Possibly dead Python function: build_azalea_bush", "shortDescription": {"text": "Possibly dead Python function: build_azalea_bush"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fcb4658a2bca1772", "name": "Possibly dead Python function: build_bamboo_bundle", "shortDescription": {"text": "Possibly dead Python function: build_bamboo_bundle"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1e90048678cc98da", "name": "Possibly dead Python function: build_moss_stone", "shortDescription": {"text": "Possibly dead Python function: build_moss_stone"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9304412ef4aa3d42", "name": "Possibly dead Python function: build_water_basin", "shortDescription": {"text": "Possibly dead Python function: build_water_basin"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5c73b9348295c2f0", "name": "Possibly dead Python function: build_pagoda", "shortDescription": {"text": "Possibly dead Python function: build_pagoda"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f7598cde726b9a4c", "name": "Possibly dead Python function: build_torii", "shortDescription": {"text": "Possibly dead Python function: build_torii"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9d976cc6777ef580", "name": "Possibly dead Python function: build_fountain", "shortDescription": {"text": "Possibly dead Python function: build_fountain"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8485f7b5d249a105", "name": "Possibly dead Python function: build_stone_lantern", "shortDescription": {"text": "Possibly dead Python function: build_stone_lantern"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b79c934770fe2b0", "name": "Possibly dead Python function: build_tree_pine", "shortDescription": {"text": "Possibly dead Python function: build_tree_pine"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0c9c8178a29ade15", "name": "Possibly dead Python function: build_tree_sakura", "shortDescription": {"text": "Possibly dead Python function: build_tree_sakura"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-422dca5c5eb0421d", "name": "Possibly dead Python function: build_tree_momiji", "shortDescription": {"text": "Possibly dead Python function: build_tree_momiji"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-84eac02493310a60", "name": "Possibly dead Python function: build_tree_broad", "shortDescription": {"text": "Possibly dead Python function: build_tree_broad"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-0f809eea5daf69ec", "name": "Insecure pattern 'eval_used' in niwa.html:8136", "shortDescription": {"text": "Insecure pattern 'eval_used' in niwa.html:8136"}, "fullDescription": {"text": "Found a known-risky pattern (eval_used). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-863ec4f47307ad4f", "name": "Insecure pattern 'direct_innerhtml_assignment' in niwa.html:9200", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in niwa.html:9200"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-bbba343b9cce57ce", "name": "Insecure pattern 'direct_innerhtml_assignment' in shogi-puyo.html:877", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in shogi-puyo.html:877"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a5edbb3e5034b374", "name": "Insecure pattern 'direct_innerhtml_assignment' in cabin.html:1154", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cabin.html:1154"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6b5ee5d16bd3b95f", "name": "Insecure pattern 'direct_innerhtml_assignment' in stopwatch.html:1002", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in stopwatch.html:1002"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4ce2b26764260f0b", "name": "Insecure pattern 'direct_innerhtml_assignment' in toeic.html:504", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in toeic.html:504"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-44afd89157a2c58b", "name": "Insecure pattern 'direct_innerhtml_assignment' in index.html:1484", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in index.html:1484"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-1327d040117d3bca", "name": "Insecure pattern 'direct_innerhtml_assignment' in salon.html:678", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in salon.html:678"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8210bb8d0a3c95f4", "name": "Insecure pattern 'direct_innerhtml_assignment' in sudoku.html:822", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sudoku.html:822"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-5e6adb72966606c5", "name": "Insecure pattern 'direct_innerhtml_assignment' in toeic-practice.html:512", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in toeic-practice.html:512"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9cd01a083cc2137b", "name": "Insecure pattern 'direct_innerhtml_assignment' in lingo.html:414", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in lingo.html:414"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-df5679adb0d49def", "name": "Insecure pattern 'direct_innerhtml_assignment' in universe.html:1472", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in universe.html:1472"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-96a156c3ed103ea9", "name": "Very large file: scripts/generate_salon_chapters.py (973 lines)", "shortDescription": {"text": "Very large file: scripts/generate_salon_chapters.py (973 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "4 test file(s) for 62 source file(s) (ratio 0.06). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 333 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-122f91b7f2906dc4", "name": "Agent authority lacks a verifier contract: .claude/settings.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-8769bcc771831214", "name": "Agent instruction contains unpinned remote install: .claude/settings.json", "shortDescription": {"text": "Agent instruction contains unpinned remote install: .claude/settings.json"}, "fullDescription": {"text": "Remote install commands in agent instructions are a supply-chain risk, especially when an agent can execute shell commands."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-48ca99442c747fb7", "name": "Agent authority lacks a verifier contract: .claude/agentshield-baseline.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/agentshield-baseline.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-62fc1a3cb739950a", "name": "Commented-code block (6 lines) in tests/niwa_behavior_test.py:186", "shortDescription": {"text": "Commented-code block (6 lines) in tests/niwa_behavior_test.py:186"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-fd7cc33e0d18f2cc", "name": "Legacy-named symbol `kominka_v2` in _blender/build_pack_v22.py:4", "shortDescription": {"text": "Legacy-named symbol `kominka_v2` in _blender/build_pack_v22.py:4"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1739abe271a1ddb0", "name": "Legacy-named symbol `ti_extract_v2` in _blender/multi_pack_extract_v670.py:4", "shortDescription": {"text": "Legacy-named symbol `ti_extract_v2` in _blender/multi_pack_extract_v670.py:4"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3acce90c5eff6bdb", "name": "Legacy-named symbol `build_pack_v2` in _blender/build_pack_v2.py:4", "shortDescription": {"text": "Legacy-named symbol `build_pack_v2` in _blender/build_pack_v2.py:4"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-24094ebe74afc1f0", "name": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_crop_v632.py:178", "shortDescription": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_crop_v632.py:178"}, "fullDescription": {"text": "The loop iterates a Django queryset and accesses `o.data.vertices` per row, which fires an additional database query each iteration. Add `.select_related('<fk_field>')` for FK / O2O relations or `.prefetch_related('<m2m_or_reverse>')` for many-related lookups, to load everything in 1-2 queries instead of N."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d8a2af257ee2c41d", "name": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_crop_v632.py:190", "shortDescription": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_crop_v632.py:190"}, "fullDescription": {"text": "The loop iterates a Django queryset and accesses `o.location.x` per row, which fires an additional database query each iteration. Add `.select_related('<fk_field>')` for FK / O2O relations or `.prefetch_related('<m2m_or_reverse>')` for many-related lookups, to load everything in 1-2 queries instead of N."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-2c6852fe03dd58c0", "name": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_crop_v632.py:211", "shortDescription": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_crop_v632.py:211"}, "fullDescription": {"text": "The loop iterates a Django queryset and accesses `o.data.vertices` per row, which fires an additional database query each iteration. Add `.select_related('<fk_field>')` for FK / O2O relations or `.prefetch_related('<m2m_or_reverse>')` for many-related lookups, to load everything in 1-2 queries instead of N."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-647fd6d5780f8f93", "name": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:193", "shortDescription": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:193"}, "fullDescription": {"text": "The loop iterates a Django queryset and accesses `o.data.vertices` per row, which fires an additional database query each iteration. Add `.select_related('<fk_field>')` for FK / O2O relations or `.prefetch_related('<m2m_or_reverse>')` for many-related lookups, to load everything in 1-2 queries instead of N."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-3df3a8a02029073a", "name": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:202", "shortDescription": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:202"}, "fullDescription": {"text": "The loop iterates a Django queryset and accesses `o.location.x` per row, which fires an additional database query each iteration. Add `.select_related('<fk_field>')` for FK / O2O relations or `.prefetch_related('<m2m_or_reverse>')` for many-related lookups, to load everything in 1-2 queries instead of N."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-b4a163574d0e16c9", "name": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:217", "shortDescription": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:217"}, "fullDescription": {"text": "The loop iterates a Django queryset and accesses `o.location.z` per row, which fires an additional database query each iteration. Add `.select_related('<fk_field>')` for FK / O2O relations or `.prefetch_related('<m2m_or_reverse>')` for many-related lookups, to load everything in 1-2 queries instead of N."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4d43df00c5964fc3", "name": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:226", "shortDescription": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:226"}, "fullDescription": {"text": "The loop iterates a Django queryset and accesses `o.data.vertices` per row, which fires an additional database query each iteration. Add `.select_related('<fk_field>')` for FK / O2O relations or `.prefetch_related('<m2m_or_reverse>')` for many-related lookups, to load everything in 1-2 queries instead of N."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-caa75b606829d295", "name": "Legacy-named symbol `kominka_v2` in _blender/build_pack_v24_hires.py:7", "shortDescription": {"text": "Legacy-named symbol `kominka_v2` in _blender/build_pack_v24_hires.py:7"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e27d28902c12f333", "name": "Commented-code block (5 lines) in _workers/pcloud-cors-proxy.js:47", "shortDescription": {"text": "Commented-code block (5 lines) in _workers/pcloud-cors-proxy.js:47"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-d059bdf13ad2bfa1", "name": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/pcloud-cors-proxy.js:8", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/pcloud-cors-proxy.js:8"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-a862957e9bf19906", "name": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/lingo-transcript/src/transcript.js:190", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/lingo-transcript/src/transcript.js:190"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9c65fb8e4de4fc93", "name": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/lingo-transcript/src/search.js:17", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/lingo-transcript/src/search.js:17"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f179767c2117fa42", "name": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/lingo-transcript/src/index.js:7", "shortDescription": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/lingo-transcript/src/index.js:7"}, "fullDescription": {"text": "Bare `fetch(...)` will throw an unhandled rejection on network failure. Wrap in try/catch, attach a `.catch(...)`, or pass an AbortSignal with a timeout."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-9dad557909b86499", "name": "Near-duplicate function bodies in 10 places", "shortDescription": {"text": "Near-duplicate function bodies in 10 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n_blender/enc_extract_grounds.py:find_images_by_role, _blender/enc_extract_megaisland_v647.py:find_images_by_role, _blender/enc_extract_append.py:find_images_by_role, _blender/multi_pack_extract.py:find_images_by_role\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-380b7cb95b387b9c", "name": "Near-duplicate function bodies in 11 places", "shortDescription": {"text": "Near-duplicate function bodies in 11 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n_blender/enc_extract_grounds.py:walk, _blender/enc_extract_megaisland_v647.py:walk, _blender/enc_extract.py:walk, _blender/enc_extract_append.py:walk\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-89915ea02f2b6005", "name": "Near-duplicate function bodies in 23 places", "shortDescription": {"text": "Near-duplicate function bodies in 23 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n_blender/build_pack_v22.py:clear_scene, _blender/build_pack_v18.py:clear_scene, _blender/build_pack_v7.py:clear_scene, _blender/build_pack_v9.py:clear_scene\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b873925e6bfa53e8", "name": "Near-duplicate function bodies in 22 places", "shortDescription": {"text": "Near-duplicate function bodies in 22 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n_blender/build_pack_v22.py:pbr, _blender/build_pack_v18.py:pbr, _blender/build_pack_v7.py:pbr, _blender/build_pack_v9.py:pbr\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c54c6fb8e364daaa", "name": "Near-duplicate function bodies in 16 places", "shortDescription": {"text": "Near-duplicate function bodies in 16 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n_blender/build_pack_v22.py:box, _blender/build_pack_v18.py:box, _blender/build_pack_v7.py:box, _blender/build_pack_v9.py:box\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6297377883dd7783", "name": "Near-duplicate function bodies in 13 places", "shortDescription": {"text": "Near-duplicate function bodies in 13 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n_blender/build_pack_v22.py:cyl, _blender/build_pack_v18.py:cyl, _blender/build_pack_v12.py:cyl, _blender/build_pack_v17.py:cyl\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f341860ab6a90be6", "name": "Near-duplicate function bodies in 17 places", "shortDescription": {"text": "Near-duplicate function bodies in 17 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n_blender/build_pack_v22.py:cone, _blender/build_pack_v18.py:cone, _blender/build_pack_v7.py:cone, _blender/build_pack_v9.py:cone\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6431a78879620ea3", "name": "Near-duplicate function bodies in 21 places", "shortDescription": {"text": "Near-duplicate function bodies in 21 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n_blender/build_pack_v22.py:uv_sph, _blender/build_pack_v18.py:uv_sph, _blender/build_pack_v7.py:uv_sph, _blender/build_pack_v9.py:uv_sph\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n_blender/sudoku_worlds.py:setup_gpu, _blender/eci_meditation_360.py:setup_gpu\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-76a2f6818267a9a8", "name": "Near-duplicate function bodies in 8 places", "shortDescription": {"text": "Near-duplicate function bodies in 8 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n_blender/build_pack_v7.py:cyl, _blender/build_pack_v9.py:cyl, _blender/build_pack_v2.py:cyl, _blender/build_pack_v8.py:cyl\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\n_blender/enc_extract_megaisland_v647.py:list_prefab_objects, _blender/enc_extract_crop_v632.py:list_prefab_objects, _blender/enc_extract_cobbletop_v636.py:list_prefab_objects\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/23392"}, "properties": {"repository": "yuichi916/yuichi916.github.io", "repoUrl": "https://github.com/yuichi916/yuichi916.github.io", "branch": "main"}, "results": [{"ruleId": "scanner-2b89d367e509de71", "level": "note", "message": {"text": "Possibly dead Python function: repl"}, "properties": {"repobilityId": "6f5d3779bbb8be8b", "scanner": "scanner-primary", "fingerprint": "2b89d367e509de71", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/inject_salon_links.py:63"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b881e1e6d25e928", "level": "note", "message": {"text": "Possibly dead Python function: build_cart"}, "properties": {"repobilityId": "aedc88a8ba55c201", "scanner": "scanner-primary", "fingerprint": "7b881e1e6d25e928", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v3.py:95"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0cb90eaa78fbef92", "level": "note", "message": {"text": "Possibly dead Python function: build_market_stall"}, "properties": {"repobilityId": "e939d11d48d1234f", "scanner": "scanner-primary", "fingerprint": "0cb90eaa78fbef92", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v3.py:128"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f318dac186823ec4", "level": "note", "message": {"text": "Possibly dead Python function: build_stone_wall"}, "properties": {"repobilityId": "4cfe06df06b7f797", "scanner": "scanner-primary", "fingerprint": "f318dac186823ec4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v3.py:160"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-4c6b74c082209c5f", "level": "note", "message": {"text": "Possibly dead Python function: build_gate_arch"}, "properties": {"repobilityId": "b48c062aa5afcbd1", "scanner": "scanner-primary", "fingerprint": "4c6b74c082209c5f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v3.py:186"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-513c395f5f086d37", "level": "note", "message": {"text": "Possibly dead Python function: build_pot"}, "properties": {"repobilityId": "4a9ceeb54e2133cd", "scanner": "scanner-primary", "fingerprint": "513c395f5f086d37", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v3.py:212"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b6b9cbb723fe4809", "level": "note", "message": {"text": "Possibly dead Python function: build_chochin"}, "properties": {"repobilityId": "b7e7c5f656d503b4", "scanner": "scanner-primary", "fingerprint": "b6b9cbb723fe4809", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v3.py:233"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-71e741eb1c64252c", "level": "note", "message": {"text": "Possibly dead Python function: build_crate_stack"}, "properties": {"repobilityId": "13d2405338a46838", "scanner": "scanner-primary", "fingerprint": "71e741eb1c64252c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v3.py:258"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-76243e83b4c3d845", "level": "note", "message": {"text": "Possibly dead Python function: build_wood_fence"}, "properties": {"repobilityId": "44818f83eb18dfca", "scanner": "scanner-primary", "fingerprint": "76243e83b4c3d845", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v3.py:275"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a4817491ea2e8dd3", "level": "note", "message": {"text": "Possibly dead Python function: build_brazier"}, "properties": {"repobilityId": "c88becef66d5c245", "scanner": "scanner-primary", "fingerprint": "a4817491ea2e8dd3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v3.py:293"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f1427985ff57300c", "level": "note", "message": {"text": "Possibly dead Python function: build_lily_pad_blue"}, "properties": {"repobilityId": "696810c725a605be", "scanner": "scanner-primary", "fingerprint": "f1427985ff57300c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v3.py:320"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-009c83a388f87684", "level": "note", "message": {"text": "Possibly dead Python function: build_tea_pavilion"}, "properties": {"repobilityId": "eba7997020deaa4e", "scanner": "scanner-primary", "fingerprint": "009c83a388f87684", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v3.py:336"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f7f9c0dfcf9c40e9", "level": "note", "message": {"text": "Possibly dead Python function: find_color_from_node_tree"}, "properties": {"repobilityId": "2e0ef9485bbc9aae", "scanner": "scanner-primary", "fingerprint": "f7f9c0dfcf9c40e9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/kb3d_reextract_textured.py:52"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-70620ea61296acec", "level": "note", "message": {"text": "Possibly dead Python function: build_deer"}, "properties": {"repobilityId": "2359c9b2b5fa296e", "scanner": "scanner-primary", "fingerprint": "70620ea61296acec", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v4.py:87"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-74c7c3879837f819", "level": "note", "message": {"text": "Possibly dead Python function: build_fox"}, "properties": {"repobilityId": "b587901ad2e8ced3", "scanner": "scanner-primary", "fingerprint": "74c7c3879837f819", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v4.py:127"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e105a5d6ffe8d3b8", "level": "note", "message": {"text": "Possibly dead Python function: build_cat"}, "properties": {"repobilityId": "5e37ce4e072df1d3", "scanner": "scanner-primary", "fingerprint": "e105a5d6ffe8d3b8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v4.py:165"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b2c72ecd42984585", "level": "note", "message": {"text": "Possibly dead Python function: build_bird_perched"}, "properties": {"repobilityId": "00f24ca671e5d05e", "scanner": "scanner-primary", "fingerprint": "b2c72ecd42984585", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v4.py:200"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7b3ff719b8f52973", "level": "note", "message": {"text": "Possibly dead Python function: build_lotus"}, "properties": {"repobilityId": "dfb63fff5a44b8ba", "scanner": "scanner-primary", "fingerprint": "7b3ff719b8f52973", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v4.py:232"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ae5d567b057804d2", "level": "note", "message": {"text": "Possibly dead Python function: build_azalea_bush"}, "properties": {"repobilityId": "c70fe5a57bdebe30", "scanner": "scanner-primary", "fingerprint": "ae5d567b057804d2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v4.py:267"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fcb4658a2bca1772", "level": "note", "message": {"text": "Possibly dead Python function: build_bamboo_bundle"}, "properties": {"repobilityId": "7d6823d918765dc9", "scanner": "scanner-primary", "fingerprint": "fcb4658a2bca1772", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v4.py:295"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1e90048678cc98da", "level": "note", "message": {"text": "Possibly dead Python function: build_moss_stone"}, "properties": {"repobilityId": "8acfde12244e2153", "scanner": "scanner-primary", "fingerprint": "1e90048678cc98da", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v4.py:323"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9304412ef4aa3d42", "level": "note", "message": {"text": "Possibly dead Python function: build_water_basin"}, "properties": {"repobilityId": "b847d48d3835ee41", "scanner": "scanner-primary", "fingerprint": "9304412ef4aa3d42", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_pack_v4.py:343"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5c73b9348295c2f0", "level": "note", "message": {"text": "Possibly dead Python function: build_pagoda"}, "properties": {"repobilityId": "3f43240c77e81027", "scanner": "scanner-primary", "fingerprint": "5c73b9348295c2f0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_asset_pack.py:131"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f7598cde726b9a4c", "level": "note", "message": {"text": "Possibly dead Python function: build_torii"}, "properties": {"repobilityId": "f0baf16a940d054d", "scanner": "scanner-primary", "fingerprint": "f7598cde726b9a4c", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_asset_pack.py:165"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9d976cc6777ef580", "level": "note", "message": {"text": "Possibly dead Python function: build_fountain"}, "properties": {"repobilityId": "2b627bd078d28791", "scanner": "scanner-primary", "fingerprint": "9d976cc6777ef580", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_asset_pack.py:198"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8485f7b5d249a105", "level": "note", "message": {"text": "Possibly dead Python function: build_stone_lantern"}, "properties": {"repobilityId": "1ed74a250747c355", "scanner": "scanner-primary", "fingerprint": "8485f7b5d249a105", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_asset_pack.py:229"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1b79c934770fe2b0", "level": "note", "message": {"text": "Possibly dead Python function: build_tree_pine"}, "properties": {"repobilityId": "81de5e7ae85ee6af", "scanner": "scanner-primary", "fingerprint": "1b79c934770fe2b0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_asset_pack.py:258"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0c9c8178a29ade15", "level": "note", "message": {"text": "Possibly dead Python function: build_tree_sakura"}, "properties": {"repobilityId": "31fd35cf91b65c7b", "scanner": "scanner-primary", "fingerprint": "0c9c8178a29ade15", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_asset_pack.py:288"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-422dca5c5eb0421d", "level": "note", "message": {"text": "Possibly dead Python function: build_tree_momiji"}, "properties": {"repobilityId": "134311b7f4e0bc1c", "scanner": "scanner-primary", "fingerprint": "422dca5c5eb0421d", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_asset_pack.py:322"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84eac02493310a60", "level": "note", "message": {"text": "Possibly dead Python function: build_tree_broad"}, "properties": {"repobilityId": "7095dfcc576f2c29", "scanner": "scanner-primary", "fingerprint": "84eac02493310a60", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/build_asset_pack.py:346"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-0f809eea5daf69ec", "level": "error", "message": {"text": "Insecure pattern 'eval_used' in niwa.html:8136"}, "properties": {"repobilityId": "cde31ccdec9395cf", "scanner": "scanner-primary", "fingerprint": "0f809eea5daf69ec", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["owasp", "eval_used"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "niwa.html"}, "region": {"startLine": 8136}}}]}, {"ruleId": "scanner-863ec4f47307ad4f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in niwa.html:9200"}, "properties": {"repobilityId": "656a5a9421e3c7f1", "scanner": "scanner-primary", "fingerprint": "863ec4f47307ad4f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "niwa.html"}, "region": {"startLine": 9200}}}]}, {"ruleId": "scanner-bbba343b9cce57ce", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in shogi-puyo.html:877"}, "properties": {"repobilityId": "abc0ac960db2b215", "scanner": "scanner-primary", "fingerprint": "bbba343b9cce57ce", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "shogi-puyo.html"}, "region": {"startLine": 877}}}]}, {"ruleId": "scanner-a5edbb3e5034b374", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in cabin.html:1154"}, "properties": {"repobilityId": "3bed146ee84e366d", "scanner": "scanner-primary", "fingerprint": "a5edbb3e5034b374", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "cabin.html"}, "region": {"startLine": 1154}}}]}, {"ruleId": "scanner-6b5ee5d16bd3b95f", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in stopwatch.html:1002"}, "properties": {"repobilityId": "d38f0545f9f4ac45", "scanner": "scanner-primary", "fingerprint": "6b5ee5d16bd3b95f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "stopwatch.html"}, "region": {"startLine": 1002}}}]}, {"ruleId": "scanner-4ce2b26764260f0b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in toeic.html:504"}, "properties": {"repobilityId": "9e5e08fcb12e50d6", "scanner": "scanner-primary", "fingerprint": "4ce2b26764260f0b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toeic.html"}, "region": {"startLine": 504}}}]}, {"ruleId": "scanner-44afd89157a2c58b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in index.html:1484"}, "properties": {"repobilityId": "f91708437a3a5445", "scanner": "scanner-primary", "fingerprint": "44afd89157a2c58b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "index.html"}, "region": {"startLine": 1484}}}]}, {"ruleId": "scanner-1327d040117d3bca", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in salon.html:678"}, "properties": {"repobilityId": "3f04713bce6f1a90", "scanner": "scanner-primary", "fingerprint": "1327d040117d3bca", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "salon.html"}, "region": {"startLine": 678}}}]}, {"ruleId": "scanner-8210bb8d0a3c95f4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in sudoku.html:822"}, "properties": {"repobilityId": "cbfa81caca008164", "scanner": "scanner-primary", "fingerprint": "8210bb8d0a3c95f4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "sudoku.html"}, "region": {"startLine": 822}}}]}, {"ruleId": "scanner-5e6adb72966606c5", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in toeic-practice.html:512"}, "properties": {"repobilityId": "d92435e804f5517c", "scanner": "scanner-primary", "fingerprint": "5e6adb72966606c5", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "toeic-practice.html"}, "region": {"startLine": 512}}}]}, {"ruleId": "scanner-9cd01a083cc2137b", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in lingo.html:414"}, "properties": {"repobilityId": "c7af2aba31557d1a", "scanner": "scanner-primary", "fingerprint": "9cd01a083cc2137b", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "lingo.html"}, "region": {"startLine": 414}}}]}, {"ruleId": "scanner-df5679adb0d49def", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in universe.html:1472"}, "properties": {"repobilityId": "1bdd7a2c56692f5a", "scanner": "scanner-primary", "fingerprint": "df5679adb0d49def", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "universe.html"}, "region": {"startLine": 1472}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-96a156c3ed103ea9", "level": "note", "message": {"text": "Very large file: scripts/generate_salon_chapters.py (973 lines)"}, "properties": {"repobilityId": "b721de70cb013961", "scanner": "scanner-primary", "fingerprint": "96a156c3ed103ea9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "df89e42b0cdd16ab", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "d9a8b8dc1027c445", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "ed5d541235682d2e", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "7dd24d77dea064c5", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "611ddff8d2923a0b", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "2abff8e0a6bb7549", "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": "10f2e0bc7ce8b062", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-122f91b7f2906dc4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "properties": {"repobilityId": "a2967269048b6a9d", "scanner": "scanner-primary", "fingerprint": "122f91b7f2906dc4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8769bcc771831214", "level": "warning", "message": {"text": "Agent instruction contains unpinned remote install: .claude/settings.json"}, "properties": {"repobilityId": "f94968d1c8aa7dc6", "scanner": "scanner-primary", "fingerprint": "8769bcc771831214", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "supply-chain", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 28}}}]}, {"ruleId": "scanner-48ca99442c747fb7", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/agentshield-baseline.json"}, "properties": {"repobilityId": "c8cc1ac839087ff8", "scanner": "scanner-primary", "fingerprint": "48ca99442c747fb7", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/agentshield-baseline.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-62fc1a3cb739950a", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/niwa_behavior_test.py:186"}, "properties": {"repobilityId": "d49cc8bf5601aa04", "scanner": "scanner-primary", "fingerprint": "62fc1a3cb739950a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fd7cc33e0d18f2cc", "level": "note", "message": {"text": "Legacy-named symbol `kominka_v2` in _blender/build_pack_v22.py:4"}, "properties": {"repobilityId": "8bb88ed992db1df2", "scanner": "scanner-primary", "fingerprint": "fd7cc33e0d18f2cc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1739abe271a1ddb0", "level": "note", "message": {"text": "Legacy-named symbol `ti_extract_v2` in _blender/multi_pack_extract_v670.py:4"}, "properties": {"repobilityId": "52c8bee7babc0e88", "scanner": "scanner-primary", "fingerprint": "1739abe271a1ddb0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3acce90c5eff6bdb", "level": "note", "message": {"text": "Legacy-named symbol `build_pack_v2` in _blender/build_pack_v2.py:4"}, "properties": {"repobilityId": "6ebb6d76651f1451", "scanner": "scanner-primary", "fingerprint": "3acce90c5eff6bdb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-24094ebe74afc1f0", "level": "warning", "message": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_crop_v632.py:178"}, "properties": {"repobilityId": "d83349b35978fcbf", "scanner": "scanner-primary", "fingerprint": "24094ebe74afc1f0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "n-plus-one", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/enc_extract_crop_v632.py"}, "region": {"startLine": 178}}}]}, {"ruleId": "scanner-d8a2af257ee2c41d", "level": "warning", "message": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_crop_v632.py:190"}, "properties": {"repobilityId": "dfb3f22d6c0d4e5c", "scanner": "scanner-primary", "fingerprint": "d8a2af257ee2c41d", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "n-plus-one", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/enc_extract_crop_v632.py"}, "region": {"startLine": 190}}}]}, {"ruleId": "scanner-2c6852fe03dd58c0", "level": "warning", "message": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_crop_v632.py:211"}, "properties": {"repobilityId": "8f94d2f38ffe8798", "scanner": "scanner-primary", "fingerprint": "2c6852fe03dd58c0", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "n-plus-one", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/enc_extract_crop_v632.py"}, "region": {"startLine": 211}}}]}, {"ruleId": "scanner-647fd6d5780f8f93", "level": "warning", "message": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:193"}, "properties": {"repobilityId": "11d9fcb5dbc47d43", "scanner": "scanner-primary", "fingerprint": "647fd6d5780f8f93", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "n-plus-one", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/enc_extract_cobbletop_v636.py"}, "region": {"startLine": 193}}}]}, {"ruleId": "scanner-3df3a8a02029073a", "level": "warning", "message": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:202"}, "properties": {"repobilityId": "50ebcc144876aa25", "scanner": "scanner-primary", "fingerprint": "3df3a8a02029073a", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "n-plus-one", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/enc_extract_cobbletop_v636.py"}, "region": {"startLine": 202}}}]}, {"ruleId": "scanner-b4a163574d0e16c9", "level": "warning", "message": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:217"}, "properties": {"repobilityId": "85c60c153715e25d", "scanner": "scanner-primary", "fingerprint": "b4a163574d0e16c9", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "n-plus-one", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/enc_extract_cobbletop_v636.py"}, "region": {"startLine": 217}}}]}, {"ruleId": "scanner-4d43df00c5964fc3", "level": "warning", "message": {"text": "Likely N+1 query: `for o in \u2026` triggers a query per row \u2014 _blender/enc_extract_cobbletop_v636.py:226"}, "properties": {"repobilityId": "a3b9840df7202a93", "scanner": "scanner-primary", "fingerprint": "4d43df00c5964fc3", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "n-plus-one", "performance"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "_blender/enc_extract_cobbletop_v636.py"}, "region": {"startLine": 226}}}]}, {"ruleId": "scanner-caa75b606829d295", "level": "note", "message": {"text": "Legacy-named symbol `kominka_v2` in _blender/build_pack_v24_hires.py:7"}, "properties": {"repobilityId": "981f8b4fbec13e73", "scanner": "scanner-primary", "fingerprint": "caa75b606829d295", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-e27d28902c12f333", "level": "none", "message": {"text": "Commented-code block (5 lines) in _workers/pcloud-cors-proxy.js:47"}, "properties": {"repobilityId": "19e66d2910bdbcc1", "scanner": "scanner-primary", "fingerprint": "e27d28902c12f333", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d059bdf13ad2bfa1", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/pcloud-cors-proxy.js:8"}, "properties": {"repobilityId": "8cb6035a9b33710f", "scanner": "scanner-primary", "fingerprint": "d059bdf13ad2bfa1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-a862957e9bf19906", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/lingo-transcript/src/transcript.js:190"}, "properties": {"repobilityId": "43f00558409a55ed", "scanner": "scanner-primary", "fingerprint": "a862957e9bf19906", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9c65fb8e4de4fc93", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/lingo-transcript/src/search.js:17"}, "properties": {"repobilityId": "9c8fdd37c4161842", "scanner": "scanner-primary", "fingerprint": "9c65fb8e4de4fc93", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-f179767c2117fa42", "level": "warning", "message": {"text": "`fetch()` without try/.catch or AbortSignal \u2014 _workers/lingo-transcript/src/index.js:7"}, "properties": {"repobilityId": "d393e4b47b84013d", "scanner": "scanner-primary", "fingerprint": "f179767c2117fa42", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-9dad557909b86499", "level": "note", "message": {"text": "Near-duplicate function bodies in 10 places"}, "properties": {"repobilityId": "4eae04328bc52d21", "scanner": "scanner-primary", "fingerprint": "9dad557909b86499", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-380b7cb95b387b9c", "level": "note", "message": {"text": "Near-duplicate function bodies in 11 places"}, "properties": {"repobilityId": "80d4dd342b49cc4c", "scanner": "scanner-primary", "fingerprint": "380b7cb95b387b9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-9dad557909b86499", "level": "note", "message": {"text": "Near-duplicate function bodies in 10 places"}, "properties": {"repobilityId": "eb12367485c5ddad", "scanner": "scanner-primary", "fingerprint": "9dad557909b86499", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-89915ea02f2b6005", "level": "note", "message": {"text": "Near-duplicate function bodies in 23 places"}, "properties": {"repobilityId": "49a9e6d7a6699449", "scanner": "scanner-primary", "fingerprint": "89915ea02f2b6005", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-b873925e6bfa53e8", "level": "note", "message": {"text": "Near-duplicate function bodies in 22 places"}, "properties": {"repobilityId": "947856ce1adca76c", "scanner": "scanner-primary", "fingerprint": "b873925e6bfa53e8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-c54c6fb8e364daaa", "level": "note", "message": {"text": "Near-duplicate function bodies in 16 places"}, "properties": {"repobilityId": "cfc64022e9764021", "scanner": "scanner-primary", "fingerprint": "c54c6fb8e364daaa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-6297377883dd7783", "level": "note", "message": {"text": "Near-duplicate function bodies in 13 places"}, "properties": {"repobilityId": "79ce6870ec419819", "scanner": "scanner-primary", "fingerprint": "6297377883dd7783", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-f341860ab6a90be6", "level": "note", "message": {"text": "Near-duplicate function bodies in 17 places"}, "properties": {"repobilityId": "68a98cbdd680a40f", "scanner": "scanner-primary", "fingerprint": "f341860ab6a90be6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-6431a78879620ea3", "level": "note", "message": {"text": "Near-duplicate function bodies in 21 places"}, "properties": {"repobilityId": "d694d4cc8f347144", "scanner": "scanner-primary", "fingerprint": "6431a78879620ea3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-c54c6fb8e364daaa", "level": "note", "message": {"text": "Near-duplicate function bodies in 16 places"}, "properties": {"repobilityId": "31a1003664e794e7", "scanner": "scanner-primary", "fingerprint": "c54c6fb8e364daaa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-6431a78879620ea3", "level": "note", "message": {"text": "Near-duplicate function bodies in 21 places"}, "properties": {"repobilityId": "373b41c665618fc0", "scanner": "scanner-primary", "fingerprint": "6431a78879620ea3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "5fa27e357526f887", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "4bb5b10bd1d585d7", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "e8a39178915c2357", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "51d23a906a565c23", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "73c798bc8592e1d1", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "0c76351c0889f7b3", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "48317329bccbf632", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "ddba0af177635ef9", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "965c8cafc03e02f7", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}