{"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: SantyCano2022/auto-reporter", "shortDescription": {"text": "Foundry mined unresolved feedback: SantyCano2022/auto-reporter"}, "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: assumption_check\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#9\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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#9\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 6, 'alignment': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_c"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: SantyCano2022/auto-reporter", "shortDescription": {"text": "Foundry mined blueprint gap alignment: SantyCano2022/auto-reporter"}, "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: assumption_check\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#9\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 6, 'alignment': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comme"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: SantyCano2022/auto-reporter", "shortDescription": {"text": "Foundry mined assumption checks: SantyCano2022/auto-reporter"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#4\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SantyCano2022/auto-reporter#4\nRepo: SantyCano2022/auto-reporter\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a0a51d6ef7859a45\",\n    \"kind\": \"issue_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SantyCano2022/auto-rep"}, "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: SantyCano2022/auto-reporter", "shortDescription": {"text": "Foundry mined test ci gap after feedback: SantyCano2022/auto-reporter"}, "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: assumption_check\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#9\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 6, 'alignment': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_cha"}, "properties": {"scanner": "foundry_dataset", "category": "testing", "severity": "high", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: SantyCano2022/auto-reporter", "shortDescription": {"text": "Foundry mined bad chains: SantyCano2022/auto-reporter"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#9\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, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SantyCano2022/auto-reporter#9\nRepo: SantyCano2022/auto-reporter\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2c90de433a0812f1\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SantyCano2022/auto-reporter/issue"}, "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: SantyCano2022/auto-reporter", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: SantyCano2022/auto-reporter"}, "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: needs_more_evidence\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#7\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#7\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#7\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 7\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': "}, "properties": {"scanner": "foundry_dataset", "category": "auth", "severity": "critical", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "foundry_fake_real_gap", "name": "Foundry mined mock as real or placeholder: SantyCano2022/auto-reporter", "shortDescription": {"text": "Foundry mined mock as real or placeholder: SantyCano2022/auto-reporter"}, "fullDescription": {"text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#3\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#3\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#3\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 3\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 45\nNode types: {'link_quality': 10, 'alignmen"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"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-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-fffae1e100f12946", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-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-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nauto_reporter/narrate/llm.py:complete, auto_reporter/narrate/llm.py:complete\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/18926"}, "properties": {"repository": "SantyCano2022/auto-reporter", "repoUrl": "https://github.com/SantyCano2022/auto-reporter", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 361006, "scanner": "foundry_dataset", "fingerprint": "5bacd1a1b6f4a25a45c31870ee393e49aeee31a6783a9d1f74e69d5dab403568", "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": 1, "weak blueprint fit": 1, "partial blueprint fit": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 6, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 1, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#9", "issue_number": "9", "quality_tiers": {"unresolved": 3, "assumption_check": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-c5b71593cad49ebf", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#9\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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#9\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 6, 'alignment': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'blueprint_human_gap_alignment': 3, 'thread_has_human_issue_without_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'weak blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-a4e4ddda236e7fd7", "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": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 361005, "scanner": "foundry_dataset", "fingerprint": "9db5af98f36da0c7fac0802ed7a30c1311ce96024c713a0180cd0f90d33fd345", "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": {"security_auth_secret": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#7", "issue_number": "7", "quality_tiers": {"unresolved": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-1b3e2d54f59af698", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#7\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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#7\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#7\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 7\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-9ce608475bfa9b95", "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": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 361004, "scanner": "foundry_dataset", "fingerprint": "451d3bd81ffe2c044e1ebd35b03ff757c0eb8109a4d6264a3d2adf2beb1054fc", "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": 1, "weak blueprint fit": 1, "partial blueprint fit": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 6, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 1, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#5", "issue_number": "5", "quality_tiers": {"unresolved": 3, "assumption_check": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-d84f111432c54cda", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#5\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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#5\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#5\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 5\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 6, 'alignment': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'blueprint_human_gap_alignment': 3, 'thread_has_human_issue_without_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'weak blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-ecad192e76ecd47c", "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": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 361003, "scanner": "foundry_dataset", "fingerprint": "9f128709e61d2df9c501af10adfa257541f25df360f7e23207108ada63cbfc39", "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": {"security_auth_secret": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#2", "issue_number": "2", "quality_tiers": {"unresolved": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6cb319f5108b8bf0", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#2\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#2\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#2\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 2\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-e5fcc03f7dc6c33d", "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": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 344621, "scanner": "foundry_dataset", "fingerprint": "1a365d6dec3006a1ffb907ef73348131164b38f8ceac45f65af2f98e9863c5cb", "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": 1, "weak blueprint fit": 1, "partial blueprint fit": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 6, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 1, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#9", "issue_number": "9", "quality_tiers": {"unresolved": 3, "assumption_check": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b7adba3d64c93d76", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#9\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 6, 'alignment': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'blueprint_human_gap_alignment': 3, 'thread_has_human_issue_without_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'weak blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 3}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-e0d79be4e6f3f9aa", "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": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 344620, "scanner": "foundry_dataset", "fingerprint": "fe449680208d37ad7f9cb3b60a5d8267f66a9608cd652538ba2cd1e0ab441bee", "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": {"bug_fix": 1, "test_ci_gap": 1, "weak blueprint fit": 1, "partial blueprint fit": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 6, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 1, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#8", "issue_number": "8", "quality_tiers": {"assumption_check": 3, "weak_supervision": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-993f4a6e91bc7c3b", "graph_gold_label": "supported_by_verification_signal", "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: supported_by_verification_signal\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#8\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#8\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 8\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 25\nNode types: {'link_quality': 6, 'alignment': 3, 'blueprint_finding': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'blueprint_human_gap_alignment': 3, 'thread_has_human_issue_and_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'verification_or_tests': 1, 'weak blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 3}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-f98be6647b55b931", "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": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 344619, "scanner": "foundry_dataset", "fingerprint": "a4d0400337c0e855fa99e862090c4860d1ee2f4e15af2ca85b41df609fb1220b", "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": 1, "weak blueprint fit": 1, "partial blueprint fit": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 6, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 1, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#5", "issue_number": "5", "quality_tiers": {"unresolved": 3, "assumption_check": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-681973260393a0b0", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#5\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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#5\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#5\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 5\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 6, 'alignment': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'blueprint_human_gap_alignment': 3, 'thread_has_human_issue_without_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'weak blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 3}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-676170dec4d6fceb", "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": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 344618, "scanner": "foundry_dataset", "fingerprint": "ccfe40b2a209bb3d795799874f15dc4bd162417307ebf89a51c2e536eaac87a7", "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": {"bug_fix": 1, "ui_workflow_gap": 1, "weak blueprint fit": 1, "api_integration_gap": 1, "generated_provenance": 1, "partial blueprint fit": 2, "ci_pending_or_incomplete": 1, "self_attested_unverified": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 6, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "self_attested_or_generated_fix_unverified": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"self_attested_unverified": 2, "claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {"ci_pending_or_incomplete": 4}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 2, "alignment_uses_comment": 6, "alignment_uses_finding": 6, "chain_has_link_quality": 10, "comment_aligns_finding": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "alignment": 6, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 10, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#3", "issue_number": "3", "quality_tiers": {"high_confidence": 3, "assumption_check": 6, "weak_supervision": 1}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-01cb22c98d0f5df7", "graph_gold_label": "supported_by_high_confidence_link", "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: supported_by_high_confidence_link\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#3\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#3\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 3\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 45\nNode types: {'link_quality': 10, 'alignment': 6, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 10, 'alignment_uses_comment': 6, 'alignment_uses_finding': 6, 'comment_aligns_finding': 6, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_has_ci': 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: {'blueprint_human_gap_alignment': 6, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1, 'ci_pending_or_incomplete': 1, 'bug_fix': 1, 'self_attested_or_generated_fix_unverified': 1, 'self_attested_unverified': 1, 'weak blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'self_attested_unverified': 2}\nQuality tiers: {'assumption_check': 6, 'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {'ci_pending_or_incomplete': 4}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-a4b50771429d4b9a", "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": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 344617, "scanner": "foundry_dataset", "fingerprint": "6d00baa1982499c71b29bc4f0a82f6b7b95a2fc70584e51e888c397525238745", "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": {"bug_fix": 2, "test_or_ci": 22, "test_ci_gap": 1, "docs_or_claims": 2, "source_or_other": 26, "weak blueprint fit": 1, "partial blueprint fit": 2, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 102, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 50, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 6, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 73, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 50, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 1, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#1", "issue_number": "1", "quality_tiers": {"high_confidence": 3, "assumption_check": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-8a8bae3676a5727a", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 88, "docs_or_claims": 8, "source_or_other": 104}}, "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_verification_signal\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#1\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#1\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 1\nGraph consistency label: supported_by_verification_signal\nNodes: 73\nEdges: 102\nNode types: {'pr_file': 50, 'link_quality': 6, 'commit': 5, 'alignment': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 50, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'source_or_other': 26, 'test_or_ci': 22, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'blueprint_human_gap_alignment': 3, 'docs_or_claims': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'weak blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-8ddee6df8121bb9b", "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": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 300391, "scanner": "foundry_dataset", "fingerprint": "93229f6d4d07109b1ff7818ac0c05229705125270f6cc8dd8d8833d5c7bc6dc4", "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": "SantyCano2022/auto-reporter#4", "human_labels": ["runtime_failure"], "issue_number": "4", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.607, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-97def4b61e7ce160", "helicopter_views": {"graphs": 2}, "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": 2, "helicopter_view_count": 2, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "repo_has_isolated_helicopter_views", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#4\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SantyCano2022/auto-reporter#4\nRepo: SantyCano2022/auto-reporter\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a0a51d6ef7859a45\",\n    \"kind\": \"issue_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SantyCano2022/auto-reporter/issues/4\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: issue_body\\nRepo: SantyCano2022/auto-reporter\\nAuthor: SantyCano2022 (User)\\nURL: https://github.com/SantyCano2022/auto-reporter/issues/4\\nTitle: Type hardening: AwareDatetime, extra=forbid config, PR state/merged_at validator\\nBody:\\nFrom the type-design review of PR #1:\\n\\n1. **`pydantic.AwareDatetime`** on every timestamp field in `models.py` \u2014 a hand-edited/restored `snapshot.json` with naive datetimes currently passes validation and then crashes `analyze` with naive-vs-aware `TypeError`.\\n2. **`model_config = ConfigDict(extra=\\\"forbid\\\")`** on the 7 config models \u2014 YAML typos (`treshold:`) silently fall back to defaults today. Also `Field(ge=1)` on `stuck_days`/`silent_days`.\\n3. **`model_validator` on `PullRequest`** asserting `(state == \\\"merged\\\") == (merged_at is not None)` \u2014 `tests/factories.py::make_pr` builds the illegal state by default (`state=\\\"merged\\\", merged_at=None`); fix the factory too. Digest counts merged-by-timestamp while blockers test merged-by-state, so the two can disagree on the same object.\\n4. Minor: `window_start <= window_end` validator on Snapshot; `min_length=1` on `Config.audiences`; consider `frozen=True` on a\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-fee7a9cc9d11e02e\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: SantyCano2022/auto-reporter\nGraph label: source_artifact_without_verification_graph\nNodes: 7\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 1, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 1, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 1}\nHelico\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SantyCano2022/auto-reporter", "source_id": "comment-chain-pattern-assumption_checks-ba9531fc277e6e7c", "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": "SantyCano2022/auto-reporter", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 300390, "scanner": "foundry_dataset", "fingerprint": "4b875db4886df205b018bc71e681cd32900a3abc217a6e2b4bcd87c48678d385", "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": "SantyCano2022/auto-reporter#3", "human_labels": ["api_integration_gap", "ui_workflow_gap"], "issue_number": "3", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.8, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-9a38ca03d30e8fc9", "helicopter_views": {"graphs": 2}, "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": 3, "helicopter_view_count": 2, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "repo_has_isolated_helicopter_views", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#3\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, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SantyCano2022/auto-reporter#3\nRepo: SantyCano2022/auto-reporter\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: 0\nLabels: {'api_integration_gap': 1, 'ui_workflow_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a2dd9b03f9ee170b\",\n    \"kind\": \"issue_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SantyCano2022/auto-reporter/issues/3\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: SantyCano2022/auto-reporter\\nAuthor: SantyCano2022 (User)\\nURL: https://github.com/SantyCano2022/auto-reporter/issues/3\\nTitle: Collectors: real pagination for >100-item windows (data-gap warning already shipped)\\nBody:\\n## Status (2026-06-13)\\n\\n**Defensive half shipped** in `455abca`: the single-page collectors now emit a\\n`data_gap` when a raw page comes back full (`len == PAGE_SIZE`, 100), so a\\n>100-item week is marked partial and the run exits non-zero instead of silently\\nundercounting. This closes the \\\"partial data reported as complete\\\" failure mode\\n(the same class as the language/timezone bugs fixed this week).\\n\\n**Still pending (this issue):** real pagination so large windows are actually\\ncollected in full, not just flagged.\\n\\n## Problem (remaining)\\n\\n`collectors/github.py` (`per_page=100`) and `collectors/jira.py`\\n(`maxResults=100`) still read only the first page. A week with >100\\ncommits/PRs/tickets is now *flagged* but not *collected* \u2014 totals remain\\nundercounted until pagination follows the GitHub `Link` header / Jira\\n`nextPageToken`.\\n\\n## Proposal\\n\\nFollow pagination to completion:\\n- GitHub: walk the `Link: r\"\n  },\n  {\n    \"id\": \"github-feedback-comment-daff351068efd4db\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SantyCano2022/auto-reporter/issues/3#issuecomment-4697601503\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: SantyCano2022/auto-reporter\\nAuthor: SantyCano2022 (User)\\nURL: https://github.com/SantyCano2022/auto-reporter/issues/3#issuecomment-4697601503\\nTitle: \\nBody:\\nDefensive half landed in 455abca (full-page `data_gap` for GitHub commits/PRs and Jira issues, with tests). Scope of this issue narrowed to real pagination\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SantyCano2022/auto-reporter", "source_id": "comment-chain-pattern-assumption_checks-0e92fa822e08100e", "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": "SantyCano2022/auto-reporter", "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: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 336362, "scanner": "foundry_dataset", "fingerprint": "7086e27814f7fba246a85982aa4b7dd86a0854498e2837d778e49e1702b1dad0", "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": 1, "weak blueprint fit": 1, "partial blueprint fit": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 3, "human_reported_issue_no_linked_fix": 1, "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": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 6, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 1, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#9", "issue_number": "9", "quality_tiers": {"unresolved": 3, "assumption_check": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9930f2999603e474", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#9\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#9\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 9\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 6, 'alignment': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'blueprint_human_gap_alignment': 3, 'thread_has_human_issue_without_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'weak blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 3}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-a079bbd4dff28ea6", "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": "SantyCano2022/auto-reporter", "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: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 336361, "scanner": "foundry_dataset", "fingerprint": "260797a7eb1ca612b356eb3e71c061b7021ce05b700d9c9585d500260bf43d3a", "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": {"bug_fix": 1, "test_ci_gap": 1, "weak blueprint fit": 1, "partial blueprint fit": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 6, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 1, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#8", "issue_number": "8", "quality_tiers": {"assumption_check": 3, "weak_supervision": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-0f306bd371f371c1", "graph_gold_label": "supported_by_verification_signal", "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: supported_by_verification_signal\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#8\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#8\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 8\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 25\nNode types: {'link_quality': 6, 'alignment': 3, 'blueprint_finding': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'blueprint_human_gap_alignment': 3, 'thread_has_human_issue_and_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'verification_or_tests': 1, 'weak blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 3}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-c1949b160762c77e", "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": "SantyCano2022/auto-reporter", "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: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 336360, "scanner": "foundry_dataset", "fingerprint": "18edc32dd7ea5fc1a979d58610d2298d2310ceafa116b2b8a8d727aaaeec95b1", "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": 1, "weak blueprint fit": 1, "partial blueprint fit": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_alignment": 3, "human_reported_issue_no_linked_fix": 1, "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": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 6, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 1, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#5", "issue_number": "5", "quality_tiers": {"unresolved": 3, "assumption_check": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8fd0344136e1a1dd", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#5\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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#5\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#5\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 5\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 6, 'alignment': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 6, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'blueprint_human_gap_alignment': 3, 'thread_has_human_issue_without_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'weak blueprint fit': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 3}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-edc9826a0bef4de0", "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": "SantyCano2022/auto-reporter", "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: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 336359, "scanner": "foundry_dataset", "fingerprint": "fd7bccf89e6afead80309921effae94ddc94c3580d2c8e5e0f7fac1bc6b053bc", "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": {"bug_fix": 1, "ui_workflow_gap": 1, "weak blueprint fit": 1, "api_integration_gap": 1, "generated_provenance": 1, "partial blueprint fit": 2, "ci_pending_or_incomplete": 1, "self_attested_unverified": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 6, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "self_attested_or_generated_fix_unverified": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"self_attested_unverified": 2, "claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {"ci_pending_or_incomplete": 4}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 2, "alignment_uses_comment": 6, "alignment_uses_finding": 6, "chain_has_link_quality": 10, "comment_aligns_finding": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "alignment": 6, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 10, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#3", "issue_number": "3", "quality_tiers": {"high_confidence": 3, "assumption_check": 6, "weak_supervision": 1}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-581dbf3b80b6cdf7", "graph_gold_label": "supported_by_high_confidence_link", "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: supported_by_high_confidence_link\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#3\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#3\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 3\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 45\nNode types: {'link_quality': 10, 'alignment': 6, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 10, 'alignment_uses_comment': 6, 'alignment_uses_finding': 6, 'comment_aligns_finding': 6, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_has_ci': 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: {'blueprint_human_gap_alignment': 6, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1, 'ci_pending_or_incomplete': 1, 'bug_fix': 1, 'self_attested_or_generated_fix_unverified': 1, 'self_attested_unverified': 1, 'weak blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'self_attested_unverified': 2}\nQuality tiers: {'assumption_check': 6, 'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {'ci_pending_or_incomplete': 4}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-079d1e8c4027edd7", "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": "SantyCano2022/auto-reporter", "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: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 336358, "scanner": "foundry_dataset", "fingerprint": "e7f5f84f43a643b8c381c9f135895a2690f03fee5f92aa8759a2ed311576d502", "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": {"bug_fix": 2, "test_or_ci": 22, "test_ci_gap": 1, "docs_or_claims": 2, "source_or_other": 26, "weak blueprint fit": 1, "partial blueprint fit": 2, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 102, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 50, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 6, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 73, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 50, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 1, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#1", "issue_number": "1", "quality_tiers": {"high_confidence": 3, "assumption_check": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6d49e2b860f199fc", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 88, "docs_or_claims": 8, "source_or_other": 104}}, "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_verification_signal\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#1\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#1\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 1\nGraph consistency label: supported_by_verification_signal\nNodes: 73\nEdges: 102\nNode types: {'pr_file': 50, 'link_quality': 6, 'commit': 5, 'alignment': 3, 'blueprint_finding': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 50, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 6, 'comment_chain_links_commit': 5, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'source_or_other': 26, 'test_or_ci': 22, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'blueprint_human_gap_alignment': 3, 'docs_or_claims': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'weak blueprint fit': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 3}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-101949902f83491b", "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": "SantyCano2022/auto-reporter", "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: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 315947, "scanner": "foundry_dataset", "fingerprint": "810880d675e0251d8a52d54d54b85da1db3225c9855e264719af9576855dd871", "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": "SantyCano2022/auto-reporter#9", "human_labels": ["test_ci_gap"], "issue_number": "9", "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": "SantyCano2022/auto-reporter", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-5e985354e9419749", "helicopter_views": {"graphs": 2}, "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": 2, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "repo_has_isolated_helicopter_views", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#9\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, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SantyCano2022/auto-reporter#9\nRepo: SantyCano2022/auto-reporter\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2c90de433a0812f1\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SantyCano2022/auto-reporter/issues/9\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: SantyCano2022/auto-reporter\\nAuthor: SantyCano2022 (User)\\nURL: https://github.com/SantyCano2022/auto-reporter/issues/9\\nTitle: CI/workflow polish: run ruff, retry state push, simplify _jira_dt\\nBody:\\n- `ci.yml` installs ruff but never runs it \u2014 add `python -m ruff check .` step.\\n- `weekly-report.yml` `git push` has no rebase/retry; if main advanced mid-run the state commit fails the run despite a delivered report. `git pull --rebase` before push.\\n- `collectors/jira.py::_jira_dt`: Python \u22653.11 parses `+0000` offsets natively \u2014 the colon-insertion transform is dead weight (comment claims a limitation that no longer exists). Delete transform, keep tests.\\n- `collectors/jira.py` JQL is f-string-built; quote/validate `project_key` defensively.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ffbba8b1af43961c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: SantyCano2022/auto-reporter\nGraph label: source_artifact_without_verification_graph\nNodes: 7\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 1, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 1, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 1}\nHelicopter views: {\"graphs\": 2}\nBundle labels: {\"source_backed_security_guardrail_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SantyCano2022/auto-reporter", "source_id": "comment-chain-pattern-bad_chains-114f1ec4a6f967bd", "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": "SantyCano2022/auto-reporter", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 315946, "scanner": "foundry_dataset", "fingerprint": "1622ed05fa875f86922a1b37f01e72b3baedb8bdb4aa4662eccb6ccd815411d8", "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": "SantyCano2022/auto-reporter#7", "human_labels": ["security_auth_secret"], "issue_number": "7", "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": "SantyCano2022/auto-reporter", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-61a9b65c78e85487", "helicopter_views": {"graphs": 2}, "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": 2, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "repo_has_isolated_helicopter_views", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#7\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, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SantyCano2022/auto-reporter#7\nRepo: SantyCano2022/auto-reporter\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b47d60c26cd44cd4\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SantyCano2022/auto-reporter/issues/7\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: SantyCano2022/auto-reporter\\nAuthor: SantyCano2022 (User)\\nURL: https://github.com/SantyCano2022/auto-reporter/issues/7\\nTitle: Telegram: announce markdown downgrade and distinguish 400 causes\\nBody:\\nFrom the silent-failure review of PR #1 (`deliver/telegram.py`):\\n\\n1. The 400 \u2192 plain-text resend is **mute**: when the LLM emits markdown Telegram can't parse, the report arrives unformatted and nobody learns the LLM does this recurrently. Add a stderr notice.\\n2. Telegram returns 400 for heterogeneous causes (\\\"chat not found\\\" = misconfigured chat id) \u2014 the plain-text resend is useless there and the error the operator sees is from the *second* attempt. Inspect `response.json()[\\\"description\\\"]` (e.g. contains \\\"can't parse entities\\\") before applying the fallback.\\n3. Delivery is per-audience sequential: a failure on audience 2 leaves 1 delivered, 3 undelivered. Validate all chat ids upfront (before narrating/spending LLM tokens) and consider a resume mechanism.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-07625979ed2ed4f5\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: SantyCano2022/auto-reporter\nGraph label: source_artifact_without_verification_graph\nNodes: 7\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 1, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 1, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 1}\nHelicopter views: {\"graphs\": 2}\nBundle labels: {\"source_backed_security_guardrail_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SantyCano2022/auto-reporter", "source_id": "comment-chain-pattern-bad_chains-1dc9c79d235e175f", "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": "SantyCano2022/auto-reporter", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 315945, "scanner": "foundry_dataset", "fingerprint": "19b04fffd9f7f9b9803d960ec48967b3ab790919077d35b124044c20031a5d8e", "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": "SantyCano2022/auto-reporter#5", "human_labels": ["test_ci_gap"], "issue_number": "5", "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": "SantyCano2022/auto-reporter", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-f75ae7a2e82494f7", "helicopter_views": {"graphs": 2}, "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": 2, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "repo_has_isolated_helicopter_views", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#5\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, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SantyCano2022/auto-reporter#5\nRepo: SantyCano2022/auto-reporter\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a3c57a42bce5be80\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SantyCano2022/auto-reporter/issues/5\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: SantyCano2022/auto-reporter\\nAuthor: SantyCano2022 (User)\\nURL: https://github.com/SantyCano2022/auto-reporter/issues/5\\nTitle: Persist narration metadata so guard fallbacks are auditable\\nBody:\\n## Problem\\n`Report.flagged` / `Report.generator` are not persisted (only `report.text` is written) and `narrate` (staged subcommand) ignores `flagged` entirely. In `run`, the `[fallback]` notice goes to stderr of a green (exit 0) Actions run \u2014 effectively invisible.\\n\\n## Proposal\\n- Write `artifacts/narration_meta.json` with `{audience: {generator, flagged}}`.\\n- Emit the notice in the staged `narrate` subcommand too.\\n- In CI, surface it as a GitHub Actions `::warning::` annotation so a flagged report is visible without opening logs.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-2a18e21d574d67d5\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: SantyCano2022/auto-reporter\nGraph label: source_artifact_without_verification_graph\nNodes: 7\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 1, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 1, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 1}\nHelicopter views: {\"graphs\": 2}\nBundle labels: {\"source_backed_security_guardrail_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SantyCano2022/auto-reporter", "source_id": "comment-chain-pattern-bad_chains-7c9cd842b007018d", "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": "SantyCano2022/auto-reporter", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 315944, "scanner": "foundry_dataset", "fingerprint": "b312cc04c06d5ada9e7244a7a5210990b75ede06bf5865897cfcfe0cbdd4ea3c", "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": "SantyCano2022/auto-reporter#2", "human_labels": ["security_auth_secret"], "issue_number": "2", "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": "SantyCano2022/auto-reporter", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-9b8453bac5606e25", "helicopter_views": {"graphs": 2}, "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": 2, "source_artifact_count": 1, "classification_reasons": ["source_graph_has_real_artifacts", "repo_has_isolated_helicopter_views", "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: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#2\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, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: SantyCano2022/auto-reporter#2\nRepo: SantyCano2022/auto-reporter\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7fd7faf9d8d5f8ab\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/SantyCano2022/auto-reporter/issues/2\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: SantyCano2022/auto-reporter\\nAuthor: SantyCano2022 (User)\\nURL: https://github.com/SantyCano2022/auto-reporter/issues/2\\nTitle: Guard: scope number allowlist to semantic count fields\\nBody:\\n## Problem\\n`narrate/guard.py::allowed_numbers` allowlists **every** numeral in the digest JSON \u2014 including ticket ids (104), PR numbers (41) and date components. An invented count that coincides with any of them slips through (e.g. \\\"41 deploys\\\" passes because PR #41 exists). Documented in README \\\"Known limitations\\\".\\n\\n## Proposal\\nBuild the allowlist from semantic count fields only: `total_commits`, `total_prs_opened`, `total_prs_merged`, `per_author` values, `blocker.days`, plus an explicit allowance for ticket keys (`PROJ-\\\\d+` as whole tokens) and window dates. Keep leading-zero normalization.\\n\\n## Acceptance\\n- \\\"41 deploys\\\" is rejected when 41 only exists as a PR number.\\n- \\\"DEMO-104 sigue en curso\\\" still passes.\\n- Existing guard tests keep passing.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-fb45139e95ca9e40\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: SantyCano2022/auto-reporter\nGraph label: source_artifact_without_verification_graph\nNodes: 7\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 1, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 1, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"docs\": 1}\nHelicopter views: {\"graphs\": 2}\nBundle labels: {\"source_backed_security_guardrail_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SantyCano2022/auto-reporter", "source_id": "comment-chain-pattern-bad_chains-9c5688fda7a98ddf", "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": "SantyCano2022/auto-reporter", "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: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 331992, "scanner": "foundry_dataset", "fingerprint": "4aab91c1d68e540c32c660a1cf798180b27c121c33ca1b9c4e151e980af118c3", "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": {"security_auth_secret": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#7", "issue_number": "7", "quality_tiers": {"unresolved": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-ee4416b6484600e0", "graph_gold_label": "needs_more_evidence", "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: needs_more_evidence\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#7\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#7\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#7\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 7\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-2c2a3c6ec5825dba", "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": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 331991, "scanner": "foundry_dataset", "fingerprint": "0a20158dd00c807c0ad2d9e9bcc124cf05b60d37324fe2b486504b427e49ad61", "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": {"security_auth_secret": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#2", "issue_number": "2", "quality_tiers": {"unresolved": 3}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-e1e3fbfbe74203b3", "graph_gold_label": "needs_more_evidence", "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: needs_more_evidence\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#2\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#2\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#2\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 2\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\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/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-4469fffdb25ce03c", "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": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/security_auth_guardrail_gaps", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: SantyCano2022/auto-reporter"}, "properties": {"repobilityId": 324728, "scanner": "foundry_dataset", "fingerprint": "7e170522496883476cba6c7a2acfe615380c1860305310a6a20a7ec73aeeb985", "category": "practices", "severity": "critical", "confidence": 0.82, "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": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 1, "ui_workflow_gap": 1, "weak blueprint fit": 1, "api_integration_gap": 1, "generated_provenance": 1, "partial blueprint fit": 2, "ci_pending_or_incomplete": 1, "self_attested_unverified": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 6, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "self_attested_or_generated_fix_unverified": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"self_attested_unverified": 2, "claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {"ci_pending_or_incomplete": 4}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "comment_chain_has_ci": 2, "alignment_uses_comment": 6, "alignment_uses_finding": 6, "chain_has_link_quality": 10, "comment_aligns_finding": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 30, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "alignment": 6, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 10, "comment_chain": 2, "blueprint_finding": 3}, "query_type": "motif_query", "thread_key": "SantyCano2022/auto-reporter#3", "issue_number": "3", "quality_tiers": {"high_confidence": 3, "assumption_check": 6, "weak_supervision": 1}, "repo_full_name": "SantyCano2022/auto-reporter", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-52f362469552241b", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#3\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: SantyCano2022/auto-reporter\nThread: SantyCano2022/auto-reporter#3\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: SantyCano2022/auto-reporter#3\nRepo: SantyCano2022/auto-reporter\nIssue/PR number: 3\nGraph consistency label: supported_by_high_confidence_link\nNodes: 30\nEdges: 45\nNode types: {'link_quality': 10, 'alignment': 6, 'blueprint_finding': 3, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 10, 'alignment_uses_comment': 6, 'alignment_uses_finding': 6, 'comment_aligns_finding': 6, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_has_ci': 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: {'blueprint_human_gap_alignment': 6, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1, 'ci_pending_or_incomplete': 1, 'bug_fix': 1, 'self_attested_or_generated_fix_unverified': 1, 'self_attested_unverified': 1, 'weak blueprint fit': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'self_attested_unverified': 2}\nQuality tiers: {'assumption_check': 6, 'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {'ci_pending_or_incomplete': 4}\nCurriculum targets:\n- Train real-data plumbing and mock-removal tasks from source to UI.\n- Use as hard negatives for dashboards or apps claiming real runs without provenance.\nAssumption checks:\n- Is user-visible behavior backed by real storage/API/CI artifacts?\n- Are placeholders, sample data, or generated claims still in a production path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/SantyCano2022/auto-reporter", "source_id": "graph-query-motif_query-10e6efc7f2e1b53d", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/mock_as_real_or_placeholder/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "SantyCano2022/auto-reporter", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"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-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-fffae1e100f12946", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "3ed93d3d5f6e4d74", "scanner": "scanner-primary", "fingerprint": "fffae1e100f12946", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/weekly-report.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "d2294f26b8aa23de", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "8fd55b2aa75de59d", "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": "984b6d8f72d611c4", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "403cd8cd2a4e8faf", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}