{"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": "foundry_assumption_check", "name": "Foundry mined assumption checks: walesmd/eldoria", "shortDescription": {"text": "Foundry mined assumption checks: walesmd/eldoria"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: walesmd/eldoria\nThread: walesmd/eldoria#2\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_artifact_without_verification_graph\nReasons: source_graph_has_real_artifacts, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: walesmd/eldoria#2\nRepo: walesmd/eldoria\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 1\nLinked CI labels: {'ci_pending_or_incomplete': 1}\nChanged file count: 3\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 1, 'source_or_other': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5f78f6696158954c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/walesmd/eldoria/pull/2\",\n    \"text\": \"GitHub feedb"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.62, "cwe": "", "owasp": ""}}, {"id": "scanner-d3f324c0b82456e9", "name": "Stray `console.log` in TS/JS \u2014 tools/validate.js:1223", "shortDescription": {"text": "Stray `console.log` in TS/JS \u2014 tools/validate.js:1223"}, "fullDescription": {"text": "Replace with the toast helper, an error boundary, or remove. `console.warn` / `console.error` are acceptable.\n\nWhy: Hygiene \u2014 easy to leak debug output.\nRule id: fq.console-leak"}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "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-7649f3bd4d514280", "name": "Insecure pattern 'node_child_process' in tools/playtest5.mjs:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/playtest5.mjs:3"}, "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-533d2575e0ac4857", "name": "Insecure pattern 'node_child_process' in tools/guide-pdf.mjs:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/guide-pdf.mjs:3"}, "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-5f3a894578b64e78", "name": "Insecure pattern 'node_child_process' in tools/playtest-drops.mjs:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/playtest-drops.mjs:5"}, "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-2078a90b20956428", "name": "Insecure pattern 'node_child_process' in tools/diagnose-doors.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/diagnose-doors.mjs:4"}, "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-426e7eed0c9b9cf1", "name": "Insecure pattern 'node_child_process' in tools/gallery.mjs:3", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/gallery.mjs:3"}, "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-b7cb54719733f02f", "name": "Insecure pattern 'node_child_process' in tools/playtest2.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/playtest2.mjs:4"}, "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-034b0b11febb3efe", "name": "Insecure pattern 'node_child_process' in tools/playtest3.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/playtest3.mjs:4"}, "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-5ee98b36f53cb47f", "name": "Insecure pattern 'node_child_process' in tools/playtest4.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/playtest4.mjs:4"}, "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-1ff04855a6f3ea41", "name": "Insecure pattern 'node_child_process' in tools/guide-assets.mjs:6", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/guide-assets.mjs:6"}, "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-3aa8f11151c16576", "name": "Insecure pattern 'node_child_process' in tools/worldmap.mjs:5", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/worldmap.mjs:5"}, "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-8f0c8451d864ee5e", "name": "Insecure pattern 'node_child_process' in tools/playtest.mjs:6", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/playtest.mjs:6"}, "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-75d34f3c6ae94f70", "name": "Insecure pattern 'node_child_process' in tools/diagnose-pots.mjs:4", "shortDescription": {"text": "Insecure pattern 'node_child_process' in tools/diagnose-pots.mjs:4"}, "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-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-386f19c4757a3560", "name": "Very large file: tools/validate.js (1244 lines)", "shortDescription": {"text": "Very large file: tools/validate.js (1244 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-cb8667106a46db30", "name": "Very large file: src/scenes/GameScene.js (1623 lines)", "shortDescription": {"text": "Very large file: src/scenes/GameScene.js (1623 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": "6 tests / 48 src (ratio 0.12)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "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 66 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, tests. 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": "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-a03caf193fca7b1e", "name": "Commented-code block (6 lines) in src/dialogue_content.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/dialogue_content.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7de15f0bc810352a", "name": "Commented-code block (6 lines) in src/enemy_types.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/enemy_types.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-005fb7447623e858", "name": "Commented-code block (6 lines) in src/bosses.js:1", "shortDescription": {"text": "Commented-code block (6 lines) in src/bosses.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f5d407cd07346424", "name": "Commented-code block (5 lines) in src/audio_content.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/audio_content.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4c47aa9e8f846ccc", "name": "Commented-code block (6 lines) in src/sprites/actor_art.js:5", "shortDescription": {"text": "Commented-code block (6 lines) in src/sprites/actor_art.js:5"}, "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-1cdeb71138d1827f", "name": "Commented-code block (6 lines) in src/sprites/tile_art.js:4", "shortDescription": {"text": "Commented-code block (6 lines) in src/sprites/tile_art.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-1662a045ea113be9", "name": "Commented-code block (15 lines) in src/world/interiors.js:11", "shortDescription": {"text": "Commented-code block (15 lines) in src/world/interiors.js:11"}, "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-eab9444cdcb572ab", "name": "Legacy-named symbol `d2_torch_v1` in src/world/dungeon2.js:342", "shortDescription": {"text": "Legacy-named symbol `d2_torch_v1` in src/world/dungeon2.js:342"}, "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-6f27f599732f8a6e", "name": "Commented-code block (9 lines) in src/world/dungeon2.js:4", "shortDescription": {"text": "Commented-code block (9 lines) in src/world/dungeon2.js:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c326dba94ea4613a", "name": "Commented-code block (7 lines) in src/world/dungeon1.js:9", "shortDescription": {"text": "Commented-code block (7 lines) in src/world/dungeon1.js:9"}, "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-39382e9df7b923ff", "name": "Commented-code block (5 lines) in src/world/dungeon3.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/world/dungeon3.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-c31d7a1e14f2405f", "name": "Commented-code block (5 lines) in src/world/citadel.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/world/citadel.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-5e1f8a5a65a06016", "name": "Commented-code block (9 lines) in src/world/shrine.js:6", "shortDescription": {"text": "Commented-code block (9 lines) in src/world/shrine.js:6"}, "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-fdd253977f10bee0", "name": "Commented-code block (9 lines) in src/world/tiles.js:5", "shortDescription": {"text": "Commented-code block (9 lines) in src/world/tiles.js:5"}, "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-6c1ace88d8df1bee", "name": "Commented-code block (7 lines) in src/world/regions/desert.js:5", "shortDescription": {"text": "Commented-code block (7 lines) in src/world/regions/desert.js:5"}, "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-c79b026d1c980a65", "name": "Commented-code block (5 lines) in src/world/regions/forest.js:5", "shortDescription": {"text": "Commented-code block (5 lines) in src/world/regions/forest.js:5"}, "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-1a2c6c816a65e656", "name": "Commented-code block (11 lines) in src/world/regions/swamp.js:1", "shortDescription": {"text": "Commented-code block (11 lines) in src/world/regions/swamp.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-35a8afd13988318b", "name": "Commented-code block (10 lines) in src/world/regions/mountains.js:5", "shortDescription": {"text": "Commented-code block (10 lines) in src/world/regions/mountains.js:5"}, "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-34ece101bd496c8d", "name": "Commented-code block (5 lines) in src/world/regions/wastes.js:1", "shortDescription": {"text": "Commented-code block (5 lines) in src/world/regions/wastes.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-11e9d4e6fe6638e4", "name": "Commented-code block (7 lines) in src/world/regions/meadows.js:5", "shortDescription": {"text": "Commented-code block (7 lines) in src/world/regions/meadows.js:5"}, "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-1508daeae8e3fd4b", "name": "Commented-code block (8 lines) in src/world/regions/lake.js:1", "shortDescription": {"text": "Commented-code block (8 lines) in src/world/regions/lake.js:1"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/22502"}, "properties": {"repository": "walesmd/eldoria", "repoUrl": "https://github.com/walesmd/eldoria", "branch": "main"}, "results": [{"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: walesmd/eldoria"}, "properties": {"repobilityId": 313675, "scanner": "foundry_dataset", "fingerprint": "33057dfda569bf0a8baea13177e5d88327ff82505f147282dd872a76555d2f80", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "walesmd/eldoria#2", "human_labels": ["agent_instruction_gap", "source_or_other", "ui_or_frontend"], "issue_number": "2", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.825, "repo_full_name": "walesmd/eldoria", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-868232cdcbcf51c7", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"ui_or_frontend": 1, "source_or_other": 2}, "linked_commit_count": 3, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_high_confidence"], "linked_ci_commit_count": 1, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: walesmd/eldoria\nThread: walesmd/eldoria#2\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_artifact_without_verification_graph\nReasons: source_graph_has_real_artifacts, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: walesmd/eldoria#2\nRepo: walesmd/eldoria\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 1\nLinked CI labels: {'ci_pending_or_incomplete': 1}\nChanged file count: 3\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 1, 'source_or_other': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5f78f6696158954c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/walesmd/eldoria/pull/2\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: walesmd/eldoria\\nAuthor: walesmd (User)\\nURL: https://github.com/walesmd/eldoria/pull/2\\nTitle: Fix invisible pot breaks and invisible open doorways\\nBody:\\n## The bugs (field-reported)\\n\\n1. **Pots seemed unbreakable in dungeons.** They actually *did* break \u2014 collision cleared, drops rolled \u2014 but the pot kept rendering. `redrawTile()` lazily drew the replacement tile without destroying the old images, and the stale pot overlay (depth 1) rendered above the new floor base (depth 0). Overworld pots only *looked* correct by accident: their floor result differed from grass, so it drew as a fresh depth-1 overlay that covered the pot... with a slab of dungeon floor in the middle of the village.\\n2. **Unlocked doors looked like solid wall.** Opening a door only hid the door sprite, exposing the `#` wall tile underneath. Passable, but you had to walk into \\\"wall\\\" on faith.\\n\\n## The fix\\n\\n- `drawTileAt` now keeps per-cell image refs (`tileRefs`) and destroys stale images (plus their `animTiles` entries) before redrawing \u2014 tile changes are now genuinely visible everywhere (pots, bushes, grass, bombed walls, revealed stai\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-97c33be58d46f489\",\n    \"filename\": \"src/scenes/GameScene.js\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 31,\n    \"deletions\": 3,\n    \"changes\": 34,\n    \"blob_url\": \"https://github.com/walesmd/eldoria/blob/15334d2a77fd5b0bd1076786d803493ff8bde511/src%2Fscenes%2FGameScene.js\"\n  },\n  {\n    \"id\": \"github-pr-file-file-4fdff5f263c71668\",\n    \"filename\": \"tools/diagnose-doors.mjs\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 74,\n    \"deletions\": 0,\n    \"changes\": 74,\n    \"blob_url\": \"https://github.com/walesmd/eldoria/blob/15334d2a77fd5b0bd1076786d803493ff8bde511/tools%2Fdiagnose-doors.mjs\"\n  },\n  {\n    \"id\": \"github-pr-file-file-2f78de8b31ac6\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/walesmd/eldoria", "source_id": "comment-chain-pattern-assumption_checks-204a08a2ddf7d1e2", "synthetic": false, "gold_label": "", "graph_label": "source_artifact_without_verification_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "walesmd/eldoria", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: walesmd/eldoria"}, "properties": {"repobilityId": 313674, "scanner": "foundry_dataset", "fingerprint": "6aace391d331cf7b9824ff3e175f93a68b937ca714bd7275bfc81f0d143e9051", "category": "practices", "severity": "medium", "confidence": 0.62, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "comment_chain_pattern_product", "source": "comment_chain_pattern_miner", "product": "assumption_checks", "synthetic": false, "thread_key": "walesmd/eldoria#1", "human_labels": ["agent_instruction_gap", "source_or_other", "ui_or_frontend"], "issue_number": "1", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.877, "repo_full_name": "walesmd/eldoria", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-cc8a4425844a5a95", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"ui_or_frontend": 1, "source_or_other": 1}, "linked_commit_count": 3, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: walesmd/eldoria\nThread: walesmd/eldoria#1\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_artifact_without_verification_graph\nReasons: source_graph_has_real_artifacts, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: walesmd/eldoria#1\nRepo: walesmd/eldoria\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'ui_or_frontend': 1, 'source_or_other': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-097b4358f2025ec7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/walesmd/eldoria/pull/1\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: walesmd/eldoria\\nAuthor: walesmd (User)\\nURL: https://github.com/walesmd/eldoria/pull/1\\nTitle: Fix pickups and the return portal spawning on unwalkable tiles\\nBody:\\n## The bug\\n\\nAfter defeating Bramblehorn in Vinewood Temple, the return portal spawned **inside the west wall** \u2014 unreachable. Boss rewards spawn at fixed pixel offsets from the boss's death position (portal at `boss.x - 24`), and Bramblehorn's signature move is charging into walls, so it routinely dies pressed against one.\\n\\nField report: a player (age 7) defeated the boss, collected the shard and heart container correctly, stared at the mysterious wall-orb, and walked home. Game state was never corrupted \u2014 the portal is just a shortcut \u2014 but it was confusing.\\n\\n## The fix\\n\\nNew `safeDropPoint(px, py, taken)` in GameScene: spiral-searches from the requested position for the nearest tile that is **walkable** (per `blockedAt`, so doors/blocks/chests count), **not a pit/hazard/warp tile**, and **not already taken** by another drop placed this round.\\n\\nApplied to:\\n- `spawnPickup` \u2014 every pickup in the game (boss rewards, enemy drops, grass/bush drop\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-db20a36b4077565f\",\n    \"filename\": \"src/scenes/GameScene.js\",\n    \"label\": \"ui_or_frontend\",\n    \"status\": \"modified\",\n    \"additions\": 50,\n    \"deletions\": 8,\n    \"changes\": 58,\n    \"blob_url\": \"https://github.com/walesmd/eldoria/blob/8b6f1d3285c0cdfd8705096e64d390b3ee0b63f8/src%2Fscenes%2FGameScene.js\"\n  },\n  {\n    \"id\": \"github-pr-file-file-868748f15a2a24fb\",\n    \"filename\": \"tools/playtest-drops.mjs\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 104,\n    \"deletions\": 0,\n    \"changes\": 104,\n    \"blob_url\": \"https://github.com/walesmd/eldoria/blob/8b6f1d3285c0cdfd8705096e64d390b3ee0b63f8/tools%2Fplaytest-drops.mjs\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-5d403f50939d15f6\"]\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/walesmd/eldoria", "source_id": "comment-chain-pattern-assumption_checks-18c6713a5d3dba5e", "synthetic": false, "gold_label": "", "graph_label": "source_artifact_without_verification_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "walesmd/eldoria", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "scanner-d3f324c0b82456e9", "level": "note", "message": {"text": "Stray `console.log` in TS/JS \u2014 tools/validate.js:1223"}, "properties": {"repobilityId": "70c005c4aa406106", "scanner": "scanner-primary", "fingerprint": "d3f324c0b82456e9", "layer": "frontend", "severity": "low", "confidence": 1.0, "tags": ["frontend-quality", "fq.console-leak"]}}, {"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-7649f3bd4d514280", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/playtest5.mjs:3"}, "properties": {"repobilityId": "815846be11be9f4f", "scanner": "scanner-primary", "fingerprint": "7649f3bd4d514280", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/playtest5.mjs"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-533d2575e0ac4857", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/guide-pdf.mjs:3"}, "properties": {"repobilityId": "2bd5a687204560ca", "scanner": "scanner-primary", "fingerprint": "533d2575e0ac4857", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/guide-pdf.mjs"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-5f3a894578b64e78", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/playtest-drops.mjs:5"}, "properties": {"repobilityId": "89826c9d907d25ed", "scanner": "scanner-primary", "fingerprint": "5f3a894578b64e78", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/playtest-drops.mjs"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-2078a90b20956428", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/diagnose-doors.mjs:4"}, "properties": {"repobilityId": "5fe64d2cc381e915", "scanner": "scanner-primary", "fingerprint": "2078a90b20956428", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/diagnose-doors.mjs"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-426e7eed0c9b9cf1", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/gallery.mjs:3"}, "properties": {"repobilityId": "c061d43e986eb2f6", "scanner": "scanner-primary", "fingerprint": "426e7eed0c9b9cf1", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/gallery.mjs"}, "region": {"startLine": 3}}}]}, {"ruleId": "scanner-b7cb54719733f02f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/playtest2.mjs:4"}, "properties": {"repobilityId": "140ff78d7bc043a5", "scanner": "scanner-primary", "fingerprint": "b7cb54719733f02f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/playtest2.mjs"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-034b0b11febb3efe", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/playtest3.mjs:4"}, "properties": {"repobilityId": "41df9c2f23c5fd07", "scanner": "scanner-primary", "fingerprint": "034b0b11febb3efe", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/playtest3.mjs"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-5ee98b36f53cb47f", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/playtest4.mjs:4"}, "properties": {"repobilityId": "80bd78b9a28b3417", "scanner": "scanner-primary", "fingerprint": "5ee98b36f53cb47f", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/playtest4.mjs"}, "region": {"startLine": 4}}}]}, {"ruleId": "scanner-1ff04855a6f3ea41", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/guide-assets.mjs:6"}, "properties": {"repobilityId": "b634f4dd87b4badd", "scanner": "scanner-primary", "fingerprint": "1ff04855a6f3ea41", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/guide-assets.mjs"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-3aa8f11151c16576", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/worldmap.mjs:5"}, "properties": {"repobilityId": "7fb309f26b714dc4", "scanner": "scanner-primary", "fingerprint": "3aa8f11151c16576", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/worldmap.mjs"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-8f0c8451d864ee5e", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/playtest.mjs:6"}, "properties": {"repobilityId": "a0f6ef131b7be3c1", "scanner": "scanner-primary", "fingerprint": "8f0c8451d864ee5e", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/playtest.mjs"}, "region": {"startLine": 6}}}]}, {"ruleId": "scanner-75d34f3c6ae94f70", "level": "warning", "message": {"text": "Insecure pattern 'node_child_process' in tools/diagnose-pots.mjs:4"}, "properties": {"repobilityId": "8b709c3ca5a1059b", "scanner": "scanner-primary", "fingerprint": "75d34f3c6ae94f70", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "node_child_process"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "tools/diagnose-pots.mjs"}, "region": {"startLine": 4}}}]}, {"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-386f19c4757a3560", "level": "note", "message": {"text": "Very large file: tools/validate.js (1244 lines)"}, "properties": {"repobilityId": "0ff4c11502d12ba7", "scanner": "scanner-primary", "fingerprint": "386f19c4757a3560", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-cb8667106a46db30", "level": "note", "message": {"text": "Very large file: src/scenes/GameScene.js (1623 lines)"}, "properties": {"repobilityId": "23906e9852d2e15d", "scanner": "scanner-primary", "fingerprint": "cb8667106a46db30", "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-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "a54d87189c2ea68f", "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": "5ff25e9c2a5751f2", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "676b181cd3eab1a4", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "beb476911258915a", "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": "b8b35757bd16072e", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-a03caf193fca7b1e", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/dialogue_content.js:1"}, "properties": {"repobilityId": "27a48b934457d1f6", "scanner": "scanner-primary", "fingerprint": "a03caf193fca7b1e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7de15f0bc810352a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/enemy_types.js:1"}, "properties": {"repobilityId": "f6f12b2514f55fc8", "scanner": "scanner-primary", "fingerprint": "7de15f0bc810352a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-005fb7447623e858", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/bosses.js:1"}, "properties": {"repobilityId": "727282107755946b", "scanner": "scanner-primary", "fingerprint": "005fb7447623e858", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f5d407cd07346424", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/audio_content.js:1"}, "properties": {"repobilityId": "ff5c4c656ccaeb6c", "scanner": "scanner-primary", "fingerprint": "f5d407cd07346424", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4c47aa9e8f846ccc", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/sprites/actor_art.js:5"}, "properties": {"repobilityId": "bbb8e660c4c252b1", "scanner": "scanner-primary", "fingerprint": "4c47aa9e8f846ccc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1cdeb71138d1827f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/sprites/tile_art.js:4"}, "properties": {"repobilityId": "e747e9a0819b6410", "scanner": "scanner-primary", "fingerprint": "1cdeb71138d1827f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1662a045ea113be9", "level": "none", "message": {"text": "Commented-code block (15 lines) in src/world/interiors.js:11"}, "properties": {"repobilityId": "f52b60d4b85210ed", "scanner": "scanner-primary", "fingerprint": "1662a045ea113be9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-eab9444cdcb572ab", "level": "note", "message": {"text": "Legacy-named symbol `d2_torch_v1` in src/world/dungeon2.js:342"}, "properties": {"repobilityId": "fdcac8af8aca135e", "scanner": "scanner-primary", "fingerprint": "eab9444cdcb572ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-6f27f599732f8a6e", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/world/dungeon2.js:4"}, "properties": {"repobilityId": "6d0829e6829da467", "scanner": "scanner-primary", "fingerprint": "6f27f599732f8a6e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c326dba94ea4613a", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/world/dungeon1.js:9"}, "properties": {"repobilityId": "15fdc7afcd9e1c80", "scanner": "scanner-primary", "fingerprint": "c326dba94ea4613a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39382e9df7b923ff", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/world/dungeon3.js:1"}, "properties": {"repobilityId": "25f53f44cad992ef", "scanner": "scanner-primary", "fingerprint": "39382e9df7b923ff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c31d7a1e14f2405f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/world/citadel.js:1"}, "properties": {"repobilityId": "e1a8e97e1f1051ac", "scanner": "scanner-primary", "fingerprint": "c31d7a1e14f2405f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5e1f8a5a65a06016", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/world/shrine.js:6"}, "properties": {"repobilityId": "961a59ba47d72ac1", "scanner": "scanner-primary", "fingerprint": "5e1f8a5a65a06016", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fdd253977f10bee0", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/world/tiles.js:5"}, "properties": {"repobilityId": "65b8ad575c50a921", "scanner": "scanner-primary", "fingerprint": "fdd253977f10bee0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6c1ace88d8df1bee", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/world/regions/desert.js:5"}, "properties": {"repobilityId": "99745b6d8f6d1714", "scanner": "scanner-primary", "fingerprint": "6c1ace88d8df1bee", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c79b026d1c980a65", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/world/regions/forest.js:5"}, "properties": {"repobilityId": "60baad625339c029", "scanner": "scanner-primary", "fingerprint": "c79b026d1c980a65", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1a2c6c816a65e656", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/world/regions/swamp.js:1"}, "properties": {"repobilityId": "0234a60b4ea21bd7", "scanner": "scanner-primary", "fingerprint": "1a2c6c816a65e656", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-35a8afd13988318b", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/world/regions/mountains.js:5"}, "properties": {"repobilityId": "e4ac600d30791a3a", "scanner": "scanner-primary", "fingerprint": "35a8afd13988318b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-34ece101bd496c8d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/world/regions/wastes.js:1"}, "properties": {"repobilityId": "ea5880173c106a4f", "scanner": "scanner-primary", "fingerprint": "34ece101bd496c8d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-11e9d4e6fe6638e4", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/world/regions/meadows.js:5"}, "properties": {"repobilityId": "f75403d1f0e0f8f0", "scanner": "scanner-primary", "fingerprint": "11e9d4e6fe6638e4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1508daeae8e3fd4b", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/world/regions/lake.js:1"}, "properties": {"repobilityId": "bbf268fd3e5ac3d1", "scanner": "scanner-primary", "fingerprint": "1508daeae8e3fd4b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}]}]}