{"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: LyndenCooke/my-phonics", "shortDescription": {"text": "Foundry mined unresolved feedback: LyndenCooke/my-phonics"}, "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: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#58\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#58\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#58\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 58\nGraph consistency label: supported_by_verification_signal\nNodes: 70\nEdges: 152\nNode types: {'pr_file': 46, 'link_quality': 7, 'comment_chain': 5, 'comment': 4, 'commit': 3, 'th"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: LyndenCooke/my-phonics", "shortDescription": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#9\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#9\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 5\nLinked commit count: 15\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 3, 'deployment_env_gap': 1, 'security_auth_secret': 1}\nPolarities: {'bad': 5}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1100d6e4cb022d7e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \""}, "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: LyndenCooke/my-phonics", "shortDescription": {"text": "Foundry mined test ci gap after feedback: LyndenCooke/my-phonics"}, "fullDescription": {"text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#56\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#56\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#56\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 56\nGraph consistency label: supported_by_high_confidence_link\nNodes: 16\nEdges: 27\nNode types: {'link_quality': 4, 'comment': 2, 'pr_file': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1"}, "properties": {"scanner": "foundry_dataset", "category": "testing", "severity": "high", "confidence": 0.78, "cwe": "", "owasp": ""}}, {"id": "foundry_schema_ui_api_gap", "name": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics", "shortDescription": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "fullDescription": {"text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#8\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#8\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#8\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 8\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 40\nNode types: {'commit': 7, 'link_quality': 6, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {"}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: LyndenCooke/my-phonics", "shortDescription": {"text": "Foundry mined bad chains: LyndenCooke/my-phonics"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#58\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#58\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 5\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 46\nLabels: {'data_schema_persistence': 1, 'deployment_env_gap': 1, 'human_feedback_general': 2, 'api_integration_gap': 1}\nPolarities: {'bad': 3, 'neutral': 2}\nChanged file labels: {'source_or_other': 43, 'test_or_ci': 1, 'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-"}, "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: LyndenCooke/my-phonics", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: LyndenCooke/my-phonics"}, "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: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#9\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#9\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#9\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 9\nGraph consistency label: supported_by_verification_signal\nNodes: 27\nEdges: 46\nNode types: {'link_quality': 7, 'commit': 6, 'comment': 5, 'comment_chain': 5, 'thread': 1, 're"}, "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: LyndenCooke/my-phonics", "shortDescription": {"text": "Foundry mined mock as real or placeholder: LyndenCooke/my-phonics"}, "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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#50\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#50\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#50\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 50\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 25\nNode types: {'commit': 4, 'link_quality': 4, 'comment': 2, 'comment_"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-32f313f9d8740d31", "name": "Possibly dead Python function: feed_reading_age", "shortDescription": {"text": "Possibly dead Python function: feed_reading_age"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-665c584782490959", "name": "Possibly dead Python function: feed_read_like_british", "shortDescription": {"text": "Possibly dead Python function: feed_read_like_british"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-dc3e57238924d1a1", "name": "Possibly dead Python function: feed_critical_window", "shortDescription": {"text": "Possibly dead Python function: feed_critical_window"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1f662024350793f8", "name": "Possibly dead Python function: feed_ten_minutes", "shortDescription": {"text": "Possibly dead Python function: feed_ten_minutes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-00da0e35bbcfe6c0", "name": "Possibly dead Python function: feed_british_teacher", "shortDescription": {"text": "Possibly dead Python function: feed_british_teacher"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9177d3473e4fdb1f", "name": "Possibly dead Python function: feed_social_proof", "shortDescription": {"text": "Possibly dead Python function: feed_social_proof"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d55ec27c22ccdc4b", "name": "Possibly dead Python function: feed_reading_purpose", "shortDescription": {"text": "Possibly dead Python function: feed_reading_purpose"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0065024a25f5c52b", "name": "Possibly dead Python function: meta_dont_guess", "shortDescription": {"text": "Possibly dead Python function: meta_dont_guess"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-db11eb45ce0d73d9", "name": "Possibly dead Python function: meta_confident_reader", "shortDescription": {"text": "Possibly dead Python function: meta_confident_reader"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-33158d7aa85f9446", "name": "Possibly dead Python function: meta_expat_reading", "shortDescription": {"text": "Possibly dead Python function: meta_expat_reading"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-55484f5cb6b3b958", "name": "Possibly dead Python function: meta_ten_min_ad", "shortDescription": {"text": "Possibly dead Python function: meta_ten_min_ad"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec76490081cf2bd8", "name": "Possibly dead Python function: story_expat_fear", "shortDescription": {"text": "Possibly dead Python function: story_expat_fear"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-76374e9f9dce59ff", "name": "Possibly dead Python function: story_six_months", "shortDescription": {"text": "Possibly dead Python function: story_six_months"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1d1829263f6ee82f", "name": "Possibly dead Python function: story_assessment_cta", "shortDescription": {"text": "Possibly dead Python function: story_assessment_cta"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-faf8721ac75a950a", "name": "Possibly dead Python function: fb_start_right", "shortDescription": {"text": "Possibly dead Python function: fb_start_right"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb090231d59d7352", "name": "Possibly dead Python function: fb_gap_widens", "shortDescription": {"text": "Possibly dead Python function: fb_gap_widens"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-eadfe62c766e8bcf", "name": "Possibly dead Python function: fb_reading_purpose", "shortDescription": {"text": "Possibly dead Python function: fb_reading_purpose"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3b7ac7aa50082a5b", "name": "Possibly dead Python function: feed_reading_age", "shortDescription": {"text": "Possibly dead Python function: feed_reading_age"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-655e33739186c666", "name": "Possibly dead Python function: feed_read_like_british", "shortDescription": {"text": "Possibly dead Python function: feed_read_like_british"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-c99d75d27d4402c8", "name": "Possibly dead Python function: feed_critical_window", "shortDescription": {"text": "Possibly dead Python function: feed_critical_window"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e573948ee5d8529f", "name": "Possibly dead Python function: feed_ten_minutes", "shortDescription": {"text": "Possibly dead Python function: feed_ten_minutes"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ee6dc3b8e13781fd", "name": "Possibly dead Python function: feed_british_teacher", "shortDescription": {"text": "Possibly dead Python function: feed_british_teacher"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ce048f65e54a7db3", "name": "Possibly dead Python function: feed_social_proof", "shortDescription": {"text": "Possibly dead Python function: feed_social_proof"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72f04f3d3f0ff3b5", "name": "Possibly dead Python function: feed_reading_purpose", "shortDescription": {"text": "Possibly dead Python function: feed_reading_purpose"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-101eaf4058d2cf5e", "name": "Possibly dead Python function: meta_dont_guess", "shortDescription": {"text": "Possibly dead Python function: meta_dont_guess"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6d0e4a810bcbe008", "name": "Possibly dead Python function: story_expat_fear", "shortDescription": {"text": "Possibly dead Python function: story_expat_fear"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f18cceeca7717a64", "name": "Possibly dead Python function: story_six_months", "shortDescription": {"text": "Possibly dead Python function: story_six_months"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cc1f6c1785dd9ff5", "name": "Possibly dead Python function: story_assessment_cta", "shortDescription": {"text": "Possibly dead Python function: story_assessment_cta"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-13ee946c98e4ea12", "name": "Possibly dead Python function: fb_start_right", "shortDescription": {"text": "Possibly dead Python function: fb_start_right"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b2e7be9f875b6807", "name": "Possibly dead Python function: fb_gap_widens", "shortDescription": {"text": "Possibly dead Python function: fb_gap_widens"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-506be2b95088f5d3", "name": "git log failed \u2014 history analysis incomplete", "shortDescription": {"text": "git log failed \u2014 history analysis incomplete"}, "fullDescription": {"text": "fatal: not a git repository (or any parent up to mount point /data)\nStopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-7176e5d95d18d844", "name": "Runtime dotenv file present in repo: .env", "shortDescription": {"text": "Runtime dotenv file present in repo: .env"}, "fullDescription": {"text": "`.env` looks like a runtime dotenv file. It contains secret-looking assignments for VITE_SUPABASE_PUBLISHABLE_KEY. Move real values to a secret manager and keep only `.env.example` style templates in source control."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-b5d0de7b20e1719d", "name": "Possible secret in generate_sentence_audio.mjs", "shortDescription": {"text": "Possible secret in generate_sentence_audio.mjs"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-950511db5ecacd8c", "name": "Possible secret in generate_missing_audio.mjs", "shortDescription": {"text": "Possible secret in generate_missing_audio.mjs"}, "fullDescription": {"text": "Detected pattern matching generic_api_key. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-6372cebde0220094", "name": "No auth library detected", "shortDescription": {"text": "No auth library detected"}, "fullDescription": {"text": "The scanner did not find any standard auth library (JWT, OAuth, NextAuth, Auth0, etc.). The repo has auth/admin/session surface indicators, so auth may live in custom code, in a separate service, or be missing."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-6893a6c8b0861585", "name": "Very low test-to-source ratio", "shortDescription": {"text": "Very low test-to-source ratio"}, "fullDescription": {"text": "1 test file(s) for 15 source file(s) (ratio 0.07). Consider adding integration or unit tests for critical paths."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-141b30a41e03817b", "name": "No license file detected", "shortDescription": {"text": "No license file detected"}, "fullDescription": {"text": "No LICENSE/COPYING/NOTICE file was found. Generated repositories often omit licensing, which blocks reuse and automated intake."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 34 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-b9088664ace7f748", "name": "Composite production-readiness gap", "shortDescription": {"text": "Composite production-readiness gap"}, "fullDescription": {"text": "Multiple low-cost hardening controls are missing together: license, ci, tests. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-749d4bc1bd66df5f", "name": "Agent instructions exist but release-hardening basics are missing", "shortDescription": {"text": "Agent instructions exist but release-hardening basics are missing"}, "fullDescription": {"text": "AI-coder instruction files were found, but the repo is missing license, ci, tests. Treat this as a contract gap: the agent is guided, but the generated output is not yet guarded by the controls that make it repeatable."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-15c9acafa6ff7eb4", "name": "Legacy-named symbol `gem_01_children_reading_v2` in render_marketing_v2.py:66", "shortDescription": {"text": "Legacy-named symbol `gem_01_children_reading_v2` in render_marketing_v2.py:66"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-059c1e4bd5361545", "name": "Legacy-named symbol `multilingual_v2` in generate_sentence_audio_canonical.mjs:61", "shortDescription": {"text": "Legacy-named symbol `multilingual_v2` in generate_sentence_audio_canonical.mjs:61"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3d2ec47c43fd7da8", "name": "Commented-code block (7 lines) in vite.config.ts:8", "shortDescription": {"text": "Commented-code block (7 lines) in vite.config.ts:8"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-8fe9c294b33209e5", "name": "Legacy-named symbol `eleven_monolingual_v1` in generate_l1_sentence_audio.mjs:96", "shortDescription": {"text": "Legacy-named symbol `eleven_monolingual_v1` in generate_l1_sentence_audio.mjs:96"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2ff4719883abf794", "name": "Commented-code block (6 lines) in playwright.config.ts:4", "shortDescription": {"text": "Commented-code block (6 lines) in playwright.config.ts:4"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-f47d32e3ed16ed27", "name": "Legacy-named symbol `eleven_monolingual_v1` in generate_all_sentence_audio.mjs:207", "shortDescription": {"text": "Legacy-named symbol `eleven_monolingual_v1` in generate_all_sentence_audio.mjs:207"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-49852fe6e37d863b", "name": "Legacy-named symbol `eleven_monolingual_v1` in generate_missing_sentence_audio.mjs:95", "shortDescription": {"text": "Legacy-named symbol `eleven_monolingual_v1` in generate_missing_sentence_audio.mjs:95"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-564174e9a921c693", "name": "Legacy-named symbol `gem_01_children_reading_v2` in render_marketing.py:87", "shortDescription": {"text": "Legacy-named symbol `gem_01_children_reading_v2` in render_marketing.py:87"}, "fullDescription": {"text": "Names with suffixes like `_old`, `_v1`, `_deprecated` usually indicate replaced-but-not-removed code (typical AI-coder leftover). Confirm and delete, or rename if it's the active version."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-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:\nrender_marketing_v2.py:feed_ten_minutes, render_marketing_v2.py:meta_ten_min_ad\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/13770"}, "properties": {"repository": "LyndenCooke/my-phonics", "repoUrl": "https://github.com/LyndenCooke/my-phonics", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 461907, "scanner": "foundry_dataset", "fingerprint": "f318a5809df15c56218765255a41d81a8782e637387c1692d4787576fa1b8f96", "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": {"bug_fix": 1, "test_or_ci": 1, "ui_or_frontend": 2, "source_or_other": 43, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 2, "human_feedback_general": 2, "data_schema_persistence": 1, "unlinked_human_feedback": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 2, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 4, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 152, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 4, "thread_touches_file": 46, "thread_has_pr_review": 1, "chain_has_link_quality": 7, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 5, "comment_chain_links_commit": 3, "comment_chain_touches_file": 60, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 70, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 4, "pr_file": 46, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 5}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#58", "issue_number": "58", "quality_tiers": {"unresolved": 4, "weak_supervision": 3}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-98ee38da1850ae57", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "ui_or_frontend": 16, "source_or_other": 344}}, "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: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#58\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#58\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#58\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 58\nGraph consistency label: supported_by_verification_signal\nNodes: 70\nEdges: 152\nNode types: {'pr_file': 46, 'link_quality': 7, 'comment_chain': 5, 'comment': 4, 'commit': 3, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 60, 'thread_touches_file': 46, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 7, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'thread_has_comment': 4, 'comment_chain_links_commit': 3, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'source_or_other': 43, 'not_resolved_or_not_observed': 4, 'human_feedback_general': 2, 'ui_or_frontend': 2, 'verification_or_tests': 2, 'human_reported_issue_no_linked_fix': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'api_integration_gap': 1, 'test_or_ci': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 4, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'unresolved': 4, 'weak_supervision': 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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-f474b8d2ea1c0b85", "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": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 461906, "scanner": "foundry_dataset", "fingerprint": "6ba41bf6c0e26a02599562a459a174ae87c3c38c3f9ec83e71a9ab70420621af", "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": {"bug_fix": 2, "ui_workflow_gap": 1, "generated_provenance": 3, "agent_instruction_gap": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#2", "issue_number": "2", "quality_tiers": {"unresolved": 2, "weak_supervision": 3}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-5cb4f9d1f90d0b09", "graph_gold_label": "weak_supervision_needs_review", "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: weak_supervision_needs_review\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#2\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#2\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 2\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'generated_provenance': 3, 'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'human_feedback_general': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'ambiguous_needs_more_evidence': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-9f4f1311080ca1db", "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": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432955, "scanner": "foundry_dataset", "fingerprint": "14ffd1b240f97538b0976b478b19a7aaf5c15eb6b7cc4298bc8a82f858f8850d", "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": "LyndenCooke/my-phonics#9", "human_labels": ["deployment_env_gap", "security_auth_secret", "ui_workflow_gap"], "issue_number": "9", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-311698d95e1bd57d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 15, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#9\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#9\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 5\nLinked commit count: 15\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 3, 'deployment_env_gap': 1, 'security_auth_secret': 1}\nPolarities: {'bad': 5}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1100d6e4cb022d7e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/9\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/9\\nTitle: fix(L6.4): rewrite \\\"Bush Walk\\\" \u2014 apply cultural-genericisation policy\\nBody:\\n## Summary\\n\\nFull rewrite of L6.4 \\\"Bush Walk\\\" \u2014 closes phase 1 of the L5/L6 rewrite plan (L5.1, L6.1, L6.4 all done). **Stacked on PR #6.**\\n\\n## Renames (cultural-genericisation policy)\\n\\n| Was | Now |\\n|---|---|\\n| Mia | May |\\n| lyrebird | fan tail mimic bird |\\n| Aboriginal / First Nations dot art | dot art |\\n| Blue Mountains (in text) | blue mountains |\\n| visitor centre / gallery | visitor hall |\\n| Dear Journal / journal | (dropped \u2014 Tom reads from his notebook) |\\n| every creature | many creatures |\\n\\nCultural setting carried by art (Australian bush, gum trees, blue haze, fan-tailed bird, dot art on visitor-hall walls). Title kept as **Bush Walk** (both words decodable; `walk` is L6 tricky).\\n\\n## Note on dot-art attribution\\n\\nThe critique writer chose \\\"First Nations dot art\\\" \u2014 but \\\"First Nations\\\" is more commonly used in Canada/US than Australia. Rather than make a politically loaded call, I dropped the attribution adjective ent\"\n  },\n  {\n    \"id\": \"github-feedback-comment-ec254cf6124cd19b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/9#issuecomment-4383656104\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/9#issuecomment-4383656104\\nTitle: \\nBody:\\n[vc]: #qwO6X1g5BGCyD87GCuHJcc/k0Ol2l2znK09jbV1wr+A=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZ\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-d8ea1f310f1f513b", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432954, "scanner": "foundry_dataset", "fingerprint": "b127f0be7cdd8928d115f939410ff892ad93df5fb966e44d0aa201607d542b9e", "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": "LyndenCooke/my-phonics#6", "human_labels": ["agent_instruction_gap", "data_schema_persistence", "deployment_env_gap", "human_feedback_general"], "issue_number": "6", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-9da0d44eaef9c3b4", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 14, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#6\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#6\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 4\nLinked commit count: 14\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 3, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5b94c67f1535d70a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/6\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/6\\nTitle: fix: launch-readiness phonics audit \u2014 policy, story fixes, critique tooling\\nBody:\\n## Summary\\n\\nLaunch-readiness phonics audit covering policy decisions, story-level fixes, and a new GPT-5 vision critique pipeline. Single squashed commit to keep history clean.\\n\\n### Phonics policy\\n- `nch` added to permitted L1/L2 final blends \u2192 `munch`, `lunch` now legal\\n- 12 new L1 tricky words: `have, has, of, he, she, we, me, be, so, oh, happy, fall`\\n- Cascaded through L2\u2013L6 cumulative lists (`so` removed from L3, `fall` from L4)\\n\\n### Story fixes\\n- **L1.6 p3:** `wall` \u2192 `hut` (avoid untaught `/aw/`)\\n- **L2.1:** full rewrite (49 \u2192 80 words, proper arc); `can't` \u2192 `can not` on p1\\n- **L2.3:** removed `door` (p5) and `corner` (p6) \u2014 both use untaught graphemes\\n- **L3.4:** full rewrite from \\\\\\\"Draw It Again\\\\\\\" \u2192 \\\\\\\"What Min Saw\\\\\\\" to match new images; title/slug/tricky words updated across catalogs, seed SQL, prototype\\n\\n### Reader fix\\n- Sound grid splits multi-grapheme groups at the focus boundary (the \\\\`s\\\\` vs \\\\`ss\\\\\"\n  },\n  {\n    \"id\": \"github-feedback-comment-eb6c9da344717cda\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/6#issuecomment-4383262843\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/6#issuecomment-4383262843\\nTitle: \\nBody:\\n[vc]: #YKeLJ5hTqA3gM6QYRokyzxN324riBjw3DGW03IPBx8A=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJv\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-fef7fc7970c9c233", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432953, "scanner": "foundry_dataset", "fingerprint": "5fcf933604bc43c6e26cea9d39f28434919aa64a09f7b7b40d5ce75a676a5bb0", "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": "LyndenCooke/my-phonics#57", "human_labels": ["deployment_env_gap", "test_or_ci", "ui_workflow_gap"], "issue_number": "57", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-b5f3fcbc43c66a71", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#57\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#57\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'ui_workflow_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4085fd42a85197f3\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/57\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/57\\nTitle: fix(stress-test): wait for landing CTA in Persona A (mobile race)\\nBody:\\nPersona A failed only on mobile-chromium because `/` redirects client-side to /landing then hydrates; the test checked for the CTA instantly, before it rendered on slower mobile emulation. Now waits for /landing + the CTA to be visible.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-6abb746768fef081\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/57#issuecomment-4642655802\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/57#issuecomment-4642655802\\nTitle: \\nBody:\\n[vc]: #iP5KoqrGJ8kGAuaEAoYp5ZUE81lXu9swNZ7Gjw6Ued8=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZTk1YWl5WG90blR6bEtaOGhkM1pLIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im15cGhvbmljc2Jvb2tzLWdpdC1maXgtcGVyc29uYS1hLW1vYmlsZS1seW5kZW5jb29rZXMtcHJvamVjdHMudmVyY2VsLmFwcCJ9LCJpbnNwZWN0b3JVcmwiOiJodHRwczovL3ZlcmNlbC5jb20vbHluZGVuY29va2VzLXByb2plY3RzL215cGhvbmljc2Jvb2tzLzNpOHRLZHhNWENUejlMM296Mk0xdzNGTUpQeGQiLCJwcmV2aWV3VXJsIjoibXlwaG9uaWNzYm9va3MtZ2l0LWZpeC1wZXJzb25hLWEtbW9iaWxlLWx5bmRlbmNvb2tlcy1wcm9qZWN0cy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIn1dfQ==\\nThe latest updates on your projects. Learn more about [Vercel for GitHub](https://vercel.link/github-learn-more).\\n\\n| Project | Deployme\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-1c43eab0f69b727a", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432952, "scanner": "foundry_dataset", "fingerprint": "350ed4de3305703ca7126c216dde86eea6795c4be97eac1a1cc55a00c688f81f", "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": "LyndenCooke/my-phonics#56", "human_labels": ["deployment_env_gap", "source_or_other", "test_ci_gap", "test_or_ci"], "issue_number": "56", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ff4214b3956fff20", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "source_or_other": 1}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#56\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#56\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'test_ci_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f7daebd3cf6072ef\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/56\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/56\\nTitle: fix(stress-test): chromium mobile engine + drifted CTA selector\\nBody:\\nMakes the Playwright stress test actually exercise the product.\\n\\n**Verified via workflow_dispatch run on this branch:**\\n- WebKit launch errors: **0** (was every mobile test) \u2014 mobile project now uses Chromium.\\n- Persona A (cold landing \u2192 CTA): **passes** on desktop + mobile (selector updated to the renamed 'Find their reading level' CTA).\\n\\n**Still required (not code):** auth-dependent specs fail with `QA_EMAIL and QA_PASSWORD must be set` until those repo secrets are added in GitHub \u2192 Settings \u2192 Secrets and variables \u2192 Actions.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-e955c3fc6ee9a8ae\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/56#issuecomment-4642393595\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/56#issuecomment-4642393595\\nTitle: \\nBody:\\n[vc]: #mnJWMUX5cQdejHvmh4BwJjTZybpvMALkcVbXbn9X/y4=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZTk1YWl5WG90blR6bEtaOGhkM1pLIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im15cGhvbmljc2Jvb2tzLWdpdC1maXgtc3RyZXNzLXRlc3QtbHluZGVuY29va2VzLXByb2plY3RzLnZlcmNlbC5hcHAifSwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL2x5bmRlbmNvb2tlcy1wcm9qZWN0cy9teXBob25pY3Nib29rcy81TkFzQzJ2SEhKdWVERXRuUVlQWEhXeVlIU003\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-63a598571e2336bf", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432951, "scanner": "foundry_dataset", "fingerprint": "ba7b1e3a61b585c7226a0f349827534927ed1e177a1c48cb25e62455832264ef", "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": "LyndenCooke/my-phonics#55", "human_labels": ["runtime_failure", "source_or_other", "test_ci_gap", "ui_or_frontend"], "issue_number": "55", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-2000d19558374873", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 1, "source_or_other": 1}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#55\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#55\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'runtime_failure': 1, 'test_ci_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 1, 'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-3a06e85d578ddaa4\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/55\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/55\\nTitle: fix(ci): stop failing CI runs (lint + pytest)\\nBody:\\nFixes the two CI jobs that fail on every push/PR (the source of the GitHub failure emails).\\n\\n- **Web lint**: removed a zero-width space (U+200B) in `WorksheetsPanel.tsx` that tripped `no-irregular-whitespace`.\\n- **Python pipeline**: added `myphonics_books/conftest.py` to (a) ignore `scripts/_*` scratch scripts that read `.env` at import time and crash collection, and (b) treat an empty collection (exit 5) as success \u2014 there are no real Python tests yet.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b18074085caf95b2\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/55#issuecomment-4642343666\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/55#issuecomment-4642343666\\nTitle: \\nBody:\\n[vc]: #1HD/gAcD0HytoEZYwxhxe3ajKun+sjUSZCAbO3KlbJw=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZTk1YWl5WG90blR6bEtaOGhkM1pLIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL2x5bmRlbmNvb2tlcy1wcm9qZWN0cy9teXBob25pY3Nib29rcy9ITUtVZ25Fa0xnREdNRWpZVWtXWmVYUmZ3NmU0IiwicHJldmlld1VybCI6Im15cGhvbmljc2Jvb2tzLWdpdC1maXgtY2ktZ3JlZW4tbHluZGVuY29va2VzLXByb2plY3RzLnZlcmNlbC5hcHAiLCJuZXh0Q29tbWl0U3RhdHVzIjoiREVQTE9ZRUQiLCJsaXZlRmVlZGJhY2siOnsicmVzb2x2ZWQiOjAsInVucmVzb2x2ZWQiOjAsInRvdGFsIjowLCJsaW5rIjoibXlwaG9uaWNzYm9va3MtZ2l0LWZpeC1jaS1ncmVlbi1seW\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-6d1bdf263a79a411", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432950, "scanner": "foundry_dataset", "fingerprint": "66764623845fe0d86af321398d9ca4f37e7b972303070ac9fa92d8213d224409", "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": "LyndenCooke/my-phonics#54", "human_labels": ["deployment_env_gap", "human_feedback_general", "ui_or_frontend"], "issue_number": "54", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.86, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-59829a83c1009d9e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 1}, "linked_commit_count": 2, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#54\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#54\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'human_feedback_general': 1, 'deployment_env_gap': 1}\nPolarities: {'neutral': 1, 'bad': 1}\nChanged file labels: {'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9df560adb80b9d66\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/54\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/54\\nTitle: feat(landing): testimonials heading \\\"What our customers say\\\"\\nBody:\\nRenames the testimonials wall heading to **What our customers say** and broadens the subtitle to cover teachers too. (3 genuine consented reviews are now featured, so the wall is live.)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b2dee1f9f3c8ce1c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/54#issuecomment-4640516552\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/54#issuecomment-4640516552\\nTitle: \\nBody:\\n[vc]: #WoA98mscY7OHVQCBbiUH8LvHs0BeMgsMT+x0SCHBxWQ=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZTk1YWl5WG90blR6bEtaOGhkM1pLIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL2x5bmRlbmNvb2tlcy1wcm9qZWN0cy9teXBob25pY3Nib29rcy9CNUFpeWRwdFdMeGQ4cGhybmVBeXlXd29ob3ptIiwicHJldmlld1VybCI6Im15cGhvbmljc2Jvb2tzLWdpdC1mZWF0dXJlLXRlc3RpbW8tYzA3OGM5LWx5bmRlbmNvb2tlcy1wcm9qZWN0cy52ZXJjZWwuYXBwIiwibmV4dENvbW1pdFN0YXR1cyI6IkRFUExPWUVEIiwibGl2ZUZlZWRiYWNrIjp7InJlc29sdmVkIjowLCJ1bnJlc29sdmVkIjowLCJ0b3RhbCI6MCwibGluayI6Im15cGhvbmljc2Jvb2tzLWdpdC1mZWF0dXJlLXRlc3RpbW8tYzA3OGM5LWx5bmRlbmNvb2tlcy1wcm9qZWN0cy52ZXJjZWwuYXBwIn0sInJvb3REaXJlY3RvcnkiOm51bGx9XX0=\\nThe latest updates on your projects. Learn more about [Vercel for GitHub](https://vercel.link/github-learn-more).\\n\\n| Project | Deployment | Actions | Updated (UTC) |\\n| :--- |\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-07fa36ce327ccf60", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432949, "scanner": "foundry_dataset", "fingerprint": "277c182532e0021957e81b173994d93387610ec9b09356e7adc8f6a02e180f76", "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": "LyndenCooke/my-phonics#51", "human_labels": ["deployment_env_gap", "schema_or_data", "ui_or_frontend", "ui_workflow_gap"], "issue_number": "51", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.795, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-1fadb077ace6a871", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"schema_or_data": 1, "ui_or_frontend": 4}, "linked_commit_count": 4, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#51\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#51\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 5\nLabels: {'ui_workflow_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'ui_or_frontend': 4, 'schema_or_data': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-121450eadd3c747c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/51\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/51\\nTitle: refactor(landing): tighten + modernise the parent landing page\\nBody:\\nFollow-up to your \\\"a bit over the top / How It Works is old\\\" feedback on the parent landing.\\n\\n- **Cut** the redundant \\\"Why parents trust us\\\" pillar strip (already covered by the hero badge + features + Cultural Diversity).\\n- **Modernised** How It Works \u2014 benefit-led, parent-voice copy (\\\"Find their level \u2014 free\\\" \u2192 \\\"Read the right books\\\" \u2192 \\\"Watch confidence grow\\\").\\n- **Tightened** vertical spacing across the page so it reads quicker, less padded.\\n\\nKept the strong visual sections (hero with covers + Parent/School switch, feature mockup, 6-level path, Cultural Diversity, new Free/Monthly/Yearly pricing). Typecheck + lint clean.\\n\\nReview on the preview before merge.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-7b1a3ed553dde4bf\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/51#issuecomment-4625977989\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/51#issuecomment-4625977989\\nTitle: \\nBody:\\n[vc]: #rphOGkyOelupc7kELWgdOMxNnSzmQDVfvSMcFAchwC8=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZTk1YWl5WG90blR6bEtaOGhkM1pLIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL2x5bmRlbmNvb2tlcy1wcm9qZWN0cy9teXBob25pY3Nib29rcy9Hb00xZjRZaFZ1RG9oV29LbWdieE1WQW1tOGd6IiwicHJldmlld1\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-47ee2554e2706b68", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432948, "scanner": "foundry_dataset", "fingerprint": "8ce826ba7ee12019702f45082a55ecb8eaace41b76db1734bad5ee624c012bb4", "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": "LyndenCooke/my-phonics#48", "human_labels": ["api_integration_gap", "deployment_env_gap", "ui_or_frontend", "ui_workflow_gap"], "issue_number": "48", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.895, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-d59d4971bd8c0265", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 2}, "linked_commit_count": 8, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#48\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#48\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 4\nLinked commit count: 8\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'deployment_env_gap': 2, 'ui_workflow_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 4}\nChanged file labels: {'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-0644c6a5efd21a0a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/48\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/48\\nTitle: feat(landing): Parent vs School fork at the front door\\nBody:\\nGives new visitors a clear Parent-vs-School choice instead of dropping everyone into the parent library.\\n\\n**Routing (`RootRedirect`)** \u2014 respects the existing \\\"app launches into the library\\\" intent:\\n- Signed-in users \u2192 `/library`\\n- Installed PWA / native launches \u2192 `/library`\\n- **Fresh signed-out web visitors \u2192 `/landing`** (the fork)\\n\\n**Landing page:**\\n- Nav: \\\"For Schools\\\" link \u2192 `/school`\\n- Hero: Parent/School audience switch (Parent active; School \u2192 `/school` `SchoolMarketing`)\\n\\nTypecheck clean. No DB change.\\n\\n\u26a0\ufe0f Review the **Vercel preview** before merging \u2014 this changes what every logged-out web visitor sees at the root. Suggested checks: open root signed-out (should hit /landing), tap \\\"For Schools\\\" (\u2192 /school), confirm signed-in still lands in /library.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-e34409e66326cec6\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/48#issuecomment-4624894558\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/48#issuecomment-4624894558\\nTitle: \\nBody:\\n[vc]: #hCsbArv4bTSkQDlr00E3a/mw+tFAU7WxyFrrwsk44lA=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZTk1YWl5WG90blR6bEtaOGhkM1pLIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY2\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-2470f66eb58ab8a7", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432947, "scanner": "foundry_dataset", "fingerprint": "40b8a599d15013bbe87dae01ddbe56ac4c45ddd373fc5d08b3a49f6bbcc61341", "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": "LyndenCooke/my-phonics#46", "human_labels": ["deployment_env_gap", "schema_or_data", "test_ci_gap", "ui_or_frontend"], "issue_number": "46", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.795, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ccccb71fe630fda0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"schema_or_data": 2, "ui_or_frontend": 3}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#46\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#46\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 5\nLabels: {'test_ci_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'ui_or_frontend': 3, 'schema_or_data': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d41323e569922ae7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/46\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/46\\nTitle: feat(feedback): separate \\\"loved\\\" vs \\\"could be better\\\" text boxes\\nBody:\\nSplits the single feedback textarea into two, so the testimonial pipeline only ever pulls the praise.\\n\\n- **\\\"What did you love? \ud83d\udc9b\\\"** \u2192 `reviews.feedback` \u2014 the only text featurable as a testimonial (`consent_marketing`)\\n- **\\\"What could be better?\\\"** \u2192 new private `reviews.improvement` column \u2014 never shown publicly, \\\"only our team sees this\\\"\\n- `ghl-sync` CRM note + admin Feedback tab show both, labelled\\n- Migration `reviews.improvement` **already applied to prod**; `ghl-sync` **already redeployed**\\n\\nVerified: `tsc` clean, changed files lint clean (0 errors).\\n\\n> CI red is pre-existing (gitignored `.env` for the Python job + a stray lint error in an untouched file); Vercel build is green.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-d69938664cb6c2ba\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/46#issuecomment-4624519380\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/46#issuecomment-4624519380\\nTitle: \\nBody:\\n[vc]: #PlwGwDdwfxNiV/fGyPLwixKbNzBBcfEp5Dk0MA2MBZ8=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZTk1YWl5WG90blR6bEtaOGhkM1pLIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL2x5bmRlbmNvb2tlcy1wcm9qZWN0cy9teXBob25pY3Nib29rcy80UGFUQ25CTldQWmFEcXdwV1RiY3p3WXZLZT\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-3d985fb2c341609a", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432946, "scanner": "foundry_dataset", "fingerprint": "af78ed87b9ea5cb671bd22b2528a215ce3f0fe6b7ada2251d3c66109014edb4c", "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": "LyndenCooke/my-phonics#45", "human_labels": ["api_integration_gap", "data_schema_persistence", "deployment_env_gap", "schema_or_data", "security_auth_secret", "ui_or_frontend"], "issue_number": "45", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.86, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-dba60bbf12505bb6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 9, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"schema_or_data": 2, "ui_or_frontend": 7}, "linked_commit_count": 9, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#45\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#45\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 4\nLinked commit count: 9\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 9\nLabels: {'data_schema_persistence': 1, 'deployment_env_gap': 1, 'security_auth_secret': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 4}\nChanged file labels: {'ui_or_frontend': 7, 'schema_or_data': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-0a55e5b668ee9d62\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/45\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/45\\nTitle: feat(feedback): always-available feedback in Profile + returning-user pop-up\\nBody:\\n## What\\n\\nLets any signed-in parent submit a **star rating + written feedback at any time** \u2014 not just via a one-time prompt. Adds a permanent \\\"Share your feedback\\\" card to the Profile alongside the existing returning-user pop-up; both share one dialog.\\n\\n## Changes\\n\\n- **`FeedbackDialog`** \u2014 shared rating + text + consent dialog\\n- **`Profile`** \u2014 \\\"Share your feedback\\\" card opens it (`source=profile`)\\n- **`FeedbackPrompt`** \u2014 returning-user pop-up, mounted at app root (`source=returning_popup`), localStorage-gated (2nd+ session, snooze on dismiss, retire on submit)\\n- **`lib/feedback`** \u2014 submit to `reviews` (`kind=general`) + mirror to GHL CRM\\n- **`ghl-sync`** \u2014 handles `contact.feedback`: GHL timeline note + triage tags (`testimonial-candidate` / `feedback-negative` / `feedback-positive`)\\n- **admin `CustomerDetail`** \u2014 new Feedback tab surfaces submitted reviews per customer\\n- **migration** \u2014 `reviews.source`\"\n  },\n  {\n    \"id\": \"github-feedback-comment-3d86d96f2bfbc9b3\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/45#issuecomment-4624307646\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/45#issuecomment-4624307646\\nTitle: \\nBody:\\n[vc]: #Gr4XHNBNgZn6sgQCJaEvM/xbuByJJikUGExF0xOkuv0=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoi\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-4bd5b6078b1a4c70", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432945, "scanner": "foundry_dataset", "fingerprint": "de6bc4c79e14b19af80418a2ffe36f66612f64e476496ebdd0aaee22515fff22", "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": "LyndenCooke/my-phonics#44", "human_labels": ["api_integration_gap", "data_schema_persistence", "deployment_env_gap", "ui_or_frontend"], "issue_number": "44", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.895, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-6da5d784fb4836c8", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 12, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 12}, "linked_commit_count": 8, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#44\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#44\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 4\nLinked commit count: 8\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 12\nLabels: {'data_schema_persistence': 2, 'deployment_env_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 4}\nChanged file labels: {'ui_or_frontend': 12}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4e01c240a38cea16\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/44\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/44\\nTitle: fix: remove Founders Club from referral copy + UI (production hotfix)\\nBody:\\n## Why\\nProduction (`master`) still shows the **\u00a31 Founders Club** offer in the referral share copy and across the Founders Club banner / review-modal UI, even though pricing has moved to Monthly / Yearly / Lifetime + voucher. This is the \\\"founders in the referral description\\\" surfaced on the live site.\\n\\nThe clean copy already exists on `feature/8-levels`, but that branch is 15 commits / 629 files ahead of `master` (the full 8-level migration + two-tier affiliate). This is a **targeted hotfix** that ports only the founders removal + referral copy, so it can ship to production without the rest of that release.\\n\\n## Changes\\n**Referral copy \u2192 current pricing, no founders wording:**\\n- `Referrals.tsx` hero \u2014 \\\"earn 50% commission on every subscriber you bring in\\\"\\n- `ReferralPanel.tsx` header \u2014 \\\"Earn 50% per referral\\\"\\n- `referral.ts` WhatsApp/Facebook share messages \u2014 \u00a34.99/mo or \u00a339 lifetime, 7-day trial\\n\\n**Founders Club \"\n  },\n  {\n    \"id\": \"github-feedback-comment-d1945d0cc799d466\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/44#issuecomment-4607245864\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/44#issuecomment-4607245864\\nTitle: \\nBody:\\n[vc]: #hZRY+eQjS6eNK4+N9Mjs4qtNB9fcPk1w+Hy/QJjdcQ8=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-99f2ad1cbf124cab", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432944, "scanner": "foundry_dataset", "fingerprint": "3f999e3af772363bc0a59ff36c73f5930723d534f74abc02347d27097bb415c3", "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": "LyndenCooke/my-phonics#42", "human_labels": ["api_integration_gap", "deployment_env_gap", "human_feedback_general", "source_or_other", "ui_workflow_gap"], "issue_number": "42", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-fb9d18b1eba4ad5e", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 100, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"source_or_other": 100}, "linked_commit_count": 12, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#42\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#42\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 4\nLinked commit count: 12\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 100\nLabels: {'ui_workflow_gap': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 3, 'neutral': 1}\nChanged file labels: {'source_or_other': 100}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-12d36539476d7cbe\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/42\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/42\\nTitle: Resync sentence audio to current PDFs + cleanup stale drafts\\nBody:\\n## Summary\\n- **Fix parser bug in `scripts/extract_canonical_sentences.mjs`** \u2014 `matchBracket` didn't skip JS comments, so a `doesn't` apostrophe in a code comment at `interactiveBookDataL5.ts:1051` opened a phantom string and swallowed the closing `];` of `BOOK_L5_3_PAGES`. The extractor was duplicating all 8 of L5.4's sentence arrays into L5_3 as `p9` \u2026 `p16`, producing 16 ghost mp3 files that the runtime never plays.\\n- **Resync sentence audio** \u2014 regenerate 184 mp3s so the spoken text matches the current PDF + on-screen interactive text. 60 already matched; 16 ghost `L5_3_p9` \u2026 `p16` audio files removed.\\n- **Delete 6 orphan story `.py` drafts** in `myphonics_books/data/` that are no longer imported by `generate_pilot_books.py` (`the_night_light`, `shadow_show`, `review_story`, `stone_flute`, `reach_treat`, `bazaar`).\\n- **Remove legacy `publish_l1_to_webapp.py`** (superseded by `publish_books.py`).\\n- Carries forward `b45c012` \u2014 t\"\n  },\n  {\n    \"id\": \"github-feedback-comment-1827b7ddc975b14c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/42#issuecomment-4521028744\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/42#issuecomment-4521028744\\nTitle: \\nBody:\\n[vc]: #XkZy0FYuotglFdEuoNjcLVKrSD1utTw0KWN6O7N9Hks=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOl\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-aeef1882a673d2f0", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432943, "scanner": "foundry_dataset", "fingerprint": "8dddbfac6cc9d6ce6e54c4db9ab5dc25b5f846cc118ab2076fe30755be03a5ae", "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": "LyndenCooke/my-phonics#41", "human_labels": ["api_integration_gap", "deployment_env_gap", "human_feedback_general", "source_or_other"], "issue_number": "41", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-608dce17326efa30", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"source_or_other": 1}, "linked_commit_count": 20, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#41\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#41\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 5\nLinked commit count: 20\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'api_integration_gap': 2, 'deployment_env_gap': 1, 'human_feedback_general': 2}\nPolarities: {'bad': 3, 'neutral': 2}\nChanged file labels: {'source_or_other': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-bf633d6324974f08\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/41\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/41\\nTitle: chore: update Meta Pixel ID + add <noscript> fallback\\nBody:\\n## Summary\\nSwaps the Pixel ID from the old `960924586932468` to the new `1476818270794642`. Also adds the 1x1 `<noscript>` img so PageView still registers for visitors with JS disabled / blocked.\\n\\nThe `window.__META_PIXEL_ID` global is preserved \u2014 `useMetaPixel.ts` and the funnel `EmailCapture` component read from it for in-app event tracking.\\n\\n## Test plan\\n- [ ] Load any page \u2192 Network tab shows a request to `connect.facebook.net/en_US/fbevents.js` and a PageView fired against `1476818270794642`\\n- [ ] Events Manager (Data Sets) shows the test traffic against the new Pixel\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-03f1c783c91a8700\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/41#issuecomment-4502173937\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/41#issuecomment-4502173937\\nTitle: \\nBody:\\n[vc]: #Byfs/QjyMbLBAiHaAaCN3YBnWJdFdYWnuOIozMrvplQ=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZTk1YWl5WG90blR6bEtaOGhkM1pLIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL2x5bmRlbmNvb2tlcy1wcm9qZWN0cy9teXBob25pY3Nib29rcy9HWmh0cVRTbTJGcE01TFM4dllERUhiRDdnQWpnIiwicHJldmlld1VybCI6Im15cGhvbmljc2Jvb2tzLWdpdC1jaG9yZS11cGRhdGUtbWUtOGY5NzU1LWx5bmRlbmNvb2tl\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-c7e11db423d49d74", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432942, "scanner": "foundry_dataset", "fingerprint": "1d040b2ecc6b8dee67a357c65a7f9e263cdabaf196a6ab389b814a497158d222", "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": "LyndenCooke/my-phonics#4", "human_labels": ["api_integration_gap", "deployment_env_gap", "human_feedback_general", "test_ci_gap"], "issue_number": "4", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-eb176bab2d1d6a51", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 11, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#4\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#4\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 4\nLinked commit count: 11\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'test_ci_gap': 1}\nPolarities: {'bad': 3, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e057400446835c9f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/4\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/4\\nTitle: Add phonics clipart sound mats + Library Resources section\\nBody:\\n## Summary\\r\\n\\r\\nAdds the printable sound-mat asset system plus a Resources section on `/library` so teachers and parents can download them.\\r\\n\\r\\n### Assets (~58 MB of PNGs)\\r\\n- **8 printable A3 sound mats** \u2014 6 per-level posters + 2 combined teacher charts (`L2_L3_combined`, `L4_L5_L6_combined`)\\r\\n- **72 cropped sound cards** under `assets/phonics/clipart/level_{1..6}/cards/` \u2014 initial-position cue words drawn from published stories where possible (m=mud, t=tap, sh=ship, nk=tank, etc.)\\r\\n- Posters mirrored to `public/phonics/posters/` for site download\\r\\n- Manifest at `assets/phonics/clipart/manifest.json`\\r\\n\\r\\n### Generation pipeline\\r\\n- `myphonics_books/scripts/generate_clipart.py` \u2014 gpt-image-2 one-shots with style references\\r\\n- `myphonics_books/scripts/generate_full_poster.py` \u2014 full-mat composition\\r\\n- `myphonics_books/scripts/brand_posters.py` \u2014 composites the MyPhonicsBooks lockup\\r\\n- `myphonics_books/scripts/crop_poster_cards.py` \u2014 sl\"\n  },\n  {\n    \"id\": \"github-feedback-comment-5e516fe3b37c8a2c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/4#issuecomment-4329807107\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/4#issuecomment-4329807107\\nTitle: \\nBody:\\n[vc]: #R4gAXd4KpPD0QriB/VO1eSXjIswUupQafTvmKybD2Dc=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-f039fd3e1b13761a", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432941, "scanner": "foundry_dataset", "fingerprint": "dc547d3ce12ede3a9efaa57d9635b403e6740122829d1716b57456ac9cc756fe", "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": "LyndenCooke/my-phonics#39", "human_labels": ["deployment_env_gap", "security_auth_secret", "ui_or_frontend"], "issue_number": "39", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-ef4b59f4d23d1348", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 2}, "linked_commit_count": 8, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#39\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#39\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 8\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 2\nLabels: {'security_auth_secret': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-bf91eaa9d0f908d6\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/39\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/39\\nTitle: fix: stop unlocking every book on Vercel (DEV branch in OR chain collapsed to true)\\nBody:\\n## Summary\\nVercel's production build was emitting **`unlocked:!0`** in the deployed `Index-\u2026js` chunk \u2014 the entire entitlement OR chain collapsed to a constant `true`. The only way Vite collapses that is if `import.meta.env.DEV` was `true` at build time. My local `vite build` produces the full expression `unlocked: L||H||Y||!!r||(t.is_free_sample??!1)`, so something in the Vercel build environment is forcing dev mode.\\n\\nThat's the actual reason books appeared unlocked in incognito (not the `MYPHONICSFRIENDS` voucher).\\n\\n**Fix:** drop `import.meta.env.DEV` from the OR chains in `Index.tsx` and `Learn.tsx`. Entitlement is now keyed only on explicit roles (admin, QA, teacher, owner, free-sample). A misconfigured build can no longer silently unlock the library.\\n\\nI should still chase down *why* Vercel is building in dev mode \u2014 but that's now a separate task; the public-facing security gap is closed.\\n\\n## Test p\"\n  },\n  {\n    \"id\": \"github-feedback-comment-41bb296902f309ab\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/39#issuecomment-4501034764\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/39#issuecomment-4501034764\\nTitle: \\nBody:\\n[vc]: #dwpJ5Y6H4nCK6X9szZAcU5iKYdHf9y2gx9BzjvJ3Xi0=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDF\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-fb050b0276da5073", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432940, "scanner": "foundry_dataset", "fingerprint": "5f26bcd86caa659c19f4e645afdf381aa3726534f7fe80502aee6f1c6df3ced8", "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": "LyndenCooke/my-phonics#38", "human_labels": ["deployment_env_gap", "security_auth_secret"], "issue_number": "38", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c2b1b7de1d804cd2", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 7, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#38\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#38\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 7\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a355fd57a0a8036e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/38\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/38\\nTitle: fix: lookup_teacher_session must enforce the voucher signup gate\\nBody:\\n## Summary\\nThe previous migration tightened `redeem_teacher_code` so `MYPHONICSFRIENDS` couldn't be redeemed without signup, but `lookup_teacher_session` wasn't updated. Any session token already issued before the gate landed kept resolving \u2014 so the library appeared fully unlocked in an incognito window even after the new code shipped.\\n\\n- `lookup_teacher_session` now also refuses codes that have `grant_product_type` set (mirrors the redemption gate).\\n- All existing `MYPHONICSFRIENDS` redemption rows are deleted so any stale token gets a clean lock state on next page load.\\n\\nAlready applied to prod; this commit captures it in git.\\n\\n## Test plan\\n- [ ] Reload incognito \u2192 library shows lock icons on books 2\u2013N for each level (only the 6 free-sample books unlocked)\\n- [ ] Try entering `MYPHONICSFRIENDS` signed-out \u2192 bounces to `/auth?tab=register`; on signup, library unlocks\\n- [ ] `TPT-TEACHERS` still works on `/teachers`\\n\\n\ud83e\udd16 Gene\"\n  },\n  {\n    \"id\": \"github-feedback-comment-78d3e1be17f441e0\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/38#issuecomment-4500926655\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/38#issuecomment-4500926655\\nTitle: \\nBody:\\n[vc]: #8YKZFQsp4lYkNK0T5DMsJvUGPW6IfHxybcSgDUwOmDs=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZTk1YWl5WG\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-dd2046371b700458", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432939, "scanner": "foundry_dataset", "fingerprint": "1ae90bc010c2bdcd8a301deb5956727f62057db7bef09dd8338fe3d1736af67e", "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": "LyndenCooke/my-phonics#37", "human_labels": ["deployment_env_gap", "human_feedback_general", "security_auth_secret"], "issue_number": "37", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-3a88e3f1c3294881", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 14, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#37\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#37\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 4\nLinked commit count: 14\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 2, 'deployment_env_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 3, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f294c16ec3f33da3\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/37\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/37\\nTitle: feat: voucher codes now require signup + grant real purchases row\\nBody:\\n## Summary\\nPreviously, redeeming `MYPHONICSFRIENDS` wrote a teacher-session token to `localStorage` only \u2014 no account, no audit trail, and the unlock was tied to a browser rather than a person.\\n\\nNow voucher redemption is gated behind signup and creates a real `purchases` row, so the entitlement follows the account across devices and we can see exactly who redeemed which code.\\n\\n**Schema:**\\n- New column: `teacher_codes.grant_product_type text` \u2014 when set, redemption requires auth and grants that product. `MYPHONICSFRIENDS` \u2192 `full_bundle`. `TPT-TEACHERS` stays NULL (no-signup teacher access).\\n- New RPC: `redeem_voucher_for_user(p_code text)` \u2014 `security definer`, requires `auth.uid()`, idempotent insert into `purchases`.\\n- `redeem_teacher_code` updated to reject codes that have `grant_product_type` set, closing the bypass.\\n\\n**UI:**\\n- Pricing voucher dialog calls the new RPC.\\n- Signed-out users get bounced to `/auth` with t\"\n  },\n  {\n    \"id\": \"github-feedback-comment-e0e22520775e0f3b\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/37#issuecomment-4500894287\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/37#issuecomment-4500894287\\nTitle: \\nBody:\\n[vc]: #YEmizdcPgOhNk4SZA0yN/jhEP1EyZVT+acnHyY7iXmc=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyI\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-1afed8bbe5b72c81", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432938, "scanner": "foundry_dataset", "fingerprint": "c977a033a63c2206ff3ad6c7706f557b5dcb4f6e392adede7906254fff77cbac", "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": "LyndenCooke/my-phonics#34", "human_labels": ["agent_instruction_gap", "deployment_env_gap"], "issue_number": "34", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-3b61df29ca6209de", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 7, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#34\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#34\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 7\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f864e93ce6e7208b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/34\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/34\\nTitle: tweak: default Pricing to Monthly, collapse voucher behind a link\\nBody:\\n## Summary\\n- Sub card opens on **Monthly (\u00a34.99)** by default \u2014 cheapest headline price first; visitors can toggle to Yearly to compare.\\n- Voucher input on the Lifetime card hides behind a quiet **Have a voucher code?** link. No friends-and-family copy by default \u2014 the input stays generic so the same surface can serve affiliate / promo codes later.\\n\\n## Test plan\\n- [ ] `/pricing` opens with Monthly \u00a34.99 selected; toggle flips to Yearly \u00a329.99\\n- [ ] Lifetime card shows only \\\"Have a voucher code?\\\" link; clicking reveals the input\\n- [ ] `MYPHONICSFRIENDS` still redeems and unlocks the library\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-6b62f4c552de1a16\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/34#issuecomment-4492057710\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/34#issuecomment-4492057710\\nTitle: \\nBody:\\n[vc]: #5R1nyzQi4UhOkXQOgxvompCjFCgHtDY86VfqIQB8qeo=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZTk1YWl5WG90blR6bEtaOGhkM1pLIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL2x5bmRlbmNvb2tlcy1wcm9qZWN0cy9teXBob25pY3Nib29rcy82V3JvSDJZVFppTmg0dUZ1dzhhZlVab3NzNGNtIiwicHJldmlld1VybCI6Im15cGhvbmljc2Jvb2tzLWdpdC10d2Vhay1wcmljaW5nLWQtOWE3YzVmLWx5bmRlbmNvb2tlcy1wcm9qZWN0cy52ZXJjZWwuYXB\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-84d91ad0fd53a8a7", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432937, "scanner": "foundry_dataset", "fingerprint": "d0941d18d291cfe85bc7cfb85c88d300aeded0dcf6aa1695a80e250ac420fbbc", "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": "LyndenCooke/my-phonics#32", "human_labels": ["data_schema_persistence", "deployment_env_gap", "security_auth_secret"], "issue_number": "32", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-46c85daea5ce532b", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#32\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#32\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-63a0bd20bdbc112f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/32\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/32\\nTitle: fix: log downloads client-side too (server-side path stayed empty)\\nBody:\\n## Problem\\nAfter three rounds of fixes to the \\\\`generate-pdf-download\\\\` edge function, \\\\`download_log\\\\` was still sitting at 0 rows and the Profile \u2192 Download History page kept showing \\\\\\\"No downloads yet\\\\\\\" even though downloads were actually saving to disk.\\n\\nThe edge function logs show **zero** \\\\`generate-pdf-download\\\\` invocations \u2014 only \\\\`ghl-sync\\\\`. Most likely a cached PWA bundle is doing the blob fetch via the public bucket URL without ever calling our function, plus a deploy hiccup or RLS edge case that swallowed whatever did get through.\\n\\n## Fix\\nAfter the blob save succeeds, the client now also inserts into \\\\`download_log\\\\` directly. The user is authenticated, RLS policy is \\\\`auth.uid() = user_id\\\\`, so the insert is allowed from the client. Same on the re-download path in DownloadHistory.\\n\\nLocal catalog books (id prefix \\\\`local-\\\\`) are skipped because they'd fail the FK to \\\\`books.id\\\\`.\\n\\nThe edge function still t\"\n  },\n  {\n    \"id\": \"github-feedback-comment-7834c407e37f1589\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/32#issuecomment-4479941553\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/32#issuecomment-4479941553\\nTitle: \\nBody:\\n[vc]: #Z0LXZF9aIT1OURfFZ453UFoJsnvHWX6lLz/vDNuUZ2w=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-e11dafdb4a3bbf1e", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432936, "scanner": "foundry_dataset", "fingerprint": "907ea987d0beca9c5ffb40840c7aa8ce7b1b1c680f44ca84b79d167fc30822b5", "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": "LyndenCooke/my-phonics#30", "human_labels": ["data_schema_persistence", "deployment_env_gap", "human_feedback_general", "security_auth_secret"], "issue_number": "30", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-6473834290d7e924", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 12, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#30\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#30\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 4\nLinked commit count: 12\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 3, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4f18c4d8ff3eea60\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/30\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/30\\nTitle: PDF publish pipeline + canonical audio + L1.3 fix\\nBody:\\n## Summary\\nThree tangled problems, one chain of fixes:\\n\\n1. **PDFs weren't reaching Supabase.** Every download surface (the `/welcome` unlock page, the gated `generate-pdf-download` edge function, the post-assessment GHL email) serves from `book-pdfs/a5/{slug}.pdf` and `book-pdfs/a4/{slug}.pdf` in Supabase Storage, but nothing pushed new renders there. Other sessions kept reporting stale PDFs.\\n2. **Sentence audio had drifted.** Four parallel `.mjs` scripts each carried their own hand-typed copy of every story's sentences. ~30/33 books had at least one drifted page; ~7 had wholesale-different audio (L2.1 spoke a completely different story than its PDF).\\n3. **L1.3 was missing its images.** No entry in `LEVEL_KEYS` for `\\\"1.3\\\"` \u2014 the legacy `1: \\\"L1_B1\\\"` mapping rendered output as `1 ... .pdf` (no `_3` prefix), which the publish-regex couldn't match. So `public/book-pdfs/1_3.pdf` + Supabase `a5/1_3.pdf` were stuck on a 24-page, April-7 PDF wi\"\n  },\n  {\n    \"id\": \"github-feedback-comment-1c5e2aa98a22015f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/30#issuecomment-4472551162\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/30#issuecomment-4472551162\\nTitle: \\nBody:\\n[vc]: #uxqbr0x6izjrOrYV6+qgX/qsEBQKtcaLaj9mekXRhWc=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5h\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-116ded71b70d9e87", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432935, "scanner": "foundry_dataset", "fingerprint": "88877b57879434452030de7c4be36f353babb0504e87b6192966c11934b9128a", "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": "LyndenCooke/my-phonics#2", "human_labels": ["agent_instruction_gap", "human_feedback_general", "ui_workflow_gap"], "issue_number": "2", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.6, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-f061cce565f49121", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#2\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#2\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1, 'human_feedback_general': 1, 'ui_workflow_gap': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-25ce7827a7e991d5\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/2\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/2\\nTitle: Update Level 4 curriculum to Later Set 3 alternatives with multi-syllable words\\nBody:\\n## Summary\\nThis PR significantly expands Level 4 of the reading curriculum to align with the definitive graphemes_by_level.json specification. The level now focuses on Later Set 3 alternative graphemes (are, ur, er, ew, ue, ow) and introduces multi-syllable words, while maintaining all cumulative graphemes from Levels 1-3.\\n\\n## Key Changes\\n\\n### Word Bank Updates (level_4_words.json)\\n- **Expanded word list**: 248 \u2192 530 words, providing substantially more reading practice at this level\\n- **New graphemes**: Added Later Set 3 alternatives: `are`, `ur`, `er`, `ew`, `ue`, `ow` (cow variant)\\n- **Cumulative graphemes**: Extended to include all L1-L3 graphemes plus split digraphs (a-e, i-e, o-e, u-e) and additional digraphs (oi, aw, ai, oa, ie)\\n- **Multi-syllable word introduction**: Added words like \\\"farmer\\\", \\\"helper\\\", \\\"number\\\", \\\"never\\\", \\\"corner\\\", \\\"under\\\", \\\"over\\\", \\\"rescue\\\" to build fluency\\n- **Morphological variants\"\n  },\n  {\n    \"id\": \"github-feedback-comment-9b999f1f423892ef\",\n    \"kind\": \"review_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/2#discussion_r2900643764\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: review_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: chatgpt-codex-connector[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/2#discussion_r2900643764\\nTitle: \\nBody:\\n**<sub><sub>![P2 Badge](https://img.shields.io/badge/P2-yellow?style=flat)</sub></sub>  Fix Level 4 word_count metadata**\\n\\nThe `word_cou\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-7fd2620f78d134aa", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432934, "scanner": "foundry_dataset", "fingerprint": "3db7e2c8384f406f6b324c28e74b4466c60a86cff71e38c87485f31e294a8afc", "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": "LyndenCooke/my-phonics#13", "human_labels": ["agent_instruction_gap", "deployment_env_gap", "ui_workflow_gap"], "issue_number": "13", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-50cff9542dc246d9", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 11, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#13\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#13\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 11\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1, 'deployment_env_gap': 1, 'ui_workflow_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-37ecbc985334377b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/13\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/13\\nTitle: fix(L5.3): rewrite \\\"Sure She Can\\\" \u2014 soft-c purge + cultural-genericisation\\nBody:\\n## Summary\\n\\nSalvage rewrite of L5.3 \\\"Sure She Can\\\" \u2014 soft-c plague purged, foreign place name and cheer removed. **Stacked on PR #6.**\\n\\n## Renames\\n\\n| Was | Now |\\n|---|---|\\n| Jaipur | the pink town |\\n| Dadaji | Grandad |\\n| \\\"Woh Kata!\\\" | \\\"Pure joy, Grandad!\\\" |\\n\\nIndian cultural setting preserved through art (saffron pagri, cream angrakha, pink sandstone architecture, bamboo kite, terracotta rooftops).\\n\\n## Removed (were non-decodable)\\n\\nAll soft-c words: `section, concentration, action, direction, dance, city, centre, place`. Plus `colour, calm, every, attention, picture, frustration`.\\n\\n## Phonics\\n\\n- 8 pages, 4\u20135 sentences each, 8\u201313 words/sentence\\n- **Total 379 words** (target 280\u2013380 met)\\n- New L5 graphemes featured: `ph` (phone), `kn` (knot\u00d73), `wr` (wrap, wrist, wrapped), `ire` (entire), `tion` (instruction\u00d72), `ure` (pure\u00d72, sure\u00d72)\\n- Heavy `-ed` showcase: 21+ regular past-tense verbs\\n\\n## Files\\n\\n- `src/lib/inte\"\n  },\n  {\n    \"id\": \"github-feedback-comment-465318b1e487568d\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/13#issuecomment-4383800259\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/13#issuecomment-4383800259\\nTitle: \\nBody:\\n[vc]: #KsbV4jrFZBLA/801+PqtsFlbjjzLacPThGeronNltV0=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-40f6a19acdfcc76a", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432933, "scanner": "foundry_dataset", "fingerprint": "2d68478ed3209d461c5c759e7079008b8ec14314de6d229b8cfc7dd3dcd4ded0", "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": "LyndenCooke/my-phonics#12", "human_labels": ["deployment_env_gap", "runtime_failure", "security_auth_secret"], "issue_number": "12", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-4143861642ddbaf0", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 12, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#12\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#12\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 5\nLinked commit count: 12\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'deployment_env_gap': 2, 'runtime_failure': 2}\nPolarities: {'bad': 5}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-45d3f447e9dcbd64\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/12\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/12\\nTitle: fix(L6.2): rewrite \\\"You Are Remarkable\\\" \u2014 clean code + cultural-genericisation\\nBody:\\n## Summary\\n\\nSalvage rewrite of L6.2 \\\"You Are Remarkable\\\" \u2014 strong arc and images preserved; text cleaned of off-code patterns and foreign proper nouns. **Stacked on PR #6.** Closes phase 2 of the L5/L6 rewrite plan.\\n\\n## Renames / removals\\n\\n| Was | Now |\\n|---|---|\\n| Li River | river / river park |\\n| tangyuan | small white rice balls (in image_prompts) |\\n| Yuanxiao Festival | the Lantern Festival (English descriptive) |\\n| security guard | park warden |\\n| bridge | stone arch (avoid `dge`) |\\n| dark mountains | dark rock hills (avoid irregular `tain`) |\\n\\nChinese cultural setting preserved through visual elements: red lanterns, paper lanterns, stone arch, panda toy, sweet potato carts, Chinese-style architecture in image_prompts.\\n\\n## Removed (were non-decodable)\\n`watching, clutching` (`-tch`), `decision, expression, possession` (`-sion/-ssion`), `noticed, gently, bridge, walked, guard, straight, comfortable, recog\"\n  },\n  {\n    \"id\": \"github-feedback-comment-32531bdc2b2f5a90\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/12#issuecomment-4383762963\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/12#issuecomment-4383762963\\nTitle: \\nBody:\\n[vc]: #0j+4igBq7fsPjUTCNYcVYw3NZ8fnjF9IeSq2/V6Qq9Y=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-1760dce328ebbbac", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432932, "scanner": "foundry_dataset", "fingerprint": "22d7d7f8da2fbef1e5ce3e19789e3f2e3c30b57f0360d58e96c9a05f245db3a3", "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": "LyndenCooke/my-phonics#11", "human_labels": ["agent_instruction_gap", "deployment_env_gap", "ui_workflow_gap"], "issue_number": "11", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-3a38cf8e94e35d6a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 11, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#11\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#11\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 11\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1, 'deployment_env_gap': 1, 'ui_workflow_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f9405938f819e682\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/11\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/11\\nTitle: fix(L5.2): image-driven pivot rewrite \u2014 outdoor 3-animal journey\\nBody:\\n## Summary\\n\\nImage-driven pivot rewrite of L5.2 \\\"Near the Door\\\". Original text described the child indoors feeding a fox at the door; rendered images show an outdoor journey through three animals before returning to Dad. This rewrite re-aligns text to the art. **Stacked on PR #6.**\\n\\n## New arc (matches the rendered images)\\n\\n- p1: Indoor scene by fire, child hears crunch at door\\n- p2: Steps out into woods, hears crunch near tree\\n- p3: Fox emerges, child speaks softly\\n- p4: Hears tap near rock, sees rabbit\\n- p5: Rabbit leaps stream\\n- p6: Spots antler points on snow mound\\n- p7: Deer emerges, child speaks clearly\\n- p8: Returns to Dad, reads by fire\\n\\n## Phonics\\n\\n- 8 pages, 4\u20135 sentences each, 8\u201313 words/sentence (L5 target met)\\n- **Total 378 words** (within 280\u2013380 band)\\n- Foregrounds `ear/oor`: `ear/ears/near/hear/dear/clear/fear/year, door/floor/indoors`\\n- Heavy `-ed` showcase: stepped, peeked, swayed, popped, looked, sniffe\"\n  },\n  {\n    \"id\": \"github-feedback-comment-9a4ebff82f7cdcd6\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/11#issuecomment-4383727923\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/11#issuecomment-4383727923\\nTitle: \\nBody:\\n[vc]: #s/imua7DzzvyR9r84U8YBEi+/puD+TeJJN2vB+KLE7Q=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2pl\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-dae2633c7a92d2c5", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 432931, "scanner": "foundry_dataset", "fingerprint": "ea378e0b7faa093978429158ac054416308e49bbef369dc831615b8e1190f564", "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": "LyndenCooke/my-phonics#10", "human_labels": ["agent_instruction_gap", "deployment_env_gap", "ui_workflow_gap"], "issue_number": "10", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-48505bd9219f0ac4", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 9, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: assumption_checks\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#10\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#10\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 9\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1, 'deployment_env_gap': 1, 'ui_workflow_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-92d9a954c33a2297\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/10\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/10\\nTitle: fix(L5.4): image-driven pivot rewrite \u2014 text re-aligned to actual art\\nBody:\\n## Summary\\n\\nImage-driven pivot rewrite of L5.4. The original text described drums/dance/fire/celebration, but the rendered images show a sunny market street with fruit stalls. This rewrite re-aligns text to the art. **Stacked on PR #6.**\\n\\n## What changed\\n\\nThe market-day belonging arc now mirrors what's actually depicted:\\n- p1-2: Lonely child by a tall door at the market\\n- p3: Sat on a step, no one notices\\n- p4: Local boy approaches and includes them\\n- p5-6: Share a melon and pear at the fruit stall\\n- p7-8: Reunion with Dad, photo, \\\"see you soon\\\"\\n\\nCultural setting (Bahian/Brazilian) preserved through art (pastel facades, clothing, food types). No foreign place names or food words in text per cultural-genericisation policy.\\n\\n## Phonics\\n\\n- 8 pages, 4\u20135 sentences each, 8\u201313 words/sentence\\n- Total **337 words** (within 280\u2013380 band)\\n- Strong focus-sound coverage: `door` (oor), `near/hear/pear/year` (ear), `pure` (ure), `\"\n  },\n  {\n    \"id\": \"github-feedback-comment-649f3c784032dc3f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/10#issuecomment-4383691826\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/10#issuecomment-4383691826\\nTitle: \\nBody:\\n[vc]: #wP7jx4tCJx0iYoDOP44ING+0j3Cq8hLyDgUA6XuVhdM=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-assumption_checks-07f8ed3afa32b411", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 457214, "scanner": "foundry_dataset", "fingerprint": "00ba261bdc9121d67cadd88df30aebcdfecfffd25ae2641d38d3fdc0c2071181", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "source_or_other": 1, "deployment_env_gap": 1, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 27, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 16, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "pr_file": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#56", "issue_number": "56", "quality_tiers": {"high_confidence": 3, "weak_supervision": 1}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d7862a6238e76af8", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 5, "source_or_other": 5}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#56\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#56\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#56\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 56\nGraph consistency label: supported_by_high_confidence_link\nNodes: 16\nEdges: 27\nNode types: {'link_quality': 4, 'comment': 2, 'pr_file': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 4, 'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_touches_file': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'source_or_other': 1, 'test_or_ci': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-ca9f1c6634f89016", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 457213, "scanner": "foundry_dataset", "fingerprint": "bdf225811e5aa2361fee1964ed034899d0dd7206e41da60a9649fc58230676de", "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, "ui_or_frontend": 1, "runtime_failure": 1, "source_or_other": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 2, "comment_chain_links_commit": 2, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "pr_file": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#55", "issue_number": "55", "quality_tiers": {"high_confidence": 3, "weak_supervision": 1}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-282fb60f1bd54398", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"ui_or_frontend": 5, "source_or_other": 5}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#55\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#55\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#55\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 55\nGraph consistency label: supported_by_high_confidence_link\nNodes: 15\nEdges: 26\nNode types: {'link_quality': 4, 'comment': 2, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 4, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_touches_file': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_links_commit': 2, 'issue_chain_has_comment_chain': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'runtime_failure': 1, 'test_ci_gap': 1, 'source_or_other': 1, 'ui_or_frontend': 1, 'verification_or_tests': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-8885dd95e86eee10", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 457212, "scanner": "foundry_dataset", "fingerprint": "ee52098a4de93f8427183d7c5a140aade6fb6474d92e192a01a581578268f322", "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": {"feature": 1, "test_ci_gap": 1, "schema_or_data": 2, "ui_or_frontend": 3, "deployment_env_gap": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 39, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 5, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "comment_chain_touches_file": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 19, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "pr_file": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#46", "issue_number": "46", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-0d9ba83e3f84f83c", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"schema_or_data": 10, "ui_or_frontend": 15}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#46\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#46\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#46\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 46\nGraph consistency label: weak_supervision_needs_review\nNodes: 19\nEdges: 39\nNode types: {'pr_file': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 10, 'thread_touches_file': 5, 'issue_chain_touches_file': 5, 'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'ui_or_frontend': 3, 'schema_or_data': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'feature': 1, 'verification_or_tests': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-0984c2999ae8e59b", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 457211, "scanner": "foundry_dataset", "fingerprint": "2c0c17b818b90bc305915489334c3c24a8025c7e64d731f282101873ef3c12c7", "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": 3, "test_ci_gap": 1, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 2, "human_feedback_general": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_unverified": 8, "ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 11, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#4", "issue_number": "4", "quality_tiers": {"weak_supervision": 6}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6fd33feb009707d9", "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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#4\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#4\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#4\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 4\nGraph consistency label: supported_by_verification_signal\nNodes: 23\nEdges: 37\nNode types: {'link_quality': 6, 'commit': 5, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 11, 'chain_has_link_quality': 6, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 4, 'bug_fix': 3, 'verification_or_tests': 2, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'claimed_resolved_with_verification_signal': 2, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 6}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-92a756fab3a686a6", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 457210, "scanner": "foundry_dataset", "fingerprint": "6d5cc0ec56e0b7b21ac12f9be9493f3016d21279eb0ec5820898df5c7e2de11a", "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": 3, "test_ci_gap": 1, "deployment_env_gap": 1, "verification_or_tests": 2, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "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_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#18", "issue_number": "18", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-edaaa1244b37b3ec", "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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#18\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#18\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#18\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 18\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 4}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-cfb0c331fa9a2aed", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 457209, "scanner": "foundry_dataset", "fingerprint": "d918130c46677d84693a9efbd541409730cfbfdaa73059b85e1bf1d3836fb813", "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": 4, "test_ci_gap": 2, "deployment_env_gap": 1, "verification_or_tests": 2, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#15", "issue_number": "15", "quality_tiers": {"weak_supervision": 5}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f8373544733c89b3", "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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#15\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#15\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#15\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 15\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 31\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 4, 'test_ci_gap': 2, 'human_reported_issue_then_verified_fix_attempt': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 5}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-2b5e6311031adfe8", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 457208, "scanner": "foundry_dataset", "fingerprint": "7746a1e3fd43094499ce273612aa61b57f59f6d3dddcb7b1739c3c16a716be28", "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_ci_gap": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "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": 14, "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, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#1", "issue_number": "1", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-cef5b11b54498b5c", "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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#1\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#1\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 1\nGraph consistency label: supported_by_verification_signal\nNodes: 12\nEdges: 14\nNode types: {'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 3, '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: {'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-7ff3b0e9d346b72f", "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": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/test_ci_gap_after_feedback", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452601, "scanner": "foundry_dataset", "fingerprint": "424486184cd2ea766adad03f6d1378bc94c1ac831feda6b7ca23c33616c9e7fc", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "ui_workflow_gap": 1, "deployment_env_gap": 1, "positive_human_signal": 1, "verification_or_tests": 2, "data_schema_persistence": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 2, "ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 14, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 25, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#8", "issue_number": "8", "quality_tiers": {"weak_supervision": 6}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-dc578729da27b167", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#8\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#8\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#8\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 8\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 40\nNode types: {'commit': 7, 'link_quality': 6, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 14, 'chain_has_link_quality': 6, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_with_verification_signal': 4, 'human_reported_issue_then_verified_fix_attempt': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'deployment_env_gap': 1, 'positive_human_signal': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8, 'claimed_resolved_unverified': 2, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 6}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-651d54d537e19440", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452600, "scanner": "foundry_dataset", "fingerprint": "e9ff0e9963e3b106e3bab4ff54556c90fec49398d08650501c13c9f03b764135", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 3, "deployment_env_gap": 1, "generated_provenance": 3, "agent_instruction_gap": 1, "verification_or_tests": 2, "human_feedback_general": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 8, "ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 14, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 26, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#6", "issue_number": "6", "quality_tiers": {"high_confidence": 6}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-4d4996ffd660e99d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#6\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#6\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#6\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 6\nGraph consistency label: supported_by_verification_signal\nNodes: 26\nEdges: 40\nNode types: {'commit': 8, 'link_quality': 6, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 14, 'chain_has_link_quality': 6, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 4, 'bug_fix': 3, 'generated_provenance': 3, 'human_reported_issue_then_fix_attempt': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'ambiguous_needs_more_evidence': 2, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'high_confidence': 6}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-ade6d63f5a17b533", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452599, "scanner": "foundry_dataset", "fingerprint": "78504d9fbcd5ec0c7b6c9d9df70e4150b722c63d412554a15022a1cefb8b8efe", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 1, "test_or_ci": 1, "ui_or_frontend": 2, "source_or_other": 43, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 2, "human_feedback_general": 2, "data_schema_persistence": 1, "unlinked_human_feedback": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "ambiguous_needs_more_evidence": 2, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"not_resolved_or_not_observed": 8, "ambiguous_needs_more_evidence": 4, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 152, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 4, "thread_touches_file": 46, "thread_has_pr_review": 1, "chain_has_link_quality": 7, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 5, "comment_chain_links_commit": 3, "comment_chain_touches_file": 60, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 70, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 4, "pr_file": 46, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 5}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#58", "issue_number": "58", "quality_tiers": {"unresolved": 4, "weak_supervision": 3}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-ed586401923c1807", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "ui_or_frontend": 16, "source_or_other": 344}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#58\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#58\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#58\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 58\nGraph consistency label: supported_by_verification_signal\nNodes: 70\nEdges: 152\nNode types: {'pr_file': 46, 'link_quality': 7, 'comment_chain': 5, 'comment': 4, 'commit': 3, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 60, 'thread_touches_file': 46, 'issue_chain_touches_file': 12, 'chain_has_link_quality': 7, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'thread_has_comment': 4, 'comment_chain_links_commit': 3, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'source_or_other': 43, 'not_resolved_or_not_observed': 4, 'human_feedback_general': 2, 'ui_or_frontend': 2, 'verification_or_tests': 2, 'human_reported_issue_no_linked_fix': 2, 'unlinked_human_feedback': 2, 'ambiguous_needs_more_evidence': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'api_integration_gap': 1, 'test_or_ci': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 8, 'ambiguous_needs_more_evidence': 4, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'unresolved': 4, 'weak_supervision': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-b494b4f811583dcb", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452598, "scanner": "foundry_dataset", "fingerprint": "9a4d38b25dcf5a36971836ed9431f2621bad1412c798cb9cd433f13f33795009", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"feature": 1, "data_schema": 2, "schema_or_data": 1, "ui_or_frontend": 5, "deployment_env_gap": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "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": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 45, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 6, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 6, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "pr_file": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#53", "issue_number": "53", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-32f24fc4f6f69c0e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"schema_or_data": 5, "ui_or_frontend": 25}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#53\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#53\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#53\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 53\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 45\nNode types: {'pr_file': 6, 'commit': 4, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 12, 'thread_touches_file': 6, 'issue_chain_touches_file': 6, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ui_or_frontend': 5, 'claimed_resolved_with_verification_signal': 3, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'schema_or_data': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'feature': 1, 'verification_or_tests': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-903f86584db63f37", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452597, "scanner": "foundry_dataset", "fingerprint": "f80b66891945d4950547f8df20173aed283d198d5b8470c68fdb62c501f3b423", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"feature": 1, "data_schema": 2, "schema_or_data": 1, "ui_or_frontend": 1, "deployment_env_gap": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "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": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 29, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "pr_file": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#52", "issue_number": "52", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-90b76ef8f622039b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"schema_or_data": 5, "ui_or_frontend": 5}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#52\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#52\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#52\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 52\nGraph consistency label: supported_by_verification_signal\nNodes: 18\nEdges: 29\nNode types: {'commit': 4, 'link_quality': 4, 'comment': 2, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'comment_chain_touches_file': 4, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_touches_file': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 3, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'ui_or_frontend': 1, 'schema_or_data': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'feature': 1, 'verification_or_tests': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-6cc5a2ef0f41cfcb", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452596, "scanner": "foundry_dataset", "fingerprint": "81a9f61a3179fcd9b95d44387ca1f8e375c34ae772b03a4c7dbdc0d260a3d3d7", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"feature": 1, "schema_or_data": 1, "ui_or_frontend": 4, "ui_workflow_gap": 1, "deployment_env_gap": 1, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 5, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 2, "comment_chain_links_commit": 4, "comment_chain_touches_file": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 2, "pr_file": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#51", "issue_number": "51", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-ea2410c34a97430b", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"schema_or_data": 5, "ui_or_frontend": 20}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#51\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#51\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#51\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 51\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 40\nNode types: {'pr_file': 5, 'link_quality': 4, 'commit': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 10, 'thread_touches_file': 5, 'issue_chain_touches_file': 5, 'comment_chain_links_commit': 4, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ui_or_frontend': 4, 'ambiguous_needs_more_evidence': 4, 'comment_has_related_commit_context': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'ui_workflow_gap': 1, 'deployment_env_gap': 1, 'schema_or_data': 1, 'feature': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-d541f21f07d7b0ed", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452595, "scanner": "foundry_dataset", "fingerprint": "0d74306ea51076e7cbd2ee6bbfdc208fb79bfc1f5d7cfc97b8b206cc7ba9b363", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 3, "deployment_env_gap": 1, "verification_or_tests": 2, "data_schema_persistence": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "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": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#5", "issue_number": "5", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-cd1e83b0cb2f4083", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#5\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#5\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#5\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 5\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-40dfd75f4cc92b8f", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452594, "scanner": "foundry_dataset", "fingerprint": "5153ee39b107be4a574cb8e099393e48b06a97363fc3dc940ce084fc917c51e6", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "schema_or_data": 3, "ui_or_frontend": 7, "runtime_failure": 1, "deployment_env_gap": 1, "verification_or_tests": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "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": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 62, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 10, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 10, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 27, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 10, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#49", "issue_number": "49", "quality_tiers": {"high_confidence": 3, "weak_supervision": 1}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-9b72e86122b2e94b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"schema_or_data": 15, "ui_or_frontend": 35}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#49\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#49\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#49\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 49\nGraph consistency label: supported_by_verification_signal\nNodes: 27\nEdges: 62\nNode types: {'pr_file': 10, 'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 20, 'thread_touches_file': 10, 'issue_chain_touches_file': 10, 'comment_chain_links_commit': 6, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ui_or_frontend': 7, 'bug_fix': 4, 'schema_or_data': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'runtime_failure': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-f8cae40282681ccb", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452593, "scanner": "foundry_dataset", "fingerprint": "99498d132dae55879d6f8cbdcfc07609717cb3825d91692763cdaa33464ce69d", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"feature": 1, "test_ci_gap": 1, "schema_or_data": 2, "ui_or_frontend": 3, "deployment_env_gap": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 39, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 5, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "comment_chain_touches_file": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 19, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "pr_file": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#46", "issue_number": "46", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-f751b2d2045ef276", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {"schema_or_data": 10, "ui_or_frontend": 15}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: weak_supervision_needs_review\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#46\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#46\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#46\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 46\nGraph consistency label: weak_supervision_needs_review\nNodes: 19\nEdges: 39\nNode types: {'pr_file': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 10, 'thread_touches_file': 5, 'issue_chain_touches_file': 5, 'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 4, 'ui_or_frontend': 3, 'schema_or_data': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'deployment_env_gap': 1, 'feature': 1, 'verification_or_tests': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-c22979289b98106f", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452592, "scanner": "foundry_dataset", "fingerprint": "fe72a8b63efd68d4c8d67f393fb02b2142f67291edc98a939419b40f3e54fa15", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 1, "feature": 1, "data_schema": 4, "schema_or_data": 2, "ui_or_frontend": 7, "deployment_env_gap": 1, "api_integration_gap": 1, "security_auth_secret": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 2, "comment_has_related_commit_context": 2, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 8, "ambiguous_needs_more_evidence": 4}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 89, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 3, "thread_touches_file": 9, "thread_has_pr_review": 1, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 9, "thread_has_comment_chain": 4, "comment_chain_links_commit": 9, "comment_chain_touches_file": 36, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 33, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "pr_file": 9, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#45", "issue_number": "45", "quality_tiers": {"high_confidence": 3, "weak_supervision": 3}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-90602c885a4f214a", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"schema_or_data": 14, "ui_or_frontend": 49}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_high_confidence_link\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#45\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#45\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#45\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 45\nGraph consistency label: supported_by_high_confidence_link\nNodes: 33\nEdges: 89\nNode types: {'pr_file': 9, 'commit': 6, 'link_quality': 6, 'comment_chain': 4, 'comment': 3, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 36, 'thread_touches_file': 9, 'comment_chain_links_commit': 9, 'issue_chain_touches_file': 9, 'chain_has_link_quality': 6, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'thread_has_comment': 3, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ui_or_frontend': 7, 'data_schema': 4, 'claimed_resolved_unverified': 4, 'schema_or_data': 2, 'human_reported_issue_then_fix_attempt': 2, 'comment_has_related_commit_context': 2, 'ambiguous_needs_more_evidence': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'security_auth_secret': 1, 'api_integration_gap': 1, 'feature': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'ambiguous_needs_more_evidence': 4}\nQuality tiers: {'weak_supervision': 3, 'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-ad2666179be74f02", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452591, "scanner": "foundry_dataset", "fingerprint": "d8eb8e05f5e17c3426b786ced798c059d095d00728800091bf32d6208f48e92c", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 2, "ui_or_frontend": 12, "deployment_env_gap": 1, "api_integration_gap": 1, "verification_or_tests": 2, "data_schema_persistence": 2, "claimed_resolved_unverified": 5, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 10, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 106, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 3, "thread_touches_file": 12, "thread_has_pr_review": 1, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 4, "comment_chain_links_commit": 8, "comment_chain_touches_file": 48, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 34, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 3, "pr_file": 12, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#44", "issue_number": "44", "quality_tiers": {"high_confidence": 4, "weak_supervision": 2}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-56f694f1a8ebd209", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"ui_or_frontend": 84}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#44\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#44\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#44\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 44\nGraph consistency label: supported_by_verification_signal\nNodes: 34\nEdges: 106\nNode types: {'pr_file': 12, 'link_quality': 6, 'comment_chain': 4, 'commit': 4, 'comment': 3, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 48, 'thread_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 8, 'chain_has_link_quality': 6, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'thread_has_comment': 3, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ui_or_frontend': 12, 'claimed_resolved_unverified': 5, 'human_reported_issue_then_fix_attempt': 3, 'data_schema_persistence': 2, 'bug_fix': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 10, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'high_confidence': 4, 'weak_supervision': 2}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-a1e12aea715e7812", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452590, "scanner": "foundry_dataset", "fingerprint": "01a252b2e4628cd603d2a50a7c15a1c95d02ab156439b71b95007ee455f916b3", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "deployment_env_gap": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "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": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#35", "issue_number": "35", "quality_tiers": {"high_confidence": 3, "weak_supervision": 1}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-15d03f1e4e501614", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#35\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#35\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#35\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 35\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 23\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 7, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-d366f75505989949", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452589, "scanner": "foundry_dataset", "fingerprint": "1b7af73876a8dcb6d876ea837506ecda5363db55f05356e339d3eff38ced2757", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "deployment_env_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 5, "human_reported_issue_then_verified_fix_attempt": 3}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 10}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 32, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 11, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#33", "issue_number": "33", "quality_tiers": {"high_confidence": 4, "weak_supervision": 1}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-42a4c4652694b409", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#33\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#33\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#33\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 33\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 32\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 11, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 5, 'bug_fix': 4, 'human_reported_issue_then_verified_fix_attempt': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'security_auth_secret': 1, 'verification_or_tests': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 10}\nQuality tiers: {'high_confidence': 4, 'weak_supervision': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-86517da3198c9ae5", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452588, "scanner": "foundry_dataset", "fingerprint": "7c024e82e6c3cea2789ec14cbfb573fb7ccbd97da1e425aa9c4198076a483fae", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "deployment_env_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 2, "data_schema_persistence": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#32", "issue_number": "32", "quality_tiers": {"weak_supervision": 5}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-3e2892ad9d937745", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#32\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#32\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#32\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 32\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 31\nNode types: {'commit': 7, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 4, 'human_reported_issue_then_fix_attempt': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'security_or_secrets': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 5}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-9e6635351be56885", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452587, "scanner": "foundry_dataset", "fingerprint": "bb3a9af5f7d6ac2baa0427121fbf133c952d19b372df8dc67bf06989199d2ae6", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "deployment_env_gap": 1, "verification_or_tests": 2, "human_feedback_general": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 1, "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": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 2, "ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#31", "issue_number": "31", "quality_tiers": {"weak_supervision": 5}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-08f8c67906dbc3ad", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#31\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#31\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#31\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 31\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 31\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 5}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-e81c8026e487d5c7", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452586, "scanner": "foundry_dataset", "fingerprint": "6362bde24f62c9afbf153671a396b5042d0ada7214fc02072654ab40e40ee056", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "deployment_env_gap": 1, "security_auth_secret": 1, "verification_or_tests": 1, "human_feedback_general": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 8, "ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 38, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 24, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#30", "issue_number": "30", "quality_tiers": {"high_confidence": 3, "weak_supervision": 3}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-229dc2c76f6b63d7", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#30\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#30\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#30\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 30\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 38\nNode types: {'commit': 6, 'link_quality': 6, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 12, 'chain_has_link_quality': 6, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 4, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'ambiguous_needs_more_evidence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'ambiguous_needs_more_evidence': 2, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 3, 'high_confidence': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-ef855446f44f36d3", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452585, "scanner": "foundry_dataset", "fingerprint": "e708f1e742b43468e7df38583cac92f5009dcd6e5a70029c34a877a7eb28303e", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 5, "deployment_env_gap": 1, "verification_or_tests": 1, "human_feedback_general": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 1, "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": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 2, "ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#28", "issue_number": "28", "quality_tiers": {"weak_supervision": 5}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-1d398ee443efec2b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#28\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#28\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#28\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 28\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 31\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 5}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-dcff6b7936b06979", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452584, "scanner": "foundry_dataset", "fingerprint": "669e016576f50f68fa4209fad6f975337581d95ea2db8c0b1c84733e46507743", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 3, "ui_workflow_gap": 2, "deployment_env_gap": 1, "verification_or_tests": 3, "data_schema_persistence": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 5, "human_reported_issue_then_verified_fix_attempt": 3}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 10}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 39, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 13, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 24, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#27", "issue_number": "27", "quality_tiers": {"weak_supervision": 6}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-f1ddcf67a2105888", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#27\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#27\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#27\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 27\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 39\nNode types: {'commit': 6, 'link_quality': 6, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 13, 'chain_has_link_quality': 6, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 5, 'human_reported_issue_then_verified_fix_attempt': 3, 'verification_or_tests': 3, 'bug_fix': 3, 'ui_workflow_gap': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 10, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 6}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-02fb716ad5b93405", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452583, "scanner": "foundry_dataset", "fingerprint": "26517f035a672cc902b3fb4001e5721f83f75eb7c378527d12608353b485108c", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "deployment_env_gap": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "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": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#25", "issue_number": "25", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-88388eeae73b2e12", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#25\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#25\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#25\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 25\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-3d676ea2dfd727c4", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_schema_ui_api_gap", "level": "error", "message": {"text": "Foundry mined schema ui api mismatch: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 452582, "scanner": "foundry_dataset", "fingerprint": "a0d9b08c3f50d18ff4bbafb9612083e075b67209d1bbdf86e060a6026ad8ebac", "category": "quality", "severity": "high", "confidence": 0.76, "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": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 3, "data_schema": 1, "deployment_env_gap": 1, "verification_or_tests": 2, "data_schema_persistence": 2, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#24", "issue_number": "24", "quality_tiers": {"weak_supervision": 5}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-79db5b343c5283fc", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Schema, UI, and API mismatch\nQuery id: schema_ui_api_mismatch\nQuery type: motif_query\nIntent: Assumption-check examples for data-path consistency across layers.\nMotif: schema_ui_api_mismatch\nTraining usage: assumption_check\nGraph gold label: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#24\nEvidence:\nGraph motif: Schema, UI, and API evidence do not line up\nMotif id: schema_ui_api_mismatch\nPolarity: bad\nTraining usage: assumption_check\nSeverity: high\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#24\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#24\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 24\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 31\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 4, 'bug_fix': 3, 'data_schema_persistence': 2, 'human_reported_issue_then_verified_fix_attempt': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'data_schema': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 5}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-51f4d070674ec86c", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/schema_ui_api_mismatch/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 441126, "scanner": "foundry_dataset", "fingerprint": "1ef110a9f4e827ffcf78d90b1ac48b2b9f0909d04c354518c9f843c5903c6f80", "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": "LyndenCooke/my-phonics#58", "human_labels": ["api_integration_gap", "data_schema_persistence", "deployment_env_gap", "human_feedback_general", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "58", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.59, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a98c23f631d3faeb", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 46, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "ui_or_frontend": 2, "source_or_other": 43}, "linked_commit_count": 3, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: bad_chains\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#58\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#58\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 5\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 46\nLabels: {'data_schema_persistence': 1, 'deployment_env_gap': 1, 'human_feedback_general': 2, 'api_integration_gap': 1}\nPolarities: {'bad': 3, 'neutral': 2}\nChanged file labels: {'source_or_other': 43, 'test_or_ci': 1, 'ui_or_frontend': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-dc327027e8321726\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/58\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/58\\nTitle: 8-level realignment + school-domain preview\\nBody:\\n## What this does\\n\\nRealigns the 33 storybooks from **6 \u2192 8 levels** per the v2.1 Curriculum Ledger, and stages the regenerated 8-level books on the **school domain** for preview/video recording \u2014 **without touching the live public site**.\\n\\n### Book pipeline (8-level)\\n- Old \\\"Level 1\\\" (10 books) splits into **L1 Ditties / L2 First Sounds / L3 Special Friends**; old L2\u2013L6 shift to **L4\u2013L8**.\\n- 8 colours + names + page-2 cumulative boundaries (`generate_book.py`, `v2_helpers.py`).\\n- New ids map to original story/image assets via `NEW_TO_OLD` (`generate_pilot_books.py`).\\n- Data files regenerated to 8 levels (6-level versions backed up to `*.6level.bak`).\\n\\n### School preview (isolated, public site untouched)\\n- 33 regenerated 8-level PDFs (A5 + A4) + covers staged under **school-only `s8_` storage keys** \u2014 the public site never requests these keys.\\n- School library gets a **\\\"View book\\\"** button that opens each 8-level PDF in a new tab; covers + d\"\n  },\n  {\n    \"id\": \"github-feedback-comment-f1bf7c14f9e7b90c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/58#issuecomment-4662259175\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/58#issuecomment-4662259175\\nTitle: \\nBody:\\n[vc]: #AQwWcd2+l05+FUBfi8Ae55BZvHid8z82CDRklLUGTZM=:eyJp\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-bad_chains-52a5b1681524b1a2", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 441125, "scanner": "foundry_dataset", "fingerprint": "980397b735dc85b04c2749eef310f6ac4b5dd410dbe3ce0f4aee8046a39238bf", "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": "LyndenCooke/my-phonics#50", "human_labels": ["deployment_env_gap", "mock_placeholder", "ui_or_frontend"], "issue_number": "50", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.86, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-1792c955d8dd0e0d", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"ui_or_frontend": 1}, "linked_commit_count": 5, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: bad_chains\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#50\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#50\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'mock_placeholder': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'ui_or_frontend': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-46a5d9537ff831af\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/50\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/50\\nTitle: feat(school): redesign the school marketing page\\nBody:\\nThe school landing page was \\\"just boxes\\\" \u2014 content-rich but visually flat, no imagery or colour, didn't show what the product *is*. This rebuilds it for visual impact:\\n\\n- **Gradient hero** + floating **book-cover collage** (real covers, level-coloured spines)\\n- **The 8-level journey** rendered in its actual level colours (name, age range, sounds)\\n- Colourful headline stats; **\\\"three kinds of book\\\"** with real cover imagery\\n- A dark **dashboard preview** mocking the by-level phonics-groups board \u2014 so heads see it's a teaching *system*\\n- Colour-coded how-it-works + feature grid; gradient closing CTA\\n\\nPure presentation \u2014 same data via `programmeTotals()` + `SCHOOL_LEVELS`. Typecheck + lint clean.\\n\\nReview on the Vercel preview. This is what `/school` (and the landing fork's \\\"For Schools\\\" button) will show.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-d9feff5e4c628260\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/50#issuecomment-4625730408\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/50#issuecomment-4625730408\\nTitle: \\nBody:\\n[vc]: #Kf2450ZMTXgNGqkTNdm3UBal1W+JDKMo8jeoK20TGjA=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZTk1YWl5WG90blR6bEtaOGhkM1pLIiwiaW5zcGVjdG9yVXJsIjoiaHR0cHM6Ly92ZXJjZWwuY29tL2x\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-bad_chains-408a5c87ba1c6731", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 441124, "scanner": "foundry_dataset", "fingerprint": "f6909eb4eea90db5144d428260ab5dfb18da9023dc67db2a7826fc49896943a3", "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": "LyndenCooke/my-phonics#23", "human_labels": ["deployment_env_gap", "mock_placeholder"], "issue_number": "23", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-e8d99b0ced6fbd3f", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 6, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: bad_chains\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#23\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#23\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-209e6b541bb61c31\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/23\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/23\\nTitle: fix: PDF download actually saves + Download History shows real downloads\\nBody:\\n## Problem\\nTapping **Download** on a book toasted \\\\\\\"downloading\\\\\\\" and dropped a notification, but **no file was ever saved to disk** and the \\\\\\\"View\\\\\\\" CTA pointed to a Download History page that couldn't show the download anyway.\\n\\nTwo stacked bugs:\\n\\n### 1. `window.open` is silently popup-blocked\\n\\\\`handleDownloadBook\\\\` in \\\\`Index.tsx\\\\` did:\\n\\\\`\\\\`\\\\`ts\\nconst { data: { session } } = await supabase.auth.getSession();\\nconst res = await fetch(\\\\`...generate-pdf-download\\\\`, ...);\\nconst data = await res.json();\\nwindow.open(data.url, '_blank', 'noopener'); // \u2b05 blocked\\n\\\\`\\\\`\\\\`\\nAfter a chain of \\\\`await\\\\`s the gesture trust is gone, so Safari, Chrome, and any installed PWA quietly refuse to open the new tab. JS keeps running, so the success toast and notification still fire \u2014 making it look like everything worked.\\n\\n### 2. Download History showed the wrong table\\n\\\\`/profile/downloads\\\\` reads from \\\\`usePurchases()\\\\` (the \\\\`purchases\\\\` t\"\n  },\n  {\n    \"id\": \"github-feedback-comment-2fdc89bb468c5369\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/23#issuecomment-4470407807\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/23#issuecomment-4470407807\\nTitle: \\nBody:\\n[vc]: #745Jd4KJqyA9O8T8lfTskTWIMDllGgD9/V8dkqVbKGc=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xW\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-bad_chains-4727b137bf199606", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 441123, "scanner": "foundry_dataset", "fingerprint": "a79f25e476978e9bd8daf38c0ba74d3102f21ba8e13ac0b9e1c2e788fd2a20e1", "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": "LyndenCooke/my-phonics#21", "human_labels": ["deployment_env_gap", "mock_placeholder", "ui_workflow_gap"], "issue_number": "21", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-6288c6e1bf6211f3", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 9, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: bad_chains\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#21\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#21\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 9\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'deployment_env_gap': 1, 'ui_workflow_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-fc595140c7702332\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/21\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/21\\nTitle: feat: categorise Resources page (sound mats + L1-L6 worksheets)\\nBody:\\n## Summary\\n- Adds a sticky chip-nav at the top of /resources with anchor links per category\\n- URL structure is now `#sound-mats`, `#level-1-worksheets` ... `#level-6-worksheets` \u2014 ready for sharing / SEO targeting\\n- Sound mats section is untouched (already populated)\\n- Each worksheet level shows a \\\"Coming soon\\\" placeholder card until printables land in `/public`\\n\\n## Why\\nResources is the highest-intent organic-traffic surface we have. Giving each level its own anchor + visual section means we can publish per-level worksheet pages incrementally and link to them externally \u2014 rather than having one undifferentiated \\\"Resources\\\" page that's hard to point at.\\n\\n## Test plan\\n- [ ] /resources renders the chip-nav at top, sticky on scroll\\n- [ ] Click each chip \u2192 scrolls to the matching section with header visible (scroll-mt-32)\\n- [ ] Sound mats section still downloads PNGs on click\\n- [ ] Each worksheet section shows the \\\"Coming soon\\\" pla\"\n  },\n  {\n    \"id\": \"github-feedback-comment-f06a1463810f9595\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/21#issuecomment-4468390662\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/21#issuecomment-4468390662\\nTitle: \\nBody:\\n[vc]: #tdBIF47u+hX8GKPE/vmRsdvGvE8cDEYt0vx9uICQmTM=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFa\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-bad_chains-f49a0c029c38881b", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 441122, "scanner": "foundry_dataset", "fingerprint": "594519971e43b16a365805a4a1ff4b03f6266ef296d789001da4ad8e622dd86a", "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": "LyndenCooke/my-phonics#20", "human_labels": ["deployment_env_gap", "mock_placeholder", "ui_workflow_gap"], "issue_number": "20", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-002ea2936a47ad6a", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 9, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: bad_chains\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#20\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#20\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 9\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'deployment_env_gap': 1, 'ui_workflow_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f6a851cbb9ad9175\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/20\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/20\\nTitle: feat: download notifications + Profile For You wired to real data\\nBody:\\n## Problem\\nWhen a parent tapped \\\"Tap to download\\\" on a book, the PDF opened in a new browser tab and the browser handled the save \u2014 but there was no in-app feedback afterwards. They'd forget which book they grabbed, and the Profile bottom-nav badge slot was wired to a stub that always returned 0.\\n\\nThe \\\"For You\\\" section in Profile was also showing three hardcoded items that linked nowhere (the \\\"Invite a friend / Watch tip / Bonus story\\\" placeholders).\\n\\n## Fix\\nA small localStorage-backed notification store, with three new behaviours:\\n\\n1. **Download success \u2192 notification pushed.** `handleDownloadBook` in `Index.tsx` calls `addNotification` after `window.open(data.url)`. CTA goes to `/profile/downloads`.\\n\\n2. **Profile bottom-nav badge lights up.** `Layout.tsx` swaps the stub for `useNotifications().unreadCount`, so the moment a download fires the red dot appears on the Profile tab.\\n\\n3. **Profile \\\"For You\\\" is now the notificatio\"\n  },\n  {\n    \"id\": \"github-feedback-comment-7f1696a9e1851ec7\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/20#issuecomment-4467691782\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/20#issuecomment-4467691782\\nTitle: \\nBody:\\n[vc]: #MCH3BVoO8lvCbSv609KfHgMPV8vT6rZcdddvnsYC6LM=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDF\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-bad_chains-7ec923902d2b35a0", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 441121, "scanner": "foundry_dataset", "fingerprint": "d0e2df81362346b27e08b8afb1d5178d09363c1dc5d6c14ab15fe998aada2e62", "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": "LyndenCooke/my-phonics#17", "human_labels": ["deployment_env_gap", "mock_placeholder", "ui_workflow_gap"], "issue_number": "17", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-4f9b1d3c28e40427", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 11, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: bad_chains\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#17\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#17\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 11\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'deployment_env_gap': 1, 'ui_workflow_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c45901c5e914b228\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/17\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/17\\nTitle: restructure: library-first funnel \u2014 kill landing, unlock first books, new nav, /resources, CRM analytics panel\\nBody:\\n## Summary\\nPivot to a **library-first funnel** in response to 500+ Egypt LPVs with 0 signups: kill the landing page as the default destination, send everyone straight into `/library`, and unlock the first book of every level so anonymous visitors can read on the first paint. Adds a `/resources` page, drops Assess + Pricing from primary nav, and surfaces external analytics tools in the admin CRM.\\n\\n## What changed\\n\\n**Routing**\\n- `/` \u2192 redirects to `/library` (web, PWA, native \u2014 no more `ConditionalHome`)\\n- LandingPage demoted to lazy + accessible at `/landing` for ad-specific campaigns\\n- New `/resources` route\\n\\n**Library**\\n- L1.1, L2.1, L3.1, L4.1, L5.1, L6.1 marked `is_free_sample = true` in both the local catalog and a new Supabase migration (`20260515000000_unlock_first_books_per_level.sql`)\\n- Anonymous visitors can now read those six books without signing up\\n- Download button (e\"\n  },\n  {\n    \"id\": \"github-feedback-comment-fdd6c7c9cd5f796a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/17#issuecomment-4462515471\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/17#issuecomment-4462515471\\nTitle: \\nBody:\\n[vc]: #sd/OxLwWYqrgrnqcXOzXpIX7yD4JtY6K014VxCDUeSw=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHhJZ\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-bad_chains-dc6c4d7af8b3a818", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 441120, "scanner": "foundry_dataset", "fingerprint": "b68d32ea3e85d1241752b8fe7b38216d06b11075f7a0da05c09cfaccdf5291cd", "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": "LyndenCooke/my-phonics#16", "human_labels": ["deployment_env_gap", "mock_placeholder", "ui_workflow_gap"], "issue_number": "16", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-4dae70dc33cb9ae6", "helicopter_views": {"graphs": 2, "schemas": 2}, "artifact_families": {"docs": 7, "schemas": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 11, "helicopter_view_count": 4, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 1}, "text": "Comment chain pattern product: bad_chains\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#16\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: LyndenCooke/my-phonics#16\nRepo: LyndenCooke/my-phonics\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 11\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1, 'deployment_env_gap': 1, 'ui_workflow_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-21f5df5691aadd12\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/16\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: LyndenCooke/my-phonics\\nAuthor: LyndenCooke (User)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/16\\nTitle: analytics: install Microsoft Clarity, scaffold Meta Pixel\\nBody:\\n## Summary\\n- Microsoft Clarity wired in `index.html` (project `wrmgoeh5fq`) \u2014 session recordings + heatmaps for live traffic\\n- Meta Pixel snippet present but **inert** until `window.__META_PIXEL_ID` is set with the real 15-digit ID (placeholder is empty string, so the loader IIFE doesn't run)\\n- New `useMetaPixel` hook mirrors `useGoogleAnalytics` \u2014 fires `fbq('track', 'PageView')` on every React Router navigation so Meta sees in-funnel events, not one event per session\\n\\n## Context\\nEgypt Meta ads have done 500+ LPVs with 0 signups. GA only tells us *which page* they hit; we need to *watch* what they do on those pages to understand the dropoff. Clarity gives that for free.\\n\\n## What's still TODO\\nOnce a Meta Pixel ID exists in Events Manager (Data Sets), replace the empty string in `index.html` (`window.__META_PIXEL_ID = \\\"\\\"`) and the snippet activates.\\n\\n## Test plan\\n- [ ] Merge \u2192 Vercel deploys\\n- [ ] Visit prod, open DevTools Network ta\"\n  },\n  {\n    \"id\": \"github-feedback-comment-5617774aa41b0adf\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/LyndenCooke/my-phonics/pull/16#issuecomment-4462444939\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: LyndenCooke/my-phonics\\nAuthor: vercel[bot] (Bot)\\nURL: https://github.com/LyndenCooke/my-phonics/pull/16#issuecomment-4462444939\\nTitle: \\nBody:\\n[vc]: #ecyQf74t+ZJXz7w36oS78JM8uwYIWLeyifaOw0uCpNo=:eyJpc01vbm9yZXBvIjp0cnVlLCJ0eXBlIjoiZ2l0aHViIiwicHJvamVjdHMiOlt7Im5hbWUiOiJteXBob25pY3Nib29rcyIsInByb2plY3RJZCI6InByal9xWDFacHh\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "comment-chain-pattern-bad_chains-12c9ccfd82bfef16", "synthetic": false, "gold_label": "", "graph_label": "source_backed_multi_signal_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": "LyndenCooke/my-phonics", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 454696, "scanner": "foundry_dataset", "fingerprint": "60afe7bb511d1a019f112ac5f965abc6544d5316fe2d2ddcca3260088a0e5f93", "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": {"bug_fix": 3, "ui_workflow_gap": 3, "deployment_env_gap": 1, "security_auth_secret": 1, "verification_or_tests": 3, "claimed_resolved_unverified": 5, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 2, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 10, "claimed_resolved_with_verification_signal": 4}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 46, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 5, "chain_has_link_quality": 7, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 5, "comment_chain_links_commit": 15, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 27, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 5}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#9", "issue_number": "9", "quality_tiers": {"weak_supervision": 7}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-dd221521c79e3bc4", "graph_gold_label": "supported_by_verification_signal", "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: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#9\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#9\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#9\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 9\nGraph consistency label: supported_by_verification_signal\nNodes: 27\nEdges: 46\nNode types: {'link_quality': 7, 'commit': 6, 'comment': 5, 'comment_chain': 5, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 15, 'chain_has_link_quality': 7, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 5, 'ui_workflow_gap': 3, 'verification_or_tests': 3, 'bug_fix': 3, 'human_reported_issue_then_fix_attempt': 3, 'human_reported_issue_then_verified_fix_attempt': 2, 'claimed_resolved_with_verification_signal': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'security_auth_secret': 1}\nOutcomes: {'claimed_resolved_unverified': 10, 'claimed_resolved_with_verification_signal': 4}\nQuality tiers: {'weak_supervision': 7}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-0277f7527e120b86", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 454695, "scanner": "foundry_dataset", "fingerprint": "f550350b24b584253d7cb752b136a1b29a25180a8a8ca8fb2dcc9fbdabbd2b0a", "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": {"bug_fix": 1, "feature": 1, "data_schema": 4, "schema_or_data": 2, "ui_or_frontend": 7, "deployment_env_gap": 1, "api_integration_gap": 1, "security_auth_secret": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 2, "comment_has_related_commit_context": 2, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 8, "ambiguous_needs_more_evidence": 4}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 89, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 3, "thread_touches_file": 9, "thread_has_pr_review": 1, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 9, "thread_has_comment_chain": 4, "comment_chain_links_commit": 9, "comment_chain_touches_file": 36, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 33, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "pr_file": 9, "pr_review": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#45", "issue_number": "45", "quality_tiers": {"high_confidence": 3, "weak_supervision": 3}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-06ff466a9b434f4d", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"schema_or_data": 14, "ui_or_frontend": 49}}, "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: supported_by_high_confidence_link\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#45\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#45\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#45\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 45\nGraph consistency label: supported_by_high_confidence_link\nNodes: 33\nEdges: 89\nNode types: {'pr_file': 9, 'commit': 6, 'link_quality': 6, 'comment_chain': 4, 'comment': 3, 'thread': 1, 'repo': 1, 'pr_review': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_touches_file': 36, 'thread_touches_file': 9, 'comment_chain_links_commit': 9, 'issue_chain_touches_file': 9, 'chain_has_link_quality': 6, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'thread_has_comment': 3, 'repo_has_thread': 1, 'thread_has_pr_review': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ui_or_frontend': 7, 'data_schema': 4, 'claimed_resolved_unverified': 4, 'schema_or_data': 2, 'human_reported_issue_then_fix_attempt': 2, 'comment_has_related_commit_context': 2, 'ambiguous_needs_more_evidence': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'security_auth_secret': 1, 'api_integration_gap': 1, 'feature': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'ambiguous_needs_more_evidence': 4}\nQuality tiers: {'weak_supervision': 3, 'high_confidence': 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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-6257c1e8acbea548", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 454694, "scanner": "foundry_dataset", "fingerprint": "ad68ae0013b983eea7367b43479289d2e95dd6986a030002aa55cfb7c99c85e0", "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": {"bug_fix": 5, "ui_or_frontend": 2, "deployment_env_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 8}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 32, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 2, "comment_chain_links_commit": 8, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 2, "pr_file": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#39", "issue_number": "39", "quality_tiers": {"high_confidence": 3, "weak_supervision": 1}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-8580240d1ff6f8c6", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"ui_or_frontend": 10}}, "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: supported_by_high_confidence_link\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#39\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#39\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#39\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 39\nGraph consistency label: supported_by_high_confidence_link\nNodes: 20\nEdges: 32\nNode types: {'commit': 6, 'link_quality': 4, 'comment': 2, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 8, 'comment_chain_touches_file': 4, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_touches_file': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 4, 'ui_or_frontend': 2, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'deployment_env_gap': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-654ead6e5bf0797e", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 454693, "scanner": "foundry_dataset", "fingerprint": "f7e25fa67b70c85591f759d7cd5fddc9356598f5eaa3aa3510878702599e4a6c", "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": {"bug_fix": 4, "deployment_env_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 8}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 7, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#38", "issue_number": "38", "quality_tiers": {"high_confidence": 3, "weak_supervision": 1}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b63aeb5fbd404f4c", "graph_gold_label": "supported_by_high_confidence_link", "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: supported_by_high_confidence_link\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#38\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#38\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#38\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 38\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 23\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 7, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 4, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'deployment_env_gap': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 8}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-e6f7ae3a9b17b3e3", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 454692, "scanner": "foundry_dataset", "fingerprint": "608d6ddb7c3e3e10a6f1db46630263df613ac9050d604b2cd6b1b40bf545a419", "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": {"bug_fix": 3, "deployment_env_gap": 1, "dependency_or_build": 1, "security_or_secrets": 1, "security_auth_secret": 2, "verification_or_tests": 1, "human_feedback_general": 1, "claimed_resolved_unverified": 5, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 3, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 10, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 14, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 24, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#37", "issue_number": "37", "quality_tiers": {"high_confidence": 5, "weak_supervision": 1}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-2e223dd81c0f812e", "graph_gold_label": "supported_by_high_confidence_link", "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: supported_by_high_confidence_link\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#37\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#37\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#37\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 37\nGraph consistency label: supported_by_high_confidence_link\nNodes: 24\nEdges: 40\nNode types: {'commit': 6, 'link_quality': 6, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 14, 'chain_has_link_quality': 6, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 5, 'human_reported_issue_then_fix_attempt': 3, 'bug_fix': 3, 'security_auth_secret': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'security_or_secrets': 1, 'dependency_or_build': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_unverified': 10, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 5, 'weak_supervision': 1}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-92c1dd1eeb92f22b", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 454691, "scanner": "foundry_dataset", "fingerprint": "ca5dc3b0102a0b39da905e194a5a3e79c448b13ef8c394e41248e8965804f2b1", "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": {"bug_fix": 4, "deployment_env_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 1, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 5, "human_reported_issue_then_verified_fix_attempt": 3}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 10}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 32, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 11, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#33", "issue_number": "33", "quality_tiers": {"high_confidence": 4, "weak_supervision": 1}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-7431ce52cd94f647", "graph_gold_label": "supported_by_verification_signal", "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: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#33\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#33\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#33\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 33\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 32\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 11, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_with_verification_signal': 5, 'bug_fix': 4, 'human_reported_issue_then_verified_fix_attempt': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'deployment_env_gap': 1, 'security_auth_secret': 1, 'verification_or_tests': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 10}\nQuality tiers: {'high_confidence': 4, 'weak_supervision': 1}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-74912e8f26e32a0a", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 454690, "scanner": "foundry_dataset", "fingerprint": "df8b44490daca88a682e802319009e23161d3980afd5611fc46b7348d1a235d9", "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": {"bug_fix": 4, "deployment_env_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 2, "data_schema_persistence": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#32", "issue_number": "32", "quality_tiers": {"weak_supervision": 5}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-733342d61b2d76ba", "graph_gold_label": "supported_by_verification_signal", "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: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#32\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#32\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#32\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 32\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 31\nNode types: {'commit': 7, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 4, 'human_reported_issue_then_fix_attempt': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'deployment_env_gap': 1, 'data_schema_persistence': 1, 'security_or_secrets': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 5}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-458a318af92170fb", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 454689, "scanner": "foundry_dataset", "fingerprint": "4bfc3f75975cafa45252779cc2663ded3d678e811a8f5e9e36859027e0cc8efd", "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": {"bug_fix": 5, "deployment_env_gap": 1, "security_auth_secret": 1, "verification_or_tests": 1, "human_feedback_general": 1, "data_schema_persistence": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 8, "ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 38, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "chain_has_link_quality": 6, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 24, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 4, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 4}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#30", "issue_number": "30", "quality_tiers": {"high_confidence": 3, "weak_supervision": 3}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-895ef1a7cf034922", "graph_gold_label": "supported_by_verification_signal", "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: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#30\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#30\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#30\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 30\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 38\nNode types: {'commit': 6, 'link_quality': 6, 'comment': 4, 'comment_chain': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 12, 'chain_has_link_quality': 6, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'claimed_resolved_unverified': 4, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'data_schema_persistence': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1, 'ambiguous_needs_more_evidence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'ambiguous_needs_more_evidence': 2, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 3, 'high_confidence': 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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-ac1ebe3e07d2489a", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 454688, "scanner": "foundry_dataset", "fingerprint": "fb65ffdc0345567f81fc983ca859926151e199c6b5ed65df4b8b4574d37a4ced", "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": {"bug_fix": 4, "runtime_failure": 2, "deployment_env_gap": 2, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 2, "comment_has_related_commit_context": 2, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 8, "ambiguous_needs_more_evidence": 4, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 43, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 5, "chain_has_link_quality": 7, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 5, "comment_chain_links_commit": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 27, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 5}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#12", "issue_number": "12", "quality_tiers": {"weak_supervision": 7}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-9449a3d127e628d1", "graph_gold_label": "supported_by_verification_signal", "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: supported_by_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#12\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#12\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#12\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 12\nGraph consistency label: supported_by_verification_signal\nNodes: 27\nEdges: 43\nNode types: {'link_quality': 7, 'commit': 6, 'comment': 5, 'comment_chain': 5, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 12, 'chain_has_link_quality': 7, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 4, 'deployment_env_gap': 2, 'runtime_failure': 2, 'human_reported_issue_then_fix_attempt': 2, 'comment_has_related_commit_context': 2, 'ambiguous_needs_more_evidence': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'security_or_secrets': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'ambiguous_needs_more_evidence': 4, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 7}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-569383d160e4e593", "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": "LyndenCooke/my-phonics", "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: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 450920, "scanner": "foundry_dataset", "fingerprint": "11360e5cc267c5e6902fb67c9872ddf5c0edda19b37ec8d4b3a761bc68681252", "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": {"feature": 2, "data_schema": 2, "ui_or_frontend": 1, "mock_placeholder": 1, "deployment_env_gap": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "pr_file": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#50", "issue_number": "50", "quality_tiers": {"high_confidence": 3, "weak_supervision": 1}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-26a04e9f1a54aee1", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"ui_or_frontend": 5}}, "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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#50\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#50\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#50\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 50\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 25\nNode types: {'commit': 4, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_touches_file': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'feature': 2, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'deployment_env_gap': 1, 'ui_or_frontend': 1, 'human_reported_issue_then_fix_attempt': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1}\nCI labels: {}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-5a4b805e69b541fe", "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": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 450919, "scanner": "foundry_dataset", "fingerprint": "a30dcde007fc1377ae5c19e7ea285b07cac78beee945da8fcae8f1744a4a6d4c", "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": 4, "data_schema": 1, "mock_placeholder": 1, "deployment_env_gap": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 8}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 22, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#23", "issue_number": "23", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-dec3e432e3d5c4cc", "graph_gold_label": "weak_supervision_needs_review", "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: weak_supervision_needs_review\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#23\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#23\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#23\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 23\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 22\nNode types: {'commit': 5, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 4, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'deployment_env_gap': 1, 'data_schema': 1}\nOutcomes: {'claimed_resolved_unverified': 8}\nQuality tiers: {'weak_supervision': 4}\nCI labels: {}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-1a83aa6223b2bd10", "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": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 450918, "scanner": "foundry_dataset", "fingerprint": "73e95239ccbaeb48b59437d47fffaaf548c02c53ea88959277f1faedcc2b68a6", "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": 3, "data_schema": 2, "ui_workflow_gap": 1, "mock_placeholder": 1, "deployment_env_gap": 1, "verification_or_tests": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#21", "issue_number": "21", "quality_tiers": {"weak_supervision": 5}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-97fcbf81cb4e94eb", "graph_gold_label": "supported_by_verification_signal", "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_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#21\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#21\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#21\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 21\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 30\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 9, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 4, 'bug_fix': 3, 'human_reported_issue_then_fix_attempt': 2, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'deployment_env_gap': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 5}\nCI labels: {}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-d06360c8ddd031a5", "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": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 450917, "scanner": "foundry_dataset", "fingerprint": "89d8302edfc3321c083a3699174a36df11796a375bf5f66614ac5e13ff6ca395", "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": 3, "data_schema": 2, "ui_workflow_gap": 1, "mock_placeholder": 1, "deployment_env_gap": 1, "verification_or_tests": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 21, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#20", "issue_number": "20", "quality_tiers": {"weak_supervision": 5}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-93daa5fa217d3b56", "graph_gold_label": "supported_by_verification_signal", "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_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#20\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#20\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#20\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 20\nGraph consistency label: supported_by_verification_signal\nNodes: 21\nEdges: 30\nNode types: {'commit': 6, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 9, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 4, 'bug_fix': 3, 'human_reported_issue_then_fix_attempt': 2, 'data_schema': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'deployment_env_gap': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 5}\nCI labels: {}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-7b069c85585eab08", "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": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 450916, "scanner": "foundry_dataset", "fingerprint": "5ed55faad2b403eeb33eb2ad77e0cf7e4b339b6bb435727a471b520f2fb3856b", "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": 6, "ui_workflow_gap": 1, "mock_placeholder": 1, "deployment_env_gap": 1, "verification_or_tests": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 32, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 11, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#17", "issue_number": "17", "quality_tiers": {"weak_supervision": 5}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-39f2578af21dcd8c", "graph_gold_label": "supported_by_verification_signal", "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_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#17\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#17\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#17\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 17\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 32\nNode types: {'commit': 7, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 11, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 6, 'claimed_resolved_unverified': 4, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'deployment_env_gap': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 5}\nCI labels: {}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-ef461665d9a3d6f6", "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": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "foundry_fake_real_gap", "level": "error", "message": {"text": "Foundry mined mock as real or placeholder: LyndenCooke/my-phonics"}, "properties": {"repobilityId": 450915, "scanner": "foundry_dataset", "fingerprint": "b59c76f37e55ed8a3df52e906ac3588e2babef06a612ec897f506902fdebcef3", "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": 6, "ui_workflow_gap": 1, "mock_placeholder": 1, "deployment_env_gap": 1, "verification_or_tests": 1, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 8, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 32, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 11, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 22, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "LyndenCooke/my-phonics#16", "issue_number": "16", "quality_tiers": {"weak_supervision": 5}, "repo_full_name": "LyndenCooke/my-phonics", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f26c5f2ca0845d4c", "graph_gold_label": "supported_by_verification_signal", "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_verification_signal\nRepo: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#16\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: LyndenCooke/my-phonics\nThread: LyndenCooke/my-phonics#16\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: LyndenCooke/my-phonics#16\nRepo: LyndenCooke/my-phonics\nIssue/PR number: 16\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 32\nNode types: {'commit': 7, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 11, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 6, 'claimed_resolved_unverified': 4, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'deployment_env_gap': 1, 'ui_workflow_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 8, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 5}\nCI labels: {}\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/LyndenCooke/my-phonics", "source_id": "graph-query-motif_query-8c84d28dc3757be9", "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": "LyndenCooke/my-phonics", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-32f313f9d8740d31", "level": "note", "message": {"text": "Possibly dead Python function: feed_reading_age"}, "properties": {"repobilityId": "b28b3025a069d5fb", "scanner": "scanner-primary", "fingerprint": "32f313f9d8740d31", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:65"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-665c584782490959", "level": "note", "message": {"text": "Possibly dead Python function: feed_read_like_british"}, "properties": {"repobilityId": "fbbbbcad030fa045", "scanner": "scanner-primary", "fingerprint": "665c584782490959", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:79"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-dc3e57238924d1a1", "level": "note", "message": {"text": "Possibly dead Python function: feed_critical_window"}, "properties": {"repobilityId": "773f1b45aa9694cd", "scanner": "scanner-primary", "fingerprint": "dc3e57238924d1a1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:93"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1f662024350793f8", "level": "note", "message": {"text": "Possibly dead Python function: feed_ten_minutes"}, "properties": {"repobilityId": "5b884db013551061", "scanner": "scanner-primary", "fingerprint": "1f662024350793f8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:108"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-00da0e35bbcfe6c0", "level": "note", "message": {"text": "Possibly dead Python function: feed_british_teacher"}, "properties": {"repobilityId": "5d3642da9b80125e", "scanner": "scanner-primary", "fingerprint": "00da0e35bbcfe6c0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:126"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-9177d3473e4fdb1f", "level": "note", "message": {"text": "Possibly dead Python function: feed_social_proof"}, "properties": {"repobilityId": "ca82298914d6622b", "scanner": "scanner-primary", "fingerprint": "9177d3473e4fdb1f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:140"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d55ec27c22ccdc4b", "level": "note", "message": {"text": "Possibly dead Python function: feed_reading_purpose"}, "properties": {"repobilityId": "655fdfde9a88fa3e", "scanner": "scanner-primary", "fingerprint": "d55ec27c22ccdc4b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:156"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-0065024a25f5c52b", "level": "note", "message": {"text": "Possibly dead Python function: meta_dont_guess"}, "properties": {"repobilityId": "e705ac86dfc4d1fe", "scanner": "scanner-primary", "fingerprint": "0065024a25f5c52b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:170"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-db11eb45ce0d73d9", "level": "note", "message": {"text": "Possibly dead Python function: meta_confident_reader"}, "properties": {"repobilityId": "0190af8245aa38b2", "scanner": "scanner-primary", "fingerprint": "db11eb45ce0d73d9", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:188"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-33158d7aa85f9446", "level": "note", "message": {"text": "Possibly dead Python function: meta_expat_reading"}, "properties": {"repobilityId": "f65839ac0c4a0ab6", "scanner": "scanner-primary", "fingerprint": "33158d7aa85f9446", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:202"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-55484f5cb6b3b958", "level": "note", "message": {"text": "Possibly dead Python function: meta_ten_min_ad"}, "properties": {"repobilityId": "a607f09ccb13a302", "scanner": "scanner-primary", "fingerprint": "55484f5cb6b3b958", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:216"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ec76490081cf2bd8", "level": "note", "message": {"text": "Possibly dead Python function: story_expat_fear"}, "properties": {"repobilityId": "cd51c8e5561083bd", "scanner": "scanner-primary", "fingerprint": "ec76490081cf2bd8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:234"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-76374e9f9dce59ff", "level": "note", "message": {"text": "Possibly dead Python function: story_six_months"}, "properties": {"repobilityId": "46bac4d3677913b5", "scanner": "scanner-primary", "fingerprint": "76374e9f9dce59ff", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:251"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1d1829263f6ee82f", "level": "note", "message": {"text": "Possibly dead Python function: story_assessment_cta"}, "properties": {"repobilityId": "aa4936a38884c245", "scanner": "scanner-primary", "fingerprint": "1d1829263f6ee82f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:279"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-faf8721ac75a950a", "level": "note", "message": {"text": "Possibly dead Python function: fb_start_right"}, "properties": {"repobilityId": "0113a3e232a70c25", "scanner": "scanner-primary", "fingerprint": "faf8721ac75a950a", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:305"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bb090231d59d7352", "level": "note", "message": {"text": "Possibly dead Python function: fb_gap_widens"}, "properties": {"repobilityId": "3781639b385168ec", "scanner": "scanner-primary", "fingerprint": "bb090231d59d7352", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:320"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-eadfe62c766e8bcf", "level": "note", "message": {"text": "Possibly dead Python function: fb_reading_purpose"}, "properties": {"repobilityId": "37601579ca062ffd", "scanner": "scanner-primary", "fingerprint": "eadfe62c766e8bcf", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing_v2.py:335"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-3b7ac7aa50082a5b", "level": "note", "message": {"text": "Possibly dead Python function: feed_reading_age"}, "properties": {"repobilityId": "b28b3025a069d5fb", "scanner": "scanner-primary", "fingerprint": "3b7ac7aa50082a5b", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:85"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-655e33739186c666", "level": "note", "message": {"text": "Possibly dead Python function: feed_read_like_british"}, "properties": {"repobilityId": "fbbbbcad030fa045", "scanner": "scanner-primary", "fingerprint": "655e33739186c666", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:104"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-c99d75d27d4402c8", "level": "note", "message": {"text": "Possibly dead Python function: feed_critical_window"}, "properties": {"repobilityId": "773f1b45aa9694cd", "scanner": "scanner-primary", "fingerprint": "c99d75d27d4402c8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:125"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e573948ee5d8529f", "level": "note", "message": {"text": "Possibly dead Python function: feed_ten_minutes"}, "properties": {"repobilityId": "5b884db013551061", "scanner": "scanner-primary", "fingerprint": "e573948ee5d8529f", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:148"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ee6dc3b8e13781fd", "level": "note", "message": {"text": "Possibly dead Python function: feed_british_teacher"}, "properties": {"repobilityId": "5d3642da9b80125e", "scanner": "scanner-primary", "fingerprint": "ee6dc3b8e13781fd", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:174"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ce048f65e54a7db3", "level": "note", "message": {"text": "Possibly dead Python function: feed_social_proof"}, "properties": {"repobilityId": "ca82298914d6622b", "scanner": "scanner-primary", "fingerprint": "ce048f65e54a7db3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:195"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-72f04f3d3f0ff3b5", "level": "note", "message": {"text": "Possibly dead Python function: feed_reading_purpose"}, "properties": {"repobilityId": "655fdfde9a88fa3e", "scanner": "scanner-primary", "fingerprint": "72f04f3d3f0ff3b5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:227"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-101eaf4058d2cf5e", "level": "note", "message": {"text": "Possibly dead Python function: meta_dont_guess"}, "properties": {"repobilityId": "e705ac86dfc4d1fe", "scanner": "scanner-primary", "fingerprint": "101eaf4058d2cf5e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:248"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-6d0e4a810bcbe008", "level": "note", "message": {"text": "Possibly dead Python function: story_expat_fear"}, "properties": {"repobilityId": "cd51c8e5561083bd", "scanner": "scanner-primary", "fingerprint": "6d0e4a810bcbe008", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:276"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f18cceeca7717a64", "level": "note", "message": {"text": "Possibly dead Python function: story_six_months"}, "properties": {"repobilityId": "46bac4d3677913b5", "scanner": "scanner-primary", "fingerprint": "f18cceeca7717a64", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:307"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-cc1f6c1785dd9ff5", "level": "note", "message": {"text": "Possibly dead Python function: story_assessment_cta"}, "properties": {"repobilityId": "aa4936a38884c245", "scanner": "scanner-primary", "fingerprint": "cc1f6c1785dd9ff5", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:351"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-13ee946c98e4ea12", "level": "note", "message": {"text": "Possibly dead Python function: fb_start_right"}, "properties": {"repobilityId": "0113a3e232a70c25", "scanner": "scanner-primary", "fingerprint": "13ee946c98e4ea12", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:388"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b2e7be9f875b6807", "level": "note", "message": {"text": "Possibly dead Python function: fb_gap_widens"}, "properties": {"repobilityId": "3781639b385168ec", "scanner": "scanner-primary", "fingerprint": "b2e7be9f875b6807", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "render_marketing.py:414"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-506be2b95088f5d3", "level": "none", "message": {"text": "git log failed \u2014 history analysis incomplete"}, "properties": {"repobilityId": "b424308a11bb9b22", "scanner": "scanner-primary", "fingerprint": "506be2b95088f5d3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["git", "tooling"]}}, {"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-7176e5d95d18d844", "level": "error", "message": {"text": "Runtime dotenv file present in repo: .env"}, "properties": {"repobilityId": "4b9c737a445874ba", "scanner": "scanner-primary", "fingerprint": "7176e5d95d18d844", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets", "config", "env-file", "runtime-env", "env_file_with_secret"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".env"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b5d0de7b20e1719d", "level": "error", "message": {"text": "Possible secret in generate_sentence_audio.mjs"}, "properties": {"repobilityId": "ed7a5ea641754429", "scanner": "scanner-primary", "fingerprint": "b5d0de7b20e1719d", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "generate_sentence_audio.mjs"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-950511db5ecacd8c", "level": "error", "message": {"text": "Possible secret in generate_missing_audio.mjs"}, "properties": {"repobilityId": "203b5ee1296f0c27", "scanner": "scanner-primary", "fingerprint": "950511db5ecacd8c", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "generate_missing_audio.mjs"}, "region": {"startLine": 5}}}]}, {"ruleId": "scanner-6372cebde0220094", "level": "warning", "message": {"text": "No auth library detected"}, "properties": {"repobilityId": "a5b6035a5bbf8054", "scanner": "scanner-primary", "fingerprint": "6372cebde0220094", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["coverage", "auth"]}}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-6893a6c8b0861585", "level": "warning", "message": {"text": "Very low test-to-source ratio"}, "properties": {"repobilityId": "54a7de3f06314bf0", "scanner": "scanner-primary", "fingerprint": "6893a6c8b0861585", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["tests", "coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "b0e3d3fdb677e634", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "ea8773db44ed8366", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "warning", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "aedc141639f45e28", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-749d4bc1bd66df5f", "level": "warning", "message": {"text": "Agent instructions exist but release-hardening basics are missing"}, "properties": {"repobilityId": "db48c821c5702001", "scanner": "scanner-primary", "fingerprint": "749d4bc1bd66df5f", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-15c9acafa6ff7eb4", "level": "note", "message": {"text": "Legacy-named symbol `gem_01_children_reading_v2` in render_marketing_v2.py:66"}, "properties": {"repobilityId": "4fc46a5f6fe213aa", "scanner": "scanner-primary", "fingerprint": "15c9acafa6ff7eb4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-059c1e4bd5361545", "level": "note", "message": {"text": "Legacy-named symbol `multilingual_v2` in generate_sentence_audio_canonical.mjs:61"}, "properties": {"repobilityId": "c901e8e46c7b1855", "scanner": "scanner-primary", "fingerprint": "059c1e4bd5361545", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3d2ec47c43fd7da8", "level": "none", "message": {"text": "Commented-code block (7 lines) in vite.config.ts:8"}, "properties": {"repobilityId": "ff8c31cf8330a86b", "scanner": "scanner-primary", "fingerprint": "3d2ec47c43fd7da8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8fe9c294b33209e5", "level": "note", "message": {"text": "Legacy-named symbol `eleven_monolingual_v1` in generate_l1_sentence_audio.mjs:96"}, "properties": {"repobilityId": "7e7fe2b6bb0a8c54", "scanner": "scanner-primary", "fingerprint": "8fe9c294b33209e5", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2ff4719883abf794", "level": "none", "message": {"text": "Commented-code block (6 lines) in playwright.config.ts:4"}, "properties": {"repobilityId": "9800bf3a1375b1b1", "scanner": "scanner-primary", "fingerprint": "2ff4719883abf794", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-f47d32e3ed16ed27", "level": "note", "message": {"text": "Legacy-named symbol `eleven_monolingual_v1` in generate_all_sentence_audio.mjs:207"}, "properties": {"repobilityId": "3d5342ae54b6c401", "scanner": "scanner-primary", "fingerprint": "f47d32e3ed16ed27", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-49852fe6e37d863b", "level": "note", "message": {"text": "Legacy-named symbol `eleven_monolingual_v1` in generate_missing_sentence_audio.mjs:95"}, "properties": {"repobilityId": "01b11bdab420438a", "scanner": "scanner-primary", "fingerprint": "49852fe6e37d863b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-564174e9a921c693", "level": "note", "message": {"text": "Legacy-named symbol `gem_01_children_reading_v2` in render_marketing.py:87"}, "properties": {"repobilityId": "0384bb4385aebb64", "scanner": "scanner-primary", "fingerprint": "564174e9a921c693", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "61793baf06394f18", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}