{"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_blueprint_gap", "name": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp", "shortDescription": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "fullDescription": {"text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#9\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#9\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#9\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 9\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'commen"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: srgplus/srgplus-mcp", "shortDescription": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#8\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, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#8\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7bd77b023ab5bb65\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/8\",\n    \"text\": \"GitHub feedback: agent_instruct"}, "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: srgplus/srgplus-mcp", "shortDescription": {"text": "Foundry mined test ci gap after feedback: srgplus/srgplus-mcp"}, "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_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#7\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#7\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#7\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 7\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': "}, "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: srgplus/srgplus-mcp", "shortDescription": {"text": "Foundry mined schema ui api mismatch: srgplus/srgplus-mcp"}, "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#38\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#38\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#38\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 38\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 30\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_ch"}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: srgplus/srgplus-mcp", "shortDescription": {"text": "Foundry mined bad chains: srgplus/srgplus-mcp"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#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, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#13\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6e6b4c1fce9ed1ad\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/13\",\n    \"text\": \"GitHub feedba"}, "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: srgplus/srgplus-mcp", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: srgplus/srgplus-mcp"}, "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_high_confidence_link\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#40\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#40\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#40\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 40\nGraph consistency label: supported_by_high_confidence_link\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_"}, "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: srgplus/srgplus-mcp", "shortDescription": {"text": "Foundry mined mock as real or placeholder: srgplus/srgplus-mcp"}, "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#13\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#13\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#13\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 13\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'co"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-7d26d01080aa48db", "name": "Possibly dead Python function: health", "shortDescription": {"text": "Possibly dead Python function: health"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-14c32cfcd1d33e81", "name": "Possibly dead Python function: favicon", "shortDescription": {"text": "Possibly dead Python function: favicon"}, "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-86b5815a868f29b8", "name": "Possibly dead Python function: static_asset", "shortDescription": {"text": "Possibly dead Python function: static_asset"}, "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-1c527d15977ecdb7", "name": "Possibly dead Python function: openai_apps_challenge", "shortDescription": {"text": "Possibly dead Python function: openai_apps_challenge"}, "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-aad6041c61f467f8", "name": "Possibly dead Python function: handler", "shortDescription": {"text": "Possibly dead Python function: handler"}, "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-410b710184e5c4bb", "name": "Possibly dead Python function: root_index", "shortDescription": {"text": "Possibly dead Python function: root_index"}, "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-7f81bac8a48c9c71", "name": "Possibly dead Python function: authorization_server_metadata", "shortDescription": {"text": "Possibly dead Python function: authorization_server_metadata"}, "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-84d1824af9012385", "name": "Possibly dead Python function: protected_resource_metadata", "shortDescription": {"text": "Possibly dead Python function: protected_resource_metadata"}, "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-299bb193d298c9a0", "name": "Possibly dead Python function: verify", "shortDescription": {"text": "Possibly dead Python function: verify"}, "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-7816f91a4c7975de", "name": "Possibly dead Python function: authorize_get", "shortDescription": {"text": "Possibly dead Python function: authorize_get"}, "fullDescription": {"text": "No callers detected by AST scan in this repo. Could be exported for external callers or a framework handler."}, "properties": {"scanner": "scanner-primary", "layer": "software", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ed730f599767eab7", "name": "Possibly dead Python function: authorize_post", "shortDescription": {"text": "Possibly dead Python function: authorize_post"}, "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-b021bb0770b2da21", "name": "Possibly dead Python function: revoke", "shortDescription": {"text": "Possibly dead Python function: revoke"}, "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-f225bb91d91aa010", "name": "Possibly dead Python function: register", "shortDescription": {"text": "Possibly dead Python function: register"}, "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-de3c1f217d72a063", "name": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim", "shortDescription": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "fullDescription": {"text": "Container tags can be retagged upstream. Pin production base images to a reviewed digest (`image@sha256:...`) when reproducibility and supply-chain integrity matter."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa5acaa49eb8315b", "name": "Containers defined but no K8s/orchestration manifest found", "shortDescription": {"text": "Containers defined but no K8s/orchestration manifest found"}, "fullDescription": {"text": "Repo has Dockerfiles/compose but no Kubernetes/Nomad manifests. If the target deployment is K8s, the manifests may live in a separate ops repo."}, "properties": {"scanner": "scanner-primary", "layer": "hardware", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9710c8d059e53154", "name": "No frontend routes/components detected", "shortDescription": {"text": "No frontend routes/components detected"}, "fullDescription": {"text": "No React/Vue/Next routes were found. This is fine for backend-only repos."}, "properties": {"scanner": "scanner-primary", "layer": "frontend", "severity": "info", "confidence": 1.0}}, {"id": "scanner-4601e3ad3bb28677", "name": "No CI/CD pipelines detected", "shortDescription": {"text": "No CI/CD pipelines detected"}, "fullDescription": {"text": "No GitHub Actions, GitLab CI, or CircleCI configs found. Without CI you can't gate deploys on tests/lints."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-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-2d0c7b7ab8f8aacf", "name": "Critical user flow still appears backed by mock or placeholder data", "shortDescription": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "fullDescription": {"text": "A payment/auth/admin/order/billing-style flow contains mock, fake, TODO, dummy, or placeholder markers in runtime source. In the Fable corpus this is a high-leverage completeness smell: the app can look finished while the money, identity, or tenant flow is still scaffolded."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "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. Opus verification showed these co-occurring gaps are a better readiness signal than reading each flag in isolation."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ea8f3013f588db25", "name": "Shallow git history limits provenance confidence", "shortDescription": {"text": "Shallow git history limits provenance confidence"}, "fullDescription": {"text": "The repository is a shallow clone. Origin/evolution analysis cannot distinguish fresh generation, imported legacy code, or long-lived human code with high confidence."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8424db9c75e04ba4", "name": "Very short observed git history", "shortDescription": {"text": "Very short observed git history"}, "fullDescription": {"text": "The repo has multiple source files but two or fewer visible commits. This is not a failure by itself, but it lowers confidence in evolution-based diagnosis."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-152a88e0a6f53bed", "name": "Legacy-named symbol `get_content_v2` in tests/test_instructions.py:17", "shortDescription": {"text": "Legacy-named symbol `get_content_v2` in tests/test_instructions.py:17"}, "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-06c63e18097030c9", "name": "Legacy-named symbol `get_content_v2` in tests/test_core_profile.py:19", "shortDescription": {"text": "Legacy-named symbol `get_content_v2` in tests/test_core_profile.py:19"}, "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-20c9dfedb60a9f70", "name": "Legacy-named symbol `srgplus_old` in tests/test_stability.py:61", "shortDescription": {"text": "Legacy-named symbol `srgplus_old` in tests/test_stability.py: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-b0e8bb492c743f6a", "name": "Legacy-named symbol `get_content_v2` in srg_mcp/guide.py:35", "shortDescription": {"text": "Legacy-named symbol `get_content_v2` in srg_mcp/guide.py:35"}, "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-9e752b83d0318819", "name": "Legacy-named symbol `get_content_v2` in srg_mcp/contents.py:121", "shortDescription": {"text": "Legacy-named symbol `get_content_v2` in srg_mcp/contents.py:121"}, "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-0ba6c1f93a79d9f3", "name": "Commented-code block (6 lines) in srg_mcp/contents.py:513", "shortDescription": {"text": "Commented-code block (6 lines) in srg_mcp/contents.py:513"}, "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-54f9ad2ec7f26593", "name": "Legacy-named symbol `get_content_v2` in srg_mcp/_app.py:33", "shortDescription": {"text": "Legacy-named symbol `get_content_v2` in srg_mcp/_app.py:33"}, "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-b89b91f3925d0d10", "name": "Commented-code block (5 lines) in srg_mcp/_app.py:3", "shortDescription": {"text": "Commented-code block (5 lines) in srg_mcp/_app.py:3"}, "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-00537990b13593e7", "name": "Legacy-named symbol `get_category_v2` in srg_mcp/channels.py:451", "shortDescription": {"text": "Legacy-named symbol `get_category_v2` in srg_mcp/channels.py:451"}, "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-2c7633121a7490fd", "name": "Legacy-named symbol `get_content_v2` in srg_mcp/serve/profiles.py:37", "shortDescription": {"text": "Legacy-named symbol `get_content_v2` in srg_mcp/serve/profiles.py:37"}, "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-157a5a7f0990d802", "name": "Commented-code block (6 lines) in srg_mcp/serve/main.py:66", "shortDescription": {"text": "Commented-code block (6 lines) in srg_mcp/serve/main.py:66"}, "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-36fb6e721b7d0637", "name": "Commented-code block (7 lines) in srg_mcp/serve/oauth/__init__.py:67", "shortDescription": {"text": "Commented-code block (7 lines) in srg_mcp/serve/oauth/__init__.py:67"}, "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-7e14ac1194576aba", "name": "Commented-code block (5 lines) in srg_mcp/serve/oauth/store.py:51", "shortDescription": {"text": "Commented-code block (5 lines) in srg_mcp/serve/oauth/store.py:51"}, "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-bb9c0d5857bc89db", "name": "Commented-code block (7 lines) in srg_mcp/serve/oauth/discovery.py:66", "shortDescription": {"text": "Commented-code block (7 lines) in srg_mcp/serve/oauth/discovery.py:66"}, "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-4de4af88fcc8df0e", "name": "Commented-code block (6 lines) in srg_mcp/serve/oauth/authorize.py:148", "shortDescription": {"text": "Commented-code block (6 lines) in srg_mcp/serve/oauth/authorize.py:148"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-2c04133e54348533", "name": "Near-duplicate function bodies in 2 places", "shortDescription": {"text": "Near-duplicate function bodies in 2 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nsrg_mcp/contents.py:list_contents, srg_mcp/assets.py:list_assets\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/20177"}, "properties": {"repository": "srgplus/srgplus-mcp", "repoUrl": "https://github.com/srgplus/srgplus-mcp", "branch": "main"}, "results": [{"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356297, "scanner": "foundry_dataset", "fingerprint": "7180d87c0491ca9e86f3c9ff122b31cf7303bbf062a348896e490b7653f8c6fc", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "api_integration_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#9", "issue_number": "9", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-20a2759303ed5039", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#9\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#9\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#9\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 9\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-36809d4aa24a8956", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356296, "scanner": "foundry_dataset", "fingerprint": "24abaea274aa2a5b18874c4cca5256182e994951c364fa493aa1bd0603678ac3", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "test_ci_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#7", "issue_number": "7", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9d941099d1365a99", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#7\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#7\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#7\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 7\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 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: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-a5c9bff61198b49b", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356295, "scanner": "foundry_dataset", "fingerprint": "96c2f4d65181aeb982dc4883be4f06dc755e030be56475cab4499f86876033e1", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#6", "issue_number": "6", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d7a399f368030090", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#6\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#6\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#6\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 6\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-3b36a0490759f954", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356294, "scanner": "foundry_dataset", "fingerprint": "f8b92908e952e34214b9d0d9846862c672df8526f6b578a0f97d65f0cb80e441", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "test_ci_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#5", "issue_number": "5", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1e5a037c62f09332", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#5\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#5\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#5\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 5\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 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: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-05d8ea8c2305d61f", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356293, "scanner": "foundry_dataset", "fingerprint": "a19c77f7faca9613f4fb55d1f94aa766bdd043fbd314b4b868f3e0779ba37a0d", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"source_or_other": 3, "api_integration_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 5, "ci_pending_or_incomplete": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_alignment": 2, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {"ci_pending_or_incomplete": 2}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 3, "comment_chain_has_ci": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 24, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 3, "alignment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#44", "issue_number": "44", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2bbc3704abd8c72e", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"source_or_other": 12}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#44\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#44\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#44\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 44\nGraph consistency label: supported_by_high_confidence_link\nNodes: 24\nEdges: 34\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 3, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_touches_file': 3, 'comment_chain_touches_file': 3, 'issue_chain_touches_file': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'source_or_other': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'ci_pending_or_incomplete': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {'ci_pending_or_incomplete': 2}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-e4dc60c07e72e431", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356292, "scanner": "foundry_dataset", "fingerprint": "451bc780ee74548acbbde01773f88a2db8ec809f0ac52f17e5c8c11cdf87633b", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 4, "test_ci_gap": 1, "generated_provenance": 1, "partial blueprint fit": 2, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#4", "issue_number": "4", "quality_tiers": {"assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-194f832bf7930367", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: weak_supervision_needs_review\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#4\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#4\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#4\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 4\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-7c38fe3bf7b271d9", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356291, "scanner": "foundry_dataset", "fingerprint": "4ee00de339e72d9fcfcbcff11678189a596eac6db73d7941f94208a2a279906d", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "source_or_other": 2, "partial blueprint fit": 2, "verification_or_tests": 4, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#38", "issue_number": "38", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-39962d39551fb457", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"source_or_other": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#38\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#38\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#38\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 38\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 30\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_touches_file': 2, 'comment_chain_touches_file': 2, 'issue_chain_touches_file': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-10875a093aa65000", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356290, "scanner": "foundry_dataset", "fingerprint": "ee5279e29f513aafbcfd315db5327bbe1696c49b9c69ea0806a526ab70e3fb64", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_or_ci": 2, "commit_general": 1, "source_or_other": 1, "security_or_auth": 1, "api_integration_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 36, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 4, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 24, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 4, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#36", "issue_number": "36", "quality_tiers": {"assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5a291f7aab2fb35d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "source_or_other": 4, "security_or_auth": 4}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#36\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#36\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#36\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 36\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 36\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 4, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_touches_file': 4, 'comment_chain_touches_file': 4, 'issue_chain_touches_file': 4, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'security_or_auth': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'commit_general': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-f3dbbbc8436fb1b2", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356289, "scanner": "foundry_dataset", "fingerprint": "9a9e1cb16f08047f33acc6643f1b1a0aab1ec12a4424259c61b00606a73672e6", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_or_ci": 1, "test_ci_gap": 1, "api_or_backend": 1, "docs_or_claims": 1, "source_or_other": 2, "partial blueprint fit": 2, "verification_or_tests": 4, "ci_pending_or_incomplete": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {"ci_pending_or_incomplete": 2}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "comment_chain_has_ci": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 26, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 5, "alignment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#32", "issue_number": "32", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bcc4120bfb076922", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4, "docs_or_claims": 4, "source_or_other": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#32\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#32\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#32\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 32\nGraph consistency label: supported_by_verification_signal\nNodes: 26\nEdges: 40\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_links_commit': 5, 'comment_chain_touches_file': 5, 'chain_has_link_quality': 5, 'issue_chain_touches_file': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'docs_or_claims': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'ci_pending_or_incomplete': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {'ci_pending_or_incomplete': 2}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-c7751acd50b0ccd3", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356288, "scanner": "foundry_dataset", "fingerprint": "1d90e4dd309f398cd5089dd182d709c7ab89c8ab687610fd8dc3fbc3e93d0544", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "test_or_ci": 2, "api_or_backend": 1, "source_or_other": 1, "security_or_auth": 2, "api_integration_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 42, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 6, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 6, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 26, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 6, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#29", "issue_number": "29", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-89ea252edc2c2164", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "api_or_backend": 4, "source_or_other": 4, "security_or_auth": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#29\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#29\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#29\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 29\nGraph consistency label: supported_by_verification_signal\nNodes: 26\nEdges: 42\nNode types: {'pr_file': 6, 'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 6, 'comment_chain_touches_file': 6, 'issue_chain_touches_file': 6, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'security_or_auth': 2, 'test_or_ci': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'api_or_backend': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-f123db04ee9eb452", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356287, "scanner": "foundry_dataset", "fingerprint": "a77c28665f58fa437ba4c312ccf1ff1f45c10e224a14684ca2500297176ae064", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_or_ci": 1, "api_or_backend": 1, "source_or_other": 1, "security_or_auth": 2, "api_integration_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 39, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 25, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#27", "issue_number": "27", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-88c1f3d2060bc424", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4, "source_or_other": 4, "security_or_auth": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#27\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#27\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#27\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 27\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 39\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_links_commit': 5, 'comment_chain_touches_file': 5, 'chain_has_link_quality': 5, 'issue_chain_touches_file': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'security_or_auth': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-bc6fd842e57019f1", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356286, "scanner": "foundry_dataset", "fingerprint": "3748bfa92e7c4bb4a9af7e900dacc542120fdc010f68bc6913391007ba479179", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_or_ci": 1, "api_or_backend": 1, "source_or_other": 1, "security_or_auth": 1, "api_integration_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 36, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 4, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 4, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 24, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 4, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#26", "issue_number": "26", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f825ba69cfec179b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4, "source_or_other": 4, "security_or_auth": 4}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#26\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#26\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#26\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 26\nGraph consistency label: supported_by_verification_signal\nNodes: 24\nEdges: 36\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 4, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_touches_file': 4, 'comment_chain_touches_file': 4, 'issue_chain_touches_file': 4, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'api_or_backend': 1, 'security_or_auth': 1, 'test_or_ci': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-b2fa548d25712fe9", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356285, "scanner": "foundry_dataset", "fingerprint": "c59f5a1323655d66feb68a856affb0a83f0c4a340afa129105973e857a60d259", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "partial blueprint fit": 2, "verification_or_tests": 2, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#25", "issue_number": "25", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f0e014c7d308d307", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#25\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#25\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#25\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 25\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-304aab41d4c76329", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356284, "scanner": "foundry_dataset", "fingerprint": "c36911895ba928121c61cf87834773b9a367f5724b50f33c02666b2b6d0001b5", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "api_integration_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 4, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#23", "issue_number": "23", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e5265fbe389e1979", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#23\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#23\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#23\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 23\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-a9e525cea3ca658e", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356283, "scanner": "foundry_dataset", "fingerprint": "fd4d74e370b2ace6e19bc022d6e4997a74806b2e7cc3dcace529716b45887e82", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#21", "issue_number": "21", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b5841e3349d99ee4", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#21\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#21\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#21\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 21\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-fedee26e9f4dcd53", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356282, "scanner": "foundry_dataset", "fingerprint": "9fdd950d78b01d4589a989ce7b05aa0e80973ab4f5af691a9cf68fe182e49673", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "dependency_or_build": 1, "partial blueprint fit": 2, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#2", "issue_number": "2", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ab17c3f7a9140237", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#2\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#2\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#2\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 2\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-8d136fc574bb0ed2", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356281, "scanner": "foundry_dataset", "fingerprint": "4da1980bab993f1c969fe83f186cf4d9c8219bb82da5fdaee73906acee20b2f4", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "ui_workflow": 1, "api_integration_gap": 1, "partial blueprint fit": 2, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 21, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 17, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#17", "issue_number": "17", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f6303a8ffcdbf2bc", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#17\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#17\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#17\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 17\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 21\nNode types: {'link_quality': 5, 'commit': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'ui_workflow': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-8b620670929b6d37", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356280, "scanner": "foundry_dataset", "fingerprint": "f10567c02596f8e8322ac6ad4198bf95c966167c585eb8c5f9702baad91e06db", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 1, "feature": 1, "test_ci_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#16", "issue_number": "16", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-e330eca927b32d45", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#16\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#16\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#16\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 16\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'feature': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-1b683b9670dcd492", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356279, "scanner": "foundry_dataset", "fingerprint": "2f790fc9b7a76b25abf2cd0a8f69e7b6c38d8f136682cda6c0a276ae1a0f4329", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"security_or_secrets": 1, "partial blueprint fit": 2, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 16, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#14", "issue_number": "14", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-de99846b05eb35d9", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_high_confidence_link\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#14\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#14\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#14\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 14\nGraph consistency label: supported_by_high_confidence_link\nNodes: 16\nEdges: 20\nNode types: {'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_links_commit': 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_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-d6450bcdc487161a", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356278, "scanner": "foundry_dataset", "fingerprint": "d8b21774e567423201c12e73856ecaa0e997faa55a57ea5404928126d90b695a", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "commit_general": 1, "partial blueprint fit": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#11", "issue_number": "11", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-82c840be35baf2d1", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#11\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#11\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#11\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 11\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'commit_general': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-51c9dd7e86d653f0", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 356277, "scanner": "foundry_dataset", "fingerprint": "90b6909f3723a4dcd8fe92951a5e004dbadd95215c53d867595765595a26d5eb", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"bug_fix": 3, "test_ci_gap": 1, "docs_or_chore": 1, "security_or_secrets": 2, "security_auth_secret": 1, "partial blueprint fit": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 25, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#1", "issue_number": "1", "quality_tiers": {"high_confidence": 4, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1f5aac4b90afefb5", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#1\nEvidence:\nGraph motif: Human feedback aligns with blueprint or architecture gaps\nMotif id: blueprint_gap_alignment\nPolarity: mixed\nTraining usage: curriculum_gap\nSeverity: medium\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#1\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#1\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 1\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 34\nNode types: {'commit': 7, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 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': 4, 'bug_fix': 3, 'human_reported_issue_then_verified_fix_attempt': 2, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'verification_or_tests': 1, 'docs_or_chore': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-19b5bf7c73c9df31", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/blueprint_gap_alignment/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312600, "scanner": "foundry_dataset", "fingerprint": "8825dfc39644c7f16e3e0665793c57d1500a59fe36cc786d9b7f595fe3da5684", "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": "srgplus/srgplus-mcp#8", "human_labels": ["agent_instruction_gap"], "issue_number": "8", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-fbe804e21086ea39", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#8\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, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#8\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7bd77b023ab5bb65\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/8\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/8\\nTitle: debug(mcp): log api_key prefix on /mcp requests (diagnostic)\\nBody:\\nDiagnostic logging only. User reports tool 401 with key that works via curl + at /authorize. Need to see what api_key actually reaches /mcp to confirm it matches what was entered. Will revert once root cause is found.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-417b90da10773bae\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1}\nHelicopter views: {}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-5bab28e3d3bc6745", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312599, "scanner": "foundry_dataset", "fingerprint": "c77d970e0014062926fa476290d5ff55b9a83b0ce42d22f67b17cc2e6fcf8537", "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": "srgplus/srgplus-mcp#45", "human_labels": ["human_feedback_general", "source_or_other"], "issue_number": "45", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a42dde2d6d3c32af", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"source_or_other": 2}, "linked_commit_count": 5, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence"], "linked_ci_commit_count": 1, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#45\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#45\nRepo: srgplus/srgplus-mcp\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 1\nLinked CI labels: {'ci_pending_or_incomplete': 1}\nChanged file count: 2\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'source_or_other': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2c5cb1931c6a6239\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/45\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/45\\nTitle: docs(guide): search needs keyword; place via add_content_to_categories\\nBody:\\nDoc-only, from live connector tests:\\n- `search_contents`: `search` must be non-empty (blank \u2192 400 after backend SRG#745; was 500). No search-all; browse via channels/categories.\\n- placement: `channels` alone at create often doesn't stick (needs a category) \u2014 guide + create_content doc steer to `add_content_to_categories`.\\n\\nUpdates get_srgplus_guide + the search_contents/create_content docstrings. 74 tests pass.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-de7d13e757c4e7f6\",\n    \"filename\": \"srg_mcp/contents.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 1,\n    \"changes\": 7,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/959382e40101fc1955e10ea02bdb0df3177da0e6/srg_mcp%2Fcontents.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-08f300962b7eb6f0\",\n    \"filename\": \"srg_mcp/guide.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 2,\n    \"changes\": 8,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/959382e40101fc1955e10ea02bdb0df3177da0e6/srg_mcp%2Fguide.py\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-563df7dc9ce45482\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-b656486dfcd511ad", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312598, "scanner": "foundry_dataset", "fingerprint": "cb141d9cac3e653a319da4c767f47ea31959ea813c21465c942892c565442113", "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": "srgplus/srgplus-mcp#44", "human_labels": ["api_integration_gap", "source_or_other"], "issue_number": "44", "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": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-14cc351106c9ea4f", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"source_or_other": 3}, "linked_commit_count": 5, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 1, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#44\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, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#44\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 1\nLinked CI labels: {'ci_pending_or_incomplete': 1}\nChanged file count: 3\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-db577a36883ce331\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/44\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/44\\nTitle: fix: drop bogus hub_profile_count; document Media=video-only + cover URL rule\\nBody:\\nFrom three live connector tests (all widgets work; these were the only rough edges).\\n\\n- **list_workspaces**: drop `hub_profile_count` (the bulk `/api/v1/workspaces` response has no hub counts, so it was always 0). Returns slim `{id, name}`; use `list_hub_profiles` for a workspace's brands.\\n- **Docs (get_srgplus_guide + create/update)**: spell out the two by-design behaviours agents kept hitting:\\n  - Media widget `assetId` must be an **existing playable/video** asset (backend `GetAllPayableMedias`); an image or just-uploaded asset 404s.\\n  - `cover_image` URL path must end in an image extension; query strings fine (signed URLs OK), extension-less URLs 400.\\n\\nNo SDK change; 74 tests pass.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-7edf548cd76437ef\",\n    \"filename\": \"srg_mcp/contents.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 10,\n    \"deletions\": 4,\n    \"changes\": 14,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/e28a4da8d58ec4f836396d16854065843c0e1541/srg_mcp%2Fcontents.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-eb40ad387382ea75\",\n    \"filename\": \"srg_mcp/guide.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 10,\n    \"deletions\": 2,\n    \"changes\": 12,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/e28a4da8d58ec4f836396d16854065843c0e1541/srg_mcp%2Fguide.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-54185c4c4ac2e9e6\",\n    \"filename\": \"srg_mcp/workspaces.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 8,\n    \"deletions\": 8,\n    \"changes\": 16,\n    \"blob_url\": \"https://gi\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-cd5329595f7b765b", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312597, "scanner": "foundry_dataset", "fingerprint": "46cf54f2ceb818164faea7bff5e8dea9ce016bfee10bd42db4086409096b1769", "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": "srgplus/srgplus-mcp#43", "human_labels": ["agent_instruction_gap", "api_or_backend", "source_or_other", "test_or_ci"], "issue_number": "43", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-594fb67a5b7fc012", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 6, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 1, "source_or_other": 4}, "linked_commit_count": 1, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#43\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, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#43\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 6\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 4, 'api_or_backend': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-74a1954d78b41531\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/43\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/43\\nTitle: feat: get_srgplus_guide() \u2014 full how-to ships with the connector\\nBody:\\nMakes the connector self-documenting so the srgplus-core skill no longer has to be installed per machine/profile/client.\\n\\n`get_srgplus_guide()` is a read-only tool returning the full guide: navigation, the exact **camelCase** widget shapes for `context`, safe-update rules, `upload_asset`, archive/restore, and pitfalls. The always-on server `instructions` stay concise and point at it; the tool is the on-demand deep layer.\\n\\nAvailable on both `/mcp` and `/mcp/core`. full 103 / core 20 tools. 74 tests pass.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-a181d59bac463427\",\n    \"filename\": \"srg_mcp/_app.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 4,\n    \"deletions\": 0,\n    \"changes\": 4,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/1453d239a84a81378852980f1ac888c3b301cb43/srg_mcp%2F_app.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-52ec8d3a862e7e60\",\n    \"filename\": \"srg_mcp/guide.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 108,\n    \"deletions\": 0,\n    \"changes\": 108,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/1453d239a84a81378852980f1ac888c3b301cb43/srg_mcp%2Fguide.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-e6d711280deff1e2\",\n    \"filename\": \"srg_mcp/serve/main.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 0,\n    \"changes\": 1,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/1453d239a84a81378852980f1ac888c3b301cb43/srg_mcp%2Fserve%2Fmain.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-e38c9f10a874b7dc\",\n    \"filename\": \"srg_mcp/serve/profiles.py\",\n    \"label\": \"source_or_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-b9663cd9e798253a", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312596, "scanner": "foundry_dataset", "fingerprint": "10dd6e6410acc1a99b1090ee763f6b073bf84671c4bf89dd0f172efb30c4ba3b", "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": "srgplus/srgplus-mcp#42", "human_labels": ["deployment_env_gap", "source_or_other"], "issue_number": "42", "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": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-3bd2e2f9194292b3", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"source_or_other": 4}, "linked_commit_count": 5, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#42\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, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#42\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'deployment_env_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 4}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d0f3cfea93c990ac\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/42\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/42\\nTitle: feat: slim list_workspaces + correct camelCase widget shapes (srgplus 0.2.4)\\nBody:\\nFrom the live connector test. Pairs with srgplus 0.2.4 (SRG-sdk-python#7).\\n\\n**1. `list_workspaces` is now fast + slim.** It returned a full `workspaces.get()` per workspace (N+1, overflowed on large accounts). Now it returns one row per workspace \u2014 `{id, name, hub_profile_count}` \u2014 from the SDK's free `workspaces_overview` (captured during the single bulk call at key resolution). `get_workspace(id)` still returns full detail. SDK<0.2.4 fallback kept.\\n\\n**2. Widget shapes corrected to the verified camelCase backend contract.** Media/HubProfile/ContentWidget writes 400'd in the test because the docs used snake_case for multi-word fields. Fixed in create_content/update_content docstrings + server instructions:\\n- Media: `assetId` (not asset_id)\\n- HubProfile: `hubProfileIds` \u2014 a required ARRAY (not hub_profile_id)\\n- ContentWidget: `referenceType` + `referenceIds:[{\\\"$type\\\":\\\"Content\\\"|\\\"Asset\\\",\\\"id\\\":..}]` (not content_id)\\n\\n**3. Bett\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-ae1d6ca28b0ce758\",\n    \"filename\": \"pyproject.toml\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 4,\n    \"deletions\": 4,\n    \"changes\": 8,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/e2a251f2ba7d32d7e3ae9b6096cc86bc373ee48c/pyproject.toml\"\n  },\n  {\n    \"id\": \"github-pr-file-file-1d41f1bff6c553f6\",\n    \"filename\": \"srg_mcp/_app.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 5,\n    \"deletions\": 3,\n    \"changes\": 8,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/e2a251f2ba7d32d7e3ae9b6096cc86bc373ee48c/srg_mcp%2F_app.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-82a\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-d052ac2bffa711ca", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312595, "scanner": "foundry_dataset", "fingerprint": "fd0b854b29a6fc729282deb94e25100252119dbd207e1beccb7c7f1178560ed0", "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": "srgplus/srgplus-mcp#40", "human_labels": ["security_auth_secret", "security_or_auth"], "issue_number": "40", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.877, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-0ebae4158d5d2ef7", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"security_or_auth": 1}, "linked_commit_count": 2, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#40\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, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#40\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'security_or_auth': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-39873289cadb72a4\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/40\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/40\\nTitle: fix(oauth): consent key field autofilled stale key (the connector wrong-workspace bug)\\nBody:\\n## Root cause (found via prod logs + consent code)\\nOwner reported the connector always showing one wrong workspace (a client's) even after creating a correct personal key and reconnecting. Prod OAuth logs confirmed fresh register\u2192authorize\u2192token each reconnect, so it was NOT a cache. The real cause: the consent page key field was `type=\\\"password\\\"`, so Chrome/1Password **autofilled it with the key saved on the first connect**. On every reconnect the form silently submitted the OLD key \u2192 token resolved to the old workspace, regardless of the new key the user created.\\n\\nConfirmed the user's personal key is correct: direct `GET /api/v1/workspaces` with it returns all 19 workspaces.\\n\\n## Fix\\nConsent key input \u2192 `type=text` (visible, so the user can verify the value) + `autocomplete=off` + `data-1p-ignore/lpignore/bwignore` + non-credential field name, on both the static row and JS-added rows. CSS selectors moved from\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-f99a0bdee1a434a7\",\n    \"filename\": \"srg_mcp/serve/oauth/consent.html\",\n    \"label\": \"security_or_auth\",\n    \"status\": \"modified\",\n    \"additions\": 18,\n    \"deletions\": 5,\n    \"changes\": 23,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/cf4c02165a3eb4cd3ecf8f0ae3311a1672580125/srg_mcp%2Fserve%2Foauth%2Fconsent.html\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-2dba3379b053592d\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bund\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-b3671dbdba7a2037", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312594, "scanner": "foundry_dataset", "fingerprint": "9f7e632f946cb7f515c44aca988798903e870b2936472c4aaf537e992c952b15", "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": "srgplus/srgplus-mcp#4", "human_labels": ["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.795, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-6b5b5ff3e6cb9ca5", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 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": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#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, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#4\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8c359f8a47db823b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/4\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/4\\nTitle: feat: OAuth 2.1 for claude.ai web custom-connector flow (SRGDEV-26)\\nBody:\\n## Summary\\n\\nAdds OAuth 2.1 (DCR + PKCE) on top of the existing `/mcp` Streamable HTTP\\nendpoint so the **claude.ai web \\\"Add custom connector\\\" wizard** can onboard\\nSRG+ users. Until now only header-based MCP clients (Claude Desktop, Claude\\nCode, Cursor, Cline) worked \u2014 claude.ai web requires DCR per the MCP\\nAuthorization spec (2025-06-18), which currently 404s in production logs.\\n\\nTicket: [SRGDEV-26](https://sergecreator.atlassian.net/browse/SRGDEV-26)\\n\\n### Architecture decision: stateless JWT (Option A)\\n\\n- DCR `client_id`, authorization codes, access tokens, and refresh tokens\\n  are all HS256 JWTs. No clients/sessions DB.\\n- The user's SRG+ workspace `api_key` is wrapped inside each JWT via\\n  AES-256-GCM (separate encryption key from JWT signing key).\\n- The only in-process state is three `cachetools` TTL+LRU caches:\\n  CSRF tokens (10 min), one-time-use authorization-code deny-list (10 min),\\n  and access/refresh-token revocation deny-list (3\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ebfed325e830694c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1}\nHelicopter views: {}\nBundle labels: {\"source_backed_fake_real_verification_bundle\"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-e8ad07efd5b9d867", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312593, "scanner": "foundry_dataset", "fingerprint": "0314faa7981b0b7c7910352da8c8eafac2f1dd3575438269afbed2d1c20a2acb", "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": "srgplus/srgplus-mcp#39", "human_labels": ["agent_instruction_gap", "source_or_other", "test_or_ci"], "issue_number": "39", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.777, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-0b17e4fb74c9a3af", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 5, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "source_or_other": 3}, "linked_commit_count": 1, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#39\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, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#39\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 5\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 3, 'test_or_ci': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-67e60a22891594b4\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/39\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/39\\nTitle: feat(core): archive/restore/delete (channels, categories, hubs) in core profile\\nBody:\\n\u041f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 owner \u2014 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0436\u0438\u0437\u043d\u0435\u043d\u043d\u044b\u043c \u0446\u0438\u043a\u043b\u043e\u043c \u043f\u0440\u044f\u043c\u043e \u0438\u0437 \u043a\u043e\u043d\u0435\u043a\u0442\u043e\u0440\u0430. \u0412 core-\u043d\u0430\u0431\u043e\u0440 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0443\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0442\u0443\u043b\u044b: archive_channel, delete_channel, archive_category, delete_category, archive_hub_profile, restore_hub_profile, delete_hub_profile (11 \u2192 18).\\n\\narchive_content/restore_content \u0434\u043e\u0431\u0430\u0432\u044f\u0442\u0441\u044f, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0435\u0434\u0435\u0442 \u0431\u044d\u043a\u0435\u043d\u0434-\u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442 + SDK (Part 2 \u2014 \u0443 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043d\u0435\u0442 hard-delete, \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u043c\u044b\u0439 \u0430\u0440\u0445\u0438\u0432).\\n\\n74 \u0442\u0435\u0441\u0442\u0430. \u0412\u041d\u0418\u041c\u0410\u041d\u0418\u0415: delete \u043a\u0430\u043d\u0430\u043b\u043e\u0432/\u0445\u0430\u0431\u043e\u0432 \u043d\u0435\u043e\u0431\u0440\u0430\u0442\u0438\u043c \u0438 \u0442\u0435\u043f\u0435\u0440\u044c \u0432 daily-\u043a\u043e\u043d\u0435\u043a\u0442\u043e\u0440\u0435 \u2014 \u0430\u0433\u0435\u043d\u0442 \u043c\u043e\u0436\u0435\u0442 \u0441\u043d\u0435\u0441\u0442\u0438 \u043f\u043e \u043e\u0448\u0438\u0431\u043a\u0435; \u0442\u0443\u043b\u044b \u043f\u043e\u043c\u0435\u0447\u0435\u043d\u044b destructiveHint.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-27148c3d8df951e8\",\n    \"filename\": \"srg_mcp/channels.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 50,\n    \"deletions\": 0,\n    \"changes\": 50,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/f2acace04d3d9c53479c98142053fbe120721102/srg_mcp%2Fchannels.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-789d9d809f371f44\",\n    \"filename\": \"srg_mcp/contents.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 50,\n    \"deletions\": 0,\n    \"changes\": 50,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/f2acace04d3d9c53479c98142053fbe120721102/srg_mcp%2Fcontents.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-c925ddcd1afe8a83\",\n    \"filename\": \"srg_mcp/serve/profiles.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 13,\n    \"deletions\": 0,\n    \"changes\": 13,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/f2acace04d3d9c53479c98142053fbe120721102/srg_mcp%2Fserve%2Fprofiles.py\"\n  },\n  {\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-be76816d07a4bfd1", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312592, "scanner": "foundry_dataset", "fingerprint": "02421b012ef0944da8b70440c447131ef96e99a9c27db347f4b159a2e203de64", "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": "srgplus/srgplus-mcp#37", "human_labels": ["agent_instruction_gap", "source_or_other", "test_or_ci"], "issue_number": "37", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.812, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-35e9766f09af6bc0", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 3, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "source_or_other": 2}, "linked_commit_count": 1, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#37\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, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#37\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 3\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 2, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2d6d206d8d0d6433\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/37\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/37\\nTitle: feat(serve): server-level instructions \u2014 SRG+ usage guidance for every connecting client\\nBody:\\n## \u0417\u0430\u0447\u0435\u043c\\n`FastMCP(\\\"SRG+\\\")` \u043d\u0435 \u0437\u0430\u0434\u0430\u0432\u0430\u043b `instructions`, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 claude.ai/Cursor/Cline \u043f\u043e\u043b\u0443\u0447\u0430\u043b\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0442\u0443\u043b\u043e\u0432 \u0438 \u043d\u0438\u043a\u0430\u043a\u043e\u0439 \u043e\u0431\u0449\u0435\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u0438. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u043d\u043e\u0433\u043e \u0441\u043a\u0438\u043b\u0430 `srgplus-core` (\u0436\u0438\u0432\u0451\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u0440\u0435\u043f\u043e \u043a\u043e\u043c\u0430\u043d\u0434\u044b), \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u044b\u0435 instructions **\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0435\u0434\u0443\u0442 \u0441 \u043a\u043e\u043d\u0435\u043a\u0442\u043e\u0440\u043e\u043c \u043a\u0430\u0436\u0434\u043e\u043c\u0443**, \u043a\u0442\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f.\\n\\n## \u0427\u0442\u043e\\n`SRG_INSTRUCTIONS`: ID-\u043c\u043e\u0434\u0435\u043b\u044c (workspace \u2192 hub \u2192 channel \u2192 category \u2192 content \u2192 asset), \u0442\u0438\u043f\u0438\u0447\u043d\u044b\u0439 flow, \u0438 \u0433\u043b\u0430\u0432\u043d\u043e\u0435 \u2014 \u043f\u043e\u0434\u0432\u043e\u0434\u043d\u044b\u0435 \u043a\u0430\u043c\u043d\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e \u043b\u043e\u043c\u0430\u044e\u0442 \u0434\u0430\u043d\u043d\u044b\u0435:\\n- update_content: \u0441\u043a\u0430\u043b\u044f\u0440\u044b \u043c\u0451\u0440\u0434\u0436\u0430\u0442\u0441\u044f, \u043d\u043e \u0421\u041f\u0418\u0421\u041a\u0418 (channels/context/categories) \u0437\u0430\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0446\u0435\u043b\u0438\u043a\u043e\u043c \u2192 \u0447\u0438\u0442\u0430\u0442\u044c get_content_v2, \u0440\u0430\u0441\u0448\u0438\u0440\u0438\u0442\u044c, \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a; PUT \u0434\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u0438\u0432\u0435\u043d\\n- 401/403 \u043d\u0430 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438/\u043a\u0430\u043d\u0430\u043b\u0435 \u044d\u0442\u043e \u041d\u041e\u0420\u041c\u0410 (per-item ACL) \u2014 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c, \u043d\u0435 \u043f\u0430\u0434\u0430\u0442\u044c\\n- \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0435 \u043a\u0430\u043d\u0430\u043b\u044b \u2192 get_content_v2\\n- \u0430\u0441\u0441\u0435\u0442\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 upload_asset (URL/base64), create_*_asset deprecated\\n- \\\"No workspaces found\\\" = \u043c\u0451\u0440\u0442\u0432\u044b\u0439 \u043a\u043b\u044e\u0447, \u043f\u0435\u0440\u0435\u0432\u044b\u043f\u0443\u0441\u0442\u0438\u0442\u044c\\n\\n\u041f\u0440\u043e\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-8c7e8af8c0d40ad5\",\n    \"filename\": \"srg_mcp/_app.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 33,\n    \"deletions\": 1,\n    \"changes\": 34,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/2f29273873aaad698b912d78f29f53633e766ede/srg_mcp%2F_app.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-0327eec994c961fa\",\n    \"filename\": \"srg_mcp/serve/profiles.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 3,\n    \"deletions\": 1,\n    \"changes\": 4,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/2f29273873aaad698b912d78f29f53633e766ede/srg_mcp%2Fserve%2Fprofiles.py\"\n  },\n  {\n    \"id\": \"github\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-08bafca148729818", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312591, "scanner": "foundry_dataset", "fingerprint": "9ff2e76313b6ae54ed474beba2f1a8dadc4c48f87d26cd313dbd4f8182d70787", "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": "srgplus/srgplus-mcp#35", "human_labels": ["agent_instruction_gap", "security_or_auth", "source_or_other", "test_or_ci"], "issue_number": "35", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.812, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a56527884a83fd0c", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "source_or_other": 2, "security_or_auth": 1}, "linked_commit_count": 2, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#35\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, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#35\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 2, 'security_or_auth': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-96193ae8fe07705b\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/35\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/35\\nTitle: feat(serve): /mcp/core \u2014 curated 11-tool profile for daily content work\\nBody:\\nRe-open of #34 (GitHub closed it when its base branch fix/stability was deleted after #33 merged; closed PRs can't be retargeted).\\n\\n\u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u043e #34: \u043c\u0430\u0440\u0448\u0440\u0443\u0442 `/mcp/core` \u0441 11 \u043a\u0443\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u043c\u0438 tools, `/mcp` \u043d\u0435 \u0442\u0440\u043e\u043d\u0443\u0442 (98), discovery echo \u043f\u043e RFC 9728, 68 \u0442\u0435\u0441\u0442\u043e\u0432. \u041f\u043e\u043b\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0432 #34.\\n\\n\u041f\u043e\u0441\u043b\u0435 \u043c\u0435\u0440\u0436\u0430: \u043a\u043e\u043d\u0435\u043a\u0442\u043e\u0440 \u0421\u0435\u0440\u0436\u0430 \u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0438\u043c \u043d\u0430 `https://mcp.srgplus.com/mcp/core`; \u0430\u0433\u0435\u043d\u0442\u0441\u0442\u0432\u0430 \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u043d\u0430 `/mcp`.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-2cce4efb8acffc9d\",\n    \"filename\": \"srg_mcp/serve/main.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 30,\n    \"deletions\": 5,\n    \"changes\": 35,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/43f022a820c2aa0d779f437b489eccbb57ed4ed9/srg_mcp%2Fserve%2Fmain.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-81b312974f7be918\",\n    \"filename\": \"srg_mcp/serve/oauth/discovery.py\",\n    \"label\": \"security_or_auth\",\n    \"status\": \"modified\",\n    \"additions\": 9,\n    \"deletions\": 1,\n    \"changes\": 10,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/43f022a820c2aa0d779f437b489eccbb57ed4ed9/srg_mcp%2Fserve%2Foauth%2Fdiscovery.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-953b6b872cdde809\",\n    \"filename\": \"srg_mcp/serve/profiles.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 64,\n    \"deletions\": 0,\n    \"changes\": 64,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/43f022a820c2aa0d779f437b489eccbb57ed4ed9/srg_mcp%2Fserve%2Fprofiles.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-9db5a7dab04b3aa3\",\n    \"filename\": \"tests/test_core_pro\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-a623740841b389a0", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312590, "scanner": "foundry_dataset", "fingerprint": "cae60cd8681217a5fde9e852b35f5281fb53764c725c07892418cd42f9197e79", "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": "srgplus/srgplus-mcp#34", "human_labels": ["agent_instruction_gap", "security_or_auth", "source_or_other", "test_or_ci"], "issue_number": "34", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-dbb82f4f54298791", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "source_or_other": 2, "security_or_auth": 1}, "linked_commit_count": 2, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#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, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#34\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 2, 'security_or_auth': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-bb5d66b51c97072c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/34\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/34\\nTitle: feat(serve): /mcp/core \u2014 curated 11-tool profile for daily content work\\nBody:\\n## \u0427\u0442\u043e \u044d\u0442\u043e\\n\\n\u0427\u0430\u0441\u0442\u044c 3 \u043f\u043b\u0430\u043d\u0430 (stability \u2192 user keys \u2192 **core profile**). Stacked \u043f\u043e\u0432\u0435\u0440\u0445 #33, \u043c\u0435\u0440\u0436\u0438\u0442\u044c \u041f\u041e\u0421\u041b\u0415 \u043d\u0435\u0433\u043e (base = fix/stability).\\n\\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\\n- **`/mcp/core`**: \u043a\u0443\u0440\u0438\u0440\u0443\u0435\u043c\u044b\u0435 11 tools \u0434\u043b\u044f \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u043e\u043c: `list_workspaces, list_hub_profiles, list_channels, get_channel, search_contents, get_content, get_content_v2, create_content, update_content, upload_asset, add_content_to_categories`. \u0411\u0435\u0437 delete/archive/move, \u0431\u0435\u0437 user/permission management, \u0431\u0435\u0437 deprecated `create_*_asset`.\\n- **`/mcp` \u043d\u0435 \u0442\u0440\u043e\u043d\u0443\u0442** (98 tools) \u2014 \u0430\u0433\u0435\u043d\u0442\u0441\u0442\u0432\u0430 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u044e\u0442.\\n- Tool-\u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0448\u0430\u0440\u044f\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u044f\u043c\u0438: \u0441\u0445\u0435\u043c\u044b \u0438\u0434\u0435\u043d\u0442\u0438\u0447\u043d\u044b, \u043e\u0431\u0435\u0440\u0442\u043a\u0430 \u043e\u0448\u0438\u0431\u043e\u043a \u0438\u0437 #33 \u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u043d\u0430 \u043e\u0431\u0435\u0438\u0445.\\n- Discovery: `/.well-known/oauth-protected-resource/mcp/core` \u043e\u0442\u0434\u0430\u0451\u0442 \u0441\u0432\u043e\u0439 resource (RFC 9728 \u00a73.3); \u0444\u043e\u0440\u043c\u0430 \u0434\u043b\u044f `/mcp` \u0431\u0430\u0439\u0442-\u0432-\u0431\u0430\u0439\u0442 \u043f\u0440\u0435\u0436\u043d\u044f\u044f (\u043f\u043e\u043c\u043d\u0438\u043c \u0440\u0435\u0432\u0435\u0440\u0442\u044b #29/#30).\\n- \u0422\u0435 \u0436\u0435 OAuth-\u0442\u043e\u043a\u0435\u043d\u044b \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0442 \u043d\u0430 \u043e\u0431\u043e\u0438\u0445 \u043f\u0443\u0442\u044f\u0445 (audience \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d \u043d\u0430 \u0445\u043e\u0441\u0442).\\n\\n### \u041f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e\\n- 68 \u0442\u0435\u0441\u0442\u043e\u0432 passe\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-4b25f3d9121fa786\",\n    \"filename\": \"srg_mcp/serve/main.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 30,\n    \"deletions\": 5,\n    \"changes\": 35,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/43f022a820c2aa0d779f437b489eccbb57ed4ed9/srg_mcp%2Fserve%2Fmain.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-58aae74928cd76b6\",\n    \"filename\": \"srg_mcp/serve/oauth/discovery.py\",\n    \"label\": \"security_or_auth\",\n    \"status\": \"modified\",\n    \"additions\": 9,\n    \"deletions\": 1,\n    \"changes\": 10,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/43f022a820c2aa0d779f437b489eccbb57ed4ed9/srg_mcp%2Fserve%2\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-e1533badb4fc25d0", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312589, "scanner": "foundry_dataset", "fingerprint": "962efea26db780492f6f8c01e19ef73d3dc9ac65a9d74717d81dca4de6f68d71", "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": "srgplus/srgplus-mcp#33", "human_labels": ["security_auth_secret", "source_or_other", "test_or_ci"], "issue_number": "33", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-2559900cf8a0f9ba", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "source_or_other": 3}, "linked_commit_count": 3, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#33\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, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#33\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 4\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 3, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-0ac4aedf71d70683\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/33\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/33\\nTitle: fix(serve): stability \u2014 bounded client cache, tool error wrapper, 401 diagnostics, health flag\\nBody:\\n## \u0427\u0442\u043e \u044d\u0442\u043e\\n\\n\u0427\u0430\u0441\u0442\u044c 1 \u0444\u0438\u043a\u0441\u0430 \u00ab\u043a\u043e\u043d\u0435\u043a\u0442\u043e\u0440 \u043f\u043e\u0441\u0442\u043e\u044f\u043d\u043d\u043e \u043e\u0442\u043b\u0435\u0442\u0430\u0435\u0442\u00bb (\u043f\u043b\u0430\u043d: stability, user keys, core profile).\\n\\n### \u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\\n- **`_client.py`**: \u043a\u0435\u0448 SRGClient \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d (idle TTL 24\u0447, max 128, \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f env) \u0438 \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0432\u044b\u0442\u0435\u0441\u043d\u0435\u043d\u043d\u044b\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u2014 \u0440\u0430\u043d\u044c\u0448\u0435 \u0440\u043e\u0441 \u0431\u0435\u0437 \u043b\u0438\u043c\u0438\u0442\u0430 (\u043f\u0430\u043c\u044f\u0442\u044c). \u042f\u0432\u043d\u044b\u0439 HTTP timeout 60s.\\n- **`serve/_tool_errors.py` (\u043d\u043e\u0432\u044b\u0439)**: \u043a\u0430\u0436\u0434\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 tool-\u0432\u044b\u0437\u043e\u0432\u0430 \u0434\u0430\u0451\u0442 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u0443\u044e WARNING-\u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u043b\u043e\u0433\u0430\u0445 (tool, status, error) \u0438 \u043a\u043e\u0440\u043e\u0442\u043a\u043e\u0435 actionable-\u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u0432\u043c\u0435\u0441\u0442\u043e \u0441\u044b\u0440\u043e\u0433\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f.\\n- **`serve/main.py`**: \u043f\u0440\u0438 \u043e\u0442\u043a\u043b\u043e\u043d\u0435\u043d\u0438\u0438 OAuth bearer \u043b\u043e\u0433\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430 (`exp` vs `InvalidSignature`/`InvalidTag` \u2014 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442 \u044d\u0444\u0435\u043c\u0435\u0440\u043d\u044b\u0435 OAUTH_* \u043a\u043b\u044e\u0447\u0438 \u043f\u043e\u0441\u043b\u0435 \u0440\u0435\u0441\u0442\u0430\u0440\u0442\u0430 = \u0433\u043b\u0430\u0432\u043d\u0430\u044f \u043f\u0440\u0438\u0447\u0438\u043d\u0430 \u043e\u0442\u043b\u0435\u0442\u0430\u043d\u0438\u0439). `/health` \u0442\u0435\u043f\u0435\u0440\u044c \u043e\u0442\u0434\u0430\u0451\u0442 `oauth_keys_persistent`.\\n\\n### \u0422\u0435\u0441\u0442\u044b\\n61 passed (13 \u043d\u043e\u0432\u044b\u0445 \u0432 `tests/test_stability.py`).\\n\\n## \u26a0\ufe0f \u041d\u0415 \u041c\u0415\u0420\u0416\u0418\u0422\u042c \u0431\u0435\u0437 owner\\n\u041c\u0435\u0440\u0436 \u0432 dev \u0430\u0432\u0442\u043e\u0434\u0435\u043f\u043b\u043e\u0438\u0442 \u041f\u0420\u041e\u0414 (`srg-plus-mcp-prod-uscentral1`). \u041f\u0435\u0440\u0435\u0434 \u043c\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-8a1679a7a9b0de10\",\n    \"filename\": \"srg_mcp/_client.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 64,\n    \"deletions\": 4,\n    \"changes\": 68,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/f575c1cf0c3db92cab2373c703e2c3022e496be8/srg_mcp%2F_client.py\"\n  },\n  {\n    \"id\": \"github-pr-file-file-70bad3d066338f5b\",\n    \"filename\": \"srg_mcp/serve/_tool_errors.py\",\n    \"label\": \"source_or_other\",\n    \"status\": \"added\",\n    \"additions\": 139,\n    \"deletions\": 0,\n    \"changes\": 139,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/f575c1cf0c3db92cab2373c703e2c3022e496be8/srg_mcp%2Fserve%2F_too\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-714b08c3fa995639", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312588, "scanner": "foundry_dataset", "fingerprint": "590277ca86a3400913bfe2bab6bbdaf2903a462521b9a1f38ed1e122b87423b0", "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": "srgplus/srgplus-mcp#31", "human_labels": ["human_feedback_general", "source_or_other"], "issue_number": "31", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.795, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ab05d8eef8bd78c5", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 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": 2, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#31\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_needs_classification\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#31\nRepo: srgplus/srgplus-mcp\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {'source_or_other': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-aac20668de14b231\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/31\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: K-Krut (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/31\\nTitle: chore: bump srgplus dependency to 0.2.2\\nBody:\\n\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-39fbfbf231423d73\",\n    \"filename\": \"pyproject.toml\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/srgplus/srgplus-mcp/blob/7f69ea9092962f69ff98216721442123fde3b683/pyproject.toml\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-fcb0402d2820fab1\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1}\nHelicopter views: {}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-18a601b8d9e32783", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312587, "scanner": "foundry_dataset", "fingerprint": "f4acd940a0a620b0b55ad34693339fe51707284d814dbf89eaa7f55c02e7945d", "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": "srgplus/srgplus-mcp#3", "human_labels": ["runtime_failure"], "issue_number": "3", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-e84dd930218d3288", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 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": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#3\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, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#3\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-739bbbd568422db7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/3\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/3\\nTitle: feat: drop monkey-patch, use SDK native per-request auth (SRGDEV-22 follow-up)\\nBody:\\n## Summary\\n\\nThe `srgplus` SDK [0.2.0](https://pypi.org/project/srgplus/0.2.0/) ([PR srgplus/SRG-sdk-python#1](https://github.com/srgplus/SRG-sdk-python/pull/1)) ships native per-request auth: `SRGClient.use_api_key(api_key)` binds an api_key into a contextvar that the SDK reads at request time, while all scoped clients share one underlying `httpx.Client` (and therefore one connection pool). This replaces the temporary monkey-patch in `serve/_patch.py`.\\n\\nWhat changed in the hosted MCP server:\\n\\n- **One** module-level `srg.SRGClient()` (no default api_key) \u2014 its `httpx` connection pool serves every request.\\n- Per-request: `with _base_client.use_api_key(api_key):` wraps `_session_manager.handle_request(...)` so the SDK's contextvar carries the workspace key for the duration of that request.\\n- `srg_mcp._client._client` is seeded to the base client at hosted-server startup, so the existing `get_client()` helper (used by every too\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ec569da8b520007b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1}\nHelicopter views: {}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-a88b05b2de1d4afe", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312586, "scanner": "foundry_dataset", "fingerprint": "a1a4cddf1b3536d8faf23904182064381b3b51ca6f2507ca4845b63eaabd331a", "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": "srgplus/srgplus-mcp#28", "human_labels": ["agent_instruction_gap", "api_or_backend", "security_auth_secret", "security_or_auth", "source_or_other", "test_or_ci"], "issue_number": "28", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a2fbf98fa53f90df", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 4, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1, "api_or_backend": 1, "source_or_other": 1, "security_or_auth": 1}, "linked_commit_count": 8, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#28\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, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#28\nRepo: srgplus/srgplus-mcp\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: 4\nLabels: {'security_auth_secret': 1, 'agent_instruction_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 1, 'api_or_backend': 1, 'security_or_auth': 1, 'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-92277b8e77797b04\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/28\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/28\\nTitle: fix(oauth): advertise plain in code_challenge_methods_supported (match Notion)\\nBody:\\n## Summary\\n\\nAfter [#27](https://github.com/srgplus/srgplus-mcp/pull/27) dropped openid-configuration, the OpenAI wizard still rejected OAuth save. Last value-level diff with mcp.notion.com (in OpenAI Apps Directory):\\n\\n| Field | Notion | Ours |\\n|-------|--------|------|\\n| `code_challenge_methods_supported` | `[\\\"plain\\\", \\\"S256\\\"]` | `[\\\"S256\\\"]` |\\n\\nOAuth 2.1 mandates S256-only enforcement at the token endpoint, but the AS metadata field documents *advertised* methods. Our token endpoint continues to enforce S256 \u2014 clients that try `plain` get rejected at exchange. Real MCP clients (claude.ai, ChatGPT) use S256. The `plain` advertisement is metadata shape only.\\n\\n`0.4.14` \u2192 `0.4.15`. 44/44 tests green.\\n\\n\ud83e\udd16 Generated with [Claude Code](https://claude.com/claude-code)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-7b5627142997b5fc\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/28#issuecomment-4385444918\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/28#issuecomment-4385444918\\nTitle: \\nBody:\\nHalting OAuth metadata experiments \u2014 they were chasing OpenAI's parser at the cost of breaking claude.ai. Will roll back to 0.4.7 and reopen via OpenAI support instead.\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-1461a44c6c681337\",\n    \"filename\": \"pyproject.toml\",\n    \"label\": \"source_or_other\",\n    \"sta\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-d8af7e71952e13d2", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312585, "scanner": "foundry_dataset", "fingerprint": "cf949e717c26e00f49f7363ade21c879e9d0fb7f8b9c1be3b7aa7031939e28d7", "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": "srgplus/srgplus-mcp#20", "human_labels": ["security_auth_secret"], "issue_number": "20", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-623bc782d1da72de", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#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, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#20\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-3513a7c5198addf1\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/20\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/20\\nTitle: feat: /.well-known/openai-apps-challenge endpoint for OpenAI domain verification\\nBody:\\nReturns plain text token from OPENAI_APPS_CHALLENGE_TOKEN env var. Required by platform.openai.com/apps-manage to verify domain ownership. 41/41 tests pass.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-2e15839f131a9eca\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1}\nHelicopter views: {}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-e184b674836d945f", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312584, "scanner": "foundry_dataset", "fingerprint": "159003048ba8484cc4cd2a790f59febceb607b4f1c3cc5ed802498fd214a1177", "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": "srgplus/srgplus-mcp#17", "human_labels": ["api_integration_gap"], "issue_number": "17", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c0676fcde77f5eb8", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 2, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#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, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#17\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ea3663e9b895f8a2\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/17\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/17\\nTitle: feat: Update multi-tenant SRGClient to support per-key API keys and w\u2026\\nBody:\\n\u2026orkspace scoping\\r\\n\\r\\nrefactor: Remove `get_workspace_id` and refactor methods to require explicit `workspace_id`\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-0f897779f695c673\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1}\nHelicopter views: {}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-1f95fa5f4a4b8f07", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312583, "scanner": "foundry_dataset", "fingerprint": "fafc67a59c434557a31e6bfe817d9d93b3f2ad573afd57511e1600539f5a0bef", "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": "srgplus/srgplus-mcp#15", "human_labels": ["agent_instruction_gap"], "issue_number": "15", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c16b22c65f4d41b4", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#15\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, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#15\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2a6278e44a3c4e6f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/15\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/15\\nTitle: chore: add mcp-name ownership proof to README for MCP Registry\\nBody:\\nRequired by mcp-publisher for io.github.srgplus/* namespace publishing. Will ship in next PyPI release.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-bf382651325e5284\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1}\nHelicopter views: {}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-658987e41ee55c51", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312582, "scanner": "foundry_dataset", "fingerprint": "55a26c6fbdad6faf9a88a3256bb7abc7dbd52965b288ccaa7eb3bb3a224bdafd", "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": "srgplus/srgplus-mcp#14", "human_labels": ["data_schema_persistence"], "issue_number": "14", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-082fa58d4653ceaa", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 1}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 1, "helicopter_view_count": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#14\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, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#14\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-e2bd6596b5ac7cf6\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/14\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/14\\nTitle: chore: add server.json for MCP Registry publishing\\nBody:\\nGenerated via mcp-publisher init, edited for our PyPI + remote HTTP endpoints, validated against 2025-12-11 schema. Namespace: io.github.srgplus/srgplus-mcp. Required to publish to https://registry.modelcontextprotocol.io/.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-31f5bb6d11a983fe\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1}\nHelicopter views: {}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels: {\"fake_real_data_plus_verification_gap\": 1}", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-8e00c6a3cdd0d07f", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 312581, "scanner": "foundry_dataset", "fingerprint": "795d7d22f8d0a24c770542cc90e8334833ac39321d6a66d36a73abf31894ad55", "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": "srgplus/srgplus-mcp#10", "human_labels": ["security_auth_secret"], "issue_number": "10", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.725, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-b77eeed39050bd6a", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 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": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#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, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#10\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7fba5987708949ae\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/10\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/10\\nTitle: docs: multi-connector workaround for multi-workspace\\nBody:\\n## What\\n\\nDocument the **multi-connector workaround** for users who need to connect Claude to multiple SRG+ workspaces in the same session.\\n\\n## Why\\n\\nToday each SRG+ workspace API key is scoped to one workspace, so a single OAuth flow \u2192 single workspace. Until [SRGDEV-27](https://sergecreator.atlassian.net/browse/SRGDEV-27) (Airtable-style multi-select consent + per-workspace API key provisioning) lands, users still need a way to work with several workspaces.\\n\\nThe workaround is simple: add the SRG+ connector multiple times in claude.ai \u2192 Settings \u2192 Connectors, one entry per workspace. claude.ai displays tools from each connector under its own name, so the LLM can scope requests to a specific workspace.\\n\\n## Changes\\n\\n- `README.md`: new \\\\\\\"Multiple workspaces\\\\\\\" subsection inside the OAuth section, between \\\\\\\"Backwards compatibility\\\\\\\" and \\\\\\\"Production secrets\\\\\\\".\\n\\n## Out of scope\\n\\nThis is **docs only** \u2014 no code changes. The proper Airtable-style flow \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-bb0eea01b55df820\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1}\nHelicopter views: {}\nBundle labels: {\"source_backed_f\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-assumption_checks-7bb8926dc0325bd4", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 341076, "scanner": "foundry_dataset", "fingerprint": "ca858e237b95b41fe6f4b3027b1e3417c8d0642d9b5fed7ef0d4fe9614a69592", "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": 1, "partial blueprint fit": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#7", "issue_number": "7", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-dfcc2ca6482bfe03", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#7\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#7\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#7\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 7\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 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: {'high_confidence': 3, 'assumption_check': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-d87e3958a7ea4be9", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 341075, "scanner": "foundry_dataset", "fingerprint": "c857c92a64b6b46b007a3e74d72a8982619de318856d0b000f767943e3b91de0", "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, "partial blueprint fit": 2, "verification_or_tests": 2, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#6", "issue_number": "6", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-954afa28b1b4f4e2", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#6\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#6\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#6\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 6\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-b57f0cb492702f95", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 341074, "scanner": "foundry_dataset", "fingerprint": "d83755f2f75bf53324c5ca01b62120d45148e81944b4848da4d39b323a550b4c", "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": 1, "partial blueprint fit": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#5", "issue_number": "5", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-431681e451cf742b", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#5\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#5\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#5\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 5\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 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: {'high_confidence': 3, 'assumption_check': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-07be7d3960d37ec1", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 341073, "scanner": "foundry_dataset", "fingerprint": "165363aa82b2aef32baba6c9159816c2ea24756c83b4217889cd2be894941241", "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": {"source_or_other": 3, "api_integration_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 5, "ci_pending_or_incomplete": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_alignment": 2, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {"ci_pending_or_incomplete": 2}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 3, "comment_chain_has_ci": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 3, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 24, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 3, "alignment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#44", "issue_number": "44", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-dff0f42b44a1b540", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"source_or_other": 12}}, "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#44\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#44\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#44\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 44\nGraph consistency label: supported_by_high_confidence_link\nNodes: 24\nEdges: 34\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 3, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_touches_file': 3, 'comment_chain_touches_file': 3, 'issue_chain_touches_file': 3, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 5, 'source_or_other': 3, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'comment_has_related_commit_context': 1, 'ci_pending_or_incomplete': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {'ci_pending_or_incomplete': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-a829808737f3595f", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 341072, "scanner": "foundry_dataset", "fingerprint": "437394eec2a7a4a8fb070029772bae535bd064b6dee1d2a4ff873be23160315c", "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": 1, "generated_provenance": 1, "partial blueprint fit": 2, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#4", "issue_number": "4", "quality_tiers": {"assumption_check": 2, "weak_supervision": 3}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-5848a6a8eddf81a0", "graph_gold_label": "weak_supervision_needs_review", "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: weak_supervision_needs_review\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#4\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#4\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 4\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-b42b81a37f62dce9", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 341071, "scanner": "foundry_dataset", "fingerprint": "636350a959bb7068f80ca10ef5c3af4996d15639b60803a5c053e7de88f12794", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_or_ci": 1, "test_ci_gap": 1, "api_or_backend": 1, "docs_or_claims": 1, "source_or_other": 2, "partial blueprint fit": 2, "verification_or_tests": 4, "ci_pending_or_incomplete": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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": {"ci_pending_or_incomplete": 2}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "comment_chain_has_ci": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 5, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 26, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 5, "alignment": 2, "ci_summary": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#32", "issue_number": "32", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b786f442331daed7", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "api_or_backend": 4, "docs_or_claims": 4, "source_or_other": 8}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#32\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#32\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#32\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 32\nGraph consistency label: supported_by_verification_signal\nNodes: 26\nEdges: 40\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'ci_summary': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_links_commit': 5, 'comment_chain_touches_file': 5, 'chain_has_link_quality': 5, 'issue_chain_touches_file': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_has_ci': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'docs_or_claims': 1, 'api_or_backend': 1, 'test_or_ci': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'ci_pending_or_incomplete': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\nCI labels: {'ci_pending_or_incomplete': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-89bbe7039a6f176a", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 341070, "scanner": "foundry_dataset", "fingerprint": "351b45d1d6facd64a6cc3353fd7931c632d4603e87f42b50d006931c5ab812fe", "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, "partial blueprint fit": 2, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#21", "issue_number": "21", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-5b742866fc1e6e3d", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#21\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#21\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#21\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 21\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-d22128eaaad567ed", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 341069, "scanner": "foundry_dataset", "fingerprint": "2bd3236a3f463c15d9e15cf7acc8b8ba3cc55ed1d583b462b9dd4f0e39d1dc24", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "test_ci_gap": 1, "dependency_or_build": 1, "partial blueprint fit": 2, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#2", "issue_number": "2", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-fdae1b9fdaecd7e3", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#2\nEvidence:\nGraph motif: Feedback or fix context exposes missing test/CI guardrails\nMotif id: test_ci_gap_after_feedback\nPolarity: bad\nTraining usage: hard_negative\nSeverity: high\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#2\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#2\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 2\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-dfe11bac01318c60", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 341068, "scanner": "foundry_dataset", "fingerprint": "d6951af8e91d53ac84f807771326b095b1a42cdc81fc6108e74a1e04eb44bf25", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 1, "feature": 1, "test_ci_gap": 1, "partial blueprint fit": 2, "verification_or_tests": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#16", "issue_number": "16", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-705cec06573afa89", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#16\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#16\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#16\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 16\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'feature': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-a2cfa749cd848b6b", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 341067, "scanner": "foundry_dataset", "fingerprint": "fc545c25096660e00a68c4c4e848926d904fe6c8e55691a87c9dfe573d25c70f", "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, "commit_general": 1, "partial blueprint fit": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#11", "issue_number": "11", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ef77274598e35057", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#11\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#11\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#11\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 11\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'commit_general': 1, 'verification_or_tests': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-4e7f04d426929d1d", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 341066, "scanner": "foundry_dataset", "fingerprint": "e02ffdc1b95640202a992a37f50e9441e927f83228d9c7425aa52c4e5c2328da", "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, "docs_or_chore": 1, "security_or_secrets": 2, "security_auth_secret": 1, "partial blueprint fit": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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_with_verification_signal": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 25, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#1", "issue_number": "1", "quality_tiers": {"high_confidence": 4, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-31431804882bda7c", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#1\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#1\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 1\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 34\nNode types: {'commit': 7, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 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': 4, 'bug_fix': 3, 'human_reported_issue_then_verified_fix_attempt': 2, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'verification_or_tests': 1, 'docs_or_chore': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-50dca3f1e8f15008", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 330990, "scanner": "foundry_dataset", "fingerprint": "aff9767cccb94f123535e7e464bb0653d37293f4464e91b8f5085816395c38c3", "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, "source_or_other": 2, "partial blueprint fit": 2, "verification_or_tests": 4, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#38", "issue_number": "38", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-e35174b35f8ea65d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"source_or_other": 8}}, "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#38\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#38\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#38\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 38\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 30\nNode types: {'commit': 5, 'link_quality': 5, 'pr_file': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_touches_file': 2, 'comment_chain_touches_file': 2, 'issue_chain_touches_file': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-2a902355210d2da3", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 330989, "scanner": "foundry_dataset", "fingerprint": "b19c8fd412aa2f7beb11ce7fdf636c7bb4277b0b93c932407407caf4bd71f70c", "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, "partial blueprint fit": 2, "verification_or_tests": 2, "data_schema_persistence": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#25", "issue_number": "25", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-a0ccbb755e0ba62b", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#25\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#25\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 25\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 24\nNode types: {'commit': 5, 'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-4cd738cb4fbc5377", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 330988, "scanner": "foundry_dataset", "fingerprint": "978c7592e62065be24c0049cf7699cb88dd5588bd6651c76e6cd8dc5ece50032", "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": {"security_or_secrets": 1, "partial blueprint fit": 2, "data_schema_persistence": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 5, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 16, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 1, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#14", "issue_number": "14", "quality_tiers": {"high_confidence": 3, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-de060f6f08a1c3e0", "graph_gold_label": "supported_by_high_confidence_link", "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_high_confidence_link\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#14\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#14\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#14\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 14\nGraph consistency label: supported_by_high_confidence_link\nNodes: 16\nEdges: 20\nNode types: {'link_quality': 5, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 5, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_links_commit': 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_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-a37d656974ec0cf6", "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": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 322989, "scanner": "foundry_dataset", "fingerprint": "d15196a1a77e5c321a294447d9d52a3ef2f86035e59ce87a0f3d9964148b222f", "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": "srgplus/srgplus-mcp#13", "human_labels": ["mock_placeholder"], "issue_number": "13", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-0855b660c18ed0f7", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 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": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#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, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#13\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6e6b4c1fce9ed1ad\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/13\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/13\\nTitle: feat: Web App Manifest + standard logo_uri in OAuth metadata\\nBody:\\n## Summary\\n- Add \\\\`logo_uri\\\\` (RFC 7591 convention) alongside \\\\`op_logo_uri\\\\` in both \\\\`/.well-known/oauth-authorization-server\\\\` and \\\\`/.well-known/oauth-protected-resource\\\\`.\\n- Add Web App Manifest at \\\\`/manifest.webmanifest\\\\` and \\\\`/.well-known/manifest.json\\\\` with a 4-size icon set + theme color.\\n- Reference manifest from root HTML \\\\`<link rel=\\\"manifest\\\">\\\\` and add \\\\`<meta name=\\\"theme-color\\\">\\\\`.\\n- Bump 0.4.3 \u2192 0.4.4.\\n\\n## Why\\nAnthropic Console's Organization Settings \u2192 Connectors page still shows a globe placeholder for SRG+. Two paths weren't exposed:\\n1. Catalog scrapers that follow the RFC 7591 \\\\`logo_uri\\\\` convention (we only had \\\\`op_logo_uri\\\\`).\\n2. PWA / connector-catalog crawlers that resolve icons via a Web App Manifest.\\n\\nNow both are wired up.\\n\\n## Test plan\\n- [x] Local: all routes register without errors\\n- [ ] Cloud Build deploys 0.4.4\\n- [ ] \\\\`/manifest.webmanifest\\\\` and \\\\`/.well-known/manifest.json\\\\` return JSON with 4 icons\\n- \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-27883f37e43c943f\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1}\nHelicopter views: {}\nBundle labels: {\"source_backed_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-bad_chains-12db15d0cbea6328", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 322988, "scanner": "foundry_dataset", "fingerprint": "4004030cc711da9fdaa86ad03833a9b902537c1f3633caea728592b98cb07011", "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": "srgplus/srgplus-mcp#12", "human_labels": ["mock_placeholder"], "issue_number": "12", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4ca02ae5b9edf58e", "helicopter_views": {}, "artifact_families": {"ci": 1, "docs": 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": 0, "source_artifact_count": 2, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#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, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: srgplus/srgplus-mcp#12\nRepo: srgplus/srgplus-mcp\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4f04602d526c53e1\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/srgplus/srgplus-mcp/pull/12\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: srgplus/srgplus-mcp\\nAuthor: srgplus (User)\\nURL: https://github.com/srgplus/srgplus-mcp/pull/12\\nTitle: feat: root-level icon aliases + HTML index (fix connector card globe)\\nBody:\\n## Summary\\n- Root-level icon alias routes: \\\\`/apple-touch-icon.png\\\\`, \\\\`/apple-touch-icon-precomposed.png\\\\`, \\\\`/apple-icon.png\\\\`, \\\\`/logo.png\\\\`, \\\\`/icon.png\\\\` \u2014 all serve from existing \\\\`serve/static/icon-*.png\\\\`.\\n- Minimal HTML index at \\\\`/\\\\` with \\\\`<link rel=\\\"icon\\\">\\\\`, \\\\`apple-touch-icon\\\\`, OG / Twitter Card meta tags.\\n- Bump \\\\`0.4.2 -> 0.4.3\\\\`.\\n\\n## Why\\nclaude.ai's Custom Connector detail panel still showed a globe placeholder even after we set \\\\`op_logo_uri\\\\` in OAuth metadata. The list view picked up our icon, but the detail panel probes conventional paths (\\\\`/apple-touch-icon.png\\\\`, \\\\`/logo.png\\\\`, \\\\`/\\\\` HTML meta tags). All returned 404, so claude.ai fell back to its generic gradient placeholder. This wires up every common probe path to the SRG+ mark.\\n\\n## Test plan\\n- [x] Local: \\\\`from srg_mcp.serve.main import app\\\\` registers all 5 alias routes + \\\\`/\\\\` index without errors\\n- [ ] Cloud Build deploys 0.4.3 from dev\\n- [ ] Produc\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-de980481640c5199\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: srgplus/srgplus-mcp\nGraph label: source_backed_multi_signal_graph\nNodes: 6\nEdges: 8\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"repo\": 1, \"source_artifact\": 2, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 1, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_source_artifact\": 2, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 1}\nHelicopter views: {}\nBundle labels: {\"source_backed_\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/srgplus/srgplus-mcp", "source_id": "comment-chain-pattern-bad_chains-e976036fb42544c2", "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": "srgplus/srgplus-mcp", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 334963, "scanner": "foundry_dataset", "fingerprint": "25e41146c81fad8c0b5e01ae0b79d684d9ea852ab7f13f313b95037e7370944c", "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": 2, "security_or_auth": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 2, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "pr_file": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#40", "issue_number": "40", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-99287ed542ed3fc4", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"security_or_auth": 4}}, "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#40\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#40\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#40\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 40\nGraph consistency label: supported_by_high_confidence_link\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'comment_chain_links_commit': 2, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_touches_file': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'security_or_auth': 1, 'human_reported_issue_then_fix_attempt': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-6f1d04e25ca50623", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 334962, "scanner": "foundry_dataset", "fingerprint": "38a2cf3ae4fb9c7a8cb30da9f1a7d139198b901d9b75950d1a1d67b583dafb2c", "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": 2, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 2, "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": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "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": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#22", "issue_number": "22", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-00139209b62ef866", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#22\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#22\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#22\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 22\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, '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, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-2632d0849b674688", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 334961, "scanner": "foundry_dataset", "fingerprint": "e37a72b1d4ff08c68e7b0a1b0d739a3eb47a63bba6f0dab7f92df68930de2ce1", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"security_or_secrets": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 12, "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": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 10, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#20", "issue_number": "20", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-9920e4161a3338cf", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#20\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#20\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#20\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 20\nGraph consistency label: supported_by_high_confidence_link\nNodes: 10\nEdges: 12\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'comment_chain_links_commit': 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_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-174a45cf0119e90b", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 334960, "scanner": "foundry_dataset", "fingerprint": "27ec66d3ab5be5bc0c4ce5dd036653fab285718d442e2b9d5083537e3da627d1", "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, "security_or_secrets": 1, "security_auth_secret": 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": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "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": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#19", "issue_number": "19", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-8c6b01b5ba2083bc", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#19\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#19\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#19\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 19\nGraph consistency label: supported_by_verification_signal\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, '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: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'verification_or_tests': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-55deb15c442a6a60", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 334959, "scanner": "foundry_dataset", "fingerprint": "f4b0f08d3fce6d3c530f8881c9fcc532cf03bed749f85d604f4714ad48dd274b", "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, "docs_or_chore": 1, "security_or_secrets": 1, "security_auth_secret": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "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": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#10", "issue_number": "10", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-a8f4d1c40567c44f", "graph_gold_label": "weak_supervision_needs_review", "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: weak_supervision_needs_review\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#10\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#10\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#10\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 10\nGraph consistency label: weak_supervision_needs_review\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, '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: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'docs_or_chore': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-d6c2983aa67bfa30", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 334958, "scanner": "foundry_dataset", "fingerprint": "f38c8c5c43373526d37ee23821221eea7c29542df3f314bcc9855c44b52363ff", "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, "test_ci_gap": 1, "docs_or_chore": 1, "security_or_secrets": 2, "security_auth_secret": 1, "partial blueprint fit": 2, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_alignment": 2, "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": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 6, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 25, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 2}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#1", "issue_number": "1", "quality_tiers": {"high_confidence": 4, "assumption_check": 2}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-2d55fbecab11ab0c", "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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#1\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#1\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#1\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 1\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 34\nNode types: {'commit': 7, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'blueprint_finding': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 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': 4, 'bug_fix': 3, 'human_reported_issue_then_verified_fix_attempt': 2, 'security_or_secrets': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_alignment': 2, 'partial blueprint fit': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'verification_or_tests': 1, 'docs_or_chore': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8}\nQuality tiers: {'high_confidence': 4, 'assumption_check': 2}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-93887395fbc2ec46", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 327162, "scanner": "foundry_dataset", "fingerprint": "242b768086f720c113ac99bcc37f298fe4287cd7be18f827c203e5db8f6fd967", "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, "ui_workflow": 1, "mock_placeholder": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 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}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "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": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#13", "issue_number": "13", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-f0ebf55faa48a4d9", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#13\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#13\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#13\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 13\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, '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: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'ui_workflow': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-c6e1c3822685f4e9", "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": "srgplus/srgplus-mcp", "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: srgplus/srgplus-mcp"}, "properties": {"repobilityId": 327161, "scanner": "foundry_dataset", "fingerprint": "b441b35fd89fea7f2016bddcbeb6f69148c2a15d1ac0eb0f55b414d3c118e782", "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, "mock_placeholder": 1, "generated_provenance": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 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}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 16, "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": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 14, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "srgplus/srgplus-mcp#12", "issue_number": "12", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "srgplus/srgplus-mcp", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-321213832de95a53", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#12\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: srgplus/srgplus-mcp\nThread: srgplus/srgplus-mcp#12\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: srgplus/srgplus-mcp#12\nRepo: srgplus/srgplus-mcp\nIssue/PR number: 12\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 16\nNode types: {'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 5, '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: {'bug_fix': 4, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'high_confidence': 3}\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/srgplus/srgplus-mcp", "source_id": "graph-query-motif_query-5ae06cfc9656996b", "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": "srgplus/srgplus-mcp", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-7d26d01080aa48db", "level": "note", "message": {"text": "Possibly dead Python function: health"}, "properties": {"repobilityId": "b0dbdc8073a0048c", "scanner": "scanner-primary", "fingerprint": "7d26d01080aa48db", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/main.py:147"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-14c32cfcd1d33e81", "level": "note", "message": {"text": "Possibly dead Python function: favicon"}, "properties": {"repobilityId": "0e230d107327395d", "scanner": "scanner-primary", "fingerprint": "14c32cfcd1d33e81", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/main.py:358"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-86b5815a868f29b8", "level": "note", "message": {"text": "Possibly dead Python function: static_asset"}, "properties": {"repobilityId": "d9a239af4f9fce06", "scanner": "scanner-primary", "fingerprint": "86b5815a868f29b8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/main.py:362"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1c527d15977ecdb7", "level": "note", "message": {"text": "Possibly dead Python function: openai_apps_challenge"}, "properties": {"repobilityId": "98a9b2312ef9b678", "scanner": "scanner-primary", "fingerprint": "1c527d15977ecdb7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/main.py:380"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aad6041c61f467f8", "level": "note", "message": {"text": "Possibly dead Python function: handler"}, "properties": {"repobilityId": "bd219af3bd678eef", "scanner": "scanner-primary", "fingerprint": "aad6041c61f467f8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/main.py:415"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-410b710184e5c4bb", "level": "note", "message": {"text": "Possibly dead Python function: root_index"}, "properties": {"repobilityId": "c59a940633053c7a", "scanner": "scanner-primary", "fingerprint": "410b710184e5c4bb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/main.py:457"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7f81bac8a48c9c71", "level": "note", "message": {"text": "Possibly dead Python function: authorization_server_metadata"}, "properties": {"repobilityId": "3011e4f7ec586f0d", "scanner": "scanner-primary", "fingerprint": "7f81bac8a48c9c71", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/oauth/discovery.py:43"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-84d1824af9012385", "level": "note", "message": {"text": "Possibly dead Python function: protected_resource_metadata"}, "properties": {"repobilityId": "6e4fedb7ec7e6325", "scanner": "scanner-primary", "fingerprint": "84d1824af9012385", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/oauth/discovery.py:80"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-299bb193d298c9a0", "level": "note", "message": {"text": "Possibly dead Python function: verify"}, "properties": {"repobilityId": "f6840ad6ce632440", "scanner": "scanner-primary", "fingerprint": "299bb193d298c9a0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/oauth/pkce.py:24"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7816f91a4c7975de", "level": "note", "message": {"text": "Possibly dead Python function: authorize_get"}, "properties": {"repobilityId": "1bb184d463fc5d24", "scanner": "scanner-primary", "fingerprint": "7816f91a4c7975de", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/oauth/authorize.py:194"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ed730f599767eab7", "level": "note", "message": {"text": "Possibly dead Python function: authorize_post"}, "properties": {"repobilityId": "ec34c4544659fbce", "scanner": "scanner-primary", "fingerprint": "ed730f599767eab7", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/oauth/authorize.py:221"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b021bb0770b2da21", "level": "note", "message": {"text": "Possibly dead Python function: revoke"}, "properties": {"repobilityId": "3ae5cf18bf37c3f2", "scanner": "scanner-primary", "fingerprint": "b021bb0770b2da21", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/oauth/token.py:256"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-f225bb91d91aa010", "level": "note", "message": {"text": "Possibly dead Python function: register"}, "properties": {"repobilityId": "3dcfff96740bd31f", "scanner": "scanner-primary", "fingerprint": "f225bb91d91aa010", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "srg_mcp/serve/oauth/dcr.py:51"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de3c1f217d72a063", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "1de0ecd007803dbd", "scanner": "scanner-primary", "fingerprint": "de3c1f217d72a063", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "docker", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "Dockerfile"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-aa5acaa49eb8315b", "level": "note", "message": {"text": "Containers defined but no K8s/orchestration manifest found"}, "properties": {"repobilityId": "b230ea9b68736081", "scanner": "scanner-primary", "fingerprint": "aa5acaa49eb8315b", "layer": "hardware", "severity": "low", "confidence": 1.0, "tags": ["coverage", "deployment"]}}, {"ruleId": "scanner-9710c8d059e53154", "level": "none", "message": {"text": "No frontend routes/components detected"}, "properties": {"repobilityId": "44ca61485762e494", "scanner": "scanner-primary", "fingerprint": "9710c8d059e53154", "layer": "frontend", "severity": "info", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-4601e3ad3bb28677", "level": "warning", "message": {"text": "No CI/CD pipelines detected"}, "properties": {"repobilityId": "c3ee439bce2bc51e", "scanner": "scanner-primary", "fingerprint": "4601e3ad3bb28677", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["coverage"]}}, {"ruleId": "scanner-141b30a41e03817b", "level": "note", "message": {"text": "No license file detected"}, "properties": {"repobilityId": "3cd9129e2816f052", "scanner": "scanner-primary", "fingerprint": "141b30a41e03817b", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["license", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "3d2768cba5db109c", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-b9088664ace7f748", "level": "note", "message": {"text": "Composite production-readiness gap"}, "properties": {"repobilityId": "e9d2b2a7b0b3c3f9", "scanner": "scanner-primary", "fingerprint": "b9088664ace7f748", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["production-readiness", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "9c1134cc240988a0", "scanner": "scanner-primary", "fingerprint": "ea8f3013f588db25", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-8424db9c75e04ba4", "level": "none", "message": {"text": "Very short observed git history"}, "properties": {"repobilityId": "65ec293673d5d309", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-152a88e0a6f53bed", "level": "note", "message": {"text": "Legacy-named symbol `get_content_v2` in tests/test_instructions.py:17"}, "properties": {"repobilityId": "200d2c68c929b407", "scanner": "scanner-primary", "fingerprint": "152a88e0a6f53bed", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-06c63e18097030c9", "level": "note", "message": {"text": "Legacy-named symbol `get_content_v2` in tests/test_core_profile.py:19"}, "properties": {"repobilityId": "9560c2df5969ba18", "scanner": "scanner-primary", "fingerprint": "06c63e18097030c9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-20c9dfedb60a9f70", "level": "note", "message": {"text": "Legacy-named symbol `srgplus_old` in tests/test_stability.py:61"}, "properties": {"repobilityId": "cb086e4a7d6c4e14", "scanner": "scanner-primary", "fingerprint": "20c9dfedb60a9f70", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b0e8bb492c743f6a", "level": "note", "message": {"text": "Legacy-named symbol `get_content_v2` in srg_mcp/guide.py:35"}, "properties": {"repobilityId": "32b91bd272847b3b", "scanner": "scanner-primary", "fingerprint": "b0e8bb492c743f6a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9e752b83d0318819", "level": "note", "message": {"text": "Legacy-named symbol `get_content_v2` in srg_mcp/contents.py:121"}, "properties": {"repobilityId": "1e6034efb2a6eb19", "scanner": "scanner-primary", "fingerprint": "9e752b83d0318819", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-0ba6c1f93a79d9f3", "level": "none", "message": {"text": "Commented-code block (6 lines) in srg_mcp/contents.py:513"}, "properties": {"repobilityId": "f7db9577e9c30ae0", "scanner": "scanner-primary", "fingerprint": "0ba6c1f93a79d9f3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-54f9ad2ec7f26593", "level": "note", "message": {"text": "Legacy-named symbol `get_content_v2` in srg_mcp/_app.py:33"}, "properties": {"repobilityId": "934004d43d4199dc", "scanner": "scanner-primary", "fingerprint": "54f9ad2ec7f26593", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-b89b91f3925d0d10", "level": "none", "message": {"text": "Commented-code block (5 lines) in srg_mcp/_app.py:3"}, "properties": {"repobilityId": "f9b0a9e5991594fe", "scanner": "scanner-primary", "fingerprint": "b89b91f3925d0d10", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00537990b13593e7", "level": "note", "message": {"text": "Legacy-named symbol `get_category_v2` in srg_mcp/channels.py:451"}, "properties": {"repobilityId": "aa8d3b19088aa4b8", "scanner": "scanner-primary", "fingerprint": "00537990b13593e7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-2c7633121a7490fd", "level": "note", "message": {"text": "Legacy-named symbol `get_content_v2` in srg_mcp/serve/profiles.py:37"}, "properties": {"repobilityId": "b3e1dc1c7bd6a1e2", "scanner": "scanner-primary", "fingerprint": "2c7633121a7490fd", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-157a5a7f0990d802", "level": "none", "message": {"text": "Commented-code block (6 lines) in srg_mcp/serve/main.py:66"}, "properties": {"repobilityId": "6323090d30bfed47", "scanner": "scanner-primary", "fingerprint": "157a5a7f0990d802", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-36fb6e721b7d0637", "level": "none", "message": {"text": "Commented-code block (7 lines) in srg_mcp/serve/oauth/__init__.py:67"}, "properties": {"repobilityId": "b766fd16d1350f43", "scanner": "scanner-primary", "fingerprint": "36fb6e721b7d0637", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e14ac1194576aba", "level": "none", "message": {"text": "Commented-code block (5 lines) in srg_mcp/serve/oauth/store.py:51"}, "properties": {"repobilityId": "d3f467b6c5d9c007", "scanner": "scanner-primary", "fingerprint": "7e14ac1194576aba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb9c0d5857bc89db", "level": "none", "message": {"text": "Commented-code block (7 lines) in srg_mcp/serve/oauth/discovery.py:66"}, "properties": {"repobilityId": "ac683829d9755974", "scanner": "scanner-primary", "fingerprint": "bb9c0d5857bc89db", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4de4af88fcc8df0e", "level": "none", "message": {"text": "Commented-code block (6 lines) in srg_mcp/serve/oauth/authorize.py:148"}, "properties": {"repobilityId": "243094135d6148da", "scanner": "scanner-primary", "fingerprint": "4de4af88fcc8df0e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "4e57e656c4e1e427", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "a6983ccf7aa56e6c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "8c2a6c3b32657854", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "3d9d283e2f394127", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}]}]}