{"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_unresolved_feedback", "name": "Foundry mined unresolved feedback: wngjs3/robot-learning-course-kr", "shortDescription": {"text": "Foundry mined unresolved feedback: wngjs3/robot-learning-course-kr"}, "fullDescription": {"text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#4\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#4\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: wngjs3/robot-learning-course-kr#4\nRepo: wngjs3/robot-learning-course-kr\nIssue/PR number: 4\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: wngjs3/robot-learning-course-kr", "shortDescription": {"text": "Foundry mined assumption checks: wngjs3/robot-learning-course-kr"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#4\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: github_or_motif_graph_without_source_files\nReasons: link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: wngjs3/robot-learning-course-kr#4\nRepo: wngjs3/robot-learning-course-kr\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-77a5ea5bec0c315f\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/wngjs3/robot-learning-course-kr/issues/4\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: ne"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.62, "cwe": "", "owasp": ""}}, {"id": "scanner-afdb28430eeb5724", "name": "Possibly dead Python function: work", "shortDescription": {"text": "Possibly dead Python function: work"}, "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-56c1efb40ea62df5", "name": "Possibly dead Python function: forward", "shortDescription": {"text": "Possibly dead Python function: forward"}, "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-b40b726972747729", "name": "Possibly dead Python function: set_mocap_pose", "shortDescription": {"text": "Possibly dead Python function: set_mocap_pose"}, "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-a709328108a7ee8b", "name": "Possibly dead Python function: render_rgb", "shortDescription": {"text": "Possibly dead Python function: render_rgb"}, "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-c5ba7a04da3d50e8", "name": "Possibly dead Python function: forward", "shortDescription": {"text": "Possibly dead Python function: forward"}, "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-487ba072733049f5", "name": "Possibly dead Python function: policy_evaluation", "shortDescription": {"text": "Possibly dead Python function: policy_evaluation"}, "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-5203996c3e51f8c0", "name": "Possibly dead Python function: policy_improvement", "shortDescription": {"text": "Possibly dead Python function: policy_improvement"}, "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-bd1c483a06f4df9f", "name": "Possibly dead Python function: compute_critic_loss", "shortDescription": {"text": "Possibly dead Python function: compute_critic_loss"}, "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-6e2b557b49531fcc", "name": "Possibly dead Python function: compute_actor_loss", "shortDescription": {"text": "Possibly dead Python function: compute_actor_loss"}, "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-b9357148f5f3a67b", "name": "Possibly dead Python function: compute_alpha_loss", "shortDescription": {"text": "Possibly dead Python function: compute_alpha_loss"}, "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-52da70a545a923f8", "name": "Possibly dead Python function: soft_update_targets", "shortDescription": {"text": "Possibly dead Python function: soft_update_targets"}, "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-e3928b214ed2c035", "name": "Possibly dead Python function: compute_kl_mean", "shortDescription": {"text": "Possibly dead Python function: compute_kl_mean"}, "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-7954f52942f5890a", "name": "Possibly dead Python function: adjust_learning_rate", "shortDescription": {"text": "Possibly dead Python function: adjust_learning_rate"}, "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-1a3eb755504bf19b", "name": "Possibly dead Python function: compute_surrogate_loss", "shortDescription": {"text": "Possibly dead Python function: compute_surrogate_loss"}, "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-fd0dfee080e0951f", "name": "Possibly dead Python function: compute_value_loss", "shortDescription": {"text": "Possibly dead Python function: compute_value_loss"}, "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-abe685670e3c52e8", "name": "Possibly dead Python function: compute_entropy_loss", "shortDescription": {"text": "Possibly dead Python function: compute_entropy_loss"}, "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-9a620dbcb0e92c62", "name": "Possibly dead Python function: pos_to_state", "shortDescription": {"text": "Possibly dead Python function: pos_to_state"}, "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-c099671c00314646", "name": "Possibly dead Python function: forward", "shortDescription": {"text": "Possibly dead Python function: forward"}, "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-b4c1aa7d33cff219", "name": "Possibly dead Python function: act", "shortDescription": {"text": "Possibly dead Python function: act"}, "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-14be3f6b820f03dd", "name": "Possibly dead Python function: policy_callback", "shortDescription": {"text": "Possibly dead Python function: policy_callback"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63932f9c80d2bee9", "name": "Possibly dead Python function: pid_callback", "shortDescription": {"text": "Possibly dead Python function: pid_callback"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a6fb55f33e6e6c14", "name": "Possibly dead Python function: policy_callback", "shortDescription": {"text": "Possibly dead Python function: policy_callback"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-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-e6099564faecd509", "name": "Insecure pattern 'direct_innerhtml_assignment' in assets/js/main.js:37", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in assets/js/main.js:37"}, "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-faeaf1e602296507", "name": "Insecure pattern 'direct_innerhtml_assignment' in assets/js/lecture.js:24", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in assets/js/lecture.js:24"}, "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-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "0 test file(s) for 73 source file(s) (ratio 0.00). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-f77b3a639cef15b3", "name": "62 TODO/FIXME markers", "shortDescription": {"text": "62 TODO/FIXME markers"}, "fullDescription": {"text": "High count of TODO/FIXME/HACK markers \u2014 track them as issues so they're not forgotten."}, "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 247 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: 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": "low", "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-a2b5f1a8f31ef761", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/run_slides_pipeline.py:27", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_slides_pipeline.py:27"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-88125c88105f813f", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/extract_slides.py:48", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/extract_slides.py:48"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-95e603d87ecd2bf7", "name": "Commented-code block (6 lines) in homework/hw4_reinforcement_learning/exercises/ex2_dqn.py:179", "shortDescription": {"text": "Commented-code block (6 lines) in homework/hw4_reinforcement_learning/exercises/ex2_dqn.py:179"}, "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-ec2d7f79ec0dbea4", "name": "Commented-code block (8 lines) in homework/hw4_reinforcement_learning/exercises/ex4_sac.py:172", "shortDescription": {"text": "Commented-code block (8 lines) in homework/hw4_reinforcement_learning/exercises/ex4_sac.py:172"}, "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-33747cc4e7fbf5de", "name": "Commented-code block (6 lines) in homework/hw4_reinforcement_learning/exercises/ex3_ppo.py:89", "shortDescription": {"text": "Commented-code block (6 lines) in homework/hw4_reinforcement_learning/exercises/ex3_ppo.py:89"}, "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-7e79db14c1ab1ef3", "name": "Commented-code block (6 lines) in homework/hw2_robot_control_mdps/exercises/ex1.py:98", "shortDescription": {"text": "Commented-code block (6 lines) in homework/hw2_robot_control_mdps/exercises/ex1.py:98"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nscripts/translate_papers.py:gemini_json, scripts/translate_comments.py:gemini_json\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:\nhomework/hw3_imitation_learning/hw3/model.py:compute_loss, homework/hw3_imitation_learning/hw3/model.py:compute_loss, homework/hw3_imitation_learning/hw3/model.py:compute_loss\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nhomework/hw3_imitation_learning/hw3/sim_env.py:get_obstacle_pos, homework/hw3_imitation_learning/hw3/sim_env.py:get_obs, homework/hw3_imitation_learning/hw3/sim_env.py:get_obstacle_pos, homework/hw3_imitation_learning/hw3/sim_env.py:get_obstacle_pos\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/22819"}, "properties": {"repository": "wngjs3/robot-learning-course-kr", "repoUrl": "https://github.com/wngjs3/robot-learning-course-kr", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: wngjs3/robot-learning-course-kr"}, "properties": {"repobilityId": 371370, "scanner": "foundry_dataset", "fingerprint": "41658db15f3eb629c73533e77655924295fa14467e4022ca8f4b71343028a705", "category": "practices", "severity": "medium", "confidence": 0.7, "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": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"human_feedback_general": 1, "unlinked_human_feedback": 1, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "wngjs3/robot-learning-course-kr#4", "issue_number": "4", "quality_tiers": {"unresolved": 3}, "repo_full_name": "wngjs3/robot-learning-course-kr", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-3a8305c200a3e464", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#4\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#4\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: wngjs3/robot-learning-course-kr#4\nRepo: wngjs3/robot-learning-course-kr\nIssue/PR number: 4\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/wngjs3/robot-learning-course-kr", "source_id": "graph-query-motif_query-4ac684b736bf0961", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "wngjs3/robot-learning-course-kr", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: wngjs3/robot-learning-course-kr"}, "properties": {"repobilityId": 371369, "scanner": "foundry_dataset", "fingerprint": "ac71fccfff10ef8450dc084d78229cf89f9ace584cc9e902f8c80c1d6c08c8bf", "category": "practices", "severity": "medium", "confidence": 0.7, "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": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"human_feedback_general": 1, "unlinked_human_feedback": 1, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "wngjs3/robot-learning-course-kr#3", "issue_number": "3", "quality_tiers": {"unresolved": 3}, "repo_full_name": "wngjs3/robot-learning-course-kr", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-1634a00a8344d4b1", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#3\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#3\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: wngjs3/robot-learning-course-kr#3\nRepo: wngjs3/robot-learning-course-kr\nIssue/PR number: 3\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/wngjs3/robot-learning-course-kr", "source_id": "graph-query-motif_query-6770daf83431dc89", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "wngjs3/robot-learning-course-kr", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: wngjs3/robot-learning-course-kr"}, "properties": {"repobilityId": 371368, "scanner": "foundry_dataset", "fingerprint": "4b4d1c0e819f15e456c7b4b45a2f3afec2ec8e75ba8fe9c261e965eed01cdf45", "category": "practices", "severity": "medium", "confidence": 0.7, "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": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"human_feedback_general": 1, "unlinked_human_feedback": 1, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "wngjs3/robot-learning-course-kr#2", "issue_number": "2", "quality_tiers": {"unresolved": 3}, "repo_full_name": "wngjs3/robot-learning-course-kr", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-aa24a6611937b633", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#2\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#2\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: wngjs3/robot-learning-course-kr#2\nRepo: wngjs3/robot-learning-course-kr\nIssue/PR number: 2\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/wngjs3/robot-learning-course-kr", "source_id": "graph-query-motif_query-0ddfd108cd1057e2", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "wngjs3/robot-learning-course-kr", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: wngjs3/robot-learning-course-kr"}, "properties": {"repobilityId": 371367, "scanner": "foundry_dataset", "fingerprint": "01af2368319fd777bf6da6d9f09c51fbe3d9c28837305761b901f7152d93c96e", "category": "practices", "severity": "medium", "confidence": 0.7, "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": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"human_feedback_general": 1, "unlinked_human_feedback": 1, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "wngjs3/robot-learning-course-kr#1", "issue_number": "1", "quality_tiers": {"unresolved": 3}, "repo_full_name": "wngjs3/robot-learning-course-kr", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-62af0ef136adbda4", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#1\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#1\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: wngjs3/robot-learning-course-kr#1\nRepo: wngjs3/robot-learning-course-kr\nIssue/PR number: 1\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/wngjs3/robot-learning-course-kr", "source_id": "graph-query-motif_query-cf334210b2851d71", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "wngjs3/robot-learning-course-kr", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: wngjs3/robot-learning-course-kr"}, "properties": {"repobilityId": 313688, "scanner": "foundry_dataset", "fingerprint": "b9443b4e97bf5d7d91509fdf4f4b29bd6fc5a7fe354091468b2ba5396047d2f8", "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": "wngjs3/robot-learning-course-kr#4", "human_labels": ["human_feedback_general"], "issue_number": "4", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": false, "max_confidence": 0.0, "repo_full_name": "wngjs3/robot-learning-course-kr", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-e6e835c4aead47da", "helicopter_views": {}, "artifact_families": {}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "github_or_motif_graph_without_source_files", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 0, "source_artifact_count": 0, "classification_reasons": ["link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#4\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: github_or_motif_graph_without_source_files\nReasons: link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: wngjs3/robot-learning-course-kr#4\nRepo: wngjs3/robot-learning-course-kr\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-77a5ea5bec0c315f\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/wngjs3/robot-learning-course-kr/issues/4\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: wngjs3/robot-learning-course-kr\\nAuthor: wngjs3 (User)\\nURL: https://github.com/wngjs3/robot-learning-course-kr/issues/4\\nTitle: [site feedback] 1\uc8fc\ucc28 \u00b7 \ub85c\ubd07 \ub7ec\ub2dd \uc785\ubb38 \u2014 Robot Learning\\nBody:\\n## \ub0b4\uc6a9\\n\uc790\ub9c9 \uc624\ub958\uac00 \uc788\ub294\ub4ef\ud574\uc694\\n\\n## \ud398\uc774\uc9c0\\n- URL: https://wngjs3.github.io/robot-learning-course-kr/lecture.html?id=lec01\\n- \uc81c\ubaa9: 1\uc8fc\ucc28 \u00b7 \ub85c\ubd07 \ub7ec\ub2dd \uc785\ubb38 \u2014 Robot Learning\\n- \uc704\uce58: \uc2e4\uc81c \ub85c\ubd07 \ud504\ub85c\uc81d\ud2b8 \uacc4\ud68d\\n\\n## \uc120\ud0dd\ub41c \ud14d\uc2a4\ud2b8\\n> \uc2e4\uc81c \ub85c\ubd07 \ud504\ub85c\uc81d\ud2b8 \uacc4\ud68d\\n> \ud559\uae30 \ud6c4\ubc18\ubd80\uc5d0\ub294 50\ub300\uc758 SO101 \ub85c\ubd07 \ud314\uc744 \ud65c\uc6a9\ud558\uc5ec \uadf8\ub8f9 \ud504\ub85c\uc81d\ud2b8\ub97c \uc9c4\ud589\ud569\ub2c8\ub2e4. \uc774 \ub85c\ubd07\uc740 \uc9c1\uc811 \uc190\uc73c\ub85c \uc6c0\uc9c1\uc5ec \uc2dc\uc5f0 \ub370\uc774\ud130\ub97c \uc218\uc9d1\ud560 \uc218 \uc788\ub294 \uc870\uc885 \uc7a5\uce58\uac00 \ud3ec\ud568\ub418\uc5b4 \uc788\uc5b4 \uc9c1\uad00\uc801\uc778 \ud559\uc2b5\uc774 \uac00\ub2a5\ud569\ub2c8\ub2e4. \ud559\uc0dd\ub4e4\uc758 \uc6d0\ud65c\ud55c \uc2e4\uc2b5\uc744 \uc704\ud574 \uc870\uad50\ub4e4\uc774 \ud45c\uc900 \ud504\ub85c\uc81d\ud2b8 \ud15c\ud50c\ub9bf\uc744 \uc81c\uacf5\ud558\uba70, \ub300\ud559\uc6d0\uc0dd \ub4f1 \uc2ec\ud654 \ud559\uc2b5\uc744 \uc6d0\ud558\ub294 \ud559\uc0dd\ub4e4\uc5d0\uac8c\ub294 \ub3c4\uc804\uc801\uc778 \uac1c\ubcc4 \ud504\ub85c\uc81d\ud2b8 \uae30\ud68c\ub3c4 \uc81c\uacf5\ub429\ub2c8\ub2e4.\\n\\n## \uc120\ud0dd \uc815\ubcf4\\n- Anchor: div:nth-of-type(1) > div:nth-of-type(4) > aside:nth-of-type(1) > div#panel-chapters:nth-of-type(3) > div:nth-of-type(5) > h4:nth-of-type(1)\\n- Focus: div:nth-of-type(1) > div:nth-of-type(4) > aside:nth-of-type(1) > div#panel-chapters:nth-of-type(3) > div:nth-of-type(5) > p:nth-of-type(1)\\n- Offset: 0 / 200\\n- Rect: {\\\"x\\\":476,\\\"y\\\":562,\\\"width\\\":511,\\\"height\\\":116}\\n\\n## \ud658\uacbd\\n- Viewport: 1066x1032\\n- ScrollY: 569\\n- Language: en\\n- Created: 2026-06-16T18:46:55.009Z\\n\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-0c7185369434e954\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: wngjs3/robot-learning-course-kr\nGraph label: github_or_motif_graph_without_source_files\nNodes: 4\nEdges: 4\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_bundle\": 1}\nEdge types: {\"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {}\nHelicopter views: {}\nBundle labels: {\"graph_pattern_without_source_artifacts\": 1}\nCo-occurrence labels: {\"general_motif_cooccurrence\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/wngjs3/robot-learning-course-kr", "source_id": "comment-chain-pattern-assumption_checks-35a71e4657ce8d27", "synthetic": false, "gold_label": "", "graph_label": "github_or_motif_graph_without_source_files", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "wngjs3/robot-learning-course-kr", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: wngjs3/robot-learning-course-kr"}, "properties": {"repobilityId": 313687, "scanner": "foundry_dataset", "fingerprint": "2be28d36a64aa4198ecae0055c5784f2742256409a1db0d194bd59cd328aaa57", "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": "wngjs3/robot-learning-course-kr#3", "human_labels": ["human_feedback_general"], "issue_number": "3", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": false, "max_confidence": 0.0, "repo_full_name": "wngjs3/robot-learning-course-kr", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-bdf7fcbb40a1adcc", "helicopter_views": {}, "artifact_families": {}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "github_or_motif_graph_without_source_files", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 0, "source_artifact_count": 0, "classification_reasons": ["link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#3\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: github_or_motif_graph_without_source_files\nReasons: link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: wngjs3/robot-learning-course-kr#3\nRepo: wngjs3/robot-learning-course-kr\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b7784c40311f0a32\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/wngjs3/robot-learning-course-kr/issues/3\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: wngjs3/robot-learning-course-kr\\nAuthor: wngjs3 (User)\\nURL: https://github.com/wngjs3/robot-learning-course-kr/issues/3\\nTitle: [site feedback] Robot Learning \u2014 From Fundamentals to Foundation Models\\nBody:\\n## \ub0b4\uc6a9\\n\uc798\ub418\ub294\uc9c0 \ud14c\uc2a4\ud2b8 \uc911\uc785\ub2c8\ub2e4.\\n\\n## \ud398\uc774\uc9c0\\n- URL: https://wngjs3.github.io/robot-learning-course-kr/\\n- \uc81c\ubaa9: Robot Learning \u2014 From Fundamentals to Foundation Models\\n- \uc704\uce58: \\n\\n## \uc120\ud0dd\ub41c \ud14d\uc2a4\ud2b8\\n_\uc120\ud0dd\ub41c \ud14d\uc2a4\ud2b8 \uc5c6\uc74c_\\n\\n## \uc120\ud0dd \uc815\ubcf4\\n- Anchor: \\n- Focus: \\n- Offset:  / \\n- Rect: {}\\n\\n## \ud658\uacbd\\n- Viewport: 1066x1032\\n- ScrollY: \\n- Language: en\\n- Created: 2026-06-16T18:46:07.313Z\\n\\nReply email: wngjs3@gmail.com\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-31a1f8a91e57c1c7\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: wngjs3/robot-learning-course-kr\nGraph label: github_or_motif_graph_without_source_files\nNodes: 4\nEdges: 4\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_bundle\": 1}\nEdge types: {\"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {}\nHelicopter views: {}\nBundle labels: {\"graph_pattern_without_source_artifacts\": 1}\nCo-occurrence labels: {\"general_motif_cooccurrence\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/wngjs3/robot-learning-course-kr", "source_id": "comment-chain-pattern-assumption_checks-9d6faff90d425dbe", "synthetic": false, "gold_label": "", "graph_label": "github_or_motif_graph_without_source_files", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "wngjs3/robot-learning-course-kr", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: wngjs3/robot-learning-course-kr"}, "properties": {"repobilityId": 313686, "scanner": "foundry_dataset", "fingerprint": "dd7c40217323ab8bc95d6b54677cea02296706034f2933d5cee83e9fdc5e2ada", "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": "wngjs3/robot-learning-course-kr#2", "human_labels": ["human_feedback_general"], "issue_number": "2", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": false, "max_confidence": 0.0, "repo_full_name": "wngjs3/robot-learning-course-kr", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-e8a0d1a393685bbb", "helicopter_views": {}, "artifact_families": {}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "github_or_motif_graph_without_source_files", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 0, "source_artifact_count": 0, "classification_reasons": ["link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#2\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: github_or_motif_graph_without_source_files\nReasons: link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: wngjs3/robot-learning-course-kr#2\nRepo: wngjs3/robot-learning-course-kr\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b646dca734fee106\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/wngjs3/robot-learning-course-kr/issues/2\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: wngjs3/robot-learning-course-kr\\nAuthor: wngjs3 (User)\\nURL: https://github.com/wngjs3/robot-learning-course-kr/issues/2\\nTitle: [site feedback] Robot Learning\\nBody:\\n## \ub0b4\uc6a9\\nCodex redirect check\\n\\n## \ud398\uc774\uc9c0\\n- URL: http://127.0.0.1:8765/\\n- \uc81c\ubaa9: Robot Learning\\n- \uc704\uce58: \\n\\n## \uc120\ud0dd\ub41c \ud14d\uc2a4\ud2b8\\n_\uc120\ud0dd\ub41c \ud14d\uc2a4\ud2b8 \uc5c6\uc74c_\\n\\n## \uc120\ud0dd \uc815\ubcf4\\n- Anchor: \\n- Focus: \\n- Offset:  / \\n- Rect: {}\\n\\n## \ud658\uacbd\\n- Viewport: \\n- ScrollY: \\n- Language: \\n- Created: 2026-06-16T18:00:00.000Z\\n\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-6f27169af80712b3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: wngjs3/robot-learning-course-kr\nGraph label: github_or_motif_graph_without_source_files\nNodes: 4\nEdges: 4\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_bundle\": 1}\nEdge types: {\"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {}\nHelicopter views: {}\nBundle labels: {\"graph_pattern_without_source_artifacts\": 1}\nCo-occurrence labels: {\"general_motif_cooccurrence\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/wngjs3/robot-learning-course-kr", "source_id": "comment-chain-pattern-assumption_checks-e78b4dd07a4a6962", "synthetic": false, "gold_label": "", "graph_label": "github_or_motif_graph_without_source_files", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "wngjs3/robot-learning-course-kr", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: wngjs3/robot-learning-course-kr"}, "properties": {"repobilityId": 313685, "scanner": "foundry_dataset", "fingerprint": "7a6759dd2d00bc615a85419418373cc73d53b2c000c40dcf365327258680e2ae", "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": "wngjs3/robot-learning-course-kr#1", "human_labels": ["human_feedback_general"], "issue_number": "1", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": false, "max_confidence": 0.0, "repo_full_name": "wngjs3/robot-learning-course-kr", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-ff61cb98efca90bb", "helicopter_views": {}, "artifact_families": {}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "github_or_motif_graph_without_source_files", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 0, "source_artifact_count": 0, "classification_reasons": ["link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: wngjs3/robot-learning-course-kr\nThread: wngjs3/robot-learning-course-kr#1\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: github_or_motif_graph_without_source_files\nReasons: link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: wngjs3/robot-learning-course-kr#1\nRepo: wngjs3/robot-learning-course-kr\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-613cb46449634e7f\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/wngjs3/robot-learning-course-kr/issues/1\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: wngjs3/robot-learning-course-kr\\nAuthor: wngjs3 (User)\\nURL: https://github.com/wngjs3/robot-learning-course-kr/issues/1\\nTitle: [site feedback] Robot Learning \u2014 From Fundamentals to Foundation Models\\nBody:\\n## \ub0b4\uc6a9\\nCodex test: feedback widget GitHub issue creation check. \uc774 \uc774\uc288\ub294 \ud14c\uc2a4\ud2b8 \ud6c4 \ub2eb\uc544\ub3c4 \ub429\ub2c8\ub2e4.\\n\\n## \ud398\uc774\uc9c0\\n- URL: http://127.0.0.1:8765/\\n- \uc81c\ubaa9: Robot Learning \u2014 From Fundamentals to Foundation Models\\n- \uc704\uce58: \ub85c\uceec \ud14c\uc2a4\ud2b8\\n\\n## \uc120\ud0dd\ub41c \ud14d\uc2a4\ud2b8\\n> \ud14c\uc2a4\ud2b8 \uc120\ud0dd \ud14d\uc2a4\ud2b8\\n\\n## \uc120\ud0dd \uc815\ubcf4\\n- Anchor: body:nth-of-type(1)\\n- Focus: body:nth-of-type(1)\\n- Offset: 0 / 1\\n- Rect: {\\\"x\\\":0,\\\"y\\\":0,\\\"width\\\":120,\\\"height\\\":20}\\n\\n## \ud658\uacbd\\n- Viewport: 1280x720\\n- ScrollY: \\n- Language: ko-KR\\n- Created: 2026-06-16T18:00:00.000Z\\n\\n\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-36b96d9645b5f5a1\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: wngjs3/robot-learning-course-kr\nGraph label: github_or_motif_graph_without_source_files\nNodes: 4\nEdges: 4\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_bundle\": 1}\nEdge types: {\"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {}\nHelicopter views: {}\nBundle labels: {\"graph_pattern_without_source_artifacts\": 1}\nCo-occurrence labels: {\"general_motif_cooccurrence\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/wngjs3/robot-learning-course-kr", "source_id": "comment-chain-pattern-assumption_checks-e9786b0a2b14be9f", "synthetic": false, "gold_label": "", "graph_label": "github_or_motif_graph_without_source_files", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/assumption_checks/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "wngjs3/robot-learning-course-kr", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "scanner-afdb28430eeb5724", "level": "note", "message": {"text": "Possibly dead Python function: work"}, "properties": {"repobilityId": "c5b0e9acf413d08f", "scanner": "scanner-primary", "fingerprint": "afdb28430eeb5724", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/classify_slides.py:72"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-56c1efb40ea62df5", "level": "note", "message": {"text": "Possibly dead Python function: forward"}, "properties": {"repobilityId": "ea414cce7f8e5874", "scanner": "scanner-primary", "fingerprint": "56c1efb40ea62df5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw3_imitation_learning/hw3/model.py:61"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b40b726972747729", "level": "note", "message": {"text": "Possibly dead Python function: set_mocap_pose"}, "properties": {"repobilityId": "85cf7b659ec35b01", "scanner": "scanner-primary", "fingerprint": "b40b726972747729", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw3_imitation_learning/hw3/sim_env.py:281"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a709328108a7ee8b", "level": "note", "message": {"text": "Possibly dead Python function: render_rgb"}, "properties": {"repobilityId": "6ea5d6eb6f466ef9", "scanner": "scanner-primary", "fingerprint": "a709328108a7ee8b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw3_imitation_learning/hw3/sim_env.py:306"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c5ba7a04da3d50e8", "level": "note", "message": {"text": "Possibly dead Python function: forward"}, "properties": {"repobilityId": "ea414cce7f8e5874", "scanner": "scanner-primary", "fingerprint": "c5ba7a04da3d50e8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex2_dqn.py:100"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-487ba072733049f5", "level": "note", "message": {"text": "Possibly dead Python function: policy_evaluation"}, "properties": {"repobilityId": "3888060f257a0472", "scanner": "scanner-primary", "fingerprint": "487ba072733049f5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex1_mdp.py:54"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5203996c3e51f8c0", "level": "note", "message": {"text": "Possibly dead Python function: policy_improvement"}, "properties": {"repobilityId": "76507c7cd450be09", "scanner": "scanner-primary", "fingerprint": "5203996c3e51f8c0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex1_mdp.py:81"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bd1c483a06f4df9f", "level": "note", "message": {"text": "Possibly dead Python function: compute_critic_loss"}, "properties": {"repobilityId": "028b9da6a79ba359", "scanner": "scanner-primary", "fingerprint": "bd1c483a06f4df9f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex4_sac.py:150"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6e2b557b49531fcc", "level": "note", "message": {"text": "Possibly dead Python function: compute_actor_loss"}, "properties": {"repobilityId": "ee1d372b4d00ea1b", "scanner": "scanner-primary", "fingerprint": "6e2b557b49531fcc", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex4_sac.py:190"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b9357148f5f3a67b", "level": "note", "message": {"text": "Possibly dead Python function: compute_alpha_loss"}, "properties": {"repobilityId": "4c759b049a884e3f", "scanner": "scanner-primary", "fingerprint": "b9357148f5f3a67b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex4_sac.py:219"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-52da70a545a923f8", "level": "note", "message": {"text": "Possibly dead Python function: soft_update_targets"}, "properties": {"repobilityId": "303442c4eae018ad", "scanner": "scanner-primary", "fingerprint": "52da70a545a923f8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex4_sac.py:244"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e3928b214ed2c035", "level": "note", "message": {"text": "Possibly dead Python function: compute_kl_mean"}, "properties": {"repobilityId": "4324ed4bce4c1813", "scanner": "scanner-primary", "fingerprint": "e3928b214ed2c035", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex3_ppo.py:112"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7954f52942f5890a", "level": "note", "message": {"text": "Possibly dead Python function: adjust_learning_rate"}, "properties": {"repobilityId": "5087182babad7f05", "scanner": "scanner-primary", "fingerprint": "7954f52942f5890a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex3_ppo.py:143"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a3eb755504bf19b", "level": "note", "message": {"text": "Possibly dead Python function: compute_surrogate_loss"}, "properties": {"repobilityId": "ab01908e8999fd81", "scanner": "scanner-primary", "fingerprint": "1a3eb755504bf19b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex3_ppo.py:155"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fd0dfee080e0951f", "level": "note", "message": {"text": "Possibly dead Python function: compute_value_loss"}, "properties": {"repobilityId": "12a6c9389eadb9a1", "scanner": "scanner-primary", "fingerprint": "fd0dfee080e0951f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex3_ppo.py:181"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-abe685670e3c52e8", "level": "note", "message": {"text": "Possibly dead Python function: compute_entropy_loss"}, "properties": {"repobilityId": "8f4c1c8b87c21017", "scanner": "scanner-primary", "fingerprint": "abe685670e3c52e8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/exercises/ex3_ppo.py:202"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9a620dbcb0e92c62", "level": "note", "message": {"text": "Possibly dead Python function: pos_to_state"}, "properties": {"repobilityId": "d8782c9661792f6a", "scanner": "scanner-primary", "fingerprint": "9a620dbcb0e92c62", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/envs/grid_world.py:100"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c099671c00314646", "level": "note", "message": {"text": "Possibly dead Python function: forward"}, "properties": {"repobilityId": "ea414cce7f8e5874", "scanner": "scanner-primary", "fingerprint": "c099671c00314646", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/rl/networks.py:188"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b4c1aa7d33cff219", "level": "note", "message": {"text": "Possibly dead Python function: act"}, "properties": {"repobilityId": "11acc7fe8487cce8", "scanner": "scanner-primary", "fingerprint": "b4c1aa7d33cff219", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw4_reinforcement_learning/rl/networks.py:164"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-14be3f6b820f03dd", "level": "note", "message": {"text": "Possibly dead Python function: policy_callback"}, "properties": {"repobilityId": "3fd860435d017a60", "scanner": "scanner-primary", "fingerprint": "14be3f6b820f03dd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw2_robot_control_mdps/scripts/evaluate_trajectory.py:24"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-63932f9c80d2bee9", "level": "note", "message": {"text": "Possibly dead Python function: pid_callback"}, "properties": {"repobilityId": "7ca48802422c84d3", "scanner": "scanner-primary", "fingerprint": "63932f9c80d2bee9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw2_robot_control_mdps/scripts/pid_control.py:24"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a6fb55f33e6e6c14", "level": "note", "message": {"text": "Possibly dead Python function: policy_callback"}, "properties": {"repobilityId": "3fd860435d017a60", "scanner": "scanner-primary", "fingerprint": "a6fb55f33e6e6c14", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "homework/hw2_robot_control_mdps/scripts/evaluate_rand_targets.py:27"}, "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-e6099564faecd509", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in assets/js/main.js:37"}, "properties": {"repobilityId": "b919f77767257c8d", "scanner": "scanner-primary", "fingerprint": "e6099564faecd509", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "assets/js/main.js"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-faeaf1e602296507", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in assets/js/lecture.js:24"}, "properties": {"repobilityId": "af153d9b49ae97ee", "scanner": "scanner-primary", "fingerprint": "faeaf1e602296507", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "assets/js/lecture.js"}, "region": {"startLine": 24}}}]}, {"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-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-f77b3a639cef15b3", "level": "note", "message": {"text": "62 TODO/FIXME markers"}, "properties": {"repobilityId": "4b38c118003e07d2", "scanner": "scanner-primary", "fingerprint": "f77b3a639cef15b3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["maintenance"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "c2c545498190dac5", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "7e8bd277899a20e6", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "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": "d7334c3e787984c0", "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": "e07bad7caf9594e9", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-a2b5f1a8f31ef761", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/run_slides_pipeline.py:27"}, "properties": {"repobilityId": "5b1e6d711a16deb3", "scanner": "scanner-primary", "fingerprint": "a2b5f1a8f31ef761", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-88125c88105f813f", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/extract_slides.py:48"}, "properties": {"repobilityId": "f0b9658a4fd9c7c2", "scanner": "scanner-primary", "fingerprint": "88125c88105f813f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-95e603d87ecd2bf7", "level": "none", "message": {"text": "Commented-code block (6 lines) in homework/hw4_reinforcement_learning/exercises/ex2_dqn.py:179"}, "properties": {"repobilityId": "69a29c89ce03671a", "scanner": "scanner-primary", "fingerprint": "95e603d87ecd2bf7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec2d7f79ec0dbea4", "level": "none", "message": {"text": "Commented-code block (8 lines) in homework/hw4_reinforcement_learning/exercises/ex4_sac.py:172"}, "properties": {"repobilityId": "93ebee97033955b2", "scanner": "scanner-primary", "fingerprint": "ec2d7f79ec0dbea4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-33747cc4e7fbf5de", "level": "none", "message": {"text": "Commented-code block (6 lines) in homework/hw4_reinforcement_learning/exercises/ex3_ppo.py:89"}, "properties": {"repobilityId": "8ea7f8e4daee73c3", "scanner": "scanner-primary", "fingerprint": "33747cc4e7fbf5de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e79db14c1ab1ef3", "level": "none", "message": {"text": "Commented-code block (6 lines) in homework/hw2_robot_control_mdps/exercises/ex1.py:98"}, "properties": {"repobilityId": "183be63692f2651e", "scanner": "scanner-primary", "fingerprint": "7e79db14c1ab1ef3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "04c6d4e9bbedf659", "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": "9d44bcb6e6c5439a", "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": "f9816d90f02ba2ff", "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": "2e3c8a4367303e5f", "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": "40b543f062440bf5", "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": "6606847fd0b6f9fe", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "8d5ee4fca094d5e1", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "65df93b5f8a86c57", "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": "4db7e14a594941d2", "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": "3e091886fda8f948", "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": "d5cc9819ba154858", "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": "33850b4dc6f355f3", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "28da87e7caa22a68", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "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": "4fe59e27ba2c4263", "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": "aa9fafda8c64ba24", "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": "667d635d6515f7d1", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}