{"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: Screddyice/qa-conflict-bot", "shortDescription": {"text": "Foundry mined unresolved feedback: Screddyice/qa-conflict-bot"}, "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: weak_supervision_needs_review\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#8\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: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#8\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 90\nEdges: 203\nNode types: {'link_quality': 31, 'alignment': 15, 'comment': 14, 'comment_chain': 14, "}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: Screddyice/qa-conflict-bot", "shortDescription": {"text": "Foundry mined blueprint gap alignment: Screddyice/qa-conflict-bot"}, "fullDescription": {"text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#9\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#9\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#9\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 9\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 51\nNode types: {'link_quality': 7, 'commit': 5, 'pr_file': 4, 'alignment':"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: Screddyice/qa-conflict-bot", "shortDescription": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#9\nOutcome: ambiguous_needs_more_evidence\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, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#9\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 7\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'test_ci_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'ui_or_frontend': 2, 'test_or_ci': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7ecf59be19d5c832\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \""}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.62, "cwe": "", "owasp": ""}}, {"id": "foundry_test_ci_gap", "name": "Foundry mined test ci gap after feedback: Screddyice/qa-conflict-bot", "shortDescription": {"text": "Foundry mined test ci gap after feedback: Screddyice/qa-conflict-bot"}, "fullDescription": {"text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#9\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#9\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#9\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 9\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 51\nNode types: {'link_quality': 7, 'commit': 5, 'pr_file': 4, 'alignment': 3, 'blueprint_finding':"}, "properties": {"scanner": "foundry_dataset", "category": "testing", "severity": "high", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: Screddyice/qa-conflict-bot", "shortDescription": {"text": "Foundry mined bad chains: Screddyice/qa-conflict-bot"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_artifact_without_verification_graph\nReasons: source_graph_has_real_artifacts, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#12\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'test_ci_gap': 2}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6b2e6367b6dafdcf\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/p"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "high", "confidence": 0.84, "cwe": "", "owasp": ""}}, {"id": "foundry_auth_guardrail_gap", "name": "Foundry mined security auth guardrail gaps: Screddyice/qa-conflict-bot", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: Screddyice/qa-conflict-bot"}, "fullDescription": {"text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#12\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 12\nGraph consistency label: assumption_check\nNodes: 30\nEdges: 45\nNode types: {'link_quality': 11, 'alignment': 6, 'comment': 3, 'comment_chain': 3, 'blueprint_finding': 3, 'thread'"}, "properties": {"scanner": "foundry_dataset", "category": "auth", "severity": "critical", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "scanner-715d8a742abbd270", "name": "Possibly dead Python function: do_GET", "shortDescription": {"text": "Possibly dead Python function: do_GET"}, "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-fdd9ef338a1d6e97", "name": "Possibly dead Python function: log_message", "shortDescription": {"text": "Possibly dead Python function: log_message"}, "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-60ea2fd1e8fc4025", "name": "Possibly dead Python function: health", "shortDescription": {"text": "Possibly dead Python function: health"}, "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-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-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 18 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-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-83934eaf4019abf4", "name": "Stub function `log_message` (body is just `pass`/`return`) \u2014 scripts/setup-github-app.py:94", "shortDescription": {"text": "Stub function `log_message` (body is just `pass`/`return`) \u2014 scripts/setup-github-app.py:94"}, "fullDescription": {"text": "Likely an AI scaffold that was never filled in. Remove or implement."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ac38a3f467a9452", "name": "Commented-code block (5 lines) in src/pr_conflict_bot/qa/orchestrator.py:36", "shortDescription": {"text": "Commented-code block (5 lines) in src/pr_conflict_bot/qa/orchestrator.py:36"}, "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-af022f937dd5b7fd", "name": "9 env vars used in code but missing from .env.example", "shortDescription": {"text": "9 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `ALERT_SLACK_BOT_TOKEN`, `ALERT_SLACK_CHANNEL`, `ALERT_SLACK_WEBHOOK_URL`, `ALLOW_ORGS`, `ALLOW_USERS`, `LINEAR_TOKENS`, `LLM_EXTRA_ARGS`, `QA_DEFAULT_ENABLED_ORGS` + 1 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "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:\nsrc/pr_conflict_bot/qa/browse.py:capture, src/pr_conflict_bot/qa/browse.py:capture, src/pr_conflict_bot/qa/browse.py:capture\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/19100"}, "properties": {"repository": "Screddyice/qa-conflict-bot", "repoUrl": "https://github.com/Screddyice/qa-conflict-bot", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 361110, "scanner": "foundry_dataset", "fingerprint": "8aa733de7b2d001ec4ae3e49993fd2e15694b0ea3e7c6d92210e6f98f9283dcb", "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": {"test_or_ci": 1, "test_ci_gap": 5, "ui_or_frontend": 1, "source_or_other": 1, "weak blueprint fit": 2, "agent_instruction_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 6, "human_feedback_general": 8, "unlinked_human_feedback": 4, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 14, "blueprint_human_gap_alignment": 15, "comment_has_related_commit_context": 8, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 28}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 203, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 14, "thread_has_comment": 14, "thread_touches_file": 3, "alignment_uses_comment": 15, "alignment_uses_finding": 15, "chain_has_link_quality": 31, "comment_aligns_finding": 15, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 14, "comment_chain_links_commit": 19, "comment_chain_touches_file": 42, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 14}, "node_count": 90, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 14, "pr_file": 3, "alignment": 15, "fix_outcome": 1, "issue_chain": 1, "link_quality": 31, "comment_chain": 14, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#8", "issue_number": "8", "quality_tiers": {"unresolved": 6, "assumption_check": 15, "weak_supervision": 10}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-549e581b7f4d566d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 17, "ui_or_frontend": 17, "source_or_other": 17}}, "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: weak_supervision_needs_review\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#8\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: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#8\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 90\nEdges: 203\nNode types: {'link_quality': 31, 'alignment': 15, 'comment': 14, 'comment_chain': 14, 'commit': 6, 'pr_file': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 42, 'chain_has_link_quality': 31, 'comment_chain_links_commit': 19, 'alignment_uses_comment': 15, 'alignment_uses_finding': 15, 'comment_aligns_finding': 15, 'thread_has_comment': 14, 'thread_has_comment_chain': 14, 'comment_has_chain': 14, 'issue_chain_has_comment_chain': 14, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'blueprint_human_gap_alignment': 15, 'ambiguous_needs_more_evidence': 14, 'human_feedback_general': 8, 'comment_has_related_commit_context': 8, 'verification_or_tests': 6, 'test_ci_gap': 5, 'unlinked_human_feedback': 4, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'source_or_other': 1, 'ui_or_frontend': 1, 'test_or_ci': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 28, 'not_resolved_or_not_observed': 4}\nQuality tiers: {'assumption_check': 15, 'weak_supervision': 10, 'unresolved': 6}\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/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-b80a67bb59fdea74", "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": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 361109, "scanner": "foundry_dataset", "fingerprint": "f578a8230ce86ceee1a695000b3153ee25c93b508150b7aac84aaa5b510b53ac", "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": {"test_ci_gap": 2, "weak blueprint fit": 2, "security_auth_secret": 1, "partial blueprint fit": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_alignment": 6, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 6, "alignment_uses_finding": 6, "chain_has_link_quality": 11, "comment_aligns_finding": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 30, "node_types": {"repo": 1, "thread": 1, "comment": 3, "alignment": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 3, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#12", "issue_number": "12", "quality_tiers": {"unresolved": 5, "assumption_check": 6}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-14fa7d8262984391", "graph_gold_label": "assumption_check", "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: assumption_check\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\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: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#12\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 12\nGraph consistency label: assumption_check\nNodes: 30\nEdges: 45\nNode types: {'link_quality': 11, 'alignment': 6, 'comment': 3, 'comment_chain': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 11, 'alignment_uses_comment': 6, 'alignment_uses_finding': 6, 'comment_aligns_finding': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'blueprint_human_gap_alignment': 6, 'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'test_ci_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'partial blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'assumption_check': 6, 'unresolved': 5}\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/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-a1f7b98698c83577", "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": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 344754, "scanner": "foundry_dataset", "fingerprint": "d2d91971ca1d973600760cce01b017353244da32c0f85727e43bd08831fdc232", "category": "tech_debt", "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 aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 2, "test_ci_gap": 1, "ui_or_frontend": 2, "weak blueprint fit": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 3, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 51, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 4, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 7, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 2, "comment_chain_links_commit": 7, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 4, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#9", "issue_number": "9", "quality_tiers": {"high_confidence": 3, "assumption_check": 3, "weak_supervision": 1}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0c3ff013b920b1c6", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 10, "ui_or_frontend": 10}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#9\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#9\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#9\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 9\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 51\nNode types: {'link_quality': 7, 'commit': 5, 'pr_file': 4, 'alignment': 3, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 8, 'comment_chain_links_commit': 7, 'chain_has_link_quality': 7, 'thread_touches_file': 4, 'issue_chain_touches_file': 4, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'blueprint_human_gap_alignment': 3, 'ui_or_frontend': 2, 'test_or_ci': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-a2048aea00533144", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 344753, "scanner": "foundry_dataset", "fingerprint": "5b3e57500ba44ac8e2d8b1698f54d880f4d12575aa4d7c52d6fb14eba29a89e9", "category": "tech_debt", "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 aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 1, "test_ci_gap": 5, "ui_or_frontend": 1, "source_or_other": 1, "weak blueprint fit": 2, "agent_instruction_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 6, "human_feedback_general": 8, "unlinked_human_feedback": 4, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 14, "blueprint_human_gap_alignment": 15, "comment_has_related_commit_context": 8, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 28}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 203, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 14, "thread_has_comment": 14, "thread_touches_file": 3, "alignment_uses_comment": 15, "alignment_uses_finding": 15, "chain_has_link_quality": 31, "comment_aligns_finding": 15, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 14, "comment_chain_links_commit": 19, "comment_chain_touches_file": 42, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 14}, "node_count": 90, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 14, "pr_file": 3, "alignment": 15, "fix_outcome": 1, "issue_chain": 1, "link_quality": 31, "comment_chain": 14, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#8", "issue_number": "8", "quality_tiers": {"unresolved": 6, "assumption_check": 15, "weak_supervision": 10}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-8931668c8cfad6f2", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 17, "ui_or_frontend": 17, "source_or_other": 17}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#8\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#8\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 90\nEdges: 203\nNode types: {'link_quality': 31, 'alignment': 15, 'comment': 14, 'comment_chain': 14, 'commit': 6, 'pr_file': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 42, 'chain_has_link_quality': 31, 'comment_chain_links_commit': 19, 'alignment_uses_comment': 15, 'alignment_uses_finding': 15, 'comment_aligns_finding': 15, 'thread_has_comment': 14, 'thread_has_comment_chain': 14, 'comment_has_chain': 14, 'issue_chain_has_comment_chain': 14, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'blueprint_human_gap_alignment': 15, 'ambiguous_needs_more_evidence': 14, 'human_feedback_general': 8, 'comment_has_related_commit_context': 8, 'verification_or_tests': 6, 'test_ci_gap': 5, 'unlinked_human_feedback': 4, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'source_or_other': 1, 'ui_or_frontend': 1, 'test_or_ci': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 28, 'not_resolved_or_not_observed': 4}\nQuality tiers: {'assumption_check': 15, 'weak_supervision': 10, 'unresolved': 6}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-f59c284735210a47", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 344752, "scanner": "foundry_dataset", "fingerprint": "6557cb9322210a04d00a76ab1637601dcab144ef403e6fd795a9830ae3c25cdd", "category": "tech_debt", "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 aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 2, "test_ci_gap": 1, "api_or_backend": 1, "docs_or_claims": 1, "ui_or_frontend": 3, "weak blueprint fit": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 3, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 63, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 7, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 7, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 7, "thread_has_comment_chain": 2, "comment_chain_links_commit": 7, "comment_chain_touches_file": 14, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 33, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 7, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#7", "issue_number": "7", "quality_tiers": {"high_confidence": 3, "assumption_check": 3, "weak_supervision": 1}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1c64934a9e0a9161", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 5, "docs_or_claims": 5, "ui_or_frontend": 15}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#7\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#7\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#7\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 7\nGraph consistency label: supported_by_high_confidence_link\nNodes: 33\nEdges: 63\nNode types: {'pr_file': 7, 'link_quality': 7, 'commit': 5, 'alignment': 3, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 14, 'thread_touches_file': 7, 'comment_chain_links_commit': 7, 'chain_has_link_quality': 7, 'issue_chain_touches_file': 7, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'ui_or_frontend': 3, 'blueprint_human_gap_alignment': 3, 'test_or_ci': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'docs_or_claims': 1, 'api_or_backend': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-8369338eb58fa73d", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 344751, "scanner": "foundry_dataset", "fingerprint": "cfe753a78ac6d5b18d26a4f1c769bdc74e53a7af1d5f23b83698e52546b8abbd", "category": "tech_debt", "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 aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 3, "docs_or_claims": 1, "ui_or_frontend": 4, "ui_workflow_gap": 1, "weak blueprint fit": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 3, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 66, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 8, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 7, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 8, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 16, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 34, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 8, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#6", "issue_number": "6", "quality_tiers": {"high_confidence": 3, "assumption_check": 3, "weak_supervision": 1}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a5a65ba6d1fc873e", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 15, "docs_or_claims": 5, "ui_or_frontend": 20}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#6\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#6\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#6\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 6\nGraph consistency label: supported_by_high_confidence_link\nNodes: 34\nEdges: 66\nNode types: {'pr_file': 8, 'link_quality': 7, 'commit': 5, 'alignment': 3, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 16, 'thread_touches_file': 8, 'issue_chain_touches_file': 8, 'chain_has_link_quality': 7, 'comment_chain_links_commit': 6, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ui_or_frontend': 4, 'ambiguous_needs_more_evidence': 4, 'test_or_ci': 3, 'blueprint_human_gap_alignment': 3, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'human_feedback_general': 1, 'docs_or_claims': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-4901c7538ab853c2", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 344750, "scanner": "foundry_dataset", "fingerprint": "0bdd1aac685651317252b8177ad70dadc852bc6c8cbb878a0b1a69f31b8fefb0", "category": "tech_debt", "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 aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "ui_or_frontend": 2, "weak blueprint fit": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 3, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 46, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 3, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 7, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 29, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 3, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#3", "issue_number": "3", "quality_tiers": {"high_confidence": 3, "assumption_check": 3, "weak_supervision": 1}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-caa1e63ccc748303", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 5, "ui_or_frontend": 10}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#3\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#3\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#3\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 3\nGraph consistency label: supported_by_high_confidence_link\nNodes: 29\nEdges: 46\nNode types: {'link_quality': 7, 'commit': 5, 'pr_file': 3, 'alignment': 3, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 6, 'comment_chain_touches_file': 6, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'blueprint_human_gap_alignment': 3, 'ui_or_frontend': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'test_or_ci': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-da7ea120af11b8ca", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 344749, "scanner": "foundry_dataset", "fingerprint": "403ee7d6a9043e5adb8202e001f760a6496b26607e14b2100ddbf68a9db2ca47", "category": "tech_debt", "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 aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "api_or_backend": 1, "docs_or_claims": 1, "ui_or_frontend": 1, "weak blueprint fit": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 3, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 50, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 4, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 7, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 4, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#2", "issue_number": "2", "quality_tiers": {"high_confidence": 3, "assumption_check": 3, "weak_supervision": 1}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9b2458ae9ba7f94e", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 5, "api_or_backend": 5, "docs_or_claims": 5, "ui_or_frontend": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#2\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#2\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#2\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 2\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 50\nNode types: {'link_quality': 7, 'commit': 5, 'pr_file': 4, 'alignment': 3, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 8, 'chain_has_link_quality': 7, 'comment_chain_links_commit': 6, 'thread_touches_file': 4, 'issue_chain_touches_file': 4, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'blueprint_human_gap_alignment': 3, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'docs_or_claims': 1, 'ui_or_frontend': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-4ae51e37c426b790", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 344748, "scanner": "foundry_dataset", "fingerprint": "26146abf5c24e34ff72e950bc6f9741768081bc0c9db8c725fb2b2c4408b4d37", "category": "tech_debt", "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 aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 2, "weak blueprint fit": 2, "security_auth_secret": 1, "partial blueprint fit": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_alignment": 6, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 6, "alignment_uses_finding": 6, "chain_has_link_quality": 11, "comment_aligns_finding": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 30, "node_types": {"repo": 1, "thread": 1, "comment": 3, "alignment": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 3, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#12", "issue_number": "12", "quality_tiers": {"unresolved": 5, "assumption_check": 6}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-cd4b7cff12996556", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#12\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 12\nGraph consistency label: assumption_check\nNodes: 30\nEdges: 45\nNode types: {'link_quality': 11, 'alignment': 6, 'comment': 3, 'comment_chain': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 11, 'alignment_uses_comment': 6, 'alignment_uses_finding': 6, 'comment_aligns_finding': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'blueprint_human_gap_alignment': 6, 'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'test_ci_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'partial blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'assumption_check': 6, 'unresolved': 5}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-6264bbe01f13dadc", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 344747, "scanner": "foundry_dataset", "fingerprint": "e0f82be6dff8d844680ec3e919e461f1f3b58d4fa879b5415c94a771a8e4c70d", "category": "tech_debt", "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 aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "ui_or_frontend": 2, "weak blueprint fit": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 3, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 46, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 3, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 7, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 29, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 3, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#10", "issue_number": "10", "quality_tiers": {"high_confidence": 3, "assumption_check": 3, "weak_supervision": 1}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-cb2a8a688cfd72cf", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 5, "ui_or_frontend": 10}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#10\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#10\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#10\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 10\nGraph consistency label: supported_by_high_confidence_link\nNodes: 29\nEdges: 46\nNode types: {'link_quality': 7, 'commit': 5, 'pr_file': 3, 'alignment': 3, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 6, 'comment_chain_touches_file': 6, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'blueprint_human_gap_alignment': 3, 'ui_or_frontend': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'test_or_ci': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-95c0f3ef09ad3dba", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 344746, "scanner": "foundry_dataset", "fingerprint": "261147809517044e40ef8e525cf1364ad272edbf21dbad3aaa337bd597364656", "category": "tech_debt", "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 aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 4, "docs_or_claims": 1, "weak blueprint fit": 2, "agent_instruction_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 5, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 7, "blueprint_human_gap_alignment": 12, "comment_has_related_commit_context": 5, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 14}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 101, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 5, "thread_touches_file": 1, "alignment_uses_comment": 12, "alignment_uses_finding": 12, "chain_has_link_quality": 19, "comment_aligns_finding": 12, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 5, "comment_chain_links_commit": 15, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 54, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 5, "pr_file": 1, "alignment": 12, "fix_outcome": 1, "issue_chain": 1, "link_quality": 19, "comment_chain": 5, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#1", "issue_number": "1", "quality_tiers": {"high_confidence": 7, "assumption_check": 12}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-00bda7c210c2e8ef", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"docs_or_claims": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#1\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#1\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#1\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 1\nGraph consistency label: supported_by_high_confidence_link\nNodes: 54\nEdges: 101\nNode types: {'link_quality': 19, 'alignment': 12, 'comment': 5, 'comment_chain': 5, 'commit': 5, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 19, 'comment_chain_links_commit': 15, 'alignment_uses_comment': 12, 'alignment_uses_finding': 12, 'comment_aligns_finding': 12, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'comment_chain_touches_file': 5, 'issue_chain_has_comment_chain': 5, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'blueprint_human_gap_alignment': 12, 'ambiguous_needs_more_evidence': 7, 'comment_has_related_commit_context': 5, 'verification_or_tests': 5, 'test_ci_gap': 4, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'docs_or_claims': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 14}\nQuality tiers: {'assumption_check': 12, 'high_confidence': 7}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-18562f3c74b5365b", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300488, "scanner": "foundry_dataset", "fingerprint": "1ee8cd30446558b40c3f259ada4bf12478ee06344353dc074bce3aa78e4b12e4", "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": "Screddyice/qa-conflict-bot#9", "human_labels": ["human_feedback_general", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "9", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-8831ebf0c4599823", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"test_or_ci": 2, "ui_or_frontend": 2}, "linked_commit_count": 7, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#9\nOutcome: ambiguous_needs_more_evidence\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, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#9\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 7\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'test_ci_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'ui_or_frontend': 2, 'test_or_ci': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7ecf59be19d5c832\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/9\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/9\\nTitle: fix(qa): commit only the model's edits, not the verify venv\\nBody:\\n## Problem (found by end-to-end testing PR #7)\\n\\n`default_run_fix` runs the verify gate **before** committing (to gate the push on a green verify). The gate creates a `.vbot/` virtualenv in the clone, and the commit used `git add -A` \u2014 so the fix commit swept in the **entire verify venv (300+ files)** alongside the one-line source fix, and pushed it onto the PR.\\n\\nConfirmed live: the e2e test PR's bot commit was 300+ `.vbot/*` files. (`.vbot` isn't gitignored \u2014 the repo gitignores `.venv`, the verify command uses `.vbot`.)\\n\\n## Fix\\n\\nCapture the model's changed paths **right after the LLM edit, before the verify gate runs** (when the tree is still clean), then commit exactly those via a new `git_ops.commit_paths` (`git add -- <paths>`). Verify/build artifacts the gate creates stay untracked and never reach the commit.\\n\\n- `git_ops.changed_paths()` + `git_ops.commit_paths()` (path-scoped commit).\\n- `default_run_fix` captures `changed_p\"\n  },\n  {\n    \"id\": \"github-feedback-comment-0060f9edec4dc710\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/9#issuecomment-4552732010\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/9#issuecomment-4552732010\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\\n\\nNo conflicts found \u2014 branch already merges cleanly.\"\n  }\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-dada72c3d470da9d", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300487, "scanner": "foundry_dataset", "fingerprint": "64040d5f62084b60ee88b5f12b454180628c4327104bae15780da313a2f99e7b", "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": "Screddyice/qa-conflict-bot#8", "human_labels": ["agent_instruction_gap", "human_feedback_general", "source_or_other", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "8", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.645, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-8f6fffdb81d5b54d", "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": {"test_or_ci": 1, "ui_or_frontend": 1, "source_or_other": 1}, "linked_commit_count": 19, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#8\nOutcome: ambiguous_needs_more_evidence\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_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#8\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 14\nLinked commit count: 19\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'agent_instruction_gap': 1, 'human_feedback_general': 8, 'test_ci_gap': 5}\nPolarities: {'bad': 6, 'neutral': 8}\nChanged file labels: {'source_or_other': 1, 'ui_or_frontend': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-416caf0d42fc1aee\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/8\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/8\\nTitle: test: e2e \u2014 exercise in-place QA fix (DO NOT MERGE)\\nBody:\\n**Deliberate end-to-end test of the new in-place QA fix behavior (PR #7). Do not merge \u2014 will be closed after observation.**\\n\\nThis branch opts the repo into fix-mode QA (`[qa] enabled=true, mode=\\\"fix\\\"` in `.pr-conflict-bot.toml`, this branch only) and plants an obvious verify-breaking bug: `_e2e_demo.add()` returns `a - b` while `test_add_returns_sum` expects the sum.\\n\\nExpected bot behavior:\\n1. Code-QA reviews the diff, runs the verify gate \u2192 the planted test fails \u2192 finding.\\n2. Fix mode edits the source (`a - b` \u2192 `a + b`), re-runs verify \u2192 green.\\n3. **Pushes the fix commit onto THIS branch in place** (no separate `qa-fix/*` PR).\\n4. Comments that it pushed the fix.\\n\\nWatching neb-server for `pushed: true`.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b577f5710288ac34\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/8#issuecomment-4552578411\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/8#issuecomment-4552578411\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\\n\\nNo conflicts found \u2014 branch already merges cleanly.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-663a540118f56ba1\",\n    \"kind\": \"issue_comment\",\n    \"lab\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-372168a686974c05", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300486, "scanner": "foundry_dataset", "fingerprint": "50db1d2f6cd573ca2a34101755646e133e82b3ad81b66133236c08eb055389ba", "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": "Screddyice/qa-conflict-bot#7", "human_labels": ["api_or_backend", "docs_or_claims", "human_feedback_general", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "7", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-952bf8c849c3b63d", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 7, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"test_or_ci": 2, "api_or_backend": 1, "docs_or_claims": 1, "ui_or_frontend": 3}, "linked_commit_count": 7, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#7\nOutcome: ambiguous_needs_more_evidence\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, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#7\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 7\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 7\nLabels: {'test_ci_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'docs_or_claims': 1, 'ui_or_frontend': 3, 'api_or_backend': 1, 'test_or_ci': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9de29fcda61a0d0f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/7\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/7\\nTitle: fix(qa): land QA fixes on the PR branch instead of a side PR\\nBody:\\n## Problem\\n\\nFix mode opened a **separate `qa-fix/<branch>` PR** targeting the reviewed PR's branch. Because the fix lived in a side PR, the original PR's diff never improved, so every re-trigger (new push, reopen) re-reviewed the same un-fixed code and produced a fresh set of suggestions \u2014 the \\\"keeps suggesting new fixes no matter what\\\" loop.\\n\\n## Fix: one sweep, land the fixes on the PR itself\\n\\n```\\nPR event (head sha A)\\n  \u2192 skip if sha A already reviewed (per-SHA dedup)\\n  \u2192 ONE QA sweep: review \u2192 findings \u2192 comment\\n  \u2192 fix mode: edit clone \u2192 verify gate\\n        pass \u2192 commit + push --force-with-lease onto the PR's OWN branch\\n        fail \u2192 comment \\\"verify failed, nothing pushed\\\"\\n  \u2192 PR now contains the fixes (sha B) + comments\\n  \u2192 bot's push (synchronize, sender=bot) is dropped by the self-trigger guard\\n  \u2192 no re-review. Done.\\n```\\n\\nThe fixes become part of the PR you're already reviewing; there's no side PR to track, and the loo\"\n  },\n  {\n    \"id\": \"github-feedback-comment-6a32ffd671f7b73b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/7#issuecomment-4552114873\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/7#issuecomment-4552114873\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\\n\\nNo c\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-eb034e0eb46e9d1a", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300485, "scanner": "foundry_dataset", "fingerprint": "9846df64bf4834a9445c90ca59ed3a80be8c809e56ef7b48c4456dc539794e64", "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": "Screddyice/qa-conflict-bot#6", "human_labels": ["docs_or_claims", "human_feedback_general", "test_or_ci", "ui_or_frontend", "ui_workflow_gap"], "issue_number": "6", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-adc6789c5d393af0", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 8, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"test_or_ci": 3, "docs_or_claims": 1, "ui_or_frontend": 4}, "linked_commit_count": 6, "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: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#6\nOutcome: ambiguous_needs_more_evidence\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: Screddyice/qa-conflict-bot#6\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 8\nLabels: {'ui_workflow_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'docs_or_claims': 1, 'ui_or_frontend': 4, 'test_or_ci': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9ab29c8256d632ee\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/6\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/6\\nTitle: feat: code-level QA for non-web repos (diff review + verify)\\nBody:\\n## Summary\\n\\nExtends org-wide QA to cover **every** NEB/TRC repo, not just web apps. Repos\\nwith no servable app (backends, CLIs, libraries \u2014 all of TRC, much of NEB) now\\nget **code-level QA** instead of being skipped:\\n\\n- LLM reviews the PR diff for bugs (`git_ops.pr_diff` \u2192 `methodology.build_diff_review_prompt`).\\n- The repo's verify gate runs; a failure becomes a finding.\\n- Findings \u2192 a code-review PR comment (+ Linear). **Silent on a clean diff** so\\n  org-wide review doesn't comment on every PR.\\n- Fix mode opens a fix PR (diff-based fix prompt), same verify-gate + new-PR guards.\\n\\nWeb repos keep the browser pass. `run_fix` refactored to take a prompt (page- or\\ndiff-based) so both paths share it; new injected `pr_diff` / `run_verify` deps.\\n\\n## Tests\\n106 passing (was 99): code-QA findings/clean-silent/empty-diff/fix-mode/verify-\\nfailure paths + diff-review/code-fix prompt tests. ruff + mypy strict clean.\\n\\n\ud83e\udd16 Generated with [Cla\"\n  },\n  {\n    \"id\": \"github-feedback-comment-670c26a834d16d4c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/6#issuecomment-4547898303\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/6#issuecomment-4547898303\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\\n\\nNo conflicts found \u2014 branch already merges cleanly.\"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-2057fd2a399b8f65", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300484, "scanner": "foundry_dataset", "fingerprint": "f25f259d09586505989ddc1de80bcedf66b68eec6ee5c08fc21ba1be74594438", "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": "Screddyice/qa-conflict-bot#5", "human_labels": ["api_or_backend", "build_install_failure", "docs_or_claims", "human_feedback_general", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "5", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-9471fcca3d0906de", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 16, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 1, "docs_or_claims": 3, "ui_or_frontend": 7, "source_or_other": 1}, "linked_commit_count": 6, "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: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#5\nOutcome: ambiguous_needs_more_evidence\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: Screddyice/qa-conflict-bot#5\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 16\nLabels: {'build_install_failure': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'docs_or_claims': 3, 'source_or_other': 1, 'ui_or_frontend': 7, 'api_or_backend': 1, 'test_or_ci': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ab195909182ec108\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"build_install_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/5\",\n    \"text\": \"GitHub feedback: build_install_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/5\\nTitle: feat: org-wide auto-QA + fix mode\\nBody:\\n## Summary\\n\\nBuilds on report-only QA (v0.2.0) with two capabilities, per the spec\\n(`docs/superpowers/specs/2026-05-26-org-wide-qa-and-fix-mode.md`):\\n\\n**Org-wide auto-QA** \u2014 QA can be on-by-default for whole orgs via\\n`QA_DEFAULT_ENABLED_ORGS`, no per-repo `[qa]` block needed.\\n- Tri-state precedence: repo TOML `[qa] enabled`/`mode` wins, else org default (`qa_policy.resolve_qa`).\\n- **RS21 hard-excluded** (`is_rs21`) regardless of config.\\n- **Auto-detects** build/serve from the clone (Next.js/Vite/react-scripts/dev/static; pm from lockfile) \u2014 `qa/detect.py`.\\n- **Silent-skip** for org-default repos that aren't servable (no comment); explicitly-opted-in repos still get a \\\"did not run\\\" comment.\\n\\n**Fix mode** (`[qa] mode = \\\"fix\\\"` or `QA_DEFAULT_MODE=fix`) \u2014 on findings, the bot\\nedits the clone, runs the verify gate, and opens a **new** PR\\n(`qa-fix/<branch>-<sha>`, base = the original PR branch) listing each finding it\\naddressed, then comments the link \"\n  },\n  {\n    \"id\": \"github-feedback-comment-5ae31c5661ad2883\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/5#issuecomment-4547162375\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/5#issuecomment-4547162375\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-037eebef41bd6a67", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300483, "scanner": "foundry_dataset", "fingerprint": "16a3e32dbd49da5aa5783e43155f589761484f98ab436e2c89bd3fcfcd5f53bc", "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": "Screddyice/qa-conflict-bot#4", "human_labels": ["api_or_backend", "docs_or_claims", "human_feedback_general", "runtime_failure", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "4", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-dad1735e573548c6", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 81, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 3, "docs_or_claims": 3, "ui_or_frontend": 57, "source_or_other": 8}, "linked_commit_count": 7, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#4\nOutcome: ambiguous_needs_more_evidence\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, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#4\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 7\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 81\nLabels: {'runtime_failure': 1, 'human_feedback_general': 2}\nPolarities: {'bad': 1, 'neutral': 2}\nChanged file labels: {'source_or_other': 8, 'docs_or_claims': 3, 'ui_or_frontend': 57, 'api_or_backend': 3, 'test_or_ci': 10}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-92bc000e533e554e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/4\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/4\\nTitle: v0.2.0 feat: report-only QA mode (M1)\\nBody:\\n## Summary\\n\\nAdds an opt-in, **report-only** QA pass to pr-conflict-bot that runs as a second, independent job flow alongside the untouched conflict-resolution flow. On a PR in a repo with `[qa] enabled = true`, it clones the PR, builds + serves the checkout via a per-repo start command, captures the running page with a headless browser, asks the existing `claude`/`codex` backend for a findings judgment, and posts a QA report comment. It never edits code in M1.\\n\\n**QA package (`src/pr_conflict_bot/qa/`)**\\n- `config.py` \u2014 new `[qa]` block (`enabled`, `mode`, `tier`, `lens`, `url`, `start`, `build`); QA is opt-in, disabled by default.\\n- `llm.complete()` \u2014 read-only one-shot completion for judgment calls (codex runs `--sandbox read-only`, never edits files).\\n- `browse.py` \u2014 `BrowseEngine` seam with `FakeBrowse` (test double) and `SubprocessBrowse` (drives the real gstack `browse` daemon).\\n- `report.py` \u2014 `Finding`, `health_score()`, severity-weighted P\"\n  },\n  {\n    \"id\": \"github-feedback-comment-f804e6c15d46652f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/4#issuecomment-4541920698\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/4#issuecomment-4541920698\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-c9fa07474e6de319", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300482, "scanner": "foundry_dataset", "fingerprint": "e842793a85a9a0c22c2bc4951754b63fc07b516f932e491d190a1b808c6e940c", "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": "Screddyice/qa-conflict-bot#3", "human_labels": ["human_feedback_general", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "3", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-db261442c45c716a", "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": {"test_or_ci": 1, "ui_or_frontend": 2}, "linked_commit_count": 6, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#3\nOutcome: ambiguous_needs_more_evidence\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, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#3\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'test_ci_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'ui_or_frontend': 2, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-57d2e90dffb2cbfc\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/3\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/3\\nTitle: fix: prevent clone-race and skip silently on stale PR branches\\nBody:\\n## Summary\\n\\nTwo friction points found in the bot's production logs (May 5\u20139, neb-server). Both root causes confirmed in code; both fixes verified with new tests.\\n\\n## 1. Clone race \u2014 2/6 job failures\\n\\n`git_ops.clone_pr` was naming the work dir off a deterministic hash of `(clone_url, pr_branch)`:\\n\\n```python\\nrepo_dir = spec.work_dir / f\\\"clone-{abs(hash((spec.clone_url, spec.pr_branch)))}\\\"\\nif repo_dir.exists():\\n    shutil.rmtree(repo_dir)\\n```\\n\\nWhen two webhook events for the same PR fired close together \u2014 or two PRs targeted the same branch name \u2014 Job B's `rmtree` nuked Job A's in-flight clone, surfacing as `fatal: fetch-pack: invalid index-pack output` or `could not lock config file`.\\n\\n**Reproducer in the wild:** `teamnebula-ai/Maria` PRs #55 and #56 both targeted `fix/proposal-internal-timeout-and-fail-loud` and arrived ~60ms apart on May 8. Both failed. PR #58 (same branch, 9 minutes later) succeeded once the earlier jobs had \"\n  },\n  {\n    \"id\": \"github-feedback-comment-af1ee8c826c3063a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/3#issuecomment-4411739562\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/3#issuecomment-4411739562\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\\n\\nNo conflicts found \u2014 branch already merges cleanly\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-dc8d663961b3a3f4", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300481, "scanner": "foundry_dataset", "fingerprint": "cc40cdc43c48a6c4cea7dc0654e4c3d99899402437951529a1d1f25ca0c46e5a", "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": "Screddyice/qa-conflict-bot#2", "human_labels": ["api_or_backend", "docs_or_claims", "human_feedback_general", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "2", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-3cd525c61b0b59fc", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 1, "docs_or_claims": 1, "ui_or_frontend": 1}, "linked_commit_count": 6, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#2\nOutcome: ambiguous_needs_more_evidence\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, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#2\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'test_ci_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'docs_or_claims': 1, 'ui_or_frontend': 1, 'api_or_backend': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-885ed3825904702b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/2\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/2\\nTitle: feat(server): scope bot to a user allowlist + Cliqk org denylist\\nBody:\\n## Summary\\n\\nTwo complementary gates so the bot never auto-resolves conflicts on PRs it shouldn't, even with the GitHub App installed org-wide.\\n\\n- **`ALLOW_USERS`** (new env var) \u2014 comma-separated GitHub logins. When set, the bot only handles PRs whose author is in the list (case-insensitive). Empty = no user filter (current behavior). Use for a single-operator install: keep the App org-wide for visibility, but only auto-fire on your own PRs.\\n- **`DENY_ORGS`** (hardcoded) \u2014 `mycliqk` and `cliqk` are permanently denied. Beats `ALLOW_ORGS` so the env can never override the hands-off rule for the Cliqk platform.\\n\\nOrder in `_should_handle`:\\n1. Action / draft / state filters\\n2. **DENY_ORGS** (always wins)\\n3. `ALLOW_ORGS` (env-gated; where the bot may act)\\n4. **`ALLOW_USERS`** (env-gated; whose PRs trigger action)\\n5. Self-trigger guard (bot's own pushes)\\n\\n## Why\\n\\nCurrently the App fires on every PR in every install. The OSS deploym\"\n  },\n  {\n    \"id\": \"github-feedback-comment-26bb042b5ade6c7d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/2#issuecomment-4411577808\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/2#issuecomment-4411577808\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\\n\\nNo conflic\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-6a64385ea2f338f0", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300480, "scanner": "foundry_dataset", "fingerprint": "b5a679e19069f2bf284b81c88125b1a1fc204cc006561e234dea0426795c4b8a", "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": "Screddyice/qa-conflict-bot#13", "human_labels": ["human_feedback_general", "security_auth_secret", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "13", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ca2bbcbccddcc6dc", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"test_or_ci": 1, "ui_or_frontend": 3, "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", "high_risk_human_feedback_label"], "linked_ci_commit_count": 2, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#13\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, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#13\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 2\nLinked CI labels: {'ci_pending_or_incomplete': 2}\nChanged file count: 5\nLabels: {'security_auth_secret': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'source_or_other': 1, 'ui_or_frontend': 3, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d53c509a5f244cf8\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/13\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/13\\nTitle: feat(alerts): bot-token Slack transport (chat.postMessage) for ops alerts\\nBody:\\nFollow-up to #11: the fleet has no Slack incoming webhooks (only Assist bot tokens), so this adds a chat.postMessage transport via `ALERT_SLACK_BOT_TOKEN` + `ALERT_SLACK_CHANNEL` (channel ID or user ID for DM). Webhook still wins if set; half-configured pair disables alerting with a warning. Checks `ok=false` in the response body (Slack returns HTTP 200 on API errors). 4 new tests; suite 129 passed, ruff+mypy clean.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-767f95ea814f2844\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/13#issuecomment-4693085093\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/13#issuecomment-4693085093\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\\n\\nNo conflicts found \u2014 branch already merges cleanly.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-5ce4663a34ad8cbe\",\n    \"filename\": \"examples/.env.example\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 0,\n    \"changes\": 6,\n    \"blob_url\": \"https://github.com/Screddyice/qa-conflict-bot/blob/441ea46d3187c45ed80b59bdf3a3ef3a2a452a8b/examples%2F.env.example\"\n  },\n  {\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-5ffd37707709c4bf", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300479, "scanner": "foundry_dataset", "fingerprint": "2e350081896a5c961595af784fa8164e64af71da8faf82ac900f3836d431e2ef", "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": "Screddyice/qa-conflict-bot#11", "human_labels": ["api_or_backend", "human_feedback_general", "runtime_failure", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "11", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-690cd3dca91f98c1", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 6, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 1, "ui_or_frontend": 3, "source_or_other": 1}, "linked_commit_count": 2, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#11\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, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#11\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 6\nLabels: {'runtime_failure': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'source_or_other': 1, 'ui_or_frontend': 3, 'api_or_backend': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e5a2a0d53512265d\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/11\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/11\\nTitle: feat(alerts): sanitized failure reasons + edge-triggered Slack ops alerts\\nBody:\\n## Why\\n\\nDuring the Jun 7\u201312 outage (revoked `CLAUDE_CODE_OAUTH_TOKEN` \u2192 every resolution 401'd for 5 days), two gaps surfaced:\\n\\n1. **The failure comment leaked raw CLI output.** `process_job` interpolated the exception text into the PR comment, and `LLMError` carries the CLI's full stdout/stderr \u2014 output that can contain env material. (Note: the original task premise said the bot posts *nothing* on failure; that turned out to be wrong \u2014 it does comment. The real problems were the leak and the missing ops signal.)\\n2. **No operator-facing alert.** A systemic outage was only visible by reading individual PR comments or journald. Nobody noticed for 5 days.\\n\\n## What\\n\\n- **New `alerts.py`**\\n  - `categorize(exc)` \u2192 stable category: `auth failure` / `timeout` / `LLM error` / `unexpected error`\\n  - `public_reason(file, exc)` \u2192 sanitized one-liner for the PR comment; deliberately never includes exception text\\n  - `Alerter\"\n  },\n  {\n    \"id\": \"github-feedback-comment-d1fd5655fd32f4c3\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/11#issuecomment-4692855240\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/11#issuecomment-4692855240\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\\n\\nNo c\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-9a64403e75a04749", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300478, "scanner": "foundry_dataset", "fingerprint": "a4bb821671681cd2c0b1fdaade91d3b6accddc1de96e074fd2aa22dabab94497", "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": "Screddyice/qa-conflict-bot#10", "human_labels": ["human_feedback_general", "test_ci_gap", "test_or_ci", "ui_or_frontend"], "issue_number": "10", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-d33bf49985cdf301", "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": {"test_or_ci": 1, "ui_or_frontend": 2}, "linked_commit_count": 6, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#10\nOutcome: ambiguous_needs_more_evidence\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, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#10\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'test_ci_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {'ui_or_frontend': 2, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-70bfa861fffd2eeb\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/10\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/10\\nTitle: fix(qa): commit the edit delta, not pre-existing tree artifacts\\nBody:\\n## Why (PR #9 was incomplete \u2014 caught by live re-test)\\n\\nPR #9 captured `changed_paths` right after the LLM edit, on the assumption the tree was clean at that point. It isn't on the **code-QA path**: `_code_qa` runs the verify gate (creating a `.vbot` venv in the clone) **before** `default_run_fix` is called, so the capture still included the venv. Confirmed live \u2014 even after #9 deployed, the e2e test PR's bot commit was still 300 `.vbot/*` files.\\n\\n## Fix\\n\\nSnapshot the dirty set **before** the edit, then commit only the **delta** the edit introduces:\\n\\n```python\\nbefore = set(await git_ops.changed_paths(repo_dir))\\nawait llm.apply_edit(...)\\nedited = [p for p in await git_ops.changed_paths(repo_dir) if p not in before]\\n```\\n\\nAny pre-existing artifact (the verify venv, build output) is in `before` and excluded \u2014 regardless of when it was created. Removed the now-unused `git_ops.has_changes`.\\n\\n## Tests\\n- `test_default_run_fix_succes\"\n  },\n  {\n    \"id\": \"github-feedback-comment-672385a1ff5e362d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/10#issuecomment-4552812566\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/10#issuecomment-4552812566\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\\n\\nNo conflicts found \u2014 branch already merges cle\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-81fe34f858a5246c", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 300477, "scanner": "foundry_dataset", "fingerprint": "34292dc532fce7eb39677c2547d399e04669a135bf57c34c43f75903753bdaee", "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": "Screddyice/qa-conflict-bot#1", "human_labels": ["agent_instruction_gap", "docs_or_claims", "test_ci_gap"], "issue_number": "1", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.9, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-b42c664724413ee4", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {"docs_or_claims": 1}, "linked_commit_count": 15, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#1\nOutcome: ambiguous_needs_more_evidence\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, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#1\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 5\nLinked commit count: 15\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'agent_instruction_gap': 1, 'test_ci_gap': 4}\nPolarities: {'bad': 5}\nChanged file labels: {'docs_or_claims': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a1d75ff5e56b837a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/1\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/1\\nTitle: test: trigger conflict bot end-to-end\\nBody:\\nFirst end-to-end exercise of pr-conflict-bot against a real PR.\\n\\nThis branch and main both modified the same line in README.md differently. The bot should:\\n1. Clone the PR head, attempt merge with main \u2192 conflict\\n2. Hand the conflicted file to claude (default backend) with three diffs\\n3. Verify resolution (lint + typecheck + test) per .pr-conflict-bot.toml\\n4. force-push the resolution back to this branch\\n5. Comment on this PR with what was resolved\\n\\nIf the bot doesn't act within ~2 min, we look at journalctl _UID=999 on neb-server.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-9e10a0f90b9dc6ef\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/1#issuecomment-4377496179\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/1#issuecomment-4377496179\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\\n\\n**Conflicted files (1):**\\n- `README.md`\\n\\n**Resolved (1):**\\n- `README.md`\\n\\n**Verify gate:**\\n```\\n[FAIL] lint: ruff check .\\n[FAIL] typecheck: mypy src\\n[FAIL] test: pytest -q\\n```\\n\\n**Did not push.** Reason: verify gate failed \u2014 not pushing\"\n  },\n  {\n    \"id\": \"github-feedback-comment-bbfa1898f2d2f46b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/1#issuecomment-4377527319\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPo\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-assumption_checks-33319f53e728c95d", "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": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 336477, "scanner": "foundry_dataset", "fingerprint": "0b764e86f72debf0bf404e2e4e8709aa0453d57b92adc096cf538e55da676333", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "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": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 2, "test_ci_gap": 1, "ui_or_frontend": 2, "weak blueprint fit": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 3, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 51, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 4, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 7, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 2, "comment_chain_links_commit": 7, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 4, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#9", "issue_number": "9", "quality_tiers": {"high_confidence": 3, "assumption_check": 3, "weak_supervision": 1}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ce30fb091dc2f950", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 10, "ui_or_frontend": 10}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#9\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#9\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#9\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 9\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 51\nNode types: {'link_quality': 7, 'commit': 5, 'pr_file': 4, 'alignment': 3, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 8, 'comment_chain_links_commit': 7, 'chain_has_link_quality': 7, 'thread_touches_file': 4, 'issue_chain_touches_file': 4, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'blueprint_human_gap_alignment': 3, 'ui_or_frontend': 2, 'test_or_ci': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-4f7562d65ab82bb7", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 336476, "scanner": "foundry_dataset", "fingerprint": "9cee18532ab2d8e6423f05efa156eb69a3685741e1201da87b99701b05995fa1", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "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": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 5, "ui_or_frontend": 1, "source_or_other": 1, "weak blueprint fit": 2, "agent_instruction_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 6, "human_feedback_general": 8, "unlinked_human_feedback": 4, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 14, "blueprint_human_gap_alignment": 15, "comment_has_related_commit_context": 8, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 28}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 203, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 14, "thread_has_comment": 14, "thread_touches_file": 3, "alignment_uses_comment": 15, "alignment_uses_finding": 15, "chain_has_link_quality": 31, "comment_aligns_finding": 15, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 14, "comment_chain_links_commit": 19, "comment_chain_touches_file": 42, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 14}, "node_count": 90, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 14, "pr_file": 3, "alignment": 15, "fix_outcome": 1, "issue_chain": 1, "link_quality": 31, "comment_chain": 14, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#8", "issue_number": "8", "quality_tiers": {"unresolved": 6, "assumption_check": 15, "weak_supervision": 10}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6cc6378842a5ab3d", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"test_or_ci": 17, "ui_or_frontend": 17, "source_or_other": 17}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#8\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#8\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#8\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 8\nGraph consistency label: weak_supervision_needs_review\nNodes: 90\nEdges: 203\nNode types: {'link_quality': 31, 'alignment': 15, 'comment': 14, 'comment_chain': 14, 'commit': 6, 'pr_file': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 42, 'chain_has_link_quality': 31, 'comment_chain_links_commit': 19, 'alignment_uses_comment': 15, 'alignment_uses_finding': 15, 'comment_aligns_finding': 15, 'thread_has_comment': 14, 'thread_has_comment_chain': 14, 'comment_has_chain': 14, 'issue_chain_has_comment_chain': 14, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'blueprint_human_gap_alignment': 15, 'ambiguous_needs_more_evidence': 14, 'human_feedback_general': 8, 'comment_has_related_commit_context': 8, 'verification_or_tests': 6, 'test_ci_gap': 5, 'unlinked_human_feedback': 4, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'source_or_other': 1, 'ui_or_frontend': 1, 'test_or_ci': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 28, 'not_resolved_or_not_observed': 4}\nQuality tiers: {'assumption_check': 15, 'weak_supervision': 10, 'unresolved': 6}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-513b1fef445badd1", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 336475, "scanner": "foundry_dataset", "fingerprint": "bc902d4e6c27c8dfa7e445cdbc43736e3efa928a3816c6d985ddbcaf06d7ae5b", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "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": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 2, "test_ci_gap": 1, "api_or_backend": 1, "docs_or_claims": 1, "ui_or_frontend": 3, "weak blueprint fit": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 3, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 63, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 7, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 7, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 7, "thread_has_comment_chain": 2, "comment_chain_links_commit": 7, "comment_chain_touches_file": 14, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 33, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 7, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#7", "issue_number": "7", "quality_tiers": {"high_confidence": 3, "assumption_check": 3, "weak_supervision": 1}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6d6152989c35982c", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 10, "api_or_backend": 5, "docs_or_claims": 5, "ui_or_frontend": 15}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#7\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#7\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#7\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 7\nGraph consistency label: supported_by_high_confidence_link\nNodes: 33\nEdges: 63\nNode types: {'pr_file': 7, 'link_quality': 7, 'commit': 5, 'alignment': 3, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 14, 'thread_touches_file': 7, 'comment_chain_links_commit': 7, 'chain_has_link_quality': 7, 'issue_chain_touches_file': 7, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'ui_or_frontend': 3, 'blueprint_human_gap_alignment': 3, 'test_or_ci': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'docs_or_claims': 1, 'api_or_backend': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-27cab8f245da7974", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 336474, "scanner": "foundry_dataset", "fingerprint": "34939bca6ff90fac06283f7070d2e6fdfcf269693d26e20d91d531816adf12be", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "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": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "ui_or_frontend": 2, "weak blueprint fit": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 3, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 46, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 3, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 7, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 29, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 3, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#3", "issue_number": "3", "quality_tiers": {"high_confidence": 3, "assumption_check": 3, "weak_supervision": 1}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-3b1ecfe7cf8b9966", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 5, "ui_or_frontend": 10}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#3\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#3\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#3\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 3\nGraph consistency label: supported_by_high_confidence_link\nNodes: 29\nEdges: 46\nNode types: {'link_quality': 7, 'commit': 5, 'pr_file': 3, 'alignment': 3, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 6, 'comment_chain_touches_file': 6, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'blueprint_human_gap_alignment': 3, 'ui_or_frontend': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'test_or_ci': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-4a3807720ef72938", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 336473, "scanner": "foundry_dataset", "fingerprint": "e1e86bb737acfff70f2afcda4f9ca919a23c79a6620e5124127fc111286fbe3b", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "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": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "api_or_backend": 1, "docs_or_claims": 1, "ui_or_frontend": 1, "weak blueprint fit": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 3, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 50, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 4, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 7, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 4, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#2", "issue_number": "2", "quality_tiers": {"high_confidence": 3, "assumption_check": 3, "weak_supervision": 1}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b706ca5f7c5f5e40", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 5, "api_or_backend": 5, "docs_or_claims": 5, "ui_or_frontend": 5}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#2\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#2\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#2\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 2\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 50\nNode types: {'link_quality': 7, 'commit': 5, 'pr_file': 4, 'alignment': 3, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 8, 'chain_has_link_quality': 7, 'comment_chain_links_commit': 6, 'thread_touches_file': 4, 'issue_chain_touches_file': 4, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'blueprint_human_gap_alignment': 3, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'docs_or_claims': 1, 'ui_or_frontend': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-2acd0655e46b5990", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 336472, "scanner": "foundry_dataset", "fingerprint": "366dd38d5d05c278bf07f8f3b0acbc06d4c306408b4fbed9f51f79630c5d98bd", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "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": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 2, "weak blueprint fit": 2, "security_auth_secret": 1, "partial blueprint fit": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_alignment": 6, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 6, "alignment_uses_finding": 6, "chain_has_link_quality": 11, "comment_aligns_finding": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 30, "node_types": {"repo": 1, "thread": 1, "comment": 3, "alignment": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 3, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#12", "issue_number": "12", "quality_tiers": {"unresolved": 5, "assumption_check": 6}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-733975a3bd090d38", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#12\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 12\nGraph consistency label: assumption_check\nNodes: 30\nEdges: 45\nNode types: {'link_quality': 11, 'alignment': 6, 'comment': 3, 'comment_chain': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 11, 'alignment_uses_comment': 6, 'alignment_uses_finding': 6, 'comment_aligns_finding': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'blueprint_human_gap_alignment': 6, 'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'test_ci_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'partial blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'assumption_check': 6, 'unresolved': 5}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-6491e37deecb3c9a", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 336471, "scanner": "foundry_dataset", "fingerprint": "4d256d3c93ff0515908ba9e9473718476954b56dec29eb2c3b563d821e0fe0fe", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "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": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "ui_or_frontend": 2, "weak blueprint fit": 2, "partial blueprint fit": 1, "verification_or_tests": 5, "human_feedback_general": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_alignment": 3, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 46, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 3, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 7, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 29, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 3, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#10", "issue_number": "10", "quality_tiers": {"high_confidence": 3, "assumption_check": 3, "weak_supervision": 1}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-3eae0f6e69b8aff1", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 5, "ui_or_frontend": 10}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#10\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#10\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#10\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 10\nGraph consistency label: supported_by_high_confidence_link\nNodes: 29\nEdges: 46\nNode types: {'link_quality': 7, 'commit': 5, 'pr_file': 3, 'alignment': 3, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 7, 'comment_chain_links_commit': 6, 'comment_chain_touches_file': 6, 'thread_touches_file': 3, 'issue_chain_touches_file': 3, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'blueprint_human_gap_alignment': 3, 'ui_or_frontend': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_feedback_general': 1, 'test_or_ci': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-d3b3ee67f1f4c649", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 336470, "scanner": "foundry_dataset", "fingerprint": "d3903c5aea7c4692a6566dc81635fa76f2a6eadd58d74aaaecb3c08d87a8fa7a", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "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": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 4, "docs_or_claims": 1, "weak blueprint fit": 2, "agent_instruction_gap": 1, "partial blueprint fit": 1, "verification_or_tests": 5, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 7, "blueprint_human_gap_alignment": 12, "comment_has_related_commit_context": 5, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 14}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 101, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 5, "thread_touches_file": 1, "alignment_uses_comment": 12, "alignment_uses_finding": 12, "chain_has_link_quality": 19, "comment_aligns_finding": 12, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 5, "comment_chain_links_commit": 15, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 54, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 5, "pr_file": 1, "alignment": 12, "fix_outcome": 1, "issue_chain": 1, "link_quality": 19, "comment_chain": 5, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#1", "issue_number": "1", "quality_tiers": {"high_confidence": 7, "assumption_check": 12}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-03aa61cbc91da47b", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"docs_or_claims": 8}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#1\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#1\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#1\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 1\nGraph consistency label: supported_by_high_confidence_link\nNodes: 54\nEdges: 101\nNode types: {'link_quality': 19, 'alignment': 12, 'comment': 5, 'comment_chain': 5, 'commit': 5, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 19, 'comment_chain_links_commit': 15, 'alignment_uses_comment': 12, 'alignment_uses_finding': 12, 'comment_aligns_finding': 12, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'comment_chain_touches_file': 5, 'issue_chain_has_comment_chain': 5, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'blueprint_human_gap_alignment': 12, 'ambiguous_needs_more_evidence': 7, 'comment_has_related_commit_context': 5, 'verification_or_tests': 5, 'test_ci_gap': 4, 'thread_has_human_issue_and_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'docs_or_claims': 1, 'partial blueprint fit': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 14}\nQuality tiers: {'assumption_check': 12, 'high_confidence': 7}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-c10f7183ed05c130", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/test_ci_gap_after_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 316037, "scanner": "foundry_dataset", "fingerprint": "1c22e3c953f35e892f5d643268de1c3be0c5fa913b2b7ba1d2eb125a462cba47", "category": "practices", "severity": "high", "confidence": 0.84, "triageState": "open", "verdict": "confirmed", "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": "bad_chains", "synthetic": false, "thread_key": "Screddyice/qa-conflict-bot#12", "human_labels": ["security_auth_secret", "test_ci_gap"], "issue_number": "12", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-3e3fb380c758e30f", "helicopter_views": {}, "artifact_families": {"docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_artifact_without_verification_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 0, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "link_quality_unresolved", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 0, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_artifact_without_verification_graph\nReasons: source_graph_has_real_artifacts, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: Screddyice/qa-conflict-bot#12\nRepo: Screddyice/qa-conflict-bot\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 3\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'test_ci_gap': 2}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6b2e6367b6dafdcf\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/12\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: Screddyice (User)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/12\\nTitle: chore(test): conflict canary \u2014 verify bot resolution after token rotation\\nBody:\\nDeliberately conflicted PR (this branch rewords a comment that #10 rewrote on main). Testing that pr-conflict-bot resolves + verifies + pushes again after the CLAUDE_CODE_OAUTH_TOKEN rotation. Will be closed after the bot responds.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b465702790393b64\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/12#issuecomment-4693001621\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: Screddyice/qa-conflict-bot\\nAuthor: qa-conflict-bot-screddyice[bot] (Bot)\\nURL: https://github.com/Screddyice/qa-conflict-bot/pull/12#issuecomment-4693001621\\nTitle: \\nBody:\\n**pr-conflict-bot**: merge-conflict resolution attempt\\n\\nMerging `origin/main` into PR branch.\\n\\n**Conflicted files (1):**\\n- `src/pr_conflict_bot/qa/orchestrator.py`\\n\\n**Resolved (1):**\\n- `src/pr_conflict_bot/qa/orchestrator.py`\\n\\n**Verify gate:**\\n```\\n[pass] lint: ([ -d .vbot ] || python3 -m venv .vbot) && .vbot/bin/pip install -q -e '.[dev]' && .vbot/bin/ruff check .\\n[pass] typecheck: .vbot/bin/mypy src\\n[pass] test: .vbot/bin/pytest -q\\n```\\n\\nPushed resolution as `e5c03f8104c9` (force-with-lease).\\nPlease review the merged content before merging.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-2a43d8753e761460\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/Screddyice/qa-conflict-bot/pull/12#issuecomment-4693011478\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "comment-chain-pattern-bad_chains-0a82bd4e70034ae0", "synthetic": false, "gold_label": "", "graph_label": "source_artifact_without_verification_graph", "source_path": "/data/distillate/foundry_data/comment_chain_patterns/bad_chains/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: Screddyice/qa-conflict-bot"}, "properties": {"repobilityId": 332059, "scanner": "foundry_dataset", "fingerprint": "3cb7301bd15622cff1dc0bbc51d10314ae79827a32efbb2925fb7cf047c11267", "category": "auth", "severity": "critical", "confidence": 0.78, "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": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"test_ci_gap": 2, "weak blueprint fit": 2, "security_auth_secret": 1, "partial blueprint fit": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 5, "blueprint_human_gap_alignment": 6, "human_reported_issue_no_linked_fix": 3, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 10}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 6, "alignment_uses_finding": 6, "chain_has_link_quality": 11, "comment_aligns_finding": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 30, "node_types": {"repo": 1, "thread": 1, "comment": 3, "alignment": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 11, "comment_chain": 3, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "Screddyice/qa-conflict-bot#12", "issue_number": "12", "quality_tiers": {"unresolved": 5, "assumption_check": 6}, "repo_full_name": "Screddyice/qa-conflict-bot", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-f2618993e64c9031", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: assumption_check\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: Screddyice/qa-conflict-bot\nThread: Screddyice/qa-conflict-bot#12\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: Screddyice/qa-conflict-bot#12\nRepo: Screddyice/qa-conflict-bot\nIssue/PR number: 12\nGraph consistency label: assumption_check\nNodes: 30\nEdges: 45\nNode types: {'link_quality': 11, 'alignment': 6, 'comment': 3, 'comment_chain': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 11, 'alignment_uses_comment': 6, 'alignment_uses_finding': 6, 'comment_aligns_finding': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'blueprint_human_gap_alignment': 6, 'not_resolved_or_not_observed': 5, 'human_reported_issue_no_linked_fix': 3, 'test_ci_gap': 2, 'thread_has_human_issue_without_fix_context': 2, 'weak blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'partial blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 10}\nQuality tiers: {'assumption_check': 6, 'unresolved': 5}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/Screddyice/qa-conflict-bot", "source_id": "graph-query-motif_query-dbd642e16755fb81", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/security_auth_guardrail_gaps/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "Screddyice/qa-conflict-bot", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "scanner-715d8a742abbd270", "level": "note", "message": {"text": "Possibly dead Python function: do_GET"}, "properties": {"repobilityId": "2d943bb45e4f13bd", "scanner": "scanner-primary", "fingerprint": "715d8a742abbd270", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/setup-github-app.py:69"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-fdd9ef338a1d6e97", "level": "note", "message": {"text": "Possibly dead Python function: log_message"}, "properties": {"repobilityId": "965f3150b4af5b2e", "scanner": "scanner-primary", "fingerprint": "fdd9ef338a1d6e97", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/setup-github-app.py:94"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-60ea2fd1e8fc4025", "level": "note", "message": {"text": "Possibly dead Python function: health"}, "properties": {"repobilityId": "b0dbdc8073a0048c", "scanner": "scanner-primary", "fingerprint": "60ea2fd1e8fc4025", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/pr_conflict_bot/server.py:97"}, "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-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-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "9c12199e9a561a68", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "63c096996adfb7b5", "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": "d50f8586e37f8a44", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-83934eaf4019abf4", "level": "note", "message": {"text": "Stub function `log_message` (body is just `pass`/`return`) \u2014 scripts/setup-github-app.py:94"}, "properties": {"repobilityId": "783b74d79600bbdb", "scanner": "scanner-primary", "fingerprint": "83934eaf4019abf4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "empty-handler", "dead-code"]}}, {"ruleId": "scanner-2ac38a3f467a9452", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/pr_conflict_bot/qa/orchestrator.py:36"}, "properties": {"repobilityId": "b972f5ed1a610a7f", "scanner": "scanner-primary", "fingerprint": "2ac38a3f467a9452", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-af022f937dd5b7fd", "level": "note", "message": {"text": "9 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "5597384795dea7a4", "scanner": "scanner-primary", "fingerprint": "af022f937dd5b7fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "62bf3426923e70bc", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}