{"version": "2.1.0", "$schema": "https://json.schemastore.org/sarif-2.1.0.json", "runs": [{"tool": {"driver": {"name": "Repobility", "informationUri": "https://repobility.com", "rules": [{"id": "foundry_unresolved_feedback", "name": "Foundry mined unresolved feedback: ronsse/trellis-ai", "shortDescription": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "fullDescription": {"text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#98\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#98\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#98\nRepo: ronsse/trellis-ai\nIssue/PR number: 98\nGraph consistency label: assumption_check\nNodes: 12\nEdges: 15\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_blueprint_gap", "name": "Foundry mined blueprint gap alignment: ronsse/trellis-ai", "shortDescription": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "fullDescription": {"text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#98\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#98\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#98\nRepo: ronsse/trellis-ai\nIssue/PR number: 98\nGraph consistency label: assumption_check\nNodes: 12\nEdges: 15\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge t"}, "properties": {"scanner": "foundry_dataset", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "cwe": "", "owasp": ""}}, {"id": "foundry_assumption_check", "name": "Foundry mined assumption checks: ronsse/trellis-ai", "shortDescription": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "fullDescription": {"text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#43\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#43\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-45050d230c519039\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/43#issuecomment-4324031981\",\n  "}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "medium", "confidence": 0.62, "cwe": "", "owasp": ""}}, {"id": "foundry_test_ci_gap", "name": "Foundry mined test ci gap after feedback: ronsse/trellis-ai", "shortDescription": {"text": "Foundry mined test ci gap after feedback: ronsse/trellis-ai"}, "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#96\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#96\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#96\nRepo: ronsse/trellis-ai\nIssue/PR number: 96\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignmen"}, "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: ronsse/trellis-ai", "shortDescription": {"text": "Foundry mined schema ui api mismatch: ronsse/trellis-ai"}, "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#238\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#238\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#238\nRepo: ronsse/trellis-ai\nIssue/PR number: 238\nGraph consistency label: supported_by_verification_signal\nNodes: 19\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 4, 'pr_file': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blue"}, "properties": {"scanner": "foundry_dataset", "category": "quality", "severity": "high", "confidence": 0.76, "cwe": "", "owasp": ""}}, {"id": "foundry_bad_chain", "name": "Foundry mined bad chains: ronsse/trellis-ai", "shortDescription": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "fullDescription": {"text": "Comment chain pattern product: bad_chains\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#98\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#98\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a4a2470ecfa62770\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pul"}, "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: ronsse/trellis-ai", "shortDescription": {"text": "Foundry mined security auth guardrail gaps: ronsse/trellis-ai"}, "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: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#239\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#239\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#239\nRepo: ronsse/trellis-ai\nIssue/PR number: 239\nGraph consistency label: weak_supervision_needs_review\nNodes: 11\nEdges: 13\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_"}, "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: ronsse/trellis-ai", "shortDescription": {"text": "Foundry mined mock as real or placeholder: ronsse/trellis-ai"}, "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: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#27\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#27\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#27\nRepo: ronsse/trellis-ai\nIssue/PR number: 27\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_"}, "properties": {"scanner": "foundry_dataset", "category": "practices", "severity": "critical", "confidence": 0.82, "cwe": "", "owasp": ""}}, {"id": "scanner-815a34ecad17a7b2", "name": "Possibly dead Python function: visit_ExceptHandler", "shortDescription": {"text": "Possibly dead Python function: visit_ExceptHandler"}, "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-77d11a22b68b72c8", "name": "Possibly dead Python function: embed_query", "shortDescription": {"text": "Possibly dead Python function: embed_query"}, "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-de50ead9e7425bce", "name": "Possibly dead Python function: test_observations_surface_in_pack_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_observations_surface_in_pack_sqlite"}, "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-bc3190121a6867f3", "name": "Possibly dead Python function: test_freshness_orders_pack_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_freshness_orders_pack_sqlite"}, "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-38e763c53e98119e", "name": "Possibly dead Python function: test_confidence_threshold_filters_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_confidence_threshold_filters_sqlite"}, "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-e865156d39de4390", "name": "Possibly dead Python function: test_cross_backend_equivalence", "shortDescription": {"text": "Possibly dead Python function: test_cross_backend_equivalence"}, "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-d0aa0ab5dc260772", "name": "Possibly dead Python function: test_recommendation_changes_under_threshold_swap", "shortDescription": {"text": "Possibly dead Python function: test_recommendation_changes_under_threshold_swap"}, "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-da34350395b4afc0", "name": "Possibly dead Python function: test_recommendation_is_stable_under_repeated_run", "shortDescription": {"text": "Possibly dead Python function: test_recommendation_is_stable_under_repeated_run"}, "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-8c4b1ec8474de2b4", "name": "Possibly dead Python function: test_meta_activity_present_in_graph_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_meta_activity_present_in_graph_sqlite"}, "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-a4e05e7d2abfdf73", "name": "Possibly dead Python function: test_default_filter_excludes_meta_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_default_filter_excludes_meta_sqlite"}, "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-66b0cb0775e2976e", "name": "Possibly dead Python function: test_opt_in_includes_meta_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_opt_in_includes_meta_sqlite"}, "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-93cdb71a0d75d387", "name": "Possibly dead Python function: test_pack_assembled_event_records_meta_filtered_count_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_pack_assembled_event_records_meta_filtered_count_sqlite"}, "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-5606eb4b409053fb", "name": "Possibly dead Python function: test_cross_backend_equivalence", "shortDescription": {"text": "Possibly dead Python function: test_cross_backend_equivalence"}, "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-8e4e411275d0a7aa", "name": "Possibly dead Python function: test_first_run_returns_one_proposal_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_first_run_returns_one_proposal_sqlite"}, "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-b19413034a0f2078", "name": "Possibly dead Python function: test_first_run_emits_exactly_one_proposal_drafted_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_first_run_emits_exactly_one_proposal_drafted_sqlite"}, "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-400dce796dd96163", "name": "Possibly dead Python function: test_rerun_emits_zero_new_drafted_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_rerun_emits_zero_new_drafted_sqlite"}, "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-ec904fe1eefcdf87", "name": "Possibly dead Python function: test_cli_list_proposals_surfaces_the_proposal_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_cli_list_proposals_surfaces_the_proposal_sqlite"}, "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-1a8837eca2ddc6ca", "name": "Possibly dead Python function: test_cli_show_proposal_returns_markdown_sqlite", "shortDescription": {"text": "Possibly dead Python function: test_cli_show_proposal_returns_markdown_sqlite"}, "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-1a988ceac4571eca", "name": "Possibly dead Python function: test_cross_backend_equivalence", "shortDescription": {"text": "Possibly dead Python function: test_cross_backend_equivalence"}, "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-68ac739f0cc29662", "name": "Possibly dead Python function: embed_query", "shortDescription": {"text": "Possibly dead Python function: embed_query"}, "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-61556a8fde7a5a2e", "name": "Possibly dead Python function: hook", "shortDescription": {"text": "Possibly dead Python function: hook"}, "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-935720a567086ae1", "name": "Possibly dead Python function: embed_query", "shortDescription": {"text": "Possibly dead Python function: embed_query"}, "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-2a2949f66f6f3491", "name": "Possibly dead Python function: authenticate_optional", "shortDescription": {"text": "Possibly dead Python function: authenticate_optional"}, "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-e08464fb478bd044", "name": "Privileged port 14 in use", "shortDescription": {"text": "Privileged port 14 in use"}, "fullDescription": {"text": "Port 14 is privileged (<1024). Make sure the service runs with the right caps or front it with a non-privileged port via a load balancer."}, "properties": {"scanner": "scanner-primary", "layer": "network", "severity": "medium", "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-43368fca5ab1c50b", "name": "Possible secret in eval/arcadedb_spike.py", "shortDescription": {"text": "Possible secret in eval/arcadedb_spike.py"}, "fullDescription": {"text": "Detected pattern matching password_literal. Rotate the credential and move to a secret manager."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "critical", "confidence": 1.0}}, {"id": "scanner-ff7ebb4a851a85b4", "name": "Insecure pattern 'direct_innerhtml_assignment' in src/trellis_api/static/index.html:1405", "shortDescription": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/trellis_api/static/index.html:1405"}, "fullDescription": {"text": "Found a known-risky pattern (direct_innerhtml_assignment). Review and replace if possible."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-de53ac274e5b4ecf", "name": "GitHub Action is tag-pinned rather than SHA-pinned", "shortDescription": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "fullDescription": {"text": "actions/checkout@v6 can move without a code change in this repo. Pin third-party actions to a reviewed 40-character commit SHA."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "low", "confidence": 1.0}}, {"id": "scanner-37716d9c0a33ad5c", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-7ffa33751be3d771", "name": "GitHub Actions workflow grants broad write permissions", "shortDescription": {"text": "GitHub Actions workflow grants broad write permissions"}, "fullDescription": {"text": "CI tokens with write permissions increase blast radius when an action, dependency, or PR workflow is compromised. Prefer job-level least-privilege permissions."}, "properties": {"scanner": "scanner-primary", "layer": "cicd", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-d14f4c342e57cdfc", "name": "Very large file: tests/unit/retrieve/test_pack_builder.py (1665 lines)", "shortDescription": {"text": "Very large file: tests/unit/retrieve/test_pack_builder.py (1665 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1ce3085639ae3921", "name": "Very large file: tests/unit/retrieve/test_effectiveness.py (1480 lines)", "shortDescription": {"text": "Very large file: tests/unit/retrieve/test_effectiveness.py (1480 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-234fde88c52754cc", "name": "Very large file: eval/scenarios/program_convergence/scenario.py (1380 lines)", "shortDescription": {"text": "Very large file: eval/scenarios/program_convergence/scenario.py (1380 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ccff298d9db3ab2e", "name": "Very large file: src/trellis_cli/demo.py (1432 lines)", "shortDescription": {"text": "Very large file: src/trellis_cli/demo.py (1432 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bdcacbe96f7c9a57", "name": "Very large file: src/trellis_cli/admin.py (2190 lines)", "shortDescription": {"text": "Very large file: src/trellis_cli/admin.py (2190 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2c6984b3a3be7dfb", "name": "Very large file: src/trellis_cli/analyze.py (1759 lines)", "shortDescription": {"text": "Very large file: src/trellis_cli/analyze.py (1759 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-5f8cf372f988733d", "name": "Very large file: src/trellis/stores/registry.py (2115 lines)", "shortDescription": {"text": "Very large file: src/trellis/stores/registry.py (2115 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e329f92eed3ad009", "name": "Very large file: src/trellis/stores/postgres/graph.py (1498 lines)", "shortDescription": {"text": "Very large file: src/trellis/stores/postgres/graph.py (1498 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-4064329ef59f9869", "name": "Very large file: src/trellis/stores/sqlite/graph.py (1542 lines)", "shortDescription": {"text": "Very large file: src/trellis/stores/sqlite/graph.py (1542 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63e453ac71b754d9", "name": "Very large file: src/trellis/stores/bolt_opencypher/graph.py (1493 lines)", "shortDescription": {"text": "Very large file: src/trellis/stores/bolt_opencypher/graph.py (1493 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-66bc9b8302e2f0d8", "name": "Very large file: src/trellis/mcp/server.py (1846 lines)", "shortDescription": {"text": "Very large file: src/trellis/mcp/server.py (1846 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-170bd9cee6a5c4ab", "name": "Very large file: src/trellis/retrieve/pack_builder.py (1398 lines)", "shortDescription": {"text": "Very large file: src/trellis/retrieve/pack_builder.py (1398 lines)"}, "fullDescription": {"text": "Files with >800 lines often hide complexity hotspots and discourage tests."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3ab5d313dda8e5f9", "name": "Debug logging residue appears in source files", "shortDescription": {"text": "Debug logging residue appears in source files"}, "fullDescription": {"text": "Found 315 console/debugger/print-style debug statements in non-test source. This is a common fast-generation residue before production cleanup."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-72b2a6250083a784", "name": "Placeholder or mock-heavy implementation detected", "shortDescription": {"text": "Placeholder or mock-heavy implementation detected"}, "fullDescription": {"text": "Found 24 placeholder/mock markers across 11 source files. This often means the repo looks complete while core flows still use generated scaffolding or fake data."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "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-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-122f91b7f2906dc4", "name": "Agent authority lacks a verifier contract: .claude/settings.json", "shortDescription": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "fullDescription": {"text": "This agent instruction grants code or shell authority but does not state the verification gate that decides promotion. The recurring safe pattern is: LLM proposes; deterministic tests/build/security checks verify; only verified code promotes."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-36f2234f14555b4f", "name": "Commented-code block (6 lines) in tests/conftest.py:49", "shortDescription": {"text": "Commented-code block (6 lines) in tests/conftest.py:49"}, "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-b6edc44e4b3b82a0", "name": "Commented-code block (7 lines) in tests/integration/conftest.py:35", "shortDescription": {"text": "Commented-code block (7 lines) in tests/integration/conftest.py:35"}, "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-9b936d744ebe3685", "name": "Commented-code block (5 lines) in tests/integration/_live_server.py:44", "shortDescription": {"text": "Commented-code block (5 lines) in tests/integration/_live_server.py:44"}, "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-51b1c582efb9910d", "name": "Commented-code block (5 lines) in tests/integration/obsidian/test_vault.py:199", "shortDescription": {"text": "Commented-code block (5 lines) in tests/integration/obsidian/test_vault.py:199"}, "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-591d798f3774da40", "name": "Commented-code block (5 lines) in tests/integration/api/test_smoke_parity.py:143", "shortDescription": {"text": "Commented-code block (5 lines) in tests/integration/api/test_smoke_parity.py:143"}, "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-ce33f99b9b7c797d", "name": "Commented-code block (5 lines) in tests/integration/cli/conftest.py:65", "shortDescription": {"text": "Commented-code block (5 lines) in tests/integration/cli/conftest.py:65"}, "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-c86171581f363891", "name": "Commented-code block (6 lines) in tests/integration/loops/test_noise_demote_loop.py:62", "shortDescription": {"text": "Commented-code block (6 lines) in tests/integration/loops/test_noise_demote_loop.py:62"}, "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-0c9d33460433a127", "name": "Commented-code block (6 lines) in tests/integration/loops/test_advisory_loop.py:42", "shortDescription": {"text": "Commented-code block (6 lines) in tests/integration/loops/test_advisory_loop.py:42"}, "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-6ecde6128a7e5fcc", "name": "Legacy-named symbol `orders_v1` in tests/unit/stores/test_temporal_graph.py:322", "shortDescription": {"text": "Legacy-named symbol `orders_v1` in tests/unit/stores/test_temporal_graph.py:322"}, "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-39947f0a70d98e85", "name": "Commented-code block (6 lines) in tests/unit/stores/test_neo4j_connectivity_live.py:83", "shortDescription": {"text": "Commented-code block (6 lines) in tests/unit/stores/test_neo4j_connectivity_live.py:83"}, "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-0741ffcfcdc01bd0", "name": "Legacy-named symbol `model_copy` in tests/unit/stores/test_advisory_store.py:123", "shortDescription": {"text": "Legacy-named symbol `model_copy` in tests/unit/stores/test_advisory_store.py:123"}, "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-cb0cd78c461b99c5", "name": "Commented-code block (5 lines) in tests/unit/stores/test_neo4j_base.py:107", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/stores/test_neo4j_base.py:107"}, "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-019118e18d162fef", "name": "Commented-code block (5 lines) in tests/unit/stores/test_registry_fingerprint.py:191", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/stores/test_registry_fingerprint.py:191"}, "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-09e3c3fdb24c0557", "name": "Commented-code block (5 lines) in tests/unit/stores/test_registry_validation.py:52", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/stores/test_registry_validation.py:52"}, "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-e80b444c447218e3", "name": "Commented-code block (5 lines) in tests/unit/stores/test_document_ids.py:20", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/stores/test_document_ids.py:20"}, "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-29eb333ef8c1f5f6", "name": "Legacy-named symbol `list_objects_v2` in tests/unit/stores/contracts/test_s3_blob_contract.py:17", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in tests/unit/stores/contracts/test_s3_blob_contract.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-069b1a1aa425daec", "name": "Commented-code block (5 lines) in tests/unit/stores/contracts/graph_store_contract.py:562", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/stores/contracts/graph_store_contract.py:562"}, "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-5df023a4fd849697", "name": "Legacy-named symbol `model_copy` in tests/unit/stores/contracts/trace_store_contract.py:137", "shortDescription": {"text": "Legacy-named symbol `model_copy` in tests/unit/stores/contracts/trace_store_contract.py:137"}, "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-1675dabc160e2378", "name": "Commented-code block (5 lines) in tests/unit/api/test_middleware.py:44", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/api/test_middleware.py:44"}, "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-29592efa0eee6834", "name": "Commented-code block (8 lines) in tests/unit/api/test_logging.py:124", "shortDescription": {"text": "Commented-code block (8 lines) in tests/unit/api/test_logging.py:124"}, "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-c9d4b72a05717089", "name": "Commented-code block (5 lines) in tests/unit/mcp/test_server.py:646", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/mcp/test_server.py:646"}, "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-7c56d7078614d55a", "name": "Commented-code block (6 lines) in tests/unit/learning/test_pack_observations.py:246", "shortDescription": {"text": "Commented-code block (6 lines) in tests/unit/learning/test_pack_observations.py:246"}, "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-d9f63be8947837e2", "name": "Commented-code block (8 lines) in tests/unit/learning/test_schema_evolution.py:521", "shortDescription": {"text": "Commented-code block (8 lines) in tests/unit/learning/test_schema_evolution.py:521"}, "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-92589694806e4237", "name": "Commented-code block (6 lines) in tests/unit/classify/test_refresh.py:204", "shortDescription": {"text": "Commented-code block (6 lines) in tests/unit/classify/test_refresh.py:204"}, "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-c2fecda9d31e6ae9", "name": "Commented-code block (6 lines) in tests/unit/cli/conftest.py:21", "shortDescription": {"text": "Commented-code block (6 lines) in tests/unit/cli/conftest.py:21"}, "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-0e7fad7121198995", "name": "Commented-code block (7 lines) in tests/unit/cli/test_admin.py:189", "shortDescription": {"text": "Commented-code block (7 lines) in tests/unit/cli/test_admin.py:189"}, "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-fceca51c4293d5da", "name": "Legacy-named symbol `test_since_filter_excludes_old` in tests/unit/cli/test_extract_traces.py:121", "shortDescription": {"text": "Legacy-named symbol `test_since_filter_excludes_old` in tests/unit/cli/test_extract_traces.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-63378eea562cd615", "name": "Legacy-named symbol `model_copy` in tests/unit/retrieve/test_pack_builder.py:227", "shortDescription": {"text": "Legacy-named symbol `model_copy` in tests/unit/retrieve/test_pack_builder.py:227"}, "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-28888d16f6479871", "name": "Commented-code block (10 lines) in tests/unit/retrieve/test_effectiveness.py:998", "shortDescription": {"text": "Commented-code block (10 lines) in tests/unit/retrieve/test_effectiveness.py:998"}, "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-2ef5c68bf1974cdc", "name": "Legacy-named symbol `obs_old` in tests/unit/retrieve/test_observation_strategy.py:251", "shortDescription": {"text": "Legacy-named symbol `obs_old` in tests/unit/retrieve/test_observation_strategy.py:251"}, "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-c346e917c14c9c60", "name": "Commented-code block (6 lines) in tests/unit/workers/enrichment/test_service.py:557", "shortDescription": {"text": "Commented-code block (6 lines) in tests/unit/workers/enrichment/test_service.py:557"}, "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-261dd268436093e1", "name": "Legacy-named symbol `deploy_staging_v2` in tests/unit/extract/test_trace.py:86", "shortDescription": {"text": "Legacy-named symbol `deploy_staging_v2` in tests/unit/extract/test_trace.py:86"}, "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-8f7427a0a55996c0", "name": "Commented-code block (8 lines) in tests/unit/eval/test_github_corpus_semantic_seeds.py:215", "shortDescription": {"text": "Commented-code block (8 lines) in tests/unit/eval/test_github_corpus_semantic_seeds.py:215"}, "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-9a67548df76658b0", "name": "Commented-code block (5 lines) in tests/unit/eval/test_agent_loop_convergence.py:332", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/eval/test_agent_loop_convergence.py:332"}, "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-77959653822c1fe4", "name": "Commented-code block (5 lines) in tests/unit/eval/test_program_convergence.py:371", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/eval/test_program_convergence.py:371"}, "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-55ce450e2abb5cb3", "name": "Commented-code block (5 lines) in tests/unit/schemas/test_well_known.py:402", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/schemas/test_well_known.py:402"}, "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-bec0bad84e62ab03", "name": "Commented-code block (5 lines) in tests/unit/schemas/test_entity_type_validator.py:104", "shortDescription": {"text": "Commented-code block (5 lines) in tests/unit/schemas/test_entity_type_validator.py:104"}, "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-46d0e8074ba08266", "name": "Legacy-named symbol `model_copy` in tests/unit/mutate/test_property_invariants.py:199", "shortDescription": {"text": "Legacy-named symbol `model_copy` in tests/unit/mutate/test_property_invariants.py:199"}, "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-3252f8ab2c2156a1", "name": "Network/subprocess call without timeout or try/except \u2014 scripts/claude_postedit_lint.py:50", "shortDescription": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/claude_postedit_lint.py:50"}, "fullDescription": {"text": "`subprocess.run(...)` here lacks both a `timeout=` arg and an enclosing try/except. This is exactly the class of bug that took down our git-clone earlier (HTTP/2 stream cancel surfaced as a fatal). Add a `timeout=` and wrap in try/except, or use a wrapper that retries."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "medium", "confidence": 1.0}}, {"id": "scanner-58a74afe547c33ec", "name": "Legacy-named symbol `props_v1` in eval/arcadedb_spike.py:249", "shortDescription": {"text": "Legacy-named symbol `props_v1` in eval/arcadedb_spike.py:249"}, "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-d4f4b57d84a05f5a", "name": "Legacy-named symbol `model_copy` in eval/corpora/dbt_loader.py:216", "shortDescription": {"text": "Legacy-named symbol `model_copy` in eval/corpora/dbt_loader.py:216"}, "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-c62570fbb7ad01b0", "name": "Commented-code block (7 lines) in eval/corpora/dbt_loader.py:102", "shortDescription": {"text": "Commented-code block (7 lines) in eval/corpora/dbt_loader.py:102"}, "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-574912edb0bc6579", "name": "Commented-code block (9 lines) in eval/generators/trace_generator.py:197", "shortDescription": {"text": "Commented-code block (9 lines) in eval/generators/trace_generator.py:197"}, "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-047aebd8df130ac3", "name": "Legacy-named symbol `model_copy` in eval/scenarios/_strategies.py:67", "shortDescription": {"text": "Legacy-named symbol `model_copy` in eval/scenarios/_strategies.py:67"}, "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-8a28988b45331838", "name": "Commented-code block (9 lines) in eval/scenarios/observation_retrieval.py:57", "shortDescription": {"text": "Commented-code block (9 lines) in eval/scenarios/observation_retrieval.py:57"}, "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-374d0048f6c3409c", "name": "Commented-code block (8 lines) in eval/scenarios/parameter_registry_passthrough.py:54", "shortDescription": {"text": "Commented-code block (8 lines) in eval/scenarios/parameter_registry_passthrough.py:54"}, "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-ef777f77c5b9dbe0", "name": "Commented-code block (9 lines) in eval/scenarios/meta_trace_round_trip.py:55", "shortDescription": {"text": "Commented-code block (9 lines) in eval/scenarios/meta_trace_round_trip.py:55"}, "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-1fe4dddce1f1dc14", "name": "Commented-code block (11 lines) in eval/scenarios/proposal_generation.py:58", "shortDescription": {"text": "Commented-code block (11 lines) in eval/scenarios/proposal_generation.py:58"}, "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-32f5d97075e0c565", "name": "Commented-code block (9 lines) in eval/scenarios/program_regression_suite/scenario.py:580", "shortDescription": {"text": "Commented-code block (9 lines) in eval/scenarios/program_regression_suite/scenario.py:580"}, "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-cac880d6eca256c7", "name": "Commented-code block (5 lines) in eval/scenarios/program_convergence_real_llm/scenario.py:574", "shortDescription": {"text": "Commented-code block (5 lines) in eval/scenarios/program_convergence_real_llm/scenario.py:574"}, "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-7ca89419cf66aab2", "name": "Commented-code block (6 lines) in eval/scenarios/multi_backend_equivalence/scenario.py:33", "shortDescription": {"text": "Commented-code block (6 lines) in eval/scenarios/multi_backend_equivalence/scenario.py:33"}, "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-9158a2f7187839d1", "name": "Commented-code block (6 lines) in eval/scenarios/github_corpus_convergence/scenario.py:226", "shortDescription": {"text": "Commented-code block (6 lines) in eval/scenarios/github_corpus_convergence/scenario.py:226"}, "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-2642335067d13afc", "name": "Commented-code block (7 lines) in eval/scenarios/agent_loop_convergence_degraded/scenario.py:118", "shortDescription": {"text": "Commented-code block (7 lines) in eval/scenarios/agent_loop_convergence_degraded/scenario.py:118"}, "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-8ee980a74b901cff", "name": "Commented-code block (5 lines) in eval/scenarios/populated_graph_performance/scenario.py:174", "shortDescription": {"text": "Commented-code block (5 lines) in eval/scenarios/populated_graph_performance/scenario.py:174"}, "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-9698c6aeb619ef83", "name": "Commented-code block (6 lines) in eval/scenarios/program_convergence/scenario.py:126", "shortDescription": {"text": "Commented-code block (6 lines) in eval/scenarios/program_convergence/scenario.py:126"}, "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-4e9e65cb7d99b908", "name": "Commented-code block (6 lines) in eval/scenarios/multi_backend_feedback/scenario.py:105", "shortDescription": {"text": "Commented-code block (6 lines) in eval/scenarios/multi_backend_feedback/scenario.py:105"}, "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-2c72b307b6178969", "name": "Commented-code block (7 lines) in eval/scenarios/agent_loop_convergence/scenario.py:97", "shortDescription": {"text": "Commented-code block (7 lines) in eval/scenarios/agent_loop_convergence/scenario.py:97"}, "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-c68a984a06196ce4", "name": "Commented-code block (7 lines) in examples/docker-demo/sample_query_agent.py:119", "shortDescription": {"text": "Commented-code block (7 lines) in examples/docker-demo/sample_query_agent.py:119"}, "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-e4732797b3119a1e", "name": "Commented-code block (5 lines) in examples/client_starter/run_demo.py:100", "shortDescription": {"text": "Commented-code block (5 lines) in examples/client_starter/run_demo.py:100"}, "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-fee8dd2048f711d8", "name": "Commented-code block (5 lines) in src/trellis_api/app.py:126", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis_api/app.py:126"}, "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-335c7132601e61e3", "name": "Commented-code block (9 lines) in src/trellis_api/logging.py:69", "shortDescription": {"text": "Commented-code block (9 lines) in src/trellis_api/logging.py:69"}, "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-b11a6bb73f583601", "name": "Commented-code block (5 lines) in src/trellis_api/routes/admin.py:250", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis_api/routes/admin.py:250"}, "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-c618a7ff815c50e8", "name": "Commented-code block (5 lines) in src/trellis_api/routes/extract.py:82", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis_api/routes/extract.py:82"}, "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-ec380e63ad7d7eac", "name": "Commented-code block (6 lines) in src/trellis_api/routes/ingest.py:276", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis_api/routes/ingest.py:276"}, "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-2c3cfd545f9e4a43", "name": "Commented-code block (6 lines) in src/trellis_api/routes/curate.py:168", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis_api/routes/curate.py:168"}, "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-78b86c308bb90c75", "name": "Commented-code block (6 lines) in src/trellis_cli/demo.py:1339", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis_cli/demo.py:1339"}, "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-cd8346a1a8f723af", "name": "Commented-code block (5 lines) in src/trellis_cli/admin_proposals.py:440", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis_cli/admin_proposals.py:440"}, "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-0964a4a3dcb398fb", "name": "Commented-code block (12 lines) in src/trellis_cli/admin.py:50", "shortDescription": {"text": "Commented-code block (12 lines) in src/trellis_cli/admin.py:50"}, "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-00b9900d93796cb7", "name": "Commented-code block (6 lines) in src/trellis_cli/analyze.py:78", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis_cli/analyze.py:78"}, "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-5ddd830a0cb1232c", "name": "Commented-code block (6 lines) in src/trellis_cli/extract_refresh.py:78", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis_cli/extract_refresh.py:78"}, "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-d27d0f70c92c549f", "name": "Commented-code block (5 lines) in src/trellis_cli/admin_migrate_provenance.py:259", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis_cli/admin_migrate_provenance.py:259"}, "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-758f3648811f12fe", "name": "Commented-code block (5 lines) in src/trellis_cli/main.py:36", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis_cli/main.py:36"}, "fullDescription": {"text": "A long run of `//` or `#` lines usually means abandoned code. Delete or move to git history. Keeps the canvas + dead-code detection honest."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "info", "confidence": 1.0}}, {"id": "scanner-62b8c3923730c8de", "name": "Commented-code block (6 lines) in src/trellis_sdk/async_client.py:167", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis_sdk/async_client.py:167"}, "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-93d35056c0db424c", "name": "Commented-code block (6 lines) in src/trellis_wire/dtos.py:246", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis_wire/dtos.py:246"}, "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-24b80d8f791d0a83", "name": "Commented-code block (10 lines) in src/trellis_workers/enrichment/service.py:135", "shortDescription": {"text": "Commented-code block (10 lines) in src/trellis_workers/enrichment/service.py:135"}, "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-ec83c66820d55837", "name": "Commented-code block (5 lines) in src/trellis_workers/extract/query_pattern_observer.py:298", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis_workers/extract/query_pattern_observer.py:298"}, "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-688558ad1cff793a", "name": "Commented-code block (6 lines) in src/trellis_workers/extract/openlineage.py:147", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis_workers/extract/openlineage.py:147"}, "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-2fd75d9f8e11dccf", "name": "Commented-code block (6 lines) in src/trellis_workers/extract/dbt_manifest.py:101", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis_workers/extract/dbt_manifest.py:101"}, "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-ce7de1d13fd063a6", "name": "Commented-code block (5 lines) in src/trellis_workers/code_authoring/clustering.py:133", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis_workers/code_authoring/clustering.py:133"}, "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-5730c2636b72ee52", "name": "Commented-code block (6 lines) in src/trellis_workers/code_authoring/generator.py:185", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis_workers/code_authoring/generator.py:185"}, "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-ee2a8e4ed06900b0", "name": "Commented-code block (5 lines) in src/trellis/api_version.py:47", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/api_version.py:47"}, "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-e7efe6febbe887ec", "name": "Legacy-named symbol `model_copy` in src/trellis/stores/advisory_store.py:110", "shortDescription": {"text": "Legacy-named symbol `model_copy` in src/trellis/stores/advisory_store.py:110"}, "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-31591f4ada6a4063", "name": "Commented-code block (7 lines) in src/trellis/stores/registry.py:65", "shortDescription": {"text": "Commented-code block (7 lines) in src/trellis/stores/registry.py:65"}, "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-6fda4c370b1453d9", "name": "Commented-code block (7 lines) in src/trellis/stores/base/graph_query.py:67", "shortDescription": {"text": "Commented-code block (7 lines) in src/trellis/stores/base/graph_query.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-39d256e8f9e5ea5f", "name": "Commented-code block (8 lines) in src/trellis/stores/arcadedb/vector.py:198", "shortDescription": {"text": "Commented-code block (8 lines) in src/trellis/stores/arcadedb/vector.py:198"}, "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-05665e9537d7e5ab", "name": "Commented-code block (5 lines) in src/trellis/stores/arcadedb/graph.py:72", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/stores/arcadedb/graph.py:72"}, "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-bc81bde378063bd4", "name": "Commented-code block (10 lines) in src/trellis/stores/pgvector/store.py:95", "shortDescription": {"text": "Commented-code block (10 lines) in src/trellis/stores/pgvector/store.py:95"}, "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-7e589428f0c3d83f", "name": "Commented-code block (6 lines) in src/trellis/stores/postgres/document.py:173", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis/stores/postgres/document.py:173"}, "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-6b87c7196ae610ac", "name": "Commented-code block (5 lines) in src/trellis/stores/postgres/graph.py:103", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/stores/postgres/graph.py:103"}, "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-d90b2d6f135f0c0c", "name": "Commented-code block (8 lines) in src/trellis/stores/neo4j/vector.py:88", "shortDescription": {"text": "Commented-code block (8 lines) in src/trellis/stores/neo4j/vector.py:88"}, "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-7904cead7cd83fba", "name": "Commented-code block (5 lines) in src/trellis/stores/neo4j/graph.py:54", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/stores/neo4j/graph.py:54"}, "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-2c41b4215683dc1c", "name": "Legacy-named symbol `list_objects_v2` in src/trellis/stores/s3/blob.py:139", "shortDescription": {"text": "Legacy-named symbol `list_objects_v2` in src/trellis/stores/s3/blob.py:139"}, "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-9ab614867346e7b2", "name": "Commented-code block (7 lines) in src/trellis/stores/sqlite/vector.py:84", "shortDescription": {"text": "Commented-code block (7 lines) in src/trellis/stores/sqlite/vector.py:84"}, "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-0353ead49d704194", "name": "Legacy-named symbol `_migrate_to_v2` in src/trellis/stores/sqlite/graph.py:68", "shortDescription": {"text": "Legacy-named symbol `_migrate_to_v2` in src/trellis/stores/sqlite/graph.py:68"}, "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-362fec9e922c9122", "name": "Commented-code block (5 lines) in src/trellis/stores/sqlite/graph.py:83", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/stores/sqlite/graph.py:83"}, "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-ef847043ace9445b", "name": "Commented-code block (10 lines) in src/trellis/stores/sqlite/base.py:188", "shortDescription": {"text": "Commented-code block (10 lines) in src/trellis/stores/sqlite/base.py:188"}, "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-3ae7479b4b5c7a49", "name": "Commented-code block (6 lines) in src/trellis/stores/sqlite/event_log.py:132", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis/stores/sqlite/event_log.py:132"}, "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-bb410b590423a7ec", "name": "Commented-code block (7 lines) in src/trellis/stores/bolt_opencypher/graph.py:85", "shortDescription": {"text": "Commented-code block (7 lines) in src/trellis/stores/bolt_opencypher/graph.py:85"}, "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-68a5978f2bab684b", "name": "Commented-code block (5 lines) in src/trellis/mcp/server.py:162", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/mcp/server.py:162"}, "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-086d42ff634dc287", "name": "Commented-code block (7 lines) in src/trellis/learning/scoring.py:42", "shortDescription": {"text": "Commented-code block (7 lines) in src/trellis/learning/scoring.py:42"}, "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-c375b2737d2eaad1", "name": "Commented-code block (5 lines) in src/trellis/learning/schema_evolution.py:467", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/learning/schema_evolution.py:467"}, "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-1c2192a82df15950", "name": "Commented-code block (6 lines) in src/trellis/learning/tuners/auto_promote.py:85", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis/learning/tuners/auto_promote.py:85"}, "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-9735c3338471d9aa", "name": "Legacy-named symbol `model_copy` in src/trellis/classify/refresh.py:134", "shortDescription": {"text": "Legacy-named symbol `model_copy` in src/trellis/classify/refresh.py:134"}, "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-f8adabd2dc493bac", "name": "Commented-code block (5 lines) in src/trellis/classify/refresh.py:123", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/classify/refresh.py:123"}, "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-df9af7732eed6f21", "name": "Commented-code block (5 lines) in src/trellis/meta/recorder.py:265", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/meta/recorder.py:265"}, "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-bb5b302433d9fed7", "name": "Legacy-named symbol `model_copy` in src/trellis/retrieve/effectiveness.py:814", "shortDescription": {"text": "Legacy-named symbol `model_copy` in src/trellis/retrieve/effectiveness.py:814"}, "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-bc431e14f7d3a0dc", "name": "Commented-code block (7 lines) in src/trellis/retrieve/effectiveness.py:54", "shortDescription": {"text": "Commented-code block (7 lines) in src/trellis/retrieve/effectiveness.py:54"}, "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-87323e757577a889", "name": "Commented-code block (5 lines) in src/trellis/retrieve/strategies.py:515", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/retrieve/strategies.py:515"}, "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-cc978f3cd9f5b3b0", "name": "Commented-code block (5 lines) in src/trellis/retrieve/semantic_seeds.py:147", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/retrieve/semantic_seeds.py:147"}, "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-b2735779b31cae0e", "name": "Legacy-named symbol `model_copy` in src/trellis/retrieve/pack_builder.py:664", "shortDescription": {"text": "Legacy-named symbol `model_copy` in src/trellis/retrieve/pack_builder.py:664"}, "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-df427ac57d943c7e", "name": "Commented-code block (5 lines) in src/trellis/retrieve/pack_builder.py:322", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/retrieve/pack_builder.py:322"}, "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-c08e60ed8a1b4968", "name": "Commented-code block (5 lines) in src/trellis/retrieve/tier_mapping.py:47", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/retrieve/tier_mapping.py:47"}, "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-b3f9777a6aa3def5", "name": "Commented-code block (6 lines) in src/trellis/retrieve/evaluate.py:627", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis/retrieve/evaluate.py:627"}, "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-0c0866e77a5c8eec", "name": "Legacy-named symbol `model_copy` in src/trellis/retrieve/rerankers/rrf.py:102", "shortDescription": {"text": "Legacy-named symbol `model_copy` in src/trellis/retrieve/rerankers/rrf.py:102"}, "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-56b82ef25f49fb71", "name": "Legacy-named symbol `model_copy` in src/trellis/retrieve/rerankers/mmr.py:149", "shortDescription": {"text": "Legacy-named symbol `model_copy` in src/trellis/retrieve/rerankers/mmr.py:149"}, "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-8ba2d1d26ee0174a", "name": "Commented-code block (5 lines) in src/trellis/wire/translate.py:51", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/wire/translate.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-ed01062fd5d560d1", "name": "Commented-code block (11 lines) in src/trellis/extract/dispatcher.py:110", "shortDescription": {"text": "Commented-code block (11 lines) in src/trellis/extract/dispatcher.py:110"}, "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-a9b4c84535e3993d", "name": "Commented-code block (5 lines) in src/trellis/extract/json_rules.py:195", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/extract/json_rules.py:195"}, "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-c953b22ea3107d02", "name": "Commented-code block (5 lines) in src/trellis/extract/llm.py:153", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/extract/llm.py:153"}, "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-62c6e336631d86bd", "name": "Commented-code block (5 lines) in src/trellis/extract/trace_ingest_hook.py:119", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/extract/trace_ingest_hook.py:119"}, "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-3350c0bcc0728ca3", "name": "Commented-code block (9 lines) in src/trellis/extract/trace.py:436", "shortDescription": {"text": "Commented-code block (9 lines) in src/trellis/extract/trace.py:436"}, "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-9a3ca223241543b0", "name": "Commented-code block (5 lines) in src/trellis/migrate/graph_migrator.py:486", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/migrate/graph_migrator.py:486"}, "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-cbdd8f214b75cc60", "name": "Commented-code block (5 lines) in src/trellis/schemas/well_known.py:53", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/schemas/well_known.py:53"}, "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-c205578dc15943a5", "name": "Commented-code block (6 lines) in src/trellis/mutate/commands.py:148", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis/mutate/commands.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-d5eac6ea6f7958aa", "name": "Commented-code block (9 lines) in src/trellis/mutate/executor.py:31", "shortDescription": {"text": "Commented-code block (9 lines) in src/trellis/mutate/executor.py:31"}, "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-cebba9705485c2a3", "name": "Commented-code block (6 lines) in src/trellis/mutate/handlers.py:402", "shortDescription": {"text": "Commented-code block (6 lines) in src/trellis/mutate/handlers.py:402"}, "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-c36bd9c6e2fd1475", "name": "Commented-code block (5 lines) in src/trellis/plugins/diagnostic.py:35", "shortDescription": {"text": "Commented-code block (5 lines) in src/trellis/plugins/diagnostic.py:35"}, "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-a9836457f7ec50c4", "name": "23 env vars used in code but missing from .env.example", "shortDescription": {"text": "23 env vars used in code but missing from .env.example"}, "fullDescription": {"text": "Drift between code and config docs. The first few: `MOONSHOT_BASE_URL`, `MOONSHOT_CHAT_MODEL`, `MOONSHOT_EMBEDDING_MODEL`, `OPENAI_EMBEDDING_MODEL`, `TRELLIS_API_HOST`, `TRELLIS_API_PORT`, `TRELLIS_ARCADEDB_DATABASE`, `TRELLIS_ARCADEDB_HTTP_URL` + 15 more. Add them (with a placeholder/comment) to .env.example so onboarding doesn't break."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-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:\neval/_smoke/github_loader_smoke.py:main, eval/_smoke/dbt_loader_smoke.py:main\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-be46ea126aa5d8dc", "name": "Near-duplicate function bodies in 3 places", "shortDescription": {"text": "Near-duplicate function bodies in 3 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\neval/scenarios/_telemetry.py:embed_query, eval/scenarios/program_convergence_real_llm/scenario.py:embed_query, eval/scenarios/agent_loop_convergence_real_llm/scenario.py:embed_query\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-76a2f6818267a9a8", "name": "Near-duplicate function bodies in 8 places", "shortDescription": {"text": "Near-duplicate function bodies in 8 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\neval/scenarios/_strategies.py:search, src/trellis/stores/base/document.py:search, src/trellis/stores/postgres/document.py:search, src/trellis/stores/sqlite/document.py:search\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0027e313ade46c8f", "name": "Near-duplicate function bodies in 7 places", "shortDescription": {"text": "Near-duplicate function bodies in 7 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\neval/scenarios/program_convergence_real_llm/scenario.py:run, eval/scenarios/github_corpus_convergence/scenario.py:run, eval/scenarios/agent_loop_convergence_real_llm/scenario.py:run, eval/scenarios/agent_loop_convergence_degraded/scenario.py:run\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-380b7cb95b387b9c", "name": "Near-duplicate function bodies in 11 places", "shortDescription": {"text": "Near-duplicate function bodies in 11 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nexamples/custom_extractor.py:extract, src/trellis_workers/extract/query_pattern_observer.py:extract, src/trellis_workers/extract/openlineage.py:extract, src/trellis_workers/extract/dbt_manifest.py:extract\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-02525d39071dd2c7", "name": "Near-duplicate function bodies in 5 places", "shortDescription": {"text": "Near-duplicate function bodies in 5 places"}, "fullDescription": {"text": "Functions with the same first-5-line body hash:\nexamples/custom_classifier.py:classify, src/trellis/classify/protocol.py:classify, src/trellis/classify/classifiers/llm.py:classify, src/trellis/classify/classifiers/llm.py:classify_async\n\nThis is *the* AI-coder failure mode (4\u00d7 more duplication in vibe-coded repos \u2014 see https://jw.hn/ai-code-hygiene). Consolidate or document why they're separate."}, "properties": {"scanner": "scanner-primary", "layer": "quality", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e9893289e0a458e0", "name": "FastAPI POST `assemble_pack` without auth dependency \u2014 src/trellis_api/routes/retrieve.py:37", "shortDescription": {"text": "FastAPI POST `assemble_pack` without auth dependency \u2014 src/trellis_api/routes/retrieve.py:37"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-378f12ecf3f7361b", "name": "FastAPI POST `execute_batch` without auth dependency \u2014 src/trellis_api/routes/mutations.py:25", "shortDescription": {"text": "FastAPI POST `execute_batch` without auth dependency \u2014 src/trellis_api/routes/mutations.py:25"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-a5a3de3b519e8af8", "name": "FastAPI POST `apply_noise_tags` without auth dependency \u2014 src/trellis_api/routes/admin.py:106", "shortDescription": {"text": "FastAPI POST `apply_noise_tags` without auth dependency \u2014 src/trellis_api/routes/admin.py:106"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-71f36756769def69", "name": "FastAPI POST `generate_advisories` without auth dependency \u2014 src/trellis_api/routes/admin.py:194", "shortDescription": {"text": "FastAPI POST `generate_advisories` without auth dependency \u2014 src/trellis_api/routes/admin.py:194"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0282740e9c49411c", "name": "FastAPI POST `reset_vectors` without auth dependency \u2014 src/trellis_api/routes/admin.py:241", "shortDescription": {"text": "FastAPI POST `reset_vectors` without auth dependency \u2014 src/trellis_api/routes/admin.py:241"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-723ba6869ade0b29", "name": "FastAPI POST `submit_drafts` without auth dependency \u2014 src/trellis_api/routes/extract.py:48", "shortDescription": {"text": "FastAPI POST `submit_drafts` without auth dependency \u2014 src/trellis_api/routes/extract.py:48"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-389963dd1404d312", "name": "FastAPI POST `ingest_trace` without auth dependency \u2014 src/trellis_api/routes/ingest.py:37", "shortDescription": {"text": "FastAPI POST `ingest_trace` without auth dependency \u2014 src/trellis_api/routes/ingest.py:37"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-c89ba29c04c7612a", "name": "FastAPI POST `ingest_evidence` without auth dependency \u2014 src/trellis_api/routes/ingest.py:69", "shortDescription": {"text": "FastAPI POST `ingest_evidence` without auth dependency \u2014 src/trellis_api/routes/ingest.py:69"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-ce007997cd477c2a", "name": "FastAPI POST `upsert_vectors` without auth dependency \u2014 src/trellis_api/routes/ingest.py:93", "shortDescription": {"text": "FastAPI POST `upsert_vectors` without auth dependency \u2014 src/trellis_api/routes/ingest.py:93"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-8f2610a2f0e82280", "name": "FastAPI POST `ingest_bulk` without auth dependency \u2014 src/trellis_api/routes/ingest.py:190", "shortDescription": {"text": "FastAPI POST `ingest_bulk` without auth dependency \u2014 src/trellis_api/routes/ingest.py:190"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-855c94a99a673740", "name": "FastAPI POST `promote` without auth dependency \u2014 src/trellis_api/routes/curate.py:48", "shortDescription": {"text": "FastAPI POST `promote` without auth dependency \u2014 src/trellis_api/routes/curate.py:48"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-62ade65ee4acd478", "name": "FastAPI POST `create_link` without auth dependency \u2014 src/trellis_api/routes/curate.py:65", "shortDescription": {"text": "FastAPI POST `create_link` without auth dependency \u2014 src/trellis_api/routes/curate.py:65"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-e78a1846ec6a74cc", "name": "FastAPI POST `create_entity` without auth dependency \u2014 src/trellis_api/routes/curate.py:89", "shortDescription": {"text": "FastAPI POST `create_entity` without auth dependency \u2014 src/trellis_api/routes/curate.py:89"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-2db4c3571c3f0cbf", "name": "FastAPI POST `create_document` without auth dependency \u2014 src/trellis_api/routes/curate.py:114", "shortDescription": {"text": "FastAPI POST `create_document` without auth dependency \u2014 src/trellis_api/routes/curate.py:114"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-0058f5bede7f35fc", "name": "FastAPI POST `record_feedback` without auth dependency \u2014 src/trellis_api/routes/curate.py:132", "shortDescription": {"text": "FastAPI POST `record_feedback` without auth dependency \u2014 src/trellis_api/routes/curate.py:132"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-660ee321be8e62d2", "name": "FastAPI POST `pack_feedback` without auth dependency \u2014 src/trellis_api/routes/curate.py:149", "shortDescription": {"text": "FastAPI POST `pack_feedback` without auth dependency \u2014 src/trellis_api/routes/curate.py:149"}, "fullDescription": {"text": "`@router.post` decorator with no `Depends(get_current_user)` or auth-shaped dependency in its signature. Mutating endpoints should require authentication unless explicitly public."}, "properties": {"scanner": "scanner-primary", "layer": "security", "severity": "high", "confidence": 1.0}}, {"id": "scanner-5baa8971ebe192a1", "name": "Unused endpoint: GET /", "shortDescription": {"text": "Unused endpoint: GET /"}, "fullDescription": {"text": "`src/trellis_api/app.py` declares `GET /` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fc7df1405056142f", "name": "Unused endpoint: POST /api/v1/observations", "shortDescription": {"text": "Unused endpoint: POST /api/v1/observations"}, "fullDescription": {"text": "`src/trellis_api/routes/observations.py` declares `POST /api/v1/observations` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-18cd433464f94803", "name": "Unused endpoint: GET /api/v1/observations", "shortDescription": {"text": "Unused endpoint: GET /api/v1/observations"}, "fullDescription": {"text": "`src/trellis_api/routes/observations.py` declares `GET /api/v1/observations` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-05f2475822c70f8e", "name": "Unused endpoint: POST /api/v1/measurements", "shortDescription": {"text": "Unused endpoint: POST /api/v1/measurements"}, "fullDescription": {"text": "`src/trellis_api/routes/observations.py` declares `POST /api/v1/measurements` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-907a26bc871236ed", "name": "Unused endpoint: GET /api/v1/measurements", "shortDescription": {"text": "Unused endpoint: GET /api/v1/measurements"}, "fullDescription": {"text": "`src/trellis_api/routes/observations.py` declares `GET /api/v1/measurements` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-d16e4fa529c520e9", "name": "Unused endpoint: GET /search", "shortDescription": {"text": "Unused endpoint: GET /search"}, "fullDescription": {"text": "`src/trellis_api/routes/retrieve.py` declares `GET /search` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bfe5abc2b344e71d", "name": "Unused endpoint: POST /packs", "shortDescription": {"text": "Unused endpoint: POST /packs"}, "fullDescription": {"text": "`src/trellis_api/routes/retrieve.py` declares `POST /packs` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-db4da5252c3b1530", "name": "Unused endpoint: GET /graph/search", "shortDescription": {"text": "Unused endpoint: GET /graph/search"}, "fullDescription": {"text": "`src/trellis_api/routes/retrieve.py` declares `GET /graph/search` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ab7d28e07bbf2563", "name": "Unused endpoint: GET /entities/{entity_id:path}", "shortDescription": {"text": "Unused endpoint: GET /entities/{entity_id:path}"}, "fullDescription": {"text": "`src/trellis_api/routes/retrieve.py` declares `GET /entities/{entity_id:path}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-79fd2bada5dc0dad", "name": "Unused endpoint: GET /traces", "shortDescription": {"text": "Unused endpoint: GET /traces"}, "fullDescription": {"text": "`src/trellis_api/routes/retrieve.py` declares `GET /traces` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-738e1dde0b120271", "name": "Unused endpoint: GET /traces/{trace_id}", "shortDescription": {"text": "Unused endpoint: GET /traces/{trace_id}"}, "fullDescription": {"text": "`src/trellis_api/routes/retrieve.py` declares `GET /traces/{trace_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-e71c0ea268950c07", "name": "Unused endpoint: GET /precedents", "shortDescription": {"text": "Unused endpoint: GET /precedents"}, "fullDescription": {"text": "`src/trellis_api/routes/retrieve.py` declares `GET /precedents` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-cc4cab40bc5ed255", "name": "Unused endpoint: POST /api/v1/commands/batch", "shortDescription": {"text": "Unused endpoint: POST /api/v1/commands/batch"}, "fullDescription": {"text": "`src/trellis_api/routes/mutations.py` declares `POST /api/v1/commands/batch` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a436691337284d03", "name": "Unused endpoint: GET /api/v1/health", "shortDescription": {"text": "Unused endpoint: GET /api/v1/health"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `GET /api/v1/health` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-bb8f4dc8775119f0", "name": "Unused endpoint: GET /api/v1/stats", "shortDescription": {"text": "Unused endpoint: GET /api/v1/stats"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `GET /api/v1/stats` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7f38fdf554af21c7", "name": "Unused endpoint: GET /api/v1/effectiveness", "shortDescription": {"text": "Unused endpoint: GET /api/v1/effectiveness"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `GET /api/v1/effectiveness` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3f8a9e7790c5703e", "name": "Unused endpoint: POST /api/v1/effectiveness/apply-noise-tags", "shortDescription": {"text": "Unused endpoint: POST /api/v1/effectiveness/apply-noise-tags"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `POST /api/v1/effectiveness/apply-noise-tags` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-147dbfff8e806c24", "name": "Unused endpoint: GET /api/v1/metrics/timeseries", "shortDescription": {"text": "Unused endpoint: GET /api/v1/metrics/timeseries"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `GET /api/v1/metrics/timeseries` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-182ea186955705c2", "name": "Unused endpoint: POST /api/v1/advisories/generate", "shortDescription": {"text": "Unused endpoint: POST /api/v1/advisories/generate"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `POST /api/v1/advisories/generate` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-a484bd41ccc718e8", "name": "Unused endpoint: GET /api/v1/advisories", "shortDescription": {"text": "Unused endpoint: GET /api/v1/advisories"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `GET /api/v1/advisories` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-34c32e4149b948bf", "name": "Unused endpoint: POST /api/v1/vectors/reset", "shortDescription": {"text": "Unused endpoint: POST /api/v1/vectors/reset"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `POST /api/v1/vectors/reset` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f077fa0531163c71", "name": "Unused endpoint: GET /api/v1/proposals", "shortDescription": {"text": "Unused endpoint: GET /api/v1/proposals"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `GET /api/v1/proposals` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-186eca1bb98eb809", "name": "Unused endpoint: GET /api/v1/proposals/{proposal_id}/preview", "shortDescription": {"text": "Unused endpoint: GET /api/v1/proposals/{proposal_id}/preview"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `GET /api/v1/proposals/{proposal_id}/preview` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-ec8231018032030c", "name": "Unused endpoint: POST /api/v1/proposals/{proposal_id}/promote", "shortDescription": {"text": "Unused endpoint: POST /api/v1/proposals/{proposal_id}/promote"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `POST /api/v1/proposals/{proposal_id}/promote` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-86621fdb169dbf20", "name": "Unused endpoint: POST /api/v1/proposals/{proposal_id}/reject", "shortDescription": {"text": "Unused endpoint: POST /api/v1/proposals/{proposal_id}/reject"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `POST /api/v1/proposals/{proposal_id}/reject` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3a0ffbb2419110c7", "name": "Unused endpoint: GET /api/v1/learning/candidates", "shortDescription": {"text": "Unused endpoint: GET /api/v1/learning/candidates"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `GET /api/v1/learning/candidates` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9059b5b4fe574d01", "name": "Unused endpoint: POST /api/v1/learning/promotions", "shortDescription": {"text": "Unused endpoint: POST /api/v1/learning/promotions"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `POST /api/v1/learning/promotions` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-1b72e88dd2b1a256", "name": "Unused endpoint: GET /api/v1/schema-evolution/candidates", "shortDescription": {"text": "Unused endpoint: GET /api/v1/schema-evolution/candidates"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `GET /api/v1/schema-evolution/candidates` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-fdc2f6bf0ba2d42c", "name": "Unused endpoint: POST /api/v1/schema-evolution/{candidate_id}/draft-adr", "shortDescription": {"text": "Unused endpoint: POST /api/v1/schema-evolution/{candidate_id}/draft-adr"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `POST /api/v1/schema-evolution/{candidate_id}/draft-adr` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-54233e9688a60f1b", "name": "Unused endpoint: GET /api/v1/code-proposals", "shortDescription": {"text": "Unused endpoint: GET /api/v1/code-proposals"}, "fullDescription": {"text": "`src/trellis_api/routes/admin.py` declares `GET /api/v1/code-proposals` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-11d6633e2c21a5f5", "name": "Unused endpoint: POST /api/v1/extract/drafts", "shortDescription": {"text": "Unused endpoint: POST /api/v1/extract/drafts"}, "fullDescription": {"text": "`src/trellis_api/routes/extract.py` declares `POST /api/v1/extract/drafts` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-0af5cc96de4dc9e0", "name": "Unused endpoint: POST /api/v1/traces", "shortDescription": {"text": "Unused endpoint: POST /api/v1/traces"}, "fullDescription": {"text": "`src/trellis_api/routes/ingest.py` declares `POST /api/v1/traces` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-9b3d48106a0ea232", "name": "Unused endpoint: POST /api/v1/evidence", "shortDescription": {"text": "Unused endpoint: POST /api/v1/evidence"}, "fullDescription": {"text": "`src/trellis_api/routes/ingest.py` declares `POST /api/v1/evidence` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-962781d1e68b34ef", "name": "Unused endpoint: POST /api/v1/vectors", "shortDescription": {"text": "Unused endpoint: POST /api/v1/vectors"}, "fullDescription": {"text": "`src/trellis_api/routes/ingest.py` declares `POST /api/v1/vectors` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63539d9750d09aa9", "name": "Unused endpoint: POST /api/v1/ingest/bulk", "shortDescription": {"text": "Unused endpoint: POST /api/v1/ingest/bulk"}, "fullDescription": {"text": "`src/trellis_api/routes/ingest.py` declares `POST /api/v1/ingest/bulk` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-8f4fbd0158573f85", "name": "Unused endpoint: GET /api/v1/policies", "shortDescription": {"text": "Unused endpoint: GET /api/v1/policies"}, "fullDescription": {"text": "`src/trellis_api/routes/policies.py` declares `GET /api/v1/policies` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7ccc18487af46cb3", "name": "Unused endpoint: GET /api/v1/policies/{policy_id}", "shortDescription": {"text": "Unused endpoint: GET /api/v1/policies/{policy_id}"}, "fullDescription": {"text": "`src/trellis_api/routes/policies.py` declares `GET /api/v1/policies/{policy_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-3005014b5ed3b1d6", "name": "Unused endpoint: POST /api/v1/policies", "shortDescription": {"text": "Unused endpoint: POST /api/v1/policies"}, "fullDescription": {"text": "`src/trellis_api/routes/policies.py` declares `POST /api/v1/policies` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-f4c37fa4ab7999ad", "name": "Unused endpoint: DELETE /api/v1/policies/{policy_id}", "shortDescription": {"text": "Unused endpoint: DELETE /api/v1/policies/{policy_id}"}, "fullDescription": {"text": "`src/trellis_api/routes/policies.py` declares `DELETE /api/v1/policies/{policy_id}` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-6c2507f3182299a0", "name": "Unused endpoint: GET /api/version", "shortDescription": {"text": "Unused endpoint: GET /api/version"}, "fullDescription": {"text": "`src/trellis_api/routes/version.py` declares `GET /api/version` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-668efecdbe036af2", "name": "Unused endpoint: POST /api/v1/precedents", "shortDescription": {"text": "Unused endpoint: POST /api/v1/precedents"}, "fullDescription": {"text": "`src/trellis_api/routes/curate.py` declares `POST /api/v1/precedents` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-aa4de707b9e82f12", "name": "Unused endpoint: POST /api/v1/links", "shortDescription": {"text": "Unused endpoint: POST /api/v1/links"}, "fullDescription": {"text": "`src/trellis_api/routes/curate.py` declares `POST /api/v1/links` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-7159d09b385fa3a7", "name": "Unused endpoint: POST /api/v1/entities", "shortDescription": {"text": "Unused endpoint: POST /api/v1/entities"}, "fullDescription": {"text": "`src/trellis_api/routes/curate.py` declares `POST /api/v1/entities` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-63f13079ec09aa96", "name": "Unused endpoint: POST /api/v1/documents", "shortDescription": {"text": "Unused endpoint: POST /api/v1/documents"}, "fullDescription": {"text": "`src/trellis_api/routes/curate.py` declares `POST /api/v1/documents` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-2548c4fa2e554616", "name": "Unused endpoint: POST /api/v1/feedback", "shortDescription": {"text": "Unused endpoint: POST /api/v1/feedback"}, "fullDescription": {"text": "`src/trellis_api/routes/curate.py` declares `POST /api/v1/feedback` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}, {"id": "scanner-446600e704d15879", "name": "Unused endpoint: POST /api/v1/packs/{pack_id}/feedback", "shortDescription": {"text": "Unused endpoint: POST /api/v1/packs/{pack_id}/feedback"}, "fullDescription": {"text": "`src/trellis_api/routes/curate.py` declares `POST /api/v1/packs/{pack_id}/feedback` but no frontend code we scanned calls it. This is fine if the endpoint serves external clients (mobile app, third-party, server-side webhooks). Otherwise it's dead code \u2014 consider removing or documenting who consumes it."}, "properties": {"scanner": "scanner-primary", "layer": "api", "severity": "low", "confidence": 1.0}}]}}, "automationDetails": {"id": "repobility/18449"}, "properties": {"repository": "ronsse/trellis-ai", "repoUrl": "https://github.com/ronsse/trellis-ai", "branch": "main"}, "results": [{"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429479, "scanner": "foundry_dataset", "fingerprint": "05905e34d810906e73c8aae8578ca47f9b946c22851fe2b59a1c2695f82740eb", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"api_integration_gap": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 15, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#98", "issue_number": "98", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-9abdde36dcf34686", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#98\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#98\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#98\nRepo: ronsse/trellis-ai\nIssue/PR number: 98\nGraph consistency label: assumption_check\nNodes: 12\nEdges: 15\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-fd134df71439061f", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429478, "scanner": "foundry_dataset", "fingerprint": "1a92c3dc96b0f24c79dd173c66c55f2ea30e067801df0163936caa98590d7ca7", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"api_integration_gap": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 15, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#97", "issue_number": "97", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-fae8bf2cd9df70b2", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#97\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#97\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#97\nRepo: ronsse/trellis-ai\nIssue/PR number: 97\nGraph consistency label: assumption_check\nNodes: 12\nEdges: 15\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-54622365481cf0c5", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429477, "scanner": "foundry_dataset", "fingerprint": "ee534154fade5b59309152fe5bb9e4a26d97bb6a126a18f146cb5c908efdbbf7", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#25", "issue_number": "25", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-d72b2e4d74589aed", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#25\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#25\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#25\nRepo: ronsse/trellis-ai\nIssue/PR number: 25\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-b03a289ae35963c9", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429476, "scanner": "foundry_dataset", "fingerprint": "d20c4570ac28e225197fc31b002b42d39a6a041db455cb4d300c6dc1f077117d", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "source_or_other": 1, "api_integration_gap": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 28, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "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, "issue_chain_touches_file": 1, "thread_has_comment_chain": 2, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 2, "pr_file": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#246", "issue_number": "246", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-a3cb48243ac488e8", "graph_gold_label": "assumption_check", "changed_file_labels": {"source_or_other": 5}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#246\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#246\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#246\nRepo: ronsse/trellis-ai\nIssue/PR number: 246\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 28\nNode types: {'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_touches_file': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 4, 'assumption_check': 2}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-92c0fbc69ca1fadd", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429475, "scanner": "foundry_dataset", "fingerprint": "f7bb04b762fd59dd10f59c6c739aeac686d9633072ff801647b61fb6a94542b5", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"human_feedback_general": 1, "unlinked_human_feedback": 1, "thread_needs_classification": 2, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#24", "issue_number": "24", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-831eb06492e88047", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#24\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#24\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#24\nRepo: ronsse/trellis-ai\nIssue/PR number: 24\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'thread_needs_classification': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-65a45dc7cae0019d", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429474, "scanner": "foundry_dataset", "fingerprint": "9570a2b6ec661d6eba3f8f5cad0b9e8303f3fe79a78392c88f041916f4fced8b", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "api_integration_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#224", "issue_number": "224", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-9dae590abfb65aed", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#224\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#224\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#224\nRepo: ronsse/trellis-ai\nIssue/PR number: 224\nGraph consistency label: weak_supervision_needs_review\nNodes: 28\nEdges: 37\nNode types: {'commit': 8, 'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 8, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, '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: {'verification_or_tests': 5, 'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'ambiguous_needs_more_evidence': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-7dc22241742011c0", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429473, "scanner": "foundry_dataset", "fingerprint": "b0d5dcd38dc1c93bca6e9b7f21671793ba8a1b03f88bb8351402524eb904a310", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 4, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 3, "data_schema_persistence": 2, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 2, "not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 39, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#220", "issue_number": "220", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6740d9762bf5ed29", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#220\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#220\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#220\nRepo: ronsse/trellis-ai\nIssue/PR number: 220\nGraph consistency label: supported_by_verification_signal\nNodes: 28\nEdges: 39\nNode types: {'commit': 8, 'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, '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: {'bug_fix': 4, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'data_schema_persistence': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'claimed_resolved_unverified': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-a1b768f6a39a06c3", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429472, "scanner": "foundry_dataset", "fingerprint": "d795b3c29037442bb660738ab77bed8d78defc710af327764c2e4736e9fdeaab", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 5, "generated_provenance": 1, "agent_instruction_gap": 1, "verification_or_tests": 3, "human_feedback_general": 2, "unlinked_human_feedback": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "comment_has_related_commit_context": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 2, "ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 24, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#218", "issue_number": "218", "quality_tiers": {"unresolved": 1, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-a3beac199fdc16f0", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#218\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#218\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#218\nRepo: ronsse/trellis-ai\nIssue/PR number: 218\nGraph consistency label: weak_supervision_needs_review\nNodes: 24\nEdges: 31\nNode types: {'commit': 9, 'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 5, 'ambiguous_needs_more_evidence': 4, 'verification_or_tests': 3, 'human_feedback_general': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1, 'claimed_resolved_unverified': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8, 'claimed_resolved_unverified': 2}\nQuality tiers: {'weak_supervision': 4, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-850c93ce1f4d8ba2", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429471, "scanner": "foundry_dataset", "fingerprint": "8c113fe9a8409b290acda196aa71f8bf65b23059388734a60dbd064761cc65df", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 2, "api_integration_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#214", "issue_number": "214", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-dc0c4ddf52653249", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#214\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#214\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#214\nRepo: ronsse/trellis-ai\nIssue/PR number: 214\nGraph consistency label: weak_supervision_needs_review\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 5, 'commit': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 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, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-f63ce4ee916b39d6", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429470, "scanner": "foundry_dataset", "fingerprint": "482da3d83bbe2fe501b27409fab8296f661a0fabd5fa31a58e5f8754f76017e8", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 3, "generated_provenance": 1, "agent_instruction_gap": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 16, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#212", "issue_number": "212", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-a3ed77df7bc8b064", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#212\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#212\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#212\nRepo: ronsse/trellis-ai\nIssue/PR number: 212\nGraph consistency label: weak_supervision_needs_review\nNodes: 16\nEdges: 20\nNode types: {'commit': 4, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 4, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_unverified': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'agent_instruction_gap': 1, 'human_feedback_general': 1, 'human_reported_issue_then_fix_attempt': 1, 'generated_provenance': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-e399cc7b66a4971a", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429469, "scanner": "foundry_dataset", "fingerprint": "f60ff0d0a10df8a063656f6ce4bbf0112c7f8e935588a2943a8f24c32fdd3740", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 3, "api_integration_gap": 1, "security_or_secrets": 1, "security_auth_secret": 3, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 5, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 10, "not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 5, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 9, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 5, "comment_chain_links_commit": 15, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 33, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 9, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#210", "issue_number": "210", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 6}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-adbe53f01cf9375b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#210\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#210\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#210\nRepo: ronsse/trellis-ai\nIssue/PR number: 210\nGraph consistency label: supported_by_verification_signal\nNodes: 33\nEdges: 54\nNode types: {'link_quality': 9, 'commit': 7, 'comment': 5, 'comment_chain': 5, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 15, 'chain_has_link_quality': 9, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, '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_unverified': 5, 'security_auth_secret': 3, 'human_reported_issue_then_fix_attempt': 3, 'bug_fix': 3, 'verification_or_tests': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'data_schema_persistence': 1, 'security_or_secrets': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 10, 'claimed_resolved_with_verification_signal': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 6, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-d4b7364933cca03c", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429468, "scanner": "foundry_dataset", "fingerprint": "be8e0308793df56650fead7085cefb70bcece0b3d564b2412a3e3ef936cd3164", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 3, "mock_placeholder": 1, "security_or_secrets": 1, "security_auth_secret": 5, "claimed_resolved_unverified": 6, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "human_reported_issue_no_linked_fix": 2, "human_reported_issue_then_fix_attempt": 4, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 12, "not_resolved_or_not_observed": 4}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 44, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 6, "thread_has_comment": 6, "chain_has_link_quality": 8, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 6, "comment_chain_links_commit": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 6}, "node_count": 28, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 6}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#208", "issue_number": "208", "quality_tiers": {"unresolved": 2, "weak_supervision": 6}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-756c85a3edb99d89", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#208\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#208\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#208\nRepo: ronsse/trellis-ai\nIssue/PR number: 208\nGraph consistency label: weak_supervision_needs_review\nNodes: 28\nEdges: 44\nNode types: {'link_quality': 8, 'comment': 6, 'comment_chain': 6, 'commit': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 8, 'chain_has_link_quality': 8, 'thread_has_comment': 6, 'thread_has_comment_chain': 6, 'comment_has_chain': 6, 'issue_chain_has_comment_chain': 6, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 6, 'security_auth_secret': 5, 'human_reported_issue_then_fix_attempt': 4, 'bug_fix': 3, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 12, 'not_resolved_or_not_observed': 4}\nQuality tiers: {'weak_supervision': 6, 'unresolved': 2}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-30cfdfb226b7a8d3", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429467, "scanner": "foundry_dataset", "fingerprint": "0b51bd4980c834eafd31f56877f3132ba6b1115212efcd2dac942fcf6da5770e", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"test_ci_gap": 1, "security_auth_secret": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#207", "issue_number": "207", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-6aa85893ec5a0cee", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#207\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#207\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#207\nRepo: ronsse/trellis-ai\nIssue/PR number: 207\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-6d0025bfef4fa815", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429466, "scanner": "foundry_dataset", "fingerprint": "80813ee547bf61c3bfa209083b4cf276398d06c32776200754caafce6ec7ccbf", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"bug_fix": 2, "deployment_env_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 18, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#204", "issue_number": "204", "quality_tiers": {"unresolved": 2, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-7e87958798c447b6", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#204\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#204\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#204\nRepo: ronsse/trellis-ai\nIssue/PR number: 204\nGraph consistency label: weak_supervision_needs_review\nNodes: 18\nEdges: 24\nNode types: {'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'commit': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'comment_chain_links_commit': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 2}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-c6649fc34a4b7d96", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429465, "scanner": "foundry_dataset", "fingerprint": "1c991e3b4e19a66f822acbd5290eda8d84d6e804595fcb4e4e509eeabc5d11fa", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"verification_or_tests": 5, "human_feedback_general": 1, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#200", "issue_number": "200", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-c631f2a7ed2793b7", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#200\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#200\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#200\nRepo: ronsse/trellis-ai\nIssue/PR number: 200\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-db483aebc7ff6c26", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429464, "scanner": "foundry_dataset", "fingerprint": "3aa35fc9bb17883b27c57634ffbb3b6238a5243a0ed44d84590fb7b5b0155ae9", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"api_integration_gap": 1, "verification_or_tests": 5, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#197", "issue_number": "197", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-1063be6eb7619897", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#197\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#197\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#197\nRepo: ronsse/trellis-ai\nIssue/PR number: 197\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-d45c2086a576d4fa", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429463, "scanner": "foundry_dataset", "fingerprint": "8e705e53edbcbd33a86d8e99c8b8d83de333cc2307247baa77267fe42f34c793", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"api_integration_gap": 1, "verification_or_tests": 11, "human_feedback_general": 2, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 6, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 3, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"ambiguous_needs_more_evidence": 12}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 47, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 8, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 13, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 34, "node_types": {"repo": 1, "commit": 11, "thread": 1, "comment": 4, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#195", "issue_number": "195", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 5}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-f825206d89bf131c", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#195\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#195\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#195\nRepo: ronsse/trellis-ai\nIssue/PR number: 195\nGraph consistency label: weak_supervision_needs_review\nNodes: 34\nEdges: 47\nNode types: {'commit': 11, 'link_quality': 8, 'comment': 4, 'comment_chain': 4, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 13, 'chain_has_link_quality': 8, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, '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: {'verification_or_tests': 11, 'ambiguous_needs_more_evidence': 6, 'comment_has_related_commit_context': 3, 'human_feedback_general': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'data_schema_persistence': 1, 'unlinked_human_feedback': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12}\nQuality tiers: {'weak_supervision': 5, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-8ff8e3761dd68d95", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429462, "scanner": "foundry_dataset", "fingerprint": "3be373062074000840462272bf174c9145befb22fcc30aaea78c9b7e100e48ae", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"security_auth_secret": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#194", "issue_number": "194", "quality_tiers": {"unresolved": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-a68b74a1a3d0c622", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#194\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#194\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#194\nRepo: ronsse/trellis-ai\nIssue/PR number: 194\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'security_auth_secret': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 4}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-45a1ac444e837e35", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429461, "scanner": "foundry_dataset", "fingerprint": "55501dd6ee1add649db05b7ec0e0fd79354aa2cc022aae8087bcf20123ee65d9", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"security_or_secrets": 1, "security_auth_secret": 2, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 17, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 13, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#189", "issue_number": "189", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-c9d7d8e5568e5edf", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#189\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#189\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#189\nRepo: ronsse/trellis-ai\nIssue/PR number: 189\nGraph consistency label: weak_supervision_needs_review\nNodes: 13\nEdges: 17\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'security_auth_secret': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-3877a9152e8dc016", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429460, "scanner": "foundry_dataset", "fingerprint": "d66877f204f6a6ebb0bc8260b3d17d55e852cf97c8f038fb58481b220636cbfa", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"api_integration_gap": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 15, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#106", "issue_number": "106", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-4091d9584596b7ba", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: assumption_check\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#106\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#106\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#106\nRepo: ronsse/trellis-ai\nIssue/PR number: 106\nGraph consistency label: assumption_check\nNodes: 12\nEdges: 15\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-7d1c58abc1990128", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_unresolved_feedback", "level": "warning", "message": {"text": "Foundry mined unresolved feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 429459, "scanner": "foundry_dataset", "fingerprint": "9cbffee1e0d3852e208af49a99ebe8e9270e68605d3c95e8e39e4fa4839dd572", "category": "practices", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback without linked fix evidence", "intent": "Negative/unresolved examples that should not be hallucinated into fixes.", "labels": {"security_auth_secret": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "unlinked_feedback_needs_evidence", "outcomes": {"not_resolved_or_not_observed": 8}, "polarity": "bad", "query_id": "unresolved_feedback", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 16, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#104", "issue_number": "104", "quality_tiers": {"unresolved": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "source_motif_id": "graph-pattern-motif-thread-e039c68e184ba556", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Human feedback without linked fix evidence\nQuery id: unresolved_feedback\nQuery type: motif_query\nIntent: Negative/unresolved examples that should not be hallucinated into fixes.\nMotif: unlinked_feedback_needs_evidence\nTraining usage: negative_or_unresolved\nGraph gold label: needs_more_evidence\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#104\nEvidence:\nGraph motif: Human feedback exists without a linked fix\nMotif id: unlinked_feedback_needs_evidence\nPolarity: bad\nTraining usage: negative_or_unresolved\nSeverity: medium\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#104\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#104\nRepo: ronsse/trellis-ai\nIssue/PR number: 104\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'security_auth_secret': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 4}\nCI labels: {}\nCurriculum targets:\n- Teach models to preserve unresolved human feedback instead of hallucinating fixes.\n- Build issue-to-regression examples where no accepted fix exists yet.\nAssumption checks:\n- Can a commit be linked by issue number, SHA, changed path, or time window?\n- If no link exists, is this explicitly labelled unresolved?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-39a367e2783ede75", "synthetic": false, "gold_label": "", "graph_label": "", "source_path": "/data/distillate/foundry_data/graph_queries/unresolved_feedback/shard-0.jsonl", "bundle_label": "", "priority_band": "", "priority_score": 0, "repo_full_name": "ronsse/trellis-ai", "source_dataset": "graph_queries/unresolved_feedback", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403235, "scanner": "foundry_dataset", "fingerprint": "394318c5fe44947d7cd74459e2289d4af3821bf212643bde48251e81d6fdde75", "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": {"api_integration_gap": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 15, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#98", "issue_number": "98", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ba5c776532003792", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#98\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#98\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#98\nRepo: ronsse/trellis-ai\nIssue/PR number: 98\nGraph consistency label: assumption_check\nNodes: 12\nEdges: 15\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-f2ffbebcc19824e4", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403234, "scanner": "foundry_dataset", "fingerprint": "dd7682ec0ec6c5eac1a7187ce5182ff7a796da08b6fbe4936a232e9082c10410", "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": {"api_integration_gap": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 15, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#97", "issue_number": "97", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bd3556133499a261", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#97\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#97\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#97\nRepo: ronsse/trellis-ai\nIssue/PR number: 97\nGraph consistency label: assumption_check\nNodes: 12\nEdges: 15\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-f72153e95a83e709", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403233, "scanner": "foundry_dataset", "fingerprint": "acfc7d91d0d5c2967a787aa60fe8a3f68f97f485a4803946d04ea37be67910ae", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#96", "issue_number": "96", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f63d82e6ac3a0c3b", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#96\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#96\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#96\nRepo: ronsse/trellis-ai\nIssue/PR number: 96\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-f12c34acfaef4cef", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403232, "scanner": "foundry_dataset", "fingerprint": "7eac978e4c9d9d2775a24a7f38ec81a58b81c24ace2504c9b6d507cef96070b7", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#78", "issue_number": "78", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9f4e56cfd78e25b5", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#78\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#78\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#78\nRepo: ronsse/trellis-ai\nIssue/PR number: 78\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-b86ebe1570ed9d6d", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403231, "scanner": "foundry_dataset", "fingerprint": "cff037a6db2112136b50fa0c4b07a75602bb92cf06c4b23dc705f5dd0a1caf52", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#77", "issue_number": "77", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-cd86cc2a0af8e2c4", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#77\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#77\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#77\nRepo: ronsse/trellis-ai\nIssue/PR number: 77\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-8ceeee6c20a6891e", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403230, "scanner": "foundry_dataset", "fingerprint": "3caee2de5da5726b66222c9a377a94a2def373198bf3cc2cf8ae5e491aebee29", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "source_or_other": 1, "api_integration_gap": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 28, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "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, "issue_chain_touches_file": 1, "thread_has_comment_chain": 2, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 2, "pr_file": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#246", "issue_number": "246", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-3bb02e180c132b44", "graph_gold_label": "assumption_check", "changed_file_labels": {"source_or_other": 5}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#246\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#246\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#246\nRepo: ronsse/trellis-ai\nIssue/PR number: 246\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 28\nNode types: {'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_touches_file': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-b18bd952aa27c99a", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403229, "scanner": "foundry_dataset", "fingerprint": "2ccf2b8c2be134dc1d400c7884efe02a2eaa260fc8446e6b4d0045fd1b95a0ae", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 48, "test_ci_gap": 1, "api_or_backend": 3, "schema_or_data": 1, "ui_or_frontend": 25, "source_or_other": 18, "dependency_or_build": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 139, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 95, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 112, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 95, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#245", "issue_number": "245", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-acfab51ef8cb87b4", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 192, "api_or_backend": 12, "schema_or_data": 4, "ui_or_frontend": 100, "source_or_other": 72}}, "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#245\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#245\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#245\nRepo: ronsse/trellis-ai\nIssue/PR number: 245\nGraph consistency label: supported_by_verification_signal\nNodes: 112\nEdges: 139\nNode types: {'pr_file': 95, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 95, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'test_or_ci': 48, 'ui_or_frontend': 25, 'source_or_other': 18, 'verification_or_tests': 4, 'api_or_backend': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'schema_or_data': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-1650b8b1fbe32791", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403228, "scanner": "foundry_dataset", "fingerprint": "50eb1a8c6eadab0e92c6ade6c83414c582a6da36f368d6de836dcf8b80051fd9", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#241", "issue_number": "241", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-06b840ecbd69e1e2", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 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_high_confidence_link\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#241\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#241\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#241\nRepo: ronsse/trellis-ai\nIssue/PR number: 241\nGraph consistency label: supported_by_high_confidence_link\nNodes: 18\nEdges: 23\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-70374b0bca1a4bb2", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403227, "scanner": "foundry_dataset", "fingerprint": "248c8383a0e9d1575df400d5719a1089d91281efd3051a7d07490e942e2ec35e", "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, "docs_or_claims": 2, "verification_or_tests": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 19, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#238", "issue_number": "238", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-05d44d84cdf5ea20", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"docs_or_claims": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#238\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#238\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#238\nRepo: ronsse/trellis-ai\nIssue/PR number: 238\nGraph consistency label: supported_by_verification_signal\nNodes: 19\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 4, 'pr_file': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_touches_file': 2, 'comment_chain_touches_file': 2, 'issue_chain_touches_file': 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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-6dc658737dd7e040", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403226, "scanner": "foundry_dataset", "fingerprint": "13c4c2025681099c12ab43b64c09826c8f16b18def6b751210a5df7d350eb8ab", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#233", "issue_number": "233", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-457746d20501d94c", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#233\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#233\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#233\nRepo: ronsse/trellis-ai\nIssue/PR number: 233\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-ca09e2620ace347f", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403225, "scanner": "foundry_dataset", "fingerprint": "d155e0a173b991e73978c0d61b41049450b38b893027226e50d9e0f2624f2d7e", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#232", "issue_number": "232", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b77ab541f0554292", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#232\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#232\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#232\nRepo: ronsse/trellis-ai\nIssue/PR number: 232\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-f8a1ab0b86ef7078", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403224, "scanner": "foundry_dataset", "fingerprint": "ae58f8fe34c936e11144b514448dec6db8f208a3ca7bc47800aad7b4f47cc947", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#231", "issue_number": "231", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9a4728b3d94e8985", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#231\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#231\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#231\nRepo: ronsse/trellis-ai\nIssue/PR number: 231\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-17fdb6468f64c0e4", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403223, "scanner": "foundry_dataset", "fingerprint": "06c743f9385ad1bf7db3ba5919faa1b6f6b46fd35da657c31900cf589434dd6e", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#230", "issue_number": "230", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-de610098c663e524", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#230\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#230\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#230\nRepo: ronsse/trellis-ai\nIssue/PR number: 230\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-7f512cbb5a3343f0", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403222, "scanner": "foundry_dataset", "fingerprint": "860ffc9142d3d9ecff5f93ff7b4b381d97c21b50fa0f40a39b187fba77acea6f", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#229", "issue_number": "229", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-33cf9b6ecbff1e8a", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#229\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#229\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#229\nRepo: ronsse/trellis-ai\nIssue/PR number: 229\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-4e92d8e9e03180c6", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403221, "scanner": "foundry_dataset", "fingerprint": "62119da29f9a97f565bd60dacd01fef7a53d5ad2f65a5590104a8b0b2feb1fb8", "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, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#228", "issue_number": "228", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-ba31b47359c32a91", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#228\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#228\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#228\nRepo: ronsse/trellis-ai\nIssue/PR number: 228\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-b92257856c961ca9", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403220, "scanner": "foundry_dataset", "fingerprint": "ef471743ea99de518e34a8357299e979a88dbc48e5319e232345785215dd4e75", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#227", "issue_number": "227", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-fe7d4aa7a3b30f4a", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#227\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#227\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#227\nRepo: ronsse/trellis-ai\nIssue/PR number: 227\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-b67b0307c397ebfb", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403219, "scanner": "foundry_dataset", "fingerprint": "e1740bb5b7f2cbbeb546bebfffce92be52ac281a30a8e9f04c14493fa1079c16", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#226", "issue_number": "226", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-c4da0be157235cee", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#226\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#226\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#226\nRepo: ronsse/trellis-ai\nIssue/PR number: 226\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-93afc671777c331a", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403218, "scanner": "foundry_dataset", "fingerprint": "e680753fdb2e027305b3c78e76e6f435cf9fa556c83d23cd511b6795377caf80", "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": 2, "verification_or_tests": 7, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "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": 8, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#225", "issue_number": "225", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-86debc0aee5b5452", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#225\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#225\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#225\nRepo: ronsse/trellis-ai\nIssue/PR number: 225\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 34\nNode types: {'commit': 8, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 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: {'verification_or_tests': 7, 'claimed_resolved_with_verification_signal': 3, 'test_ci_gap': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-0d96997ec1bd53b1", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403217, "scanner": "foundry_dataset", "fingerprint": "7211dc9cfa1a2eaf19987011e2e7b4ff591bd3bfc2bee01216f7b2f295533281", "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, "api_integration_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#224", "issue_number": "224", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-3c0d508a6f2d33c5", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#224\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#224\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#224\nRepo: ronsse/trellis-ai\nIssue/PR number: 224\nGraph consistency label: weak_supervision_needs_review\nNodes: 28\nEdges: 37\nNode types: {'commit': 8, 'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 8, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, '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: {'verification_or_tests': 5, 'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'ambiguous_needs_more_evidence': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-0521fd967a03a20f", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403216, "scanner": "foundry_dataset", "fingerprint": "5dc7d44104bc10ea183e7c8022460c6cd36acc3537ac5f819b7f4a10537af414", "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, "verification_or_tests": 6, "human_feedback_general": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6, "claimed_resolved_with_verification_signal": 2}, "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": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "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": 23, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#222", "issue_number": "222", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-6e63db801b9b3584", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#222\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#222\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#222\nRepo: ronsse/trellis-ai\nIssue/PR number: 222\nGraph consistency label: supported_by_verification_signal\nNodes: 23\nEdges: 30\nNode types: {'commit': 8, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 6, 'ambiguous_needs_more_evidence': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-8b98a950c1e2b05e", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403215, "scanner": "foundry_dataset", "fingerprint": "8a57cd677b01028077c75abc46ce1db2f01bba360752764f5d30083d5658d683", "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, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 3, "data_schema_persistence": 2, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 2, "not_resolved_or_not_observed": 2, "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": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#220", "issue_number": "220", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-afe8c7987d26e631", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#220\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#220\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#220\nRepo: ronsse/trellis-ai\nIssue/PR number: 220\nGraph consistency label: supported_by_verification_signal\nNodes: 28\nEdges: 39\nNode types: {'commit': 8, 'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, '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: {'bug_fix': 4, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'data_schema_persistence': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'claimed_resolved_unverified': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-282487fa95c76e91", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403214, "scanner": "foundry_dataset", "fingerprint": "a81074398ac1a9bac322d1e4025f8d0eb286c5a56c3a589d80a774c5f66ab04d", "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, "verification_or_tests": 4, "data_schema_persistence": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 44, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 8, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 11, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#219", "issue_number": "219", "quality_tiers": {"assumption_check": 3, "weak_supervision": 5}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-09f59d5460ba123f", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#219\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#219\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#219\nRepo: ronsse/trellis-ai\nIssue/PR number: 219\nGraph consistency label: supported_by_verification_signal\nNodes: 28\nEdges: 44\nNode types: {'link_quality': 8, 'commit': 6, 'comment': 3, 'comment_chain': 3, 'alignment': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 11, 'chain_has_link_quality': 8, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'data_schema_persistence': 3, 'blueprint_human_gap_disagreement': 3, 'human_reported_issue_then_verified_fix_attempt': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 5, 'assumption_check': 3}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-a05cf66c8a9a95c8", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403213, "scanner": "foundry_dataset", "fingerprint": "a6dc253aa94836df3a8b6aef15ad460acc3c818998854d1b56a73a819a5d82a3", "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, "verification_or_tests": 4, "human_feedback_general": 1, "data_schema_persistence": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 11, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 27, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#217", "issue_number": "217", "quality_tiers": {"assumption_check": 2, "weak_supervision": 5}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-5fccdcba762b38e9", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#217\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#217\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#217\nRepo: ronsse/trellis-ai\nIssue/PR number: 217\nGraph consistency label: supported_by_verification_signal\nNodes: 27\nEdges: 40\nNode types: {'commit': 7, 'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 11, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, '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: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'bug_fix': 3, 'data_schema_persistence': 2, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 5, '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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-b521ae7c16c51042", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403212, "scanner": "foundry_dataset", "fingerprint": "67e16958065ac81011042788c2c748ed0bd9eb551d6620593753971aecd4ce8e", "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, "verification_or_tests": 7, "human_feedback_general": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 6, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 4, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 12, "claimed_resolved_with_verification_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 55, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 5, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 8, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 5, "comment_chain_links_commit": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 33, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 5, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#216", "issue_number": "216", "quality_tiers": {"assumption_check": 1, "weak_supervision": 7}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-6d833b35551a006b", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#216\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#216\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#216\nRepo: ronsse/trellis-ai\nIssue/PR number: 216\nGraph consistency label: supported_by_verification_signal\nNodes: 33\nEdges: 55\nNode types: {'commit': 9, 'link_quality': 8, 'comment': 5, 'comment_chain': 5, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 20, 'chain_has_link_quality': 8, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 7, 'ambiguous_needs_more_evidence': 6, 'human_feedback_general': 4, 'comment_has_related_commit_context': 4, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 7, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-3fa358ee96c3ca04", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403211, "scanner": "foundry_dataset", "fingerprint": "7a313975106c6234e6d51e71906e2cd832f48f2e2819c71e554cbd4ba9cf6788", "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": 2, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 2, "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": 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": 6, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 23, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#215", "issue_number": "215", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f06393671952f575", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#215\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#215\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#215\nRepo: ronsse/trellis-ai\nIssue/PR number: 215\nGraph consistency label: supported_by_verification_signal\nNodes: 23\nEdges: 30\nNode types: {'commit': 6, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, '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: {'verification_or_tests': 5, 'claimed_resolved_with_verification_signal': 3, 'api_integration_gap': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-50c1bf68cd026f29", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403210, "scanner": "foundry_dataset", "fingerprint": "cc5116c283278deb13dc78db51d8e9a7d7e603904fd64ab4995bdebbb80850e1", "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, "api_integration_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#214", "issue_number": "214", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-82321b118b9436cd", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#214\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#214\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#214\nRepo: ronsse/trellis-ai\nIssue/PR number: 214\nGraph consistency label: weak_supervision_needs_review\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 5, 'commit': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 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, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-753ac5121030abfc", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403209, "scanner": "foundry_dataset", "fingerprint": "148ba3983400476f40dc684cded7fe1192de850c1123ad8eeda99890469e087f", "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, "api_integration_gap": 1, "verification_or_tests": 7, "human_feedback_general": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 5, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 10, "claimed_resolved_with_verification_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 49, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 8, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 15, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 32, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 4, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#211", "issue_number": "211", "quality_tiers": {"assumption_check": 2, "weak_supervision": 6}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-fed4052b2d94fe99", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#211\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#211\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#211\nRepo: ronsse/trellis-ai\nIssue/PR number: 211\nGraph consistency label: supported_by_verification_signal\nNodes: 32\nEdges: 49\nNode types: {'commit': 9, 'link_quality': 8, 'comment': 4, 'comment_chain': 4, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 15, 'chain_has_link_quality': 8, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, '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: {'verification_or_tests': 7, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'human_feedback_general': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 6, '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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-89c19b0915ed2173", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403208, "scanner": "foundry_dataset", "fingerprint": "764cc359637430a9d59efc398aaadf02a4dc3c70a87f1ba10383feaca611976d", "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, "api_integration_gap": 1, "security_or_secrets": 1, "security_auth_secret": 3, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 5, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 10, "not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 5, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 9, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 5, "comment_chain_links_commit": 15, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 33, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 9, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#210", "issue_number": "210", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 6}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-d7d43e1479136cf3", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#210\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#210\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#210\nRepo: ronsse/trellis-ai\nIssue/PR number: 210\nGraph consistency label: supported_by_verification_signal\nNodes: 33\nEdges: 54\nNode types: {'link_quality': 9, 'commit': 7, 'comment': 5, 'comment_chain': 5, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 15, 'chain_has_link_quality': 9, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, '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_unverified': 5, 'security_auth_secret': 3, 'human_reported_issue_then_fix_attempt': 3, 'bug_fix': 3, 'verification_or_tests': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'data_schema_persistence': 1, 'security_or_secrets': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 10, 'claimed_resolved_with_verification_signal': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 6, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-498453d7ee023089", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403207, "scanner": "foundry_dataset", "fingerprint": "df730454a7d9977d79385f6a768925b7b82e310bc29a277baf568a762c968295", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "security_auth_secret": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#207", "issue_number": "207", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9064ad1f8bb7138d", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#207\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#207\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#207\nRepo: ronsse/trellis-ai\nIssue/PR number: 207\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-07db12e63e2c650c", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403206, "scanner": "foundry_dataset", "fingerprint": "29e49e49201f6a71502b2d9630678a7af41543d812a15634541aed2fccdc20c9", "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": {"verification_or_tests": 5, "human_feedback_general": 1, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "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": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#200", "issue_number": "200", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-92e7e68d52df669f", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#200\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#200\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#200\nRepo: ronsse/trellis-ai\nIssue/PR number: 200\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-284484e96b16a1fa", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403205, "scanner": "foundry_dataset", "fingerprint": "3e6ab5de93d364d2c5aaa0b8443139ff3699f351e53404722bd942a73a43ed9b", "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": {"api_integration_gap": 1, "positive_human_signal": 1, "verification_or_tests": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_positive_or_acceptance_signal": 1, "positive_feedback_with_related_change": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 6, "human_positive_or_acceptance_signal": 2}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 17, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#199", "issue_number": "199", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0d661801e1d51f63", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#199\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#199\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#199\nRepo: ronsse/trellis-ai\nIssue/PR number: 199\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 23\nNode types: {'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ambiguous_needs_more_evidence': 3, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'positive_human_signal': 1, 'comment_has_related_commit_context': 1, 'positive_feedback_with_related_change': 1, 'human_positive_or_acceptance_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'human_positive_or_acceptance_signal': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-f09f37ab9d96bad4", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403204, "scanner": "foundry_dataset", "fingerprint": "068fcee8fddd1234b9ebe60c4210007dd71cb6ce9cc88a9a5e433ebb9019457b", "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": {"ui_workflow_gap": 2, "verification_or_tests": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 26, "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": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#198", "issue_number": "198", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9fdf729ecfe9aced", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#198\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#198\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#198\nRepo: ronsse/trellis-ai\nIssue/PR number: 198\nGraph consistency label: weak_supervision_needs_review\nNodes: 18\nEdges: 26\nNode types: {'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_links_commit': 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: {'ambiguous_needs_more_evidence': 4, 'ui_workflow_gap': 2, 'comment_has_related_commit_context': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'verification_or_tests': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-1d211404542f0c9f", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403203, "scanner": "foundry_dataset", "fingerprint": "f65ea5fc44edf0dc376dc45163057156d06d47a3a3fd96b8f459935ffdd6f62e", "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": {"api_integration_gap": 1, "verification_or_tests": 5, "human_feedback_general": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "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": 8}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#197", "issue_number": "197", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-3dbc03bed5c64aba", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#197\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#197\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#197\nRepo: ronsse/trellis-ai\nIssue/PR number: 197\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-5aea957beab59427", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403202, "scanner": "foundry_dataset", "fingerprint": "ff3eb77b29144de9520f205d8de8b9f4384673c162b9075fbf059058b808f17f", "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, "api_integration_gap": 1, "positive_human_signal": 1, "verification_or_tests": 7, "human_feedback_general": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_positive_or_acceptance_signal": 3, "positive_feedback_with_related_change": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 2, "human_positive_or_acceptance_signal": 6, "claimed_resolved_with_verification_signal": 2}, "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": 3, "thread_has_comment": 3, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 6, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 11, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 27, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 3, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#196", "issue_number": "196", "quality_tiers": {"assumption_check": 1, "weak_supervision": 5}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b88361914cd6794a", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#196\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#196\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#196\nRepo: ronsse/trellis-ai\nIssue/PR number: 196\nGraph consistency label: supported_by_verification_signal\nNodes: 27\nEdges: 36\nNode types: {'commit': 9, 'link_quality': 6, 'comment': 3, 'comment_chain': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 11, 'chain_has_link_quality': 6, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 7, 'human_positive_or_acceptance_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'positive_human_signal': 1, 'api_integration_gap': 1, 'human_feedback_general': 1, 'positive_feedback_with_related_change': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'human_positive_or_acceptance_signal': 6, 'claimed_resolved_with_verification_signal': 2, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 5, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-4bbad83b04624eff", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403201, "scanner": "foundry_dataset", "fingerprint": "a14afcf3f66108e8b6b3e1578433d2e638268a31bc4588ddb68e81310b63e976", "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": {"api_integration_gap": 1, "verification_or_tests": 11, "human_feedback_general": 2, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 6, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 3, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"ambiguous_needs_more_evidence": 12}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 47, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 8, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 13, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 34, "node_types": {"repo": 1, "commit": 11, "thread": 1, "comment": 4, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#195", "issue_number": "195", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 5}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-0e43f6c8ff8af5c5", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#195\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#195\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#195\nRepo: ronsse/trellis-ai\nIssue/PR number: 195\nGraph consistency label: weak_supervision_needs_review\nNodes: 34\nEdges: 47\nNode types: {'commit': 11, 'link_quality': 8, 'comment': 4, 'comment_chain': 4, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 13, 'chain_has_link_quality': 8, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, '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: {'verification_or_tests': 11, 'ambiguous_needs_more_evidence': 6, 'comment_has_related_commit_context': 3, 'human_feedback_general': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'data_schema_persistence': 1, 'unlinked_human_feedback': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12}\nQuality tiers: {'weak_supervision': 5, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-e65d2e1e1e271a8c", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403200, "scanner": "foundry_dataset", "fingerprint": "162ef6183853f7894d1ed435cbd4bc84cab732ea3c5e5728c64c15769f4121ac", "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, "test_ci_gap": 1, "ui_or_frontend": 4, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 38, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 6, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 6, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#188", "issue_number": "188", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bc8bdd7fa790f1c0", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "ui_or_frontend": 16}}, "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#188\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#188\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#188\nRepo: ronsse/trellis-ai\nIssue/PR number: 188\nGraph consistency label: supported_by_verification_signal\nNodes: 23\nEdges: 38\nNode types: {'pr_file': 6, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 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': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 4, 'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-70f46e6542d3bc93", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403199, "scanner": "foundry_dataset", "fingerprint": "66dd0f48c6633fce5d1a0b051231c61a1cb6928b87d3f799c596064f813405d7", "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, "docs_or_claims": 1, "source_or_other": 4, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 35, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 5, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#184", "issue_number": "184", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-4e1fa0c6f7837a28", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"docs_or_claims": 4, "source_or_other": 16}}, "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#184\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#184\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#184\nRepo: ronsse/trellis-ai\nIssue/PR number: 184\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 35\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_links_commit': 5, 'comment_chain_touches_file': 5, 'issue_chain_touches_file': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'source_or_other': 4, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'docs_or_claims': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-2c18a290ab094b8d", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403198, "scanner": "foundry_dataset", "fingerprint": "f9e854ab757418255741fc77adf3c2d04f1b6db6fbf9eda95c235cb6675e7517", "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, "docs_or_claims": 2, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 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": "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": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 19, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#181", "issue_number": "181", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-da5f2529cadd8a70", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"docs_or_claims": 8}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#181\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#181\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#181\nRepo: ronsse/trellis-ai\nIssue/PR number: 181\nGraph consistency label: supported_by_verification_signal\nNodes: 19\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 4, 'pr_file': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_touches_file': 2, 'comment_chain_touches_file': 2, 'issue_chain_touches_file': 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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-e8feabf8d0b0f993", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403197, "scanner": "foundry_dataset", "fingerprint": "31a8a998aac63d2edd4dc9ed218c0e05f7cb3668afc2ea4a229c6c2fc64bc541", "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": {"runtime_failure": 1, "source_or_other": 2, "api_integration_gap": 1, "dependency_or_build": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"claimed_resolved_unverified": 2, "claimed_resolved_with_verification_signal": 6}, "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, "thread_touches_file": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 2, "thread_has_comment_chain": 2, "comment_chain_links_commit": 6, "comment_chain_touches_file": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#180", "issue_number": "180", "quality_tiers": {"high_confidence": 3, "assumption_check": 1, "weak_supervision": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f99b6e6dd0e78f7d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"source_or_other": 10}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#180\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#180\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#180\nRepo: ronsse/trellis-ai\nIssue/PR number: 180\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 34\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'pr_file': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 6, 'chain_has_link_quality': 5, 'comment_chain_touches_file': 4, 'thread_has_comment': 2, 'thread_touches_file': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'issue_chain_touches_file': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'source_or_other': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'runtime_failure': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'human_reported_issue_then_fix_attempt': 1, 'claimed_resolved_unverified': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2}\nQuality tiers: {'high_confidence': 3, 'weak_supervision': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-2b31db877bec389a", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403196, "scanner": "foundry_dataset", "fingerprint": "31c092a3c4fc007103249dad41fac68bbef125265a7e0d2418c282f45b3a8a20", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#176", "issue_number": "176", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-4eba77b8353f41c8", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#176\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#176\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#176\nRepo: ronsse/trellis-ai\nIssue/PR number: 176\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-6c3fd537f0575c4c", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403195, "scanner": "foundry_dataset", "fingerprint": "ab58e6c2b71be57fd8a2588b38be4cdb4c2b87f07ac25b639a696c1a7148ad97", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#171", "issue_number": "171", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-b749d3bf79cb6449", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#171\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#171\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#171\nRepo: ronsse/trellis-ai\nIssue/PR number: 171\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-57e4a7879f02bc46", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403194, "scanner": "foundry_dataset", "fingerprint": "134ee51e4e6a0f54bb382602dfdf386ff55570a3a67e357dac314d76483f8c1a", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#168", "issue_number": "168", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-bfa11362509c1631", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#168\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#168\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#168\nRepo: ronsse/trellis-ai\nIssue/PR number: 168\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-c4218ccf6899ab0b", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403193, "scanner": "foundry_dataset", "fingerprint": "aefda57e862dce15f6eb4c8a63249a5a82f343c8f5b875f14ed3683a8462f111", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#167", "issue_number": "167", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-80265b343eae53f5", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#167\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#167\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#167\nRepo: ronsse/trellis-ai\nIssue/PR number: 167\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-0eff910347f603df", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403192, "scanner": "foundry_dataset", "fingerprint": "8316427416b86f87984b79e0198a3b279039f4191a8dffaea89d14b04f071dfe", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#163", "issue_number": "163", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-2e16d35570011f51", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#163\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#163\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#163\nRepo: ronsse/trellis-ai\nIssue/PR number: 163\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-448876eb8154ab23", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403191, "scanner": "foundry_dataset", "fingerprint": "daac1de3b8e8a2c55eb4931f7a60714def792a4091dc8733d41b2eb303142946", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#162", "issue_number": "162", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-9224f599066a27ec", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#162\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#162\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#162\nRepo: ronsse/trellis-ai\nIssue/PR number: 162\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-d512b638b23a1020", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403190, "scanner": "foundry_dataset", "fingerprint": "49360a90e2bb49bbc09535eacf14a63b02ec7fe7367c0f52f5183cf1cd02b7ec", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#159", "issue_number": "159", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-a57e25da88610659", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#159\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#159\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#159\nRepo: ronsse/trellis-ai\nIssue/PR number: 159\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-4f33deaf08e31b50", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403189, "scanner": "foundry_dataset", "fingerprint": "96544fa59c8a3e3c9f450ef8ce324762ade9582117caff65ce591ffbaf544d82", "category": "tech_debt", "severity": "medium", "confidence": 0.7, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Human feedback aligned with blueprint or architecture gaps", "intent": "Curriculum-gap examples connecting issue threads to helicopter-view gaps.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#151", "issue_number": "151", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-1eae242351cc3159", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#151\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#151\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#151\nRepo: ronsse/trellis-ai\nIssue/PR number: 151\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-b480e6395141a666", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_blueprint_gap", "level": "warning", "message": {"text": "Foundry mined blueprint gap alignment: ronsse/trellis-ai"}, "properties": {"repobilityId": 403188, "scanner": "foundry_dataset", "fingerprint": "0bc7f473561925f4fd63457d6c9b3397e587eb4734647ff51556ee78fdaf8d5e", "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": {"api_integration_gap": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "blueprint_gap_alignment", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "mixed", "query_id": "blueprint_gap_alignment", "severity": "medium", "ci_labels": {}, "synthetic": false, "edge_count": 15, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#106", "issue_number": "106", "quality_tiers": {"unresolved": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "curriculum_gap", "source_motif_id": "graph-pattern-motif-thread-f840612142d87637", "graph_gold_label": "assumption_check", "changed_file_labels": {}}, "text": "Graph query export: Human feedback aligned with blueprint or architecture gaps\nQuery id: blueprint_gap_alignment\nQuery type: motif_query\nIntent: Curriculum-gap examples connecting issue threads to helicopter-view gaps.\nMotif: blueprint_gap_alignment\nTraining usage: curriculum_gap\nGraph gold label: assumption_check\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#106\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#106\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#106\nRepo: ronsse/trellis-ai\nIssue/PR number: 106\nGraph consistency label: assumption_check\nNodes: 12\nEdges: 15\nNode types: {'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'human_reported_issue_no_linked_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Use helicopter-view architecture/schema/design evidence beside issue threads.\n- Teach models to compare requested product class against implementation layers.\nAssumption checks:\n- Which blueprint layer is absent: frontend, API, data, auth, tests, or deployment?\n- Does human feedback confirm the same architectural gap?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-242515cdd8c5b3c2", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/blueprint_gap_alignment", "training_usage": "curriculum_gap"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381747, "scanner": "foundry_dataset", "fingerprint": "4679a0d2b673655c4003d1c802e479e38cb7204a84a4b167d470515018330300", "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": "ronsse/trellis-ai#43", "human_labels": ["human_feedback_general"], "issue_number": "43", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.587, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-a18a2873e7138737", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#43\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#43\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-45050d230c519039\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/43#issuecomment-4324031981\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/43#issuecomment-4324031981\\nTitle: \\nBody:\\nFolding into a single consolidated PR with #42, simplified design (no new foundation module). Follow-up incoming.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-12262e991a14186b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-38867873c3fc7a89", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381746, "scanner": "foundry_dataset", "fingerprint": "df4199c2cbca476b09b59dde76d5ed17d425c550c6207e8cd9549273704ceedb", "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": "ronsse/trellis-ai#42", "human_labels": ["human_feedback_general"], "issue_number": "42", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.605, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-9943e9f342c3ebf0", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#42\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#42\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c3f8e313158803b7\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/42#issuecomment-4324031847\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/42#issuecomment-4324031847\\nTitle: \\nBody:\\nFolding into a single consolidated PR with #43 \u2014 see follow-up.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-1f0c64fcf442f92b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-4ccaea852183e243", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381745, "scanner": "foundry_dataset", "fingerprint": "a925aa469d6fce74eefc48d0e2ff91ea6a42aaf235c07f4c0a8c360ef4c2b290", "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": "ronsse/trellis-ai#244", "human_labels": ["api_or_backend", "docs_or_claims", "security_auth_secret", "source_or_other", "test_or_ci"], "issue_number": "244", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4ae8351d97a29d96", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 10, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 3, "api_or_backend": 5, "docs_or_claims": 1, "source_or_other": 1}, "linked_commit_count": 3, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#244\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#244\nRepo: ronsse/trellis-ai\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: 10\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'source_or_other': 1, 'docs_or_claims': 1, 'api_or_backend': 5, 'test_or_ci': 3}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-26f13f885da5e359\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/244\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/244\\nTitle: feat(api): UI auth flow + production exposure toggles (closes #190, #192)\\nBody:\\nBuilds on #242's scoped auth:\\n\\n- **#190**: TRELLIS_UI_ENABLED toggle (false \u2192 /ui unmounted, root redirects to /api/version); static UI gains a minimal API-key flow (localStorage, X-API-Key on every fetch, 401 surfaces key banner)\\n- **#192**: TRELLIS_OPS_DETAIL (authenticated default \u2014 /readyz per-backend detail only for valid credentials; status line stays public for probes) and TRELLIS_METRICS_PUBLIC (false \u2192 /metrics requires a credential)\\n- All toggles fail loud on invalid values at startup; dev behavior (auth off) fully unchanged\\n- 50 new tests; full suite 3547 green, mypy/ruff clean\\n\\nCloses #190\\nCloses #192\\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-c865d37bdcfd788b\",\n    \"filename\": \".env.example\",\n    \"label\": \"source_or_other\",\n    \"status\": \"modified\",\n    \"additions\": 29,\n    \"deletions\": 0,\n    \"changes\": 29,\n    \"blob_url\": \"https://github.com/ronsse/trellis-ai/blob/4541cb9be27e29b3976334e5faf1fddd7144a784/.env.example\"\n  },\n  {\n    \"id\": \"github-pr-file-file-69c0f13e82539fa0\",\n    \"filename\": \"docs/agent-guide/operations.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 35,\n    \"deletions\": 4,\n    \"changes\": 39,\n    \"blob_url\": \"https://github.com/ronsse/trellis-ai/blob/4541cb9be27e29b3976334e5faf1fddd7144a784/docs%2Fagent-guide%2Foperations.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-4ddc9b2226bcb9a9\",\n    \"filename\": \"src/trellis_api/app.py\",\n    \"label\": \"api_or_backend\",\n    \"status\": \"modified\",\n    \"additions\": 48,\n    \"deleti\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-dced568283d13e58", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381744, "scanner": "foundry_dataset", "fingerprint": "24f523daec55393898a9da8910caebfa8c8ee2ac74e3adfde5c081e76f5742e6", "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": "ronsse/trellis-ai#243", "human_labels": ["deployment_env_gap", "docs_or_claims"], "issue_number": "243", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4ea817fff61bbe22", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 2, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 2}, "linked_commit_count": 5, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#243\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#243\nRepo: ronsse/trellis-ai\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: 2\nLabels: {'deployment_env_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-2b960e875fbad5e2\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/243\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/243\\nTitle: docs(adr): column-leaf guardrails \u2014 domain scope + empirical promotion path amendment\\nBody:\\nAmends adr-column-leaf-modeling-guardrails.md per owner direction:\\n\\n1. **Domain scope** (\u00a72.2): the guardrails govern data-platform-shaped domains; other domains define their own leaf conventions with this ADR as template, not law.\\n2. **Empirical promotion path** (\u00a74): a leaf that didn't justify a node at ingest can earn one from usage telemetry (cross-parent reference frequency, retrieval demand) \u2014 candidates surfaced by an analyzer, human-gated minting with the two-signal stamp, demotion on decay so promotion is not a ratchet.\\n3. **\u00a78 option 5**: leaf-promotion analyzer, gated on a production deployment generating real telemetry.\\n4. Cross-pointer from adr-source-modeling-discipline.md \u00a72.5.\\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-9670a777a7e8a5f3\",\n    \"filename\": \"docs/design/adr-column-leaf-modeling-guardrails.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 17,\n    \"deletions\": 1,\n    \"changes\": 18,\n    \"blob_url\": \"https://github.com/ronsse/trellis-ai/blob/f45f566b15ff2e04dc88238eb3f3aeb85c90bcc2/docs%2Fdesign%2Fadr-column-leaf-modeling-guardrails.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-60c43ff31370d810\",\n    \"filename\": \"docs/design/adr-source-modeling-discipline.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 2,\n    \"deletions\": 0,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/ronsse/trellis-ai/blob/f45f566b15ff2e04dc88238eb3f3aeb85c90bcc2/docs%2Fdesign%2Fadr-source-modeling-discipline.md\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_comm\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-fbda00b11a7ae693", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381743, "scanner": "foundry_dataset", "fingerprint": "33fd1887230108a282fa71dad2916c3909f22b642d2666b7a42e632a78f14ea6", "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": "ronsse/trellis-ai#242", "human_labels": ["api_or_backend", "docs_or_claims", "runtime_failure", "security_auth_secret", "source_or_other", "test_or_ci", "ui_or_frontend"], "issue_number": "242", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-d0db0d21ca025856", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 24, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 6, "api_or_backend": 9, "docs_or_claims": 1, "ui_or_frontend": 7, "source_or_other": 1}, "linked_commit_count": 10, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#242\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#242\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 4\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 24\nLabels: {'security_auth_secret': 3, 'runtime_failure': 1}\nPolarities: {'bad': 4}\nChanged file labels: {'source_or_other': 1, 'docs_or_claims': 1, 'ui_or_frontend': 7, 'api_or_backend': 9, 'test_or_ci': 6}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c8c61e9f8b950f4f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/242\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/242\\nTitle: feat(api): scoped API-key auth \u2014 modes, key store, per-router scopes (closes #191)\\nBody:\\nImplements roadmap item E.5 / issue #191:\\n\\n- **ApiKeyStore** (operational plane): SQLite + Postgres backends, `trellis_api_keys` table, registry-wired and covered by `StoreRegistry.validate()`\\n- **trellis.auth**: token format `trellis_ak_<key_id>.<secret>` (sha256 of secret stored, token shown once), scopes read/ingest/mutate/admin with admin implying all\\n- **TRELLIS_AUTH_MODE** off|optional|required (unset = backwards-compatible inference from TRELLIS_API_KEY); X-API-Key and Authorization: Bearer both accepted; legacy shared secret still works with full scopes\\n- **Per-router scope enforcement**: retrieve\u2192read, ingest\u2192ingest, mutations/curate/extract\u2192mutate, admin\u2192admin; per-endpoint overrides on observations and policies writes\\n- **CLI**: `trellis admin api-keys create/list/revoke` with --format json\\n- Docs + .env.example; 3487 unit tests green, mypy and ruff clean\\n\\nCloses #191\\n\\n\ud83e\udd16 Generated with [Claude Code](https:/\"\n  },\n  {\n    \"id\": \"github-feedback-comment-9971e07a5642fedc\",\n    \"kind\": \"review_comment\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/242#discussion_r3399446743\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: review_comment\\nRepo: ronsse/trellis-ai\\nAuthor: github-advanced-security[bot] (Bot)\\nURL: https://github.com/ronsse/trellis-ai/pull/242#discussion_r3399446743\\nTitle: \\nBody:\\n## CodeQL / Use of a broken or weak cryptographic hashing algorithm on sensitive data\\n\\n[Sensitive data (password)]\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-22f9d5433e1b665a", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381742, "scanner": "foundry_dataset", "fingerprint": "0159110f088cb8f2df7708fcf83238c6f2184a32245b549ac6026344d2f5fa0d", "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": "ronsse/trellis-ai#241", "human_labels": ["test_ci_gap", "test_or_ci"], "issue_number": "241", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.912, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-300438aaee20a59f", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 1}, "linked_commit_count": 5, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#241\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#241\nRepo: ronsse/trellis-ai\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: 1\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'test_or_ci': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-516d65994ead84b1\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/241\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/241\\nTitle: ci: fix live-infra workflow running zero tests since May 17\\nBody:\\nAdds TRELLIS_TEST_NEO=1 / TRELLIS_TEST_POSTGRES=1 to the live-infra job env so the env-gated integration suites are actually selected. Every run since 2026-05-17 deselected all 11 tests and failed with pytest exit code 5.\\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-357c0970bf7a53aa\",\n    \"filename\": \".github/workflows/live-infra.yml\",\n    \"label\": \"test_or_ci\",\n    \"status\": \"modified\",\n    \"additions\": 5,\n    \"deletions\": 0,\n    \"changes\": 5,\n    \"blob_url\": \"https://github.com/ronsse/trellis-ai/blob/ffaa9d7a89f6a85613c9727648047904ffbb3448/.github%2Fworkflows%2Flive-infra.yml\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-161a0c145fc11816\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-f487819b6f66ac3b", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381741, "scanner": "foundry_dataset", "fingerprint": "ebb6d0762dfab3940511bb48b8b04bae48a82d1a3f9cf34f47a9e75b0c85fd9b", "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": "ronsse/trellis-ai#24", "human_labels": ["human_feedback_general"], "issue_number": "24", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-b3a72a11057db89d", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#24\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, repo_has_isolated_helicopter_views, link_quality_unresolved\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#24\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d5305dc50faed530\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/24#issuecomment-4331565816\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/24#issuecomment-4331565816\\nTitle: \\nBody:\\nClosing as superseded \u2014 content was re-landed in main as #47 (`Neo4jVectorStore: wait for vector index ONLINE after CREATE`). The Phase 1.4 work is in main; this stacked PR is no longer needed.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e6ad0142ee7d11e3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-a2277327827898f4", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381740, "scanner": "foundry_dataset", "fingerprint": "7ffd862414bdfdcbdb3f08cd1454e1adcd1748d48e0d6a26a3789fe150e258a5", "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": "ronsse/trellis-ai#239", "human_labels": ["security_auth_secret"], "issue_number": "239", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2eeb103d5dedb2c1", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#239\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#239\nRepo: ronsse/trellis-ai\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: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7bee2dae23afddfc\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/239\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/239\\nTitle: consumer-kg: add docs-only dry-run mode for internal-docs enrichment\\nBody:\\nWhile continuing the internal-docs enrichment handoff on 2026-06-04, the existing command {\\\"config\\\": \\\"configs/sources/internal-docs-poc.yaml\\\", \\\"error\\\": \\\"default auth: cannot configure default credentials, please check https://docs.databricks.com/en/dev-tools/auth.html#databricks-client-unified-authentication to configure credentials for your preferred authentication method.\\\", \\\"error_type\\\": \\\"ValueError\\\", \\\"status\\\": \\\"error\\\"} could not refresh a local baseline without Databricks auth. The config has static include_tables and docs repo inputs, but source ingest still builds table scope through Unity Catalog. With the local Databricks profile refresh token expired, the docs-only dry-run failed before repo extraction. Recommendation: add a docs-only source-ingest mode or static-scope fallback that can emit documentation/page/section/chunk/service/glossary drafts from configured include_tables without live Databricks auth, while keeping UC vali\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-333767cd72659ec6\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact familie\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-04614ec2fa05300d", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381739, "scanner": "foundry_dataset", "fingerprint": "59ed3daf71192e2cfe5e4137282ec913bd0c948d0608f7a5b7a35eb3cd018fbe", "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": "ronsse/trellis-ai#237", "human_labels": ["api_or_backend", "docs_or_claims", "security_auth_secret", "test_or_ci", "ui_or_frontend"], "issue_number": "237", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-4966450480aa65d1", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 21, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 2, "api_or_backend": 1, "docs_or_claims": 15, "ui_or_frontend": 3}, "linked_commit_count": 5, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#237\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#237\nRepo: ronsse/trellis-ai\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: 21\nLabels: {'security_auth_secret': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 15, 'api_or_backend': 1, 'ui_or_frontend': 3, 'test_or_ci': 2}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1b2526bef434a469\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/237\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/237\\nTitle: docs: structural ADRs \u2014 ontology framing, core boundary, API security\\nBody:\\nDrafts seven `Status: Proposed` ADRs that work through the open **structural** issues \u2014 how Trellis should be structured for enterprise/EGP-style graph construction, where the core-vs-integration boundary sits, and the API security posture. Design docs only; no code or behavior changes.\\n\\n## Cluster A \u2014 enterprise ontology framing\\n- `adr-enterprise-ontology-capability-framing.md` \u2014 umbrella (Resolves #217): capability map, layer ownership, comparison matrix, builder decision tree, worked examples.\\n- `adr-ontology-profiles.md` \u2014 optional governed profiles (Resolves #219); open-string core preserved, 4-stage migration path.\\n- `adr-query-history-promotion.md` \u2014 behavioral-evidence \u2192 accepted-fact ladder (Resolves #218); reuses existing Observation/Measurement primitives.\\n- `adr-egp-interop-bridge.md` \u2014 EGP \u2194 Trellis mapping, fact states, projection contract (Resolves #220).\\n- `adr-column-leaf-modeling-guardrails.md` \u2014 columns-as-prope\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-a2baac79258630f6\",\n    \"filename\": \"README.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 36,\n    \"deletions\": 0,\n    \"changes\": 36,\n    \"blob_url\": \"https://github.com/ronsse/trellis-ai/blob/c93ecb635b9879f262d58ca0052bc6da064ac31c/README.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-5561547bc2839fdd\",\n    \"filename\": \"docs/agent-guide/modeling-guide.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 41,\n    \"deletions\": 0,\n    \"changes\": 41,\n    \"blob_url\": \"https://github.com/ronsse/trellis-ai/blob/c93ecb635b9879f26\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-eb3dbd82ec8353bc", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381738, "scanner": "foundry_dataset", "fingerprint": "4ea9b071608f8e39239f7ee63c7eb9e93668e26e76e4307883d7b1da1aab1573", "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": "ronsse/trellis-ai#236", "human_labels": ["human_feedback_general"], "issue_number": "236", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.645, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-3d5ac20945ac6d2d", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#236\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#236\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-3b560cca1704f824\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/236\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/236\\nTitle: consumer-kg: live Databricks scouts show little query-history SELECT signal in current scope\\nBody:\\nLive bounded Databricks smoke on 2026-06-03 using warehouse <warehouse-id> and profile <dev-profile> produced these graph-safe artifacts under build/live-databricks: vendor-analytics-a 1d and 7d query-history scouts returned zero non-pipeline SELECT groups; vendor-analytics-b 7d returned zero; application_events 7d returned zero; domain-c360 7d returned 7 non-pipeline rows but all statement_type OTHER; broad scope-only 7d returned zero non-pipeline SELECT groups. BI saved-query scope-only scout over 500 saved queries found one SELECT candidate for landing.raw_events.events, and review-first BI curation produced one non-promoted decision with zero mutations. Recommendation: do not start direct query-history graph writes for these domains yet; prioritize BI metadata, documentation, and pipeline/static-code enrichment, then revisit query-history with 30/90 day windows or refined predicates only after scout evi\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c2fa82bab8dffec6\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-6a86477d90dfbc83", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381737, "scanner": "foundry_dataset", "fingerprint": "0b22395dc40f58d21a33369ba1c06223afc3cad64f351fc8d9ccc06ffdc1fa6f", "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": "ronsse/trellis-ai#235", "human_labels": ["human_feedback_general"], "issue_number": "235", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.592, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-ca6f2dcbe7414efc", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#235\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#235\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-70edc8ae40c4d579\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/235\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/235\\nTitle: consumer-kg: strip SQL comments from graph-safe expression summaries\\nBody:\\nLive BI metadata curation on 2026-06-03 produced a review-first artifact for landing.raw_events.events with metric_expressions that preserved SQL block comments such as /* domain_userid statistics */. The artifact did not include raw query text or identifiers, but SQL comments are arbitrary raw SQL text and should not be stored in graph-safe review or graph properties. Fix: strip SQL comments from parsed expression summaries before decisions/drafts are emitted, add regression coverage, rerun the BI curation artifact, and update the consolidated PR.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e5a1ce4222b64f31\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-fcbf107ff3cb2d59", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381736, "scanner": "foundry_dataset", "fingerprint": "9f0a6373393debc439bc64d485500633742dd4fcf3731a2a5c1d9b81af091994", "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": "ronsse/trellis-ai#234", "human_labels": ["human_feedback_general"], "issue_number": "234", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.61, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-24b61b31364a2d12", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#234\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#234\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d02be48d8efed9d0\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/234\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/234\\nTitle: consumer-kg: keep documentation use-table guidance from defining tables\\nBody:\\nDuring review of the standing consumer-kg PR stack, documentation extraction was treating sentences like 'Use prod.example.users in dashboards...' as defines_table evidence because 'use' was listed as a strong definition marker. That can make usage guidance look authoritative/routable when it should stay review-first weak evidence. Fix: move use/uses to the uses_table marker set and add a regression that keeps usage guidance at weak confidence. Verification started with focused documentation/retrieval tests and should be followed by full stack verification before the consolidated PR.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-f1fb2b482be82109\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-58c28ee9fff93cf1", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381735, "scanner": "foundry_dataset", "fingerprint": "884450ad7f81101f02964a442f5075eec9a20fcaeb46ef3ef6542171a4571021", "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": "ronsse/trellis-ai#227", "human_labels": ["test_ci_gap"], "issue_number": "227", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-dc070386c69acfa8", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#227\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#227\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5b57b99b0e0632ab\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/227\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/227\\nTitle: consumer-kg: summarize retrieval evidence routes in CLI output\\nBody:\\nContext\\n- `retrieve query-history --json` exposes full graph-safe context, including `evidence_routes`, but non-JSON output previously printed the context dict directly.\\n- Operators need a bounded readable summary to inspect route decisions during POC validation without scrolling through every evidence property.\\n\\nStacked implementation\\n- consumer-kg branch `stack/retrieval-route-cli`, stacked on PR #6 / `stack/documentation-evidence-roles`.\\n- Non-JSON `retrieve query-history` now prints `Anchors`, `Evidence Routes`, `Evidence Counts`, and `Warnings`.\\n- JSON mode remains unchanged and returns `{status, context}`.\\n\\nSafety\\n- Human output does not expand evidence properties or raw context payloads.\\n- It emits route ids, primary evidence, ordered evidence sources, counts, and warnings only.\\n\\nVerification\\n- `ruff check .` passed.\\n- `pytest -q` passed: 196 tests, 1 existing requests dependency warning.\\n- `git diff --check` passed.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-cc9381c32ee425b3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views:\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-0cad948d75a80fa6", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381734, "scanner": "foundry_dataset", "fingerprint": "482c9a63f1f8f075c351c0f1f83082e8a311262f9037a5235f2d5fcf221b481f", "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": "ronsse/trellis-ai#224", "human_labels": ["api_integration_gap", "security_auth_secret", "test_ci_gap"], "issue_number": "224", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-8ee4e86892f18d01", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 8, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#224\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#224\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 8\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'test_ci_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 3}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-3581ec79bb0529e3\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/224\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/224\\nTitle: consumer-kg: separate source-code transformation logic from query usage\\nBody:\\nContext\\n- Databricks query history is useful behavioral evidence for high-use BI/reporting tables, but it is weak for intermediate, newly created, or infrequently queried tables.\\n- Pipeline/source code should contribute construction evidence separately from query usage: input/output tables, join/window/dedupe hints, column derivations, and source refs.\\n\\nObserved examples\\n- Static parsing initially treated `from internal_lib.spark.connections.checkpoint_handler import ...` as a table ref (`internal_lib.spark.connections`).\\n- Static parsing initially treated `os.path.join(current_path, \\\"..\\\", \\\"..\\\", \\\"scripts\\\")` as a DataFrame join condition (`\\\"..\\\"`).\\n- Both examples now have regression coverage in consumer-kg so they do not leak into transformation evidence.\\n\\nImplementation note\\n- consumer-kg branch `stack/enriched-graph-population` / PR #4 adds a `transformation_logic` entity type and retrieval bucket.\\n- `transformation_logic` is source\"\n  },\n  {\n    \"id\": \"github-feedback-comment-4a020f07cf2810ba\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/224#issuecomment-4606042548\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/224#issuecomment-4606042548\\nTitle: \\nBody:\\nfd-knowledge-graph update on `stack/enriched-graph-population` / PR #4:\\n\\n- Added `transformation_logic` as a separate source-code construction evidence channel from query-history usage.\\n- Retrieval now has a dedicat\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-567e6af12c901d4e", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381733, "scanner": "foundry_dataset", "fingerprint": "ab91e1a3cd653600336747879fe3f43f738a8c04a613adb75e145faf9597034c", "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": "ronsse/trellis-ai#223", "human_labels": ["human_feedback_general"], "issue_number": "223", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.645, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-c0966fd3d3ce39bb", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#223\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#223\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1f194c8c85819e27\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/223\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/223\\nTitle: consumer-kg retrieval should dedupe stale documentation source paths\\nBody:\\nObserved during consumer-kg expanded docs enrichment on 2026-06-02.\\n\\nAfter changing docs extraction to prefer repo/frontmatter titles and adding domain-inferred docs, retrieval returned both the old documentation node and the new pointer-rich node for the same `internal-docs` relative path. The old node was created by the earlier heading-derived id strategy; the new node includes `source_uri`, `s3_uri`, `match_method`, `confidence`, and `matched_domains`.\\n\\nImpact:\\n- Retrieval could show duplicate documentation results for the same source file.\\n- Stale docs nodes without pointer metadata could crowd out better evidence.\\n\\nLocal fix implemented in consumer-kg stack branch:\\n- Deduplicate documentation retrieval by stable source identity: `repo + relative_path` first, then source URI/S3 fallback.\\n- Prefer the higher-scoring pointer-rich node.\\n- Added regression coverage in `tests/unit/retrieve/test_query_history_retrieve.py`.\\n\\nValidati\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-2e3ab687e832ab77\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views:\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-fcc75980eccd2094", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381732, "scanner": "foundry_dataset", "fingerprint": "b87076b552d513b70b58dfd859f5be9980fd287958cd6c7735fa680e0ce420fb", "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": "ronsse/trellis-ai#222", "human_labels": ["human_feedback_general", "test_ci_gap"], "issue_number": "222", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.662, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-045ee3ee58c86d9e", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#222\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#222\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1, 'test_ci_gap': 1}\nPolarities: {'neutral': 1, 'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d78bdb54fc960591\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/222\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/222\\nTitle: consumer-kg BI saved-query metadata should classify as BI evidence\\nBody:\\nDuring Phase 3/4 EC2 POC work, Databricks saved-query metadata was being classified as `human_analysis` because `classify_query()` did not recognize `Databricks saved query metadata` as BI/reporting evidence.\\n\\nImpact:\\n\\n- BI metadata curation decisions could be ranked and described as generic human query history.\\n- Retrieval could understate that saved-query evidence comes from reporting/BI assets.\\n\\nImplemented in the current consumer-kg branch:\\n\\n- Added `saved query` to BI source markers so saved-query metadata classifies as `bi_report`.\\n- Retrieval scoring now boosts `actor_categories` such as `reporting`/`analyst` and penalizes `service_principal`/`pipeline`.\\n- Added regression coverage in:\\n  - `tests/unit/extract/test_sql_enrichment.py::test_classify_query_excludes_pipeline_transforms_from_usage`\\n  - `tests/unit/retrieve/test_query_history_retrieve.py::test_build_query_history_context_expands_from_table_anchor`\\n\\nLive POC result:\\n\"\n  },\n  {\n    \"id\": \"github-feedback-comment-d150da13bf86e53a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/222#issuecomment-4604373480\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/222#issuecomment-4604373480\\nTitle: \\nBody:\\nPhase 3/4 fd-knowledge-graph BI metadata update:\\n\\n- Saved-query scout found one application_events candidate for landing.application_events.events in the bounded query-limit=500 run.\\n- Review-first curation on the smo\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-d43f32921c9001e9", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381731, "scanner": "foundry_dataset", "fingerprint": "b482f0cc5de7afbe1043125b722ce30ade4d3fb68a017f7008b7cfad5d679a4b", "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": "ronsse/trellis-ai#22", "human_labels": ["human_feedback_general"], "issue_number": "22", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.592, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-aceb2e80a6ab8d82", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#22\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#22\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-27f2b2439ac056c2\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/22#issuecomment-4331565673\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/22#issuecomment-4331565673\\nTitle: \\nBody:\\nClosing as superseded \u2014 content was re-landed in main as #46 (`StoreRegistry: __enter__/__exit__ + lifespan close regression pin`). The Phase 1.2 work is in main; this stacked PR is no longer needed.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-40349e03e1a7f69f\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-3a5a39b48030ad10", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381730, "scanner": "foundry_dataset", "fingerprint": "148e06e15029d0294aa230553eb8387a56e1dceda113b479daf38ffe1da5d0cc", "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": "ronsse/trellis-ai#218", "human_labels": ["agent_instruction_gap", "human_feedback_general"], "issue_number": "218", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-9e959827074cf3ed", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 10, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#218\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#218\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 3\nLinked commit count: 10\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1, 'human_feedback_general': 2}\nPolarities: {'bad': 1, 'neutral': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-beba45802e72b019\",\n    \"kind\": \"issue_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/218\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/218\\nTitle: Define query-history promotion path from behavioral evidence to accepted graph facts\\nBody:\\n## Context\\n\\nQuery history is one of the highest-value inputs for data-platform agents and enterprise graph enrichment. It reveals real usage, common joins, hotspots, repeated filters, generated assets, and demand signals.\\n\\nBut query history is behavioral evidence, not canonical semantic truth.\\n\\nThis distinction matters for EGP-style ontology construction. Query history can propose candidate graph facts, weight retrieval, and generate observations. It should not silently create accepted ontology edges.\\n\\n## Problem\\n\\nBuilders need clear guidance for how to use query history in a governed graph:\\n\\n- Should a repeated join become an edge?\\n- Should frequently co-accessed tables become related concepts?\\n- Should query authors become owners?\\n- Should manual SQL become lineage?\\n- Should raw SQL be stored?\\n- Should user emails be stored?\\n- Should LLM summaries of query intent become domain ontology facts?\\n\\nWithout a policy, query-\"\n  },\n  {\n    \"id\": \"github-feedback-comment-ddd57bcf68671475\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/218#issuecomment-4603895040\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/218#issuecomment-4603895040\\nTitle: \\nBody:\\n## Verdict: reframe \u2014 keep the generic lifecycle in Trellis; the concrete move is fd-kg adopting Observation/Measurement\\n\\n*From an independent, code-verified review (EGP / Trellis / fd-knowledge-graph), verified\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-aa4e4fe7b120ed84", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381729, "scanner": "foundry_dataset", "fingerprint": "589379734ce25adc90acfe9f43bb6149cb097df4cf33c242ef43b012cfa6d939", "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": "ronsse/trellis-ai#216", "human_labels": ["human_feedback_general", "test_ci_gap"], "issue_number": "216", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-8abc711b7ecae0eb", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 20, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#216\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#216\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 5\nLinked commit count: 20\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 4, 'test_ci_gap': 1}\nPolarities: {'neutral': 4, 'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7a1dd64ebfdd4596\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/216\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/216\\nTitle: consumer-kg target-domain query-history scout has pipeline-only signal\\nBody:\\nEC2 POC target-domain query-history scout results for `vendor-analytics-a`, `vendor-analytics-b`, and `domain-c360`:\\n\\n- Non-pipeline scout over 7- and 30-day windows found no non-pipeline `SELECT` candidate groups.\\n- Non-pipeline rows were limited to `OTHER` statement groups for `domain-c360` only: 7 rows over 7 days and 8 rows over 30 days.\\n- Pipeline-inclusive scout found substantial pipeline activity:\\n  - `vendor-analytics-a`: ~9K pipeline rows over the reported windows, including ~1.8K 30-day `SELECT` rows.\\n  - `vendor-analytics-b`: ~6.5K pipeline rows, including ~1.1K 30-day `SELECT` rows.\\n  - `domain-c360`: ~21M pipeline rows, including ~257K 30-day `SELECT` rows.\\n\\nDecision from the current consumer-kg POC run:\\n\\n- Do not run direct query-history curator writes for these target domains from this scout output.\\n- Non-pipeline analyst/BI evidence is absent in the safe scout.\\n- Pipeline rows may still be useful, but they need a\"\n  },\n  {\n    \"id\": \"github-feedback-comment-694e2421dbcb463f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/216#issuecomment-4604303958\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/216#issuecomment-4604303958\\nTitle: \\nBody:\\nImplementation update for the pipeline-only query-history signal:\\n\\n- Added a separate `pipeline_evidence` graph node type.\\n- Added `enrichment.query_history.learning.pipeline_evidence_enable\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-33208c9014a56a1f", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381728, "scanner": "foundry_dataset", "fingerprint": "a558b56545868e7188c2f36bf3f93b46dc4289700a969be09890451bcbb0c63a", "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": "ronsse/trellis-ai#214", "human_labels": ["api_integration_gap", "security_auth_secret"], "issue_number": "214", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.662, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-d18f4ba538c7c1c8", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#214\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#214\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-eea6a32992f744c4\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/214\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/214\\nTitle: consumer-kg docs summaries should strip MDX chrome and preserve possessives\\nBody:\\nDuring the EC2 POC `internal-docs` enrichment, the initial retrieval context exposed documentation summaries that started with Docusaurus/MDX chrome instead of useful prose:\\n\\n- YAML frontmatter keys\\n- `import` lines\\n- JSX component blocks such as `PageHero` and `ServiceFacts`\\n- admonition markers\\n\\nA second sanitizer issue treated possessives such as `team's` and `vendor's` as quoted literals, producing distorted summaries like `team'?'s`.\\n\\nImplemented in the current consumer-kg branch:\\n\\n- Documentation summaries now strip frontmatter, import lines, MDX component blocks, code blocks, headings, and admonition markers before truncation.\\n- Literal redaction no longer treats apostrophes inside words as quoted strings.\\n- Regression test: `tests/unit/extract/test_documentation.py::test_extract_documentation_repo_emits_bounded_table_context`.\\n\\nLive retrieval after refresh returns a bounded documentation summary for `landing.raw_events.ev\"\n  },\n  {\n    \"id\": \"github-feedback-comment-05ac4ac60dfcbfa9\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/214#issuecomment-4617923458\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/214#issuecomment-4617923458\\nTitle: \\nBody:\\n**Ruling: keep in integration.** Docusaurus/MDX un-chroming is domain-specific (like the dbt/OpenLineage extractors); the possessive bug is a package-local redaction fix. A generic text-sanitization primitive is promoted to\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-01511bb56a34fcfa", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381727, "scanner": "foundry_dataset", "fingerprint": "0827e7dbd2f426a6bccee65b3c23586bf331bb7fc181a0ebefa968de37a0aa95", "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": "ronsse/trellis-ai#213", "human_labels": ["human_feedback_general"], "issue_number": "213", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.645, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-5cb35cd83dd40047", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 7, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#213\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#213\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 7\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 2}\nPolarities: {'neutral': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-65563778c5487552\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/213\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/213\\nTitle: Application-events query-history smoke has only pipeline evidence\\nBody:\\n## Summary\\n\\nThe 7-day query-history smoke for the `application_events`/configured scope has no non-pipeline analytical evidence to curate.\\n\\n## Evidence\\n\\n- Config: `configs/sources/query-history-knowledge-smoke.yaml`\\n- Warehouse: `<warehouse-id>`\\n- 7-day scoped scout with pipeline excluded:\\n  - `total_rows=0`\\n  - `non_pipeline_rows=0`\\n  - warning: no non-pipeline SELECT query-history groups found\\n- 7-day scoped scout with pipeline included:\\n  - `total_rows=92`\\n  - `pipeline_rows=92`\\n  - `non_pipeline_rows=0`\\n  - `SELECT` rows from `pipeline_info`: `42`\\n- 30-day scoped scout with pipeline included:\\n  - `total_rows=1106`\\n  - `pipeline_rows=1106`\\n  - `non_pipeline_rows=0`\\n  - `SELECT` rows from `pipeline_info`: `720`\\n- Review-first 7-day curation:\\n  - `rows_seen=0`\\n  - `drafts_seen=0`\\n  - `decisions=0`\\n  - `mutations_attempted=0`\\n\\n## Impact\\n\\nThe query-history curator has nothing safe to promote for the smoke scope under the current non-p\"\n  },\n  {\n    \"id\": \"github-feedback-comment-60453ec5ca346830\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/213#issuecomment-4624096973\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/213#issuecomment-4624096973\\nTitle: \\nBody:\\n**Decision recorded; no curation to run.** The 7-day `application_events` smoke has only pipeline evidence, so there is nothing safe to promote under non-pipeline defaults \u2014 expected behavior per the promotion ladder, not a bug. The 'keep pipeline excluded vs\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-fc1bb4f888e7ed61", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381726, "scanner": "foundry_dataset", "fingerprint": "ccc9f405f7eb9b6f68e54b20c171015eb9641ffdeab62e264c4777dd640a373d", "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": "ronsse/trellis-ai#212", "human_labels": ["agent_instruction_gap", "human_feedback_general"], "issue_number": "212", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.662, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-df95f398939d6f79", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 4, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#212\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#212\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'agent_instruction_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-66edc2ad79a6bac4\",\n    \"kind\": \"issue_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/212\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/212\\nTitle: Query-history retrieval ignores defines_metric edges\\nBody:\\n## Summary\\n\\nQuery-history retrieval did not return metric definitions for promoted BI metadata even though the graph contained metric nodes from the curation run.\\n\\n## Root Cause\\n\\nThe extractor writes metric relationships as:\\n\\n```text\\nquery_pattern --defines_metric--> metric_definition\\n```\\n\\nThe retrieval helper only looked for the older shape:\\n\\n```text\\nmetric_definition --evidenced_by--> query_pattern\\n```\\n\\n## Evidence\\n\\n- Live retrieval after the BI metadata retry returned one pattern, one usage summary, and one example, but zero metrics.\\n- The promoted pattern contained metric expressions.\\n- After adding retrieval support for outgoing `defines_metric` edges, the same live retrieval returned ten metric definitions.\\n\\n## Impact\\n\\nAgent context would omit curated metric definitions even when query-history/BI curation had successfully populated them.\\n\\n## Expected Behavior\\n\\nRetrieval should support both graph shapes for backward compatibility:\\n\\n- incoming `ev\"\n  },\n  {\n    \"id\": \"github-feedback-comment-c54f67f94bd24269\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/212#issuecomment-4595114936\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/212#issuecomment-4595114936\\nTitle: \\nBody:\\nLive verification on the EC2 POC after the local retrieval patch: retrieving context for landing.application_events.events returned 1 pattern, 1 usage summary, 1 example, and 10 metric definitions, with no\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-21e8ac693d2c6e87", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381725, "scanner": "foundry_dataset", "fingerprint": "99a6efad840b01d4ceb1e2baf2aed3c0c4a54aa45695ad23a1171133604dafaa", "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": "ronsse/trellis-ai#211", "human_labels": ["api_integration_gap", "data_schema_persistence", "human_feedback_general"], "issue_number": "211", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-54389e69ad18ed6a", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 15, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#211\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#211\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 4\nLinked commit count: 15\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 2, 'data_schema_persistence': 1, 'api_integration_gap': 1}\nPolarities: {'neutral': 2, 'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a8069512594a3e6c\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/211\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/211\\nTitle: BI metadata direct-write fails when referenced table has no current graph node\\nBody:\\n## Summary\\n\\nDuring the EC2 POC population smoke, BI metadata curation promoted one saved-query decision for `landing.application_events.events`, but direct graph write failed for table-reference edges because the graph store reported the target table as missing a current node.\\n\\n## Evidence\\n\\n- Run directory: `build/query-history-runs/20260601-stage-8-populate`\\n- Source population dry-run: `status=ok`, `entities_seen=469`, `edges_seen=791`, `mutations_attempted=0`, `mutations_failed=0`.\\n- Source population write: `status=ok`, `mutations_attempted=821`, `mutations_succeeded=821`, `mutations_failed=0`, `mutations_duplicate=439`.\\n- Post-source-population verify: `status=ok`, `round_trip=ok`, `node_count=1797`, `edge_count=3280`.\\n- BI metadata smoke dry-run: `records_curated=1`, `drafts_seen=40`, `mutations_failed=0`.\\n- BI metadata POC direct write: `mutations_attempted=40`, `mutations_succeeded=27`, `mutations_failed=13`.\\n- P\"\n  },\n  {\n    \"id\": \"github-feedback-comment-462f1bef88196ab5\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/211#issuecomment-4595102927\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/211#issuecomment-4595102927\\nTitle: \\nBody:\\nUpdate from 2026-06-01 continuation: root cause is that landing.application_events is not visible as a current Unity Catalog schema, so the saved-query reference\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-ffdfef559e11aeda", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381724, "scanner": "foundry_dataset", "fingerprint": "cee1f4ccdc5562a4dd7377fb50340de1a11321e1d12d5a616e73d40d766d83b3", "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": "ronsse/trellis-ai#210", "human_labels": ["api_integration_gap", "data_schema_persistence", "security_auth_secret"], "issue_number": "210", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-1fe9c368aaafe924", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 15, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#210\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#210\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 5\nLinked commit count: 15\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 3, 'api_integration_gap': 1, 'data_schema_persistence': 1}\nPolarities: {'bad': 5}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7c6594b0ebaefab3\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/210\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/210\\nTitle: Add internal docs repo as a graph enrichment source\\nBody:\\n# Internal Docs Enrichment Note\\n\\nAdd a private internal docs repo (Docusaurus/MDX) as a graph enrichment source.\\n\\n- Repo: a private internal docs repo (Docusaurus/MDX); private visibility.\\n- Default branch: `main`.\\n\\nImplementation direction:\\n\\n- Use the git repo as the source of truth for provenance.\\n- Store source refs with repo URL, commit hash, relative path, heading, and\\n  content hash.\\n- Extract documentation evidence from markdown/pages, but do not store full\\n  page bodies in graph properties by default.\\n- Link doc evidence to `uc_table`, `data_domain`, `query_pattern`,\\n  `business_rule_candidate`, `metric_definition`, and `sql_example` nodes when\\n  docs mention tables, metrics, business rules, query examples, or runbooks.\\n- Keep documentation-derived business rules review-first until corroborated by\\n  owners or stronger curated sources.\\n\\nSafety:\\n\\n- No secrets, tokens, raw credentials, or full proprietary docs in graph\\n  properties.\\n- Redact code/q\"\n  },\n  {\n    \"id\": \"github-feedback-comment-7198e1b35972af85\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/210#issuecomment-4595528681\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/210#issuecomment-4595528681\\nTitle: \\nBody:\\nEC2 POC implementation update:\\n\\n- Added repo-backed docs config: `configs/sources/data-platform-docs-poc.yaml`.\\n- Cloned/refreshed `fanduel/data-platform-docs` at commit `9bbc9291f5\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-7633a6163328a917", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381723, "scanner": "foundry_dataset", "fingerprint": "98ecd80c5d61f2ff5ed7e1f42fd0f94d720f42385d50481de6ec3bee51e375cc", "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": "ronsse/trellis-ai#209", "human_labels": ["human_feedback_general"], "issue_number": "209", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-43737fb0fe402138", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 6, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#209\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#209\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 6\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 2}\nPolarities: {'neutral': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5c896746f4829809\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/209\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/209\\nTitle: Clarify CLI limit semantics for metadata curation commands\\nBody:\\n## Finding\\n\\nThe shared CLI `--limit` option previously said \\\"Stop after N drafts.\\\" During\\nBI metadata curation work, the option was observed to limit extracted input\\nrecords/candidates before draft generation, so the help text was misleading for\\ncurator and analysis commands.\\n\\n## Impact\\n\\nOperators could assume `--limit 50` means \\\"up to 50 graph mutations/drafts\\\" when\\nit actually bounds extraction/curation input in several commands. That matters\\nfor staged live runs and resume/checkpoint reasoning.\\n\\n## Current Local Fix\\n\\nThe `consumer-kg` branch now uses broader help text:\\n\\n`Stop after N extracted records or drafts, depending on command.`\\n\\n## Follow-up\\n\\nIf Trellis standardizes CLI command contracts, consider command-specific limit\\noption labels such as `--record-limit`, `--draft-limit`, or `--mutation-limit`\\ninstead of a shared ambiguous option.\\n\"\n  },\n  {\n    \"id\": \"github-feedback-comment-de5493121b14e12e\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/209#issuecomment-4623663439\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/209#issuecomment-4623663439\\nTitle: \\nBody:\\n**No core change required** \u2014 resolving as package-local. Core Trellis's only `--limit` option is on `admin list-proposals` (`src/trellis_cli/admin_proposals.py`), whose help text is already accurate ('Maximum number of PROPOSAL_DRAFTED rows to return'). The misleading 'Stop after N drafts' help text and the curator/analysis commands it describes live in t\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-d309546e7fce4d8a", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381722, "scanner": "foundry_dataset", "fingerprint": "771c84d7ff63d8a90964905999051b5251660140ea8b255d3843c74014aee967", "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": "ronsse/trellis-ai#207", "human_labels": ["security_auth_secret", "test_ci_gap"], "issue_number": "207", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-714b55211e7bd069", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#207\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#207\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'test_ci_gap': 1, 'security_auth_secret': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8b3054304d8d6b14\",\n    \"kind\": \"issue_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/207\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/207\\nTitle: Allowlist SQL statement types in curator-safe artifacts\\nBody:\\n## Finding\\n\\nThe BI metadata scout emits aggregate `statement_type` values. A review found\\nthat malformed saved-query text could previously cause `_statement_type_from_text`\\nto transform the first token into a statement-type string without checking it\\nagainst known SQL verbs.\\n\\nExample risk:\\n\\n- an email-like or display-name-like first token could become a transformed\\n  uppercase fragment in scout JSON artifacts.\\n\\n## Impact\\n\\nThe scout still did not emit raw SQL, owner, description, display-name, or user\\nidentifier fields in the live artifacts, but the unbounded statement-type value\\nwas a preventable leakage edge.\\n\\n## Current Local Fix\\n\\nThe `consumer-kg` branch now allowlists known SQL statement types and\\nfalls back to `UNKNOWN` for unrecognized first tokens. A regression test covers\\nan email-like first token.\\n\\n## Verification\\n\\nFocused local verification:\\n\\n- `pytest -q tests/unit/extract/test_sql_enrichment.py -k 'unrecognized_statement_tokens or skips_leading_c\"\n  },\n  {\n    \"id\": \"github-feedback-comment-f53f44bd76c36bff\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/207#issuecomment-4617925307\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/207#issuecomment-4617925307\\nTitle: \\nBody:\\n**Layer E \u2014 statement-type allowlist.** Allowlist known SQL verbs and fall back to `UNKNOWN` for unrecognized first tokens in curator-safe artifacts. See **`docs/design/adr-rest-api-security-model.md`** \u00a7#207 (Status: Prop\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-a50ef461eb1c1949", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381721, "scanner": "foundry_dataset", "fingerprint": "948eeb8a17798e80b04984936e09fe58cb4d0d33b4005ef6cdf81bb97a56de3b", "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": "ronsse/trellis-ai#205", "human_labels": ["deployment_env_gap", "security_auth_secret"], "issue_number": "205", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.662, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-04043ce9cc45fad4", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 8, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#205\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#205\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'security_auth_secret': 1, 'deployment_env_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ff5e5890043f217b\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/205\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/205\\nTitle: Decide domain ownership for BI saved-query hit on application events\\nBody:\\n## Finding\\n\\nThe safe BI metadata scout found one saved-query `SELECT` candidate only when\\nscouting configured catalog/schema scope instead of enrichment domains.\\n\\nSanitized table reference:\\n\\n- `landing.raw_events.events`\\n\\nCurrent domain-scoped BI metadata scout output has no candidates because no\\nconfigured enrichment domain currently owns that generic application-events\\ntable.\\n\\n## Evidence\\n\\nArtifacts:\\n\\n- `build/query-history-runs/20260529-195447-stage-5/scout-bi-metadata-500q.json`\\n- `build/query-history-runs/20260529-195447-stage-5/scout-bi-metadata-500q-scope-only.json`\\n\\nSafe counts from the 500-query scout:\\n\\n- `saved_queries_seen=393`\\n- `saved_queries_with_query_text=222`\\n- `saved_queries_with_table_refs=218`\\n- `saved_queries_with_scope_tables=1`\\n- domain-scoped `candidate_saved_queries=0`\\n- scope-only `candidate_saved_queries=1`\\n\\nLeakage scan passed: no raw SQL, email, token-shaped string, owner, display\\nname, description, or raw q\"\n  },\n  {\n    \"id\": \"github-feedback-comment-5eba816e2a432d1a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/205#issuecomment-4624096517\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/205#issuecomment-4624096517\\nTitle: \\nBody:\\n**Resolved as a setup decision, not a code change.** This is the canonical 'unowned dataset' case \u2014 `landing.application_events.events` belongs to no configured enrichment domain, so a domain-scoped scout finds z\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-e8d6f8f1c0f58387", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381720, "scanner": "foundry_dataset", "fingerprint": "3930970ec9ac333656afd4c272ae22c4a0ff1b06a7ce447565945e3490113b1c", "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": "ronsse/trellis-ai#204", "human_labels": ["deployment_env_gap", "human_feedback_general", "security_auth_secret"], "issue_number": "204", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.662, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-367b665d0cbf1434", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#204\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#204\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 3\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 2, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6358e1ab29ee3bd7\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/204\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/204\\nTitle: Handle comment-prefixed SQL when classifying curator candidates\\nBody:\\n## Finding\\n\\nThe safe BI metadata scout found one saved-query `SELECT` candidate only when\\nscouting configured catalog/schema scope instead of enrichment domains.\\n\\nSanitized table reference:\\n\\n- `landing.raw_events.events`\\n\\nCurrent domain-scoped BI metadata scout output has no candidates because no\\nconfigured enrichment domain currently owns that generic application-events\\ntable.\\n\\n## Evidence\\n\\nArtifacts:\\n\\n- `build/query-history-runs/20260529-195447-stage-5/scout-bi-metadata-500q.json`\\n- `build/query-history-runs/20260529-195447-stage-5/scout-bi-metadata-500q-scope-only.json`\\n\\nSafe counts from the 500-query scout:\\n\\n- `saved_queries_seen=393`\\n- `saved_queries_with_sql=222`\\n- `saved_queries_with_table_refs=218`\\n- `saved_queries_with_scope_tables=1`\\n- domain-scoped `candidate_saved_queries=0`\\n- scope-only `candidate_saved_queries=1`\\n\\nLeakage scan passed: no raw SQL, email, token-shaped string, owner, display\\nname, description, or raw query text ap\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b0c0930752074f25\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"deployment_env_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/204#issuecomment-4594204210\",\n    \"text\": \"GitHub feedback: deployment_env_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/204#issuecomment-4594204210\\nTitle: \\nBody:\\nLocal fd-knowledge-graph update resolved the immediate domain-routing decision by adding a narrow `application_events` domain for generic `*.application_events.events` t\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-0839c0ed2c56650f", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381719, "scanner": "foundry_dataset", "fingerprint": "8080cf68667730b44ec5a29c11267f9ea30c9aad09f87862cd56d5720f7c07a0", "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": "ronsse/trellis-ai#203", "human_labels": ["security_auth_secret"], "issue_number": "203", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-7ecd6f4544149062", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 4, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#203\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#203\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 4\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-bcec1a68dd38caf6\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/203\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/203\\nTitle: Add graph-safe query-history scouting before curation\\nBody:\\nObserved in `consumer-kg` query-history run `20260529-195447`.\\n\\n## Problem\\n\\nBefore running LLM-assisted curation or graph mutation batches, we needed to know whether a Databricks query-history slice contained any analyst/BI `SELECT` signal. The existing flow only had extraction/curation-style commands, which either returned zero rows or produced review candidates after reading raw statement text internally.\\n\\nThis made it hard to answer safe operational questions:\\n\\n- Which configured domains have non-pipeline query-history rows?\\n- Which domains have non-pipeline `SELECT` groups that justify curation?\\n- Is a target domain pipeline-only?\\n- Should a run stop before OpenAI or graph writes?\\n\\n## Example\\n\\nSafe aggregate scouts in the dogfood run showed:\\n\\n- vendor-analytics-a: pipeline-only\\n- vendor-analytics-b: pipeline-only\\n- domain-c360, 30-day non-pipeline: 8 rows, all `OTHER`, no `SELECT`\\n- configured scope, 30-day non-pipeline: 0 rows\\n\\nBecause there were\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-5c87f6dda047430d\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact f\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-0a075f7b4cfc4ee3", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381718, "scanner": "foundry_dataset", "fingerprint": "d6229ee57848ad87895e2ce0c49d890c05d6a391938df25a07ecbc30d893e9c5", "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": "ronsse/trellis-ai#202", "human_labels": ["human_feedback_general"], "issue_number": "202", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-85778930e736bccf", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#202\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#202\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-acaaad9fd765e1c2\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/202\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/202\\nTitle: Guard query-history matching against broad domain keyword false positives\\nBody:\\nObserved in `consumer-kg` query-history run `20260529-195447`.\\n\\n## Problem\\n\\nUsing broad metadata discovery keywords as SQL-text predicates caused false-positive query-history matches.\\n\\nIn the run, a domain-c360 discovery keyword like `user` matched unrelated SQL containing column names such as `vendor_user_id`, which pulled rows from an unrelated regulated domain into a domain-c360 query-history dry run. The rows were redacted and no graph write occurred, but the example shows that metadata discovery terms are too broad for query-history statement matching.\\n\\n## Impact\\n\\nIf this is not guarded centrally, query-history curation can:\\n\\n- misclassify usage under the wrong domain,\\n- make low-quality curator decisions,\\n- pollute review artifacts with unrelated candidates,\\n- waste long-running warehouse scans,\\n- create misleading retrieval context if later promoted.\\n\\n## Requested Capability\\n\\nAdd guardrails or guidance in Trellis domai\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-a4f6e1403ed31abf\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-c3934c19de3ab3a3", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381717, "scanner": "foundry_dataset", "fingerprint": "53cd73c049c0cd0ea0edaef7e7e551136329fdc7fc1d88705601f8dcd05d42db", "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": "ronsse/trellis-ai#201", "human_labels": ["human_feedback_general"], "issue_number": "201", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-18553da3b35dbd97", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#201\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#201\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-6de4ecc7181c477c\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/201\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/201\\nTitle: Add BI/dashboard metadata as a graph-safe usage source\\nBody:\\nObserved in `consumer-kg` query-history run `20260529-195447`.\\n\\n## Problem\\n\\nDatabricks `system.query.history` was not sufficient to find analyst/BI table usage in the tested scopes. The run repeatedly found either pipeline-only history or no non-pipeline `SELECT` groups.\\n\\nThis means query-history alone is a weak source for the first business-rule curation pass in this environment.\\n\\n## Requested Capability\\n\\nAdd or document a Trellis-compatible BI/dashboard metadata source that can provide reviewed usage anchors without relying only on warehouse query history.\\n\\nCandidate inputs:\\n\\n- dashboard definitions,\\n- saved SQL/query objects,\\n- BI semantic model metadata,\\n- dashboard-to-table lineage,\\n- owner/team metadata,\\n- refresh schedules and usage counts.\\n\\nThe source should emit graph-safe evidence:\\n\\n- dashboard/report node refs,\\n- table refs,\\n- metric names,\\n- filter summaries,\\n- owner/team group labels,\\n- source artifact refs,\\n- no raw SQL by default\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-01a2a2456d2a5db9\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nH\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-b3cb1b1439578ba0", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381716, "scanner": "foundry_dataset", "fingerprint": "1958686589c1df0fdd5242a2c642fccdf56935558135512afa574d6b853a8862", "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": "ronsse/trellis-ai#200", "human_labels": ["data_schema_persistence", "human_feedback_general"], "issue_number": "200", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.65, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-968dc90dc7464fce", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#200\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#200\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'data_schema_persistence': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f0a32048fd0b196a\",\n    \"kind\": \"issue_body\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/200\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/200\\nTitle: Separate pipeline operational query history from analyst usage curation\\nBody:\\nObserved in `consumer-kg` query-history run `20260529-195447`.\\n\\n## Problem\\n\\nThe available query-history signal in the tested domains was dominated by Databricks pipeline/job activity. Analyst/BI usage was absent or too sparse.\\n\\nExamples from the run:\\n\\n- 30-day enriched-domain include-pipeline comparison returned 50 rows, all non-promoted `pipeline_transform`.\\n- 7-day aggregate scout showed vendor-analytics-a and vendor-analytics-b were pipeline-only.\\n- domain-c360 had a small non-pipeline bucket, but no non-pipeline `SELECT` groups after tightening.\\n\\nPipeline history is useful, but it should not drive analyst/business-rule curation or be ranked as analyst usage.\\n\\n## Requested Capability\\n\\nTrellis should model query-history evidence as separate usage families:\\n\\n- analytical usage: human, BI, report, data-science `SELECT` patterns;\\n- pipeline operational usage: pipeline/job transforms, freshness checks, row-count checks, schema check\"\n  },\n  {\n    \"id\": \"github-feedback-comment-e287333a66e65c2c\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/200#issuecomment-4624096826\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/200#issuecomment-4624096826\\nTitle: \\nBody:\\n**Framed by ADR + setup checklist.** The pipeline-vs-analyst separation is exactly the promotion-ladder concern: pipeline query history is operational evidence, not analyst usage,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-7869028d5ce30c2e", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381715, "scanner": "foundry_dataset", "fingerprint": "f7565c69a1aebdaedd4ba8eb70375b8af1dfa901f618c19c8693384ee3646287", "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": "ronsse/trellis-ai#199", "human_labels": ["api_integration_gap", "positive_human_signal"], "issue_number": "199", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.61, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-31f62acca515dbe1", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#199\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#199\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1, 'positive_human_signal': 1}\nPolarities: {'bad': 1, 'good': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-657fd31abe0593bf\",\n    \"kind\": \"issue_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/199\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/199\\nTitle: Fix StoreRegistry.from_config_dict docs/API mismatch\\nBody:\\n## Problem\\nOlder agent-guide docs / workstream specs reference `StoreRegistry.from_config_dict`, but the public API exposes `StoreRegistry(config=...)` and `StoreRegistry.from_config_dir()` instead.\\n\\nConsumers following the docs hit an attribute error or have to infer the constructor form from implementation code.\\n\\n## Acceptance\\n- Either add `StoreRegistry.from_config_dict(config)` as a thin documented alias, or update docs/specs to point callers at `StoreRegistry(config=...)`.\\n- Add a small test or doc example covering in-memory dict configuration.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-cf4599f29c322f04\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"positive_human_signal\",\n    \"polarity\": \"good\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/199#issuecomment-4623662916\",\n    \"text\": \"GitHub feedback: positive_human_signal\\nPolarity: good\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/199#issuecomment-4623662916\\nTitle: \\nBody:\\n**Fixed** in https://github.com/ronsse/trellis-ai/pull/237. Added `StoreRegistry.from_config_dict(config)` as a documented classmethod \u2014 the in-memory counterpart of `from_config_dir`. Accepts plane-split or flat store config plus optional document-level `embeddings`/`retrieval`/`llm`/`data_dir` sections, delegates to the constructor, and does not mutate the input. Covered by 5 new tests in `tests/unit/stores/test_registry_planes.py` (plane-split, flat, section-peeling, empty-defaults, no-mutation). No stale `from_config_dict` references remained in docs/specs, so no doc rewrite was needed.\"\n  }\n]\nChanged files:\n[]\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-326090a2650d9ac6", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381714, "scanner": "foundry_dataset", "fingerprint": "11952313f171dc6566bee2c5c0f7cecdcb85cd094488ef589a8731301170f499", "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": "ronsse/trellis-ai#198", "human_labels": ["ui_workflow_gap"], "issue_number": "198", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.607, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-02e06f04c68ffeba", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#198\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#198\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'ui_workflow_gap': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-239540c6c395c274\",\n    \"kind\": \"issue_body\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/198\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/198\\nTitle: Document direct-URL extras workaround for trellis-ai[arcadedb] consumers\\nBody:\\n## Problem\\nDownstream consumers pinning Trellis from Git need ArcadeDB/Neo4j driver dependencies. The intuitive PEP 508 form `trellis-ai[arcadedb] @ git+https://github.com/ronsse/trellis-ai.git@<sha>` is awkward or rejected by common build tooling.\\n\\n`consumer-kg` worked around this by pinning Trellis via direct URL and declaring `neo4j>=5.20` directly.\\n\\n## Acceptance\\n- README/docs include a short direct-URL dependency example for Git-pinned consumers.\\n- Docs explain which underlying driver dependency to add when extras syntax is not accepted.\\n- Optional: consider packaging changes if there is a cleaner supported extras pattern.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-6376960621f83eb6\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"ui_workflow_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/198#issuecomment-4623663260\",\n    \"text\": \"GitHub feedback: ui_workflow_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/198#issuecomment-4623663260\\nTitle: \\nBody:\\n**Documented** in https://github.com/ronsse/trellis-ai/pull/237. The README Install section now has a 'Git-pinned installs' subsection: it shows the awkward/rejected `trellis-ai[extra] @ git+...` form, the portable workaround (pin Trellis by direct URL without the extra and declare the driver yourself), and an extra\u2192driver table (`[arcadedb]`/`[neo4j]` \u2192 `neo4j>=5.20`; `[cloud]` \u2192 psycopg/psycopg-pool/pgvector/boto3), plus a `pyproject.toml` example.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-82e88a0ccabb48ef\", \"evidence-chain-comment_to_commit-1385e3894863ac29\"]\nSource graph e\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-73a7fc78614ae640", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381713, "scanner": "foundry_dataset", "fingerprint": "9ac70f9e08e63c784ef7b9dd7b4b72a164813d1b2560f3f041f2434213f771fe", "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": "ronsse/trellis-ai#197", "human_labels": ["api_integration_gap", "human_feedback_general"], "issue_number": "197", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.625, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-5a2fafc456a6603a", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#197\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#197\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1, 'human_feedback_general': 1}\nPolarities: {'bad': 1, 'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-166a19ff852f649e\",\n    \"kind\": \"issue_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/197\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/197\\nTitle: Document ArcadeDB Bolt plugin requirement for self-hosted deployments\\nBody:\\n## Problem\\nThe ArcadeDB ADR and deployment notes mention HTTP port `2480` and Bolt port `7687`, but self-hosted ArcadeDB only exposes HTTP by default. The Bolt endpoint used by the Trellis graph store requires:\\n\\n`-Darcadedb.server.plugins=Bolt:com.arcadedb.bolt.BoltProtocolPlugin`\\n\\n`consumer-kg` hit this while building the EKS ArcadeDB wrapper image.\\n\\n## Acceptance\\n- ArcadeDB deployment docs explicitly call out the required Bolt plugin JVM flag.\\n- The `ArcadeDBGraphStore` docs/module docstring point self-hosters to the same requirement.\\n- Optional: add a troubleshooting note for connection-refused on `7687`.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-ff0ab0ea40994dfe\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/197#issuecomment-4623663097\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/197#issuecomment-4623663097\\nTitle: \\nBody:\\n**Documented** in https://github.com/ronsse/trellis-ai/pull/237. The required Bolt plugin JVM flag `-Darcadedb.server.plugins=Bolt:com.arcadedb.bolt.BoltProtocolPlugin` is now called out in (1) `docs/design/adr-arcadedb-blessed-substrate.md` under a 'Self-hosting requirement' callout next to the two-protocols section, and (2) the `ArcadeDBGraphStore` module docstring. Both include the connection-refused-on-7687-while-2480-answers troubleshooting note.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_comm\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-6efb888ae26fb060", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381712, "scanner": "foundry_dataset", "fingerprint": "e5e2e8dbcd506a5680539e64249538616d78d846a5a0e88a01d4299be96050c4", "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": "ronsse/trellis-ai#195", "human_labels": ["api_integration_gap", "data_schema_persistence", "human_feedback_general"], "issue_number": "195", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-cbcab8fb3fe048dc", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 13, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#195\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#195\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: ambiguous_needs_more_evidence\nComment count: 4\nLinked commit count: 13\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1, 'data_schema_persistence': 1, 'human_feedback_general': 2}\nPolarities: {'bad': 2, 'neutral': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-4ccad3436f7d1eee\",\n    \"kind\": \"issue_body\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/195\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/195\\nTitle: Deduplicate graph edges on re-ingest\\nBody:\\n## Problem\\nIngestion-style consumers can re-submit the same logical edges across runs. Nodes deduplicate via deterministic `entity_id`, but `EdgeDraft` has no deterministic `edge_id` and Trellis does not currently deduplicate edges by `(source_id, edge_kind, target_id)`.\\n\\nIn `consumer-kg`, re-running the Unity Catalog integration fixture multiplied edge counts from 14 to 28.\\n\\n## Acceptance\\n- Callers can supply deterministic edge identity, or Trellis derives stable identity from source/kind/target plus relevant qualifiers.\\n- Re-ingesting the same logical edge is idempotent across supported graph backends.\\n- Tests cover at least one re-ingest flow where node and edge counts remain stable.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-73e981ec21736589\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"data_schema_persistence\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/195#issuecomment-4603894582\",\n    \"text\": \"GitHub feedback: data_schema_persistence\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/195#issuecomment-4603894582\\nTitle: \\nBody:\\n## Code-verified update: edge dedup is already implemented \u2014 reframe to a contract-test gap\\n\\n*From an independent, code-verified review (EGP / Trellis / fd-knowledge-graph). Verified against `2ca9584` (current `main`).*\\n\\n**The premise needs correcting.** This issue states *\\\"Trellis does not currently deduplicate edges by `(source_id, edge_kind, target_id)`.\\\"* That is **not accurate at this SHA.** The stock store layer already deduplicates by the `(sou\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-247189e28758f688", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381711, "scanner": "foundry_dataset", "fingerprint": "a4c4fb7a3a22a0f11399e8c0ad7d8d87035e959cf27381c207b2a94ec216cec8", "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": "ronsse/trellis-ai#193", "human_labels": ["security_auth_secret"], "issue_number": "193", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.61, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-8fa0352995235ed0", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#193\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#193\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-25651e99fab89801\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/193\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/193\\nTitle: [security] Split ArcadeDB admin/migration credentials from runtime credentials\\nBody:\\n## Problem\\nRuntime ArcadeDB store initialization uses privileged credentials for database creation and schema DDL. Long-running application paths should not need admin credentials after initialization/migration.\\n\\n## Acceptance\\n- ArcadeDB admin credentials are only required during an init/migration phase.\\n- Runtime graph/vector operations can use least-privilege read/write credentials.\\n- Documentation describes the credential split and deployment order.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-10333b6363ddcfee\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/193#issuecomment-4617925101\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/193#issuecomment-4617925101\\nTitle: \\nBody:\\n**Layer C \u2014 credential split.** `TRELLIS_ARCADEDB_ADMIN_USER/_PASSWORD` (DDL/init/migration) separated from runtime `_USER/_PASSWORD`; no silent root fallback; provision \u2192 migrate \u2192 run ordering. See **`docs/design/adr-rest-api-security-model.md`** \u00a7#193 (Status: Proposed). PR https://github.com/ronsse/trellis-ai/pull/237.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-714497b9a50a50a8\", \"evidence-chain-comment_to_commit-16b3c529c91cab18\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifa\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-3c9c915dd35da778", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381710, "scanner": "foundry_dataset", "fingerprint": "6a318d43896e61aab5f781364bdf064191f61ef7de76c9fcb054e1d2896feba5", "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": "ronsse/trellis-ai#192", "human_labels": ["security_auth_secret"], "issue_number": "192", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.99, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-7cf24edbd472f548", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 4, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#192\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#192\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 4\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b319e3b34a8bb49f\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/192\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/192\\nTitle: [security] Make detailed readiness and metrics exposure configurable\\nBody:\\n## Problem\\n`/readyz` can expose backend/error detail, and `/metrics` is unauthenticated when enabled. Those endpoints are useful internally but should not leak implementation or operational details to untrusted networks.\\n\\n## Acceptance\\n- Minimal public liveness/readiness probes can remain available.\\n- Detailed readiness output can require auth or be restricted to internal-only config.\\n- Metrics exposure can require auth or be restricted to internal-only config when enabled.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-2027010784309e83\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/192#issuecomment-4617925009\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/192#issuecomment-4617925009\\nTitle: \\nBody:\\n**Layer E.** Minimal /healthz + /readyz stay open; per-backend readiness detail and /metrics gate behind admin scope or an internal-only env flag, so topology isn't leaked by default. See **`docs/design/adr-rest-api-security-model.md`** \u00a7#192 (Status: Proposed). PR https://github.com/ronsse/trellis-ai/pull/237.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-45034164faad6b87\", \"evidence-chain-comment_to_commit-b465b2e8a8b941f4\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifac\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-96e5910bf252d016", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381709, "scanner": "foundry_dataset", "fingerprint": "2e0f41f3727faed245859488aba9daf3bd4c24b18ef1b7d57f9a5086c8bbb38b", "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": "ronsse/trellis-ai#191", "human_labels": ["security_auth_secret"], "issue_number": "191", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.99, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-682e553872af1146", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#191\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#191\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 2\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-474bf99dffc1b21d\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/191\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/191\\nTitle: [security] Add scoped REST API credentials for read, ingest, mutate, and admin\\nBody:\\n## Problem\\nTrellis currently relies on one shared API key with full access across all `/api/v1` routes. Callers that only need read or ingest privileges receive broad mutation/admin capability.\\n\\n## Acceptance\\n- Operators can issue least-privilege REST API credentials or scopes.\\n- Supported scopes cover at least read, ingest, mutate, and admin operations.\\n- Route authorization enforces those scopes consistently across `/api/v1`.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-7b5120c6d0e89346\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/191#issuecomment-4617924896\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/191#issuecomment-4617924896\\nTitle: \\nBody:\\n**Layer B \u2014 scoped credentials.** Four inclusive scopes (read \u2282 ingest \u2282 mutate \u2282 admin) enforced per-router via `Depends(require_scope(...))`; a bare `TRELLIS_API_KEY` maps to all scopes for backward compat. See **`docs/design/adr-rest-api-security-model.md`** \u00a7#191 (Status: Proposed). PR https://github.com/ronsse/trellis-ai/pull/237.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c882fdc5215dcbf0\", \"evidence-chain-comment_to_commit-1863b9a9a6f00056\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"sour\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-3a36155da283c88c", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381708, "scanner": "foundry_dataset", "fingerprint": "5f371992fa2d53103b16ddc00f4af234ca188cf0e0654badd125966c42916083", "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": "ronsse/trellis-ai#190", "human_labels": ["security_auth_secret"], "issue_number": "190", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.99, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-63e1cf8320057099", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#190\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#190\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 3\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-32eca06716a36d1f\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/190\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/190\\nTitle: [security] Static UI must work with authenticated API or be disableable in production\\nBody:\\n## Problem\\nThe static `/ui` fetches `/api/v1` without sending `X-API-Key`. Enabling API auth can therefore break the UI, which pressures operators to leave auth disabled.\\n\\n## Acceptance\\n- The UI supports a configured authentication flow for API calls, including `X-API-Key` when API-key auth is enabled.\\n- Or, production deployments can disable `/ui` entirely via configuration.\\n- Documentation covers the production-safe configuration path.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-b21cc256d5b8147a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/190#issuecomment-4617924794\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/190#issuecomment-4617924794\\nTitle: \\nBody:\\n**Layer B.** Static UI sends the configured `X-API-Key` on /api/v1 calls, or is dropped via `TRELLIS_API_DISABLE_UI=1`. Mounted by default; opt-in to disable. See **`docs/design/adr-rest-api-security-model.md`** \u00a7#190 (Status: Proposed). PR https://github.com/ronsse/trellis-ai/pull/237.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-ea63e0b4b884937a\", \"evidence-chain-comment_to_commit-3391614ff2de0dc5\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"arti\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-fa04a5a0b528ab59", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381707, "scanner": "foundry_dataset", "fingerprint": "5bedc5401dc5c653d9d24206c26df4891367fa8f594af326155ac14fee6bde21", "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": "ronsse/trellis-ai#189", "human_labels": ["security_auth_secret"], "issue_number": "189", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-6b33c93c3a7a227f", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#189\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#189\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 2\nLinked commit count: 1\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-f071f35ec5481df2\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/189\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/189\\nTitle: [security] Fail closed when Trellis REST API binds non-loopback without auth\\nBody:\\n## Problem\\n`TRELLIS_API_KEY` unset makes auth a no-op, while Docker defaults to binding the REST API on `0.0.0.0`. That combination can expose unauthenticated API routes when the container is deployed outside loopback-only development.\\n\\n## Acceptance\\n- Startup fails closed when the REST API binds a non-loopback address without configured authentication.\\n- A clearly named explicit development override can allow unauthenticated non-loopback binding for local/test scenarios.\\n- The failure message tells operators how to configure auth or choose the dev override.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-99a918bc49c6f893\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/189#issuecomment-4617924724\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/189#issuecomment-4617924724\\nTitle: \\nBody:\\n**Layer A \u2014 fail closed.** Startup refuses when the API binds a non-loopback interface without `TRELLIS_API_KEY`; `TRELLIS_API_ALLOW_INSECURE_BIND=1` is a loud opt-in dev override. Loopback dev unchanged. See **`docs/design/adr-rest-api-security-model.md`** \u00a7#189 (Status: Proposed). PR https://github.com/ronsse/trellis-ai/pull/237.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-a27be33ec537827e\", \"evidence-chain-comment_to_commit-cbb948e53083fccf\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNod\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-bff5d3a5ba789c27", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381706, "scanner": "foundry_dataset", "fingerprint": "2ee3d6eec5c79e0abcedab6af657eb6425a17acfda640e0cdef478abcb547aff", "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": "ronsse/trellis-ai#185", "human_labels": ["human_feedback_general"], "issue_number": "185", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-8902b15c3889eb4c", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 7, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#185\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, repo_has_isolated_helicopter_views, link_quality_weak_supervision\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#185\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 2\nLinked commit count: 7\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 2}\nPolarities: {'neutral': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c875c0b2fdd0f6ea\",\n    \"kind\": \"issue_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/185\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/185\\nTitle: Add guardrails for EntityDraft node_role/generation_spec preservation\\nBody:\\n## Problem\\n\\nDownstream integrations can currently hand-roll `EntityDraft` / `EdgeDraft` to mutation `Command` conversion. That makes it easy to accidentally drop Trellis-specific fields that are semantically important, especially `EntityDraft.node_role` and `EntityDraft.generation_spec`.\\n\\nWe hit this in `consumer-kg`: its local `_draft_to_command()` copied `entity_id`, `entity_type`, `name`, and `properties`, but did not pass through `node_role` or `generation_spec`. The local graph handler and Trellis schemas support those fields, so the result was silent demotion to the default semantic node role. That breaks structural-node filtering and curated-node provenance conventions.\\n\\n## Why this belongs in Trellis\\n\\nTrellis already defines the authoritative draft schemas and mutation command semantics. The risk is at the boundary between extraction drafts and mutation commands, where every consumer can currently reimplement the same map\"\n  },\n  {\n    \"id\": \"github-feedback-comment-782c5505b12c5d7a\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/185#issuecomment-4617923089\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/185#issuecomment-4617923089\\nTitle: \\nBody:\\n**Ruling: promote to core.** Trellis owns the draft + command schemas, so a canonical `EntityDraft`/`EdgeDraft` \u2192 Command helper (preserving node_role/generation_spec/allow_dangling/properties) plus a batch ExtractionResult \u2192 ordered-commands helper and field-fidelity tests belong\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-978eea6c5fb4f3bf", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381705, "scanner": "foundry_dataset", "fingerprint": "6414330880c7e9fc847505df89bac50ff2c2662aff1f8db132bc41066e6c6203", "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": "ronsse/trellis-ai#182", "human_labels": ["agent_instruction_gap", "docs_or_claims"], "issue_number": "182", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-d99ea853ac35795d", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 1, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"docs_or_claims": 1}, "linked_commit_count": 5, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#182\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#182\nRepo: ronsse/trellis-ai\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: 1\nLabels: {'agent_instruction_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ce27ed20972b613a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"agent_instruction_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/182\",\n    \"text\": \"GitHub feedback: agent_instruction_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/182\\nTitle: docs(adr): inner curation loop \u2014 Phase F F0 Wave 1\\nBody:\\n## Summary\\n\\n- Adds `docs/design/adr-inner-curation-loop.md` (~218 lines) defining the curator graph skill. Closes `adr-planes-and-substrates.md` Phase 4's deferred `document_ids` consumption story.\\n- Curator detects under-populated nodes, reads referenced documents via the harness's `read_document` tool, writes `properties.summary` + `properties.description` through `MutationExecutor`. Bounded write scope (no edges, no new entities, no other properties).\\n- Three trigger paths (explicit / detected scheduler / lazy on-retrieval); detected + lazy default disabled, opt-in via `TRELLIS_CURATION_SCHEDULER_ENABLED`. Idempotent via stable `sha256(node_id || sorted(document_ids) || prompt_template_version || model_id)`.\\n- \u00a72.2 heuristic excludes `node_role=\\\"curated\\\"` by default \u2014 avoids overwriting intentional human/curator output. Surfaced as M-severity finding during coordination pass.\\n\\n## Test plan\\n\\n- [ ] ADR reads cleanly alongside sibling `adr-graph-sk\"\n  }\n]\nChanged files:\n[\n  {\n    \"id\": \"github-pr-file-file-9ba1973b706db807\",\n    \"filename\": \"docs/design/adr-inner-curation-loop.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"added\",\n    \"additions\": 229,\n    \"deletions\": 0,\n    \"changes\": 229,\n    \"blob_url\": \"https://github.com/ronsse/trellis-ai/blob/2374c436e62ab548e384ec8646309ce43bbda697/docs%2Fdesign%2Fadr-inner-curation-loop.md\"\n  }\n]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-2b33882dc3527a16\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"s\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-d200174faf2f5b32", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381704, "scanner": "foundry_dataset", "fingerprint": "f0f7e784e39375630149fc4b8c79f22d09f5aedbf6e4164e89178a6a7a5ccd0b", "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": "ronsse/trellis-ai#176", "human_labels": ["test_ci_gap"], "issue_number": "176", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-0efe2ecaf6bab824", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#176\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#176\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-84e4c1d06df4d0c8\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/176\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/176\\nTitle: feat(eval): unit D2 \u2014 single-figure overlay chart variant\\nBody:\\n## Summary\\n\\n- Adds `style: Literal[\\\"grid\\\", \\\"overlay\\\"] = \\\"grid\\\"` kwarg to `render_program_convergence_chart` (plus `chart_style` on `program_convergence.run()`).\\n- Overlay variant renders all nine axes as separate lines on a single matplotlib axes, each normalized against its own first-quarter mean (so 1.0 = baseline, >1.0 = improvement, <1.0 = regression). Legend uses `_AXIS_DISPLAY_TITLES` + an arrow glyph for expected direction.\\n- Grid variant is unchanged \u2014 locked in by a byte-identical regression test against the no-style-kwarg path.\\n- POC directive: invalid `style` raises `ValueError`. Zero-baseline / empty-track axes render with a \\\"no baseline\\\" / \\\"no data\\\" legend entry instead of dying mid-figure.\\n\\nCloses the Phase 3 L finding in plan-next-swarm-wave \u00a77 D2. Base SHA: `ff8b6f6`.\\n\\n## Test plan\\n\\n- [x] `pytest tests/unit/eval/test_program_convergence_chart.py` \u2014 20 passed (14 grid baseline + 6 new D2 overlay)\\n- [x] `pytest tests/unit/eval/test_progr\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b3c477d447e1957b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-f8fdcdebe5afe258", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381703, "scanner": "foundry_dataset", "fingerprint": "905692ee64c581520484c845d0f6ee3c5995cda89c4a9a90f116720757bfa248", "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": "ronsse/trellis-ai#174", "human_labels": ["runtime_failure"], "issue_number": "174", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-6d230de9df3ef471", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#174\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#174\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-7034de30eddcd643\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/174\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/174\\nTitle: fix(eval): unit C3 \u2014 defer satellite pytest import to make prod-env safe\\nBody:\\n## Summary\\n\\nUnit C3 from [`docs/design/plan-next-swarm-wave.md`](docs/design/plan-next-swarm-wave.md) \u00a76. Closes the Phase 2 L finding about prod-env import failures.\\n\\nThe 4 satellite scenarios \u2014 `observation_retrieval.py`, `proposal_generation.py`, `meta_trace_round_trip.py`, `parameter_registry_passthrough.py` \u2014 imported `pytest` at module level. Production environments without `[dev]` extras failed to import these modules, so `program_regression_suite._call_satellite()` emitted 4 hard-fail Findings even though the satellites' `run()` callables themselves don't need pytest.\\n\\n### What changed\\n\\nFor each of the 4 satellite files:\\n\\n- Replaced top-level `import pytest` with a guarded shim:\\n  - pytest available -> `_pytest_fixture` resolves to `pytest.fixture` so `@_pytest_fixture`-decorated test helpers register exactly as before.\\n  - pytest absent -> `_pytest_fixture` is a no-op identity decorator; the `test_*` functions never execute\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-9732317fa04338b7\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"c\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-e6a729a3c5690669", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381702, "scanner": "foundry_dataset", "fingerprint": "0d553aaca50aa5000d5688332cb105c01648ea3b7e8f637f39d20fcb2a02047f", "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": "ronsse/trellis-ai#171", "human_labels": ["test_ci_gap"], "issue_number": "171", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-525abb9375377966", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#171\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#171\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-363771a61c5091ce\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/171\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/171\\nTitle: feat(retrieve): unit C1 \u2014 PackItem advisory provenance (foundation for D1)\\nBody:\\n## Summary\\n\\nExecutes **Unit C1** from [`docs/design/plan-next-swarm-wave.md`](docs/design/plan-next-swarm-wave.md) \u00a76 \u2014 adds per-item advisory provenance so axis C analyzers can join `advisory_id \u2192 outcome` per-item instead of using the coarser domain-scope proxy. This is the foundation D1 (axis C semantic tighten) needs.\\n\\n- Adds `injected_advisory_ids: list[str] = Field(default_factory=list)` as a top-level field on `PackItem`. Default-empty preserves prior behavior for callers that do not ship advisories.\\n- `PackBuilder._attach_advisory_provenance(items, advisories)` stamps each item with the IDs of advisories whose `entity_id == item.item_id`. Wired into both `build()` and `build_sectioned()` after `_get_matching_advisories()`.\\n- Influence rule: only item-scoped advisory categories (`AdvisoryCategory.ENTITY`, `AdvisoryCategory.ANTI_PATTERN`) stamp items \u2014 they carry an `entity_id`. Pack-scoped categories (`APPROACH`, `SCOPE`, `QUER\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-7e0a9b13b58f625c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-d6646e6207baa818", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381701, "scanner": "foundry_dataset", "fingerprint": "782cedd5622b8bbb7a30090c666c2c83ef517689e7ee92cd597ec14a1bf6f7ea", "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": "ronsse/trellis-ai#168", "human_labels": ["test_ci_gap"], "issue_number": "168", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-c0b86d8ef4845ed8", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#168\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#168\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9776fea758a047b0\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/168\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/168\\nTitle: refactor(eval): B4 + B5 \u2014 chart-renderer kwargs + repo-anchored default output_dir\\nBody:\\n## Summary\\n\\nWave 2 swarm bundle: **B4** + **B5** from [`docs/design/plan-next-swarm-wave.md`](docs/design/plan-next-swarm-wave.md) \u00a75. Bundled because both units edit the same `_render_chart()` helper.\\n\\n- **B4** \u2014 thread `output_dir`, `figsize`, `dpi` through `render_program_convergence_chart` and the master scenario's `run(chart_output_dir=, chart_figsize=, chart_dpi=)`. `None` defaults preserve current behavior (1500x1100 PNG, legacy path).\\n- **B5** \u2014 replace `Path(\\\"eval/reports\\\")` CWD-relative literal in `_render_chart()` with `_default_chart_output_dir()`, anchored against `__file__` (four `.parent` hops to repo root). Operators running the scenario from any CWD now get the same absolute output path.\\n\\nCloses the two L findings:\\n- #146 \u2014 chart renderer hardcodes `figsize=(15.0, 11.0)` / `dpi=100`.\\n- #147 \u2014 `_render_chart()` hardcodes `Path(\\\"eval/reports\\\")`.\\n\\n## Test plan\\n\\n- [x] `pytest tests/unit/eval/test_program_convergen\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-0f7e255e173ef1f3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-0405b9408b1e3184", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381700, "scanner": "foundry_dataset", "fingerprint": "ad3f6523c17112d0ef04cb5fa3992ed8d575d4b2659bf976f32d8475f3bf4632", "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": "ronsse/trellis-ai#167", "human_labels": ["test_ci_gap"], "issue_number": "167", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-cbc47e0b92f11fd5", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#167\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#167\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-1c6b15b7af554f6a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/167\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/167\\nTitle: feat(enrichment): B1 + B2 \u2014 structured failure_kind + batch source-hint plumbing\\nBody:\\n## Summary\\n\\nBundled execution of Units **B1 + B2** from [docs/design/plan-next-swarm-wave.md \u00a75](../blob/main/docs/design/plan-next-swarm-wave.md) \u2014 both touch `src/trellis_workers/enrichment/service.py`, so they ship together. Closes two `[M]` items from the PR #155 review.\\n\\n- **B1**: Add `failure_kind: ExtractionFailureKind | None = None` to `EnrichmentResult` and populate it at all four failure emit sites (`enrich` broad-except, `_parse_response` no-JSON + brace-substring, `batch_enrich` gather-collector).\\n- **B2**: Recognize optional `\\\"item_id\\\"` / `\\\"correlation_id\\\"` keys on per-item dicts passed to `batch_enrich`; forward `item_id` (or `correlation_id` as fallback) as `source_hint` on collector-error events so downstream clustering (`trellis_workers.code_authoring.clustering` ~158-164) sees a non-None hint and can bucket the failure instead of dropping it.\\n\\nThe Literal closed set is reused from `trellis.extract.telemetry` so\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-a2e9663592e4ea4c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"d\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-4a3e1b080f12fd31", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381699, "scanner": "foundry_dataset", "fingerprint": "02807ea22fbcfb9d94b5df175eb16ab9e6fcafb6f5ebbb922ac6a18f0315ded4", "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": "ronsse/trellis-ai#163", "human_labels": ["test_ci_gap"], "issue_number": "163", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-f0824ea44ec52096", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#163\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#163\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-964bf0db8da89cc9\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/163\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/163\\nTitle: test(integration): hoist neo4j URI skip into fixture body (Unit A6)\\nBody:\\n## Summary\\n\\nUnit A6 from [docs/design/plan-next-swarm-wave.md](docs/design/plan-next-swarm-wave.md) \u00a74.\\n\\nMove the `skipif(not URI)` from module-level `pytestmark` in `tests/integration/conftest.py` into the `registry` fixture body. Closes L finding from PR #154 review.\\n\\n## Why\\n\\nA module-level `pytest.mark.skipif(not URI, ...)` on `pytestmark` only applies to tests collected in the same module as the conftest. Tests in sibling directories (`tests/integration/cli/`, `tests/integration/api/`, etc.) that accidentally pull a Neo4j-dependent fixture from the parent conftest would bypass that skip and instead fail with a confusing connection error when the live URI is unset.\\n\\nHoisting the skip into the `registry` fixture body means any future test that requests `registry` \u2014 regardless of which sub-directory it lives in \u2014 skips cleanly with the same reason string. `executor` inherits the skip transitively via its `registry` dependency.\\n\\nThe `pytest.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c7b134639ae594ae\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-cb0c3d5f45868e22", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381698, "scanner": "foundry_dataset", "fingerprint": "686916671bc60a6c703b7c0c64841e9dd6f92a0f7000e0c9b09b3b94201ae40e", "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": "ronsse/trellis-ai#162", "human_labels": ["test_ci_gap"], "issue_number": "162", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-fbb325c8094de7b6", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#162\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#162\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-cd9566502f59732c\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/162\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/162\\nTitle: refactor(eval): A2 - advisory hit lookback becomes a run() kwarg\\nBody:\\n## Summary\\n\\nCloses **Unit A2** from `docs/design/plan-next-swarm-wave.md` \u00a74 (Phase 0 [M] finding).\\n\\n- Promotes `_ADVISORY_HIT_LOOKBACK_ROUNDS = 5` from a hardcoded module-level constant to `DEFAULT_ADVISORY_HIT_LOOKBACK_ROUNDS = 5`, exposed as an `advisory_hit_lookback_rounds: int = 5` kwarg on `eval.scenarios.program_convergence.scenario.run()`.\\n- Threads the value through `_execute_round` -> the `[-N:]` slice fed into `_compute_advisory_hit_rate`. Default behavior is unchanged.\\n- Validates `>= 1` at entry; raises `ValueError` on `0` or negative values. POC directive: loud on misuse, because `[-0:]` would silently slice to the full list and quietly change axis C semantics.\\n\\n## Test plan\\n\\n- [x] Existing 11 `test_program_convergence.py` cases still pass.\\n- [x] New parametrized test `test_compute_advisory_hit_rate_respects_lookback[3-0.0]` / `[10-1.0]` builds a 10-round history where rounds 0-6 succeed on the advisory's scope and rounds 7-9 fail\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-f8bf3199adec9b46\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"d\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-884eb576e513ef5e", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381697, "scanner": "foundry_dataset", "fingerprint": "ed45e545782c49c106e0140b74bc1f8211a65c5e71c6b51d425516e42cc6ed7b", "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": "ronsse/trellis-ai#161", "human_labels": ["runtime_failure"], "issue_number": "161", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-68d1b041c2f3a0a5", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#161\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#161\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-dda8630deb10cb07\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/161\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/161\\nTitle: test(eval): Phase 5C axis helper coverage \u2014 26 tests for axes B/C/D/E/F/G/H/I + _call_satellite\\nBody:\\n## Summary\\n\\nWave 1 swarm unit **A1** from [`docs/design/plan-next-swarm-wave.md`](https://github.com/ronsse/trellis-ai/blob/main/docs/design/plan-next-swarm-wave.md) \u00a74.\\n\\nCloses the alignment audit's `[M]` finding that 8 of 9 regression-suite axis helpers lacked unit tests. Phase 5B (PR #156) covered `_assert_axis_a` + `run()` profile validation; this PR extends to the remaining axes + `_call_satellite`.\\n\\n**26 new tests, 0 changes to production code.** Test file grows from 10 tests to 36, all green in ~1.2s.\\n\\n### What's covered\\n\\n- **Axes B/C/E** \u2014 these delegate to the generic `_assert_delta_threshold` / `_assert_last_quarter_threshold` helpers rather than carrying dedicated `_assert_axis_b/c/e` symbols. Tests pin the generic-helper behaviour against each axis's track label + threshold so the per-axis contract has coverage even though the implementation factors through one helper. Happy + regress per axis.\\n- *\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-8e2e87224236f130\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-eda0f3cfd4694fb2", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381696, "scanner": "foundry_dataset", "fingerprint": "5622b65613b3ed8a97adf573af322c2313e58c45837cc34bf8e9b3576fd7e801", "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": "ronsse/trellis-ai#159", "human_labels": ["test_ci_gap"], "issue_number": "159", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-6a2de3a9df6c9496", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#159\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#159\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-336ebca2bd7a5af5\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/159\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/159\\nTitle: chore(cleanup): A4 \u2014 align trellis_cli alias with public re-export name\\nBody:\\n## Summary\\n\\n`src/trellis_cli/analyze.py` imported `PARAM_COMPONENT_ID` from `trellis.learning.schema_evolution` under the local alias `SCHEMA_EVOLUTION_COMPONENT_ID`. PR #154 added a public re-export of the same constant in `trellis.learning.__init__` under a different name: `SCHEMA_EVOLUTION_PARAM_COMPONENT_ID`. Two names for one constant, both live in the codebase \u2014 drift waiting to confuse a future reader.\\n\\nThis PR drops the submodule reach-through and imports the public name directly. Net diff: +7 / -12 lines.\\n\\n- Removes the standalone `from trellis.learning.schema_evolution import PARAM_COMPONENT_ID as SCHEMA_EVOLUTION_COMPONENT_ID` import\\n- Adds `SCHEMA_EVOLUTION_PARAM_COMPONENT_ID` to the existing `from trellis.learning import (...)` block\\n- Renames the 4 in-file usage sites to match\\n\\n### Why import the public name (vs. renaming the local alias)?\\n\\nTwo equivalent options were available:\\n1. Rename the local alias to `SCHEMA_EVOLUTIO\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-cada26452839cb9a\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-b0d9bf4ad245a36c", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381695, "scanner": "foundry_dataset", "fingerprint": "97196a229494b11f764f49e8605b48ec8bb38ecfddfc834b88eb0a27661057f3", "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": "ronsse/trellis-ai#156", "human_labels": ["human_feedback_general"], "issue_number": "156", "thread_label": "thread_needs_classification", "outcome_label": "ambiguous_needs_more_evidence", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-681d7b58e813ad9c", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#156\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, repo_has_isolated_helicopter_views, link_quality_high_confidence\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#156\nRepo: ronsse/trellis-ai\nThread label: thread_needs_classification\nOutcome: ambiguous_needs_more_evidence\nComment count: 1\nLinked commit count: 5\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'human_feedback_general': 1}\nPolarities: {'neutral': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-b178a73cd99fa537\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"human_feedback_general\",\n    \"polarity\": \"neutral\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/156\",\n    \"text\": \"GitHub feedback: human_feedback_general\\nPolarity: neutral\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/156\\nTitle: fix(eval): restore _assert_axis_a helper that Phase 5B tests import\\nBody:\\nPost-merge fixup. Phase 5B (#149) shipped `tests/unit/eval/test_program_regression_suite.py` that imports `_assert_axis_a` from the regression suite scenario. The merge of #145s refactor (shared `_assert_delta_threshold` helper for axes A and B) with #149s profile-split lost the per-axis `_assert_axis_a` function as a casualty during conflict resolution.\\n\\nRe-add it as a thin wrapper around `_assert_delta_threshold` so the public test surface keeps the stable name while the underlying implementation still composes the shared helper.\\n\\nNo behavior change. Restores `tests/unit/eval/test_program_regression_suite.py` collection (10 tests, all pass).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-7b96b7e715cbdf97\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-f83e59edd0a941e9", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381694, "scanner": "foundry_dataset", "fingerprint": "393b6ce385e29d13088e1e7213092e239cec4e04d0488b8b58c522b8d22e5921", "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": "ronsse/trellis-ai#155", "human_labels": ["runtime_failure"], "issue_number": "155", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-b15374585c9d39a6", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#155\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#155\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-376c0ad19b053d57\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/155\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/155\\nTitle: feat(enrichment,classify): emit batch-collector + CLASSIFICATION_DEGRADED events for full failure observability\\nBody:\\n## Summary\\n\\nCloses both M-severity follow-ups surfaced by PR #152:\\n\\n1. **`batch_enrich` swallows gather-collector exceptions silently** \u2014 when `asyncio.gather(..., return_exceptions=True)` returns a raw `Exception` for a task that bubbled past `enrich`'s broad-except (cancellation, semaphore poisoning, asyncio internals), the list comprehension used to wrap it into `EnrichmentResult(success=False, error=str(r))` with no telemetry. Now emits `EXTRACTION_FAILED` with the new `failure_kind=\\\"batch_collector_error\\\"` slug.\\n2. **`LLMFacetClassifier` doesn't emit its own degradation event** \u2014 when upstream enrichment fails, the classifier degrades to `needs_llm_review=True` but emitted no first-class event for downstream correlation. Now emits a new `CLASSIFICATION_DEGRADED` event between the warning log and the sentinel-result return.\\n\\n**Stacked on top of [#152](https://github.com/ronsse/trellis-ai/pu\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-5851ac07a9cbc907\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\":\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-eccdd2e9919704d4", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381693, "scanner": "foundry_dataset", "fingerprint": "60b037bf01127d742df5ded14ac16189ee15f0ef0dc2cac6c631477c26b3c3b5", "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": "ronsse/trellis-ai#152", "human_labels": ["runtime_failure"], "issue_number": "152", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-031c8804a3a7b352", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#152\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#152\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'runtime_failure': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-fb9a17979ee0418e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"runtime_failure\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/152\",\n    \"text\": \"GitHub feedback: runtime_failure\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/152\\nTitle: feat(enrichment): emit EXTRACTION_FAILED on JSON-decode and broad-except (post-C1.5)\\nBody:\\n## Summary\\n\\nCloses the M-severity follow-up from PR #143's C1.5 silent-except audit (`audit/silent_fallbacks_2026-05-14-c1-5-extraction-slice.md`).\\n\\nThree sites in `src/trellis_workers/enrichment/service.py` were flagged as **GUARD** patterns (silent failure-result returns on JSON decode and broad-except) but classified as out-of-scope for the C1.5 extraction-layer slice:\\n- `EnrichmentService.enrich` \u2014 top-level `except Exception`\\n- `EnrichmentService._parse_response` \u2014 outer `JSONDecodeError`\\n- `EnrichmentService._parse_response` \u2014 inner `JSONDecodeError`\\n\\nThis PR keeps the public API contract (callers branch on `result.success`) but adds the missing **loud telemetry**: every failure now emits an `EXTRACTION_FAILED` event so `analyze_extraction_validation` / `analyze_extractor_fallbacks` can see the signal.\\n\\nIndependent of all currently-open PRs (#143-#151).\\n\\n## Option (b) \u2014 ANNOTATE-GRACEFUL across all three sites\\n\\n`En\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e98dee5bd0e7e4c5\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families:\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-da01ceb8af94fcaa", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_assumption_check", "level": "warning", "message": {"text": "Foundry mined assumption checks: ronsse/trellis-ai"}, "properties": {"repobilityId": 381692, "scanner": "foundry_dataset", "fingerprint": "484f0e4d77cf893ad048ce13e31b13c4000cdacf70abe7002d734b4e61b8ec35", "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": "ronsse/trellis-ai#151", "human_labels": ["test_ci_gap"], "issue_number": "151", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-26e74306fbe034cc", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: assumption_checks\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#151\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#151\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'test_ci_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-3c1e4e44b902157f\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/151\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/151\\nTitle: feat(learning): pin content_tags shape contract on well-known analyzer (post-Phase-5A)\\nBody:\\n## Summary\\n\\nCloses the M-severity \\\"analyzer shape footgun\\\" finding from Phase 5A (PR #148).\\n\\nPhase 5A discovered that the well-known analyzer's `_summarize_tags` reads `content_tags` from `properties` only. If any backend stores them as a top-level column, the analyzer silently returns empty domains \u2014 axis G stays at 0 with no diagnostic. This PR pins the shape contract via docstring + ABC convention + a loud `TypeError` when the contract is violated.\\n\\nIndependent of all currently-open PRs (#143-#150).\\n\\n## What's in this PR\\n\\n| File | Change |\\n|---|---|\\n| `src/trellis/learning/schema_evolution.py` | `_summarize_tags` gains full shape-contract docstring + raises `TypeError` when top-level `content_tags` or legacy `tags` key appears on an iterated row. `_first_last_seen` docstring documents the inverse contract (SCD-2 columns at top level). `_RESERVED_TAG_KEYS_AT_TOP_LEVEL` captures the rejected keys. Genuinely untagged nodes\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-b793cc64ace42c3f\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1,\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-assumption_checks-3a8a0d74f40a1612", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/assumption_checks", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_test_ci_gap", "level": "error", "message": {"text": "Foundry mined test ci gap after feedback: ronsse/trellis-ai"}, "properties": {"repobilityId": 419828, "scanner": "foundry_dataset", "fingerprint": "01fb7c37be2ffab439c23a5b28b101adcc5a9910d2b647c714ab376c0345b5ec", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#96", "issue_number": "96", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b366eda7cd520eee", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#96\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#96\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#96\nRepo: ronsse/trellis-ai\nIssue/PR number: 96\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-a9f1b2b59e3ef735", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419827, "scanner": "foundry_dataset", "fingerprint": "c623d5dae436e63cd8ce3985bce38809fdd7a747c86b5128e4ea0f6165d3b924", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#78", "issue_number": "78", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-32e170a1ed33481a", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#78\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#78\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#78\nRepo: ronsse/trellis-ai\nIssue/PR number: 78\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-9f1abc9973474385", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419826, "scanner": "foundry_dataset", "fingerprint": "86a572f004026267146dfcdcb8b0303ebc7069ac2fd9bf92a89cc11bfeb6c6cd", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#77", "issue_number": "77", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c26c7449d9d48879", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#77\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#77\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#77\nRepo: ronsse/trellis-ai\nIssue/PR number: 77\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-7fee64b4fd627d73", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419825, "scanner": "foundry_dataset", "fingerprint": "46e954c5111958e92cb8271637f028532bcbd5547e4e3615a27a4f9ebcdec363", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "source_or_other": 1, "api_integration_gap": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 8}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 28, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "thread_touches_file": 1, "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, "issue_chain_touches_file": 1, "thread_has_comment_chain": 2, "comment_chain_touches_file": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "thread": 1, "comment": 2, "pr_file": 1, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#246", "issue_number": "246", "quality_tiers": {"unresolved": 4, "assumption_check": 2}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-5408d383c093bb88", "graph_gold_label": "assumption_check", "changed_file_labels": {"source_or_other": 5}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: assumption_check\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#246\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#246\nGraph gold label: assumption_check\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#246\nRepo: ronsse/trellis-ai\nIssue/PR number: 246\nGraph consistency label: assumption_check\nNodes: 18\nEdges: 28\nNode types: {'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'pr_file': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 6, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_touches_file': 2, 'issue_chain_has_comment_chain': 2, 'alignment_uses_comment': 2, 'alignment_uses_finding': 2, 'comment_aligns_finding': 2, 'repo_has_thread': 1, 'thread_touches_file': 1, 'thread_has_issue_chain': 1, 'issue_chain_touches_file': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'source_or_other': 1, 'mostly follows blueprint': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-3cc5e9133587bf63", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419824, "scanner": "foundry_dataset", "fingerprint": "10c13d869fc779769ffe0c5e4d106e9d2de6930c4adfb8b3ee19fae47199e233", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 48, "test_ci_gap": 1, "api_or_backend": 3, "schema_or_data": 1, "ui_or_frontend": 25, "source_or_other": 18, "dependency_or_build": 1, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 139, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 95, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 112, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 95, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#245", "issue_number": "245", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4fd88ddff0431f3d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 192, "api_or_backend": 12, "schema_or_data": 4, "ui_or_frontend": 100, "source_or_other": 72}}, "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#245\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#245\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#245\nRepo: ronsse/trellis-ai\nIssue/PR number: 245\nGraph consistency label: supported_by_verification_signal\nNodes: 112\nEdges: 139\nNode types: {'pr_file': 95, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 95, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, 'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'test_or_ci': 48, 'ui_or_frontend': 25, 'source_or_other': 18, 'verification_or_tests': 4, 'api_or_backend': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'schema_or_data': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'dependency_or_build': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-691f4a3e4af2ccc7", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419823, "scanner": "foundry_dataset", "fingerprint": "07e580df4d713b52e99aeb852144f45ae25b652724d9894a5806ddb72287e71b", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_or_ci": 1, "test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 18, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#241", "issue_number": "241", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-3cc70da0d2067f14", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 4}}, "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#241\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#241\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#241\nRepo: ronsse/trellis-ai\nIssue/PR number: 241\nGraph consistency label: supported_by_high_confidence_link\nNodes: 18\nEdges: 23\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'pr_file': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'test_or_ci': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-887d10a2f8293a2d", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419822, "scanner": "foundry_dataset", "fingerprint": "ceea2caa1efb1f3c91beb1ff4b9b3d1c8fdadacdb90a72dc4371be44f50fb1dd", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#233", "issue_number": "233", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-116d2183b66a9191", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#233\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#233\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#233\nRepo: ronsse/trellis-ai\nIssue/PR number: 233\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-a832e1c53656da05", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419821, "scanner": "foundry_dataset", "fingerprint": "a3e74d006d259543eebda4c511df2e10680801e5bf3ab696cc11dc7bc0d80295", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#232", "issue_number": "232", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-47e1bb1c0c6e94a5", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#232\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#232\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#232\nRepo: ronsse/trellis-ai\nIssue/PR number: 232\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-d725d4980708c4d8", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419820, "scanner": "foundry_dataset", "fingerprint": "dcfdee43ff6627b0d8d6088604afdfd0190fe8416e5609415fa244894f9f2989", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#231", "issue_number": "231", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-736f98ad0bdee0b3", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#231\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#231\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#231\nRepo: ronsse/trellis-ai\nIssue/PR number: 231\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-a02bdcea3a303eac", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419819, "scanner": "foundry_dataset", "fingerprint": "1e3add843e0b2738f170caf80d18e11ca94ffcc3476b64732b5226f2c1c3a37c", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#230", "issue_number": "230", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-3e81c66295ab8250", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#230\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#230\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#230\nRepo: ronsse/trellis-ai\nIssue/PR number: 230\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-de877c0660a798f2", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419818, "scanner": "foundry_dataset", "fingerprint": "8a2dc63b97ab96da655026f7a7000654499923fb0088280c1c8a0b9a4627f32c", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#229", "issue_number": "229", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-71efcd39cd79a49a", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#229\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#229\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#229\nRepo: ronsse/trellis-ai\nIssue/PR number: 229\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-102e5e3ca66484e3", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419817, "scanner": "foundry_dataset", "fingerprint": "8f5815ba5385c9dbe1934b8974b5cd6c6e1704cc7b735835bdb142c23857548d", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#228", "issue_number": "228", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-dca30f6fb4462495", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#228\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#228\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#228\nRepo: ronsse/trellis-ai\nIssue/PR number: 228\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-b3a57935ec578f65", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419816, "scanner": "foundry_dataset", "fingerprint": "0280b331cf6312fc0e5563a4c88afd03ca8ed1c93a024fc5ce25180043dc2d8b", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#227", "issue_number": "227", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6200065df5c7e2af", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#227\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#227\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#227\nRepo: ronsse/trellis-ai\nIssue/PR number: 227\nGraph consistency label: weak_supervision_needs_review\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-cf49bf84d3878d5e", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419815, "scanner": "foundry_dataset", "fingerprint": "1e7653f9d75f1ebbf36f53cea99981f1af5904976fab4aab6051c335a04ccb25", "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, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#226", "issue_number": "226", "quality_tiers": {"assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-04c16c28e8bb0bd5", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#226\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#226\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#226\nRepo: ronsse/trellis-ai\nIssue/PR number: 226\nGraph consistency label: supported_by_verification_signal\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'weak_supervision': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-2370442318d1cdca", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419814, "scanner": "foundry_dataset", "fingerprint": "25eff7a579f1dbb850bcd3492f38b3067f36859e32b6c38d1219e6b14f353475", "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": 2, "verification_or_tests": 7, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 6}, "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": 8, "thread": 1, "comment": 2, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 6, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#225", "issue_number": "225", "quality_tiers": {"assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b3f7de2e9886e846", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#225\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#225\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#225\nRepo: ronsse/trellis-ai\nIssue/PR number: 225\nGraph consistency label: supported_by_verification_signal\nNodes: 25\nEdges: 34\nNode types: {'commit': 8, 'link_quality': 6, 'comment': 2, 'comment_chain': 2, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 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: {'verification_or_tests': 7, 'claimed_resolved_with_verification_signal': 3, 'test_ci_gap': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-e7fa65e961cb7b67", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419813, "scanner": "foundry_dataset", "fingerprint": "97a8ce225cc5089dd10f31664615944e9bb35a99be9af949614b2a496e08ffa6", "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, "api_integration_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#224", "issue_number": "224", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9f1cdc1420f1fb03", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#224\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#224\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#224\nRepo: ronsse/trellis-ai\nIssue/PR number: 224\nGraph consistency label: weak_supervision_needs_review\nNodes: 28\nEdges: 37\nNode types: {'commit': 8, 'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 8, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, '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: {'verification_or_tests': 5, 'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'ambiguous_needs_more_evidence': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-edc44a1eff1a15c2", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419812, "scanner": "foundry_dataset", "fingerprint": "2578a8ae2e87c00b6a0624a6dae1cc200248523cfdcfebb25a1a06f7af054c4b", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 6, "human_feedback_general": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 6, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 30, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "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": 23, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#222", "issue_number": "222", "quality_tiers": {"assumption_check": 1, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7b1a2dfd3efd9874", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#222\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#222\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#222\nRepo: ronsse/trellis-ai\nIssue/PR number: 222\nGraph consistency label: supported_by_verification_signal\nNodes: 23\nEdges: 30\nNode types: {'commit': 8, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 6, 'ambiguous_needs_more_evidence': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-83cf4c40c54db5fa", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419811, "scanner": "foundry_dataset", "fingerprint": "f6697538bdecdd8e7f3a6dfb1d4716acb98d042a1cb166456874f017e60a6890", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"bug_fix": 2, "test_ci_gap": 1, "verification_or_tests": 7, "human_feedback_general": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 6, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 4, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"ambiguous_needs_more_evidence": 12, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 55, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 5, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 8, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 5, "comment_chain_links_commit": 20, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 33, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 5, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#216", "issue_number": "216", "quality_tiers": {"assumption_check": 1, "weak_supervision": 7}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-724507eaaee1523d", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#216\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#216\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#216\nRepo: ronsse/trellis-ai\nIssue/PR number: 216\nGraph consistency label: supported_by_verification_signal\nNodes: 33\nEdges: 55\nNode types: {'commit': 9, 'link_quality': 8, 'comment': 5, 'comment_chain': 5, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 20, 'chain_has_link_quality': 8, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 7, 'ambiguous_needs_more_evidence': 6, 'human_feedback_general': 4, 'comment_has_related_commit_context': 4, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 7, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-8ed190522f7fd672", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419810, "scanner": "foundry_dataset", "fingerprint": "a6819cee6fae2e0d106e32a05914c5591ef8eb4ecb75d2ded9487fc12002098e", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "security_auth_secret": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#207", "issue_number": "207", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b5ab9ce2770b9615", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#207\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#207\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#207\nRepo: ronsse/trellis-ai\nIssue/PR number: 207\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-6edb8d387d61c86b", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419809, "scanner": "foundry_dataset", "fingerprint": "cfe7d28c3efa318f2e5cc72b497b995841213d797caed4e85ff227b1819d17dd", "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": 2, "test_ci_gap": 1, "ui_or_frontend": 4, "verification_or_tests": 4, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 38, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 6, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 6, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#188", "issue_number": "188", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4363b988942ffbc9", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "ui_or_frontend": 16}}, "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#188\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#188\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#188\nRepo: ronsse/trellis-ai\nIssue/PR number: 188\nGraph consistency label: supported_by_verification_signal\nNodes: 23\nEdges: 38\nNode types: {'pr_file': 6, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 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': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'ui_or_frontend': 4, 'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 3, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'bug_fix': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-bbabc387de33d4f0", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419808, "scanner": "foundry_dataset", "fingerprint": "02c259ebc07a2a645020d4ea8763aa272cc698e67124601e23af369889af29cc", "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, "docs_or_claims": 1, "source_or_other": 4, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 35, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 22, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 5, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#184", "issue_number": "184", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7961b1c1d9ead901", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"docs_or_claims": 4, "source_or_other": 16}}, "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#184\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#184\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#184\nRepo: ronsse/trellis-ai\nIssue/PR number: 184\nGraph consistency label: supported_by_verification_signal\nNodes: 22\nEdges: 35\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'thread_touches_file': 5, 'comment_chain_links_commit': 5, 'comment_chain_touches_file': 5, 'issue_chain_touches_file': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'source_or_other': 4, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'docs_or_claims': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-0e5f304a764742d3", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419807, "scanner": "foundry_dataset", "fingerprint": "f0f380ac4e6dfda9a3cd4672adcc5df3f374a9600062d6f3d183124541a0cbf4", "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, "docs_or_claims": 2, "verification_or_tests": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "test_ci_gap_after_feedback", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "test_ci_gap_after_feedback", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 19, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#181", "issue_number": "181", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4a6284b62f26b7e7", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"docs_or_claims": 8}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#181\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#181\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#181\nRepo: ronsse/trellis-ai\nIssue/PR number: 181\nGraph consistency label: supported_by_verification_signal\nNodes: 19\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 4, 'pr_file': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_touches_file': 2, 'comment_chain_touches_file': 2, 'issue_chain_touches_file': 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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-6deddd604a88ac08", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419806, "scanner": "foundry_dataset", "fingerprint": "bf395e62a81cec6cc2974a7da06c90c1e70ef5d6ac589a82d153975373105250", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#176", "issue_number": "176", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-5b5a21b7da0477d5", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#176\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#176\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#176\nRepo: ronsse/trellis-ai\nIssue/PR number: 176\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-c7e87b5fea1accb1", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419805, "scanner": "foundry_dataset", "fingerprint": "e6ebed952d2cbd96d072f21374bd0795d889763f014a977d6b98d234478df3df", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#171", "issue_number": "171", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-11a57c95546d9bcc", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#171\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#171\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#171\nRepo: ronsse/trellis-ai\nIssue/PR number: 171\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-fae46bcfbc29252c", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419804, "scanner": "foundry_dataset", "fingerprint": "50a8e7cb167298a8d1325a02ff5725d040ddbf1cc20675c444c2800b649e18a4", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#168", "issue_number": "168", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a9d2d341fb09896b", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#168\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#168\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#168\nRepo: ronsse/trellis-ai\nIssue/PR number: 168\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-638ed91fd697f4c3", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419803, "scanner": "foundry_dataset", "fingerprint": "d13cd271c16d25ca632ecb4e1c0c559031f3a776aa1adc944aa43f9882b0f6a2", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#167", "issue_number": "167", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-32381710e458b4ef", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#167\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#167\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#167\nRepo: ronsse/trellis-ai\nIssue/PR number: 167\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-7d6bbaecf506ca84", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419802, "scanner": "foundry_dataset", "fingerprint": "da33daa989c256d4cb1d9a3cfcc48c3fd2a78f7f232a548d3d68373b1d8fab26", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#163", "issue_number": "163", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-98c7832297965b40", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#163\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#163\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#163\nRepo: ronsse/trellis-ai\nIssue/PR number: 163\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-930ad375485a25d3", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419801, "scanner": "foundry_dataset", "fingerprint": "ebff39bd3189aa4bf671ddcc10d6e8f33f1567e5b0abf61052a39dcd0d11837b", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#162", "issue_number": "162", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-ee3e4c1e67fc2389", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#162\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#162\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#162\nRepo: ronsse/trellis-ai\nIssue/PR number: 162\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-f4d9d56d2d5a57a0", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419800, "scanner": "foundry_dataset", "fingerprint": "6573a6161eff7c8bc93831570ade2c676f91f1e7ab25aad21c51e123fc5e2a7e", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#159", "issue_number": "159", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-12a91e24e228f091", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#159\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#159\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#159\nRepo: ronsse/trellis-ai\nIssue/PR number: 159\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-6ba2407affc9f009", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 419799, "scanner": "foundry_dataset", "fingerprint": "b815f031dcd634d665a57cdd9c582f3d3b3d4118f1e255ff236240a0f47de646", "category": "testing", "severity": "high", "confidence": 0.78, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Feedback exposes missing tests or CI", "intent": "Hard negatives for feedback/fix chains without adequate guardrails.", "labels": {"test_ci_gap": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "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": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 17, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#151", "issue_number": "151", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-caafe2fba7607138", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {}}, "text": "Graph query export: Feedback exposes missing tests or CI\nQuery id: test_ci_gap_after_feedback\nQuery type: motif_query\nIntent: Hard negatives for feedback/fix chains without adequate guardrails.\nMotif: test_ci_gap_after_feedback\nTraining usage: hard_negative\nGraph gold label: supported_by_high_confidence_link\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#151\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#151\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#151\nRepo: ronsse/trellis-ai\nIssue/PR number: 151\nGraph consistency label: supported_by_high_confidence_link\nNodes: 17\nEdges: 20\nNode types: {'commit': 5, 'link_quality': 4, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, '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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'comment_has_related_commit_context': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Turn human feedback into regression tests and CI gates.\n- Penalize fixes that do not add or exercise verification for affected workflows.\nAssumption checks:\n- Did the fix add tests for the exact complaint?\n- Does CI run those tests, or is verification only implied?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-f0814e50df8a0e4b", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 411041, "scanner": "foundry_dataset", "fingerprint": "4f96c219ae963efc73c3d300f3bf23aab7f2cbc83956fd67314c8fd98332b1c9", "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, "docs_or_claims": 2, "verification_or_tests": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "blueprint_human_gap_disagreement": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 26, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 4, "comment_aligns_finding": 1, "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": 19, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 1, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#238", "issue_number": "238", "quality_tiers": {"high_confidence": 3, "assumption_check": 1}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b442d53a75d8000e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"docs_or_claims": 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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#238\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#238\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#238\nRepo: ronsse/trellis-ai\nIssue/PR number: 238\nGraph consistency label: supported_by_verification_signal\nNodes: 19\nEdges: 26\nNode types: {'commit': 5, 'link_quality': 4, 'pr_file': 2, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 4, 'thread_touches_file': 2, 'comment_chain_touches_file': 2, 'issue_chain_touches_file': 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, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'bug_fix': 3, 'claimed_resolved_with_verification_signal': 3, 'docs_or_claims': 2, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6}\nQuality tiers: {'high_confidence': 3, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-884c917119e64bbe", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 411040, "scanner": "foundry_dataset", "fingerprint": "14403199316a659c919383b37a6c0fda8093f1418846bae5a1231368afa02140", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 4, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 3, "data_schema_persistence": 2, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 2, "not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 39, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#220", "issue_number": "220", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-f91460de14eb0878", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#220\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#220\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#220\nRepo: ronsse/trellis-ai\nIssue/PR number: 220\nGraph consistency label: supported_by_verification_signal\nNodes: 28\nEdges: 39\nNode types: {'commit': 8, 'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, '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: {'bug_fix': 4, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'data_schema_persistence': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'claimed_resolved_unverified': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-19d53108225c6260", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 411039, "scanner": "foundry_dataset", "fingerprint": "74b509f9572554d9a36e9931602b76617bf3d259e46dfc6cb4e04015bbe01f98", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 2, "verification_or_tests": 4, "data_schema_persistence": 3, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 44, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 3, "alignment_uses_finding": 3, "chain_has_link_quality": 8, "comment_aligns_finding": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 11, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 6, "thread": 1, "comment": 3, "alignment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#219", "issue_number": "219", "quality_tiers": {"assumption_check": 3, "weak_supervision": 5}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-8660d01ca7a0ff7b", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#219\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#219\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#219\nRepo: ronsse/trellis-ai\nIssue/PR number: 219\nGraph consistency label: supported_by_verification_signal\nNodes: 28\nEdges: 44\nNode types: {'link_quality': 8, 'commit': 6, 'comment': 3, 'comment_chain': 3, 'alignment': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 11, 'chain_has_link_quality': 8, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, 'alignment_uses_comment': 3, 'alignment_uses_finding': 3, 'comment_aligns_finding': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'data_schema_persistence': 3, 'blueprint_human_gap_disagreement': 3, 'human_reported_issue_then_verified_fix_attempt': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 5, 'assumption_check': 3}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-c3c0cd80e3e3e148", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 411038, "scanner": "foundry_dataset", "fingerprint": "e0056491998bb94339c785bef693ddcc9354306295755dda88a9a5afa5da8d30", "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, "verification_or_tests": 4, "human_feedback_general": 1, "data_schema_persistence": 2, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 4, "human_reported_issue_then_verified_fix_attempt": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 2, "claimed_resolved_with_verification_signal": 8}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 40, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 11, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 27, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#217", "issue_number": "217", "quality_tiers": {"assumption_check": 2, "weak_supervision": 5}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-7861fc3050f74e31", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#217\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#217\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#217\nRepo: ronsse/trellis-ai\nIssue/PR number: 217\nGraph consistency label: supported_by_verification_signal\nNodes: 27\nEdges: 40\nNode types: {'commit': 7, 'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 11, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, '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: {'verification_or_tests': 4, 'claimed_resolved_with_verification_signal': 4, 'bug_fix': 3, 'data_schema_persistence': 2, 'human_reported_issue_then_verified_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 8, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 5, '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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-9b86f6a95a360fb0", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 411037, "scanner": "foundry_dataset", "fingerprint": "5b4bad5d31796dd907d8e5938d937a2c4396741cf3e2dd89b3b20437b9af182b", "category": "quality", "severity": "high", "confidence": 0.76, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Schema, UI, and API mismatch", "intent": "Assumption-check examples for data-path consistency across layers.", "labels": {"bug_fix": 2, "api_integration_gap": 1, "verification_or_tests": 7, "human_feedback_general": 2, "data_schema_persistence": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 5, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 10, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 49, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 8, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 15, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 32, "node_types": {"repo": 1, "commit": 9, "thread": 1, "comment": 4, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#211", "issue_number": "211", "quality_tiers": {"assumption_check": 2, "weak_supervision": 6}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-36b00067d654323f", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#211\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#211\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#211\nRepo: ronsse/trellis-ai\nIssue/PR number: 211\nGraph consistency label: supported_by_verification_signal\nNodes: 32\nEdges: 49\nNode types: {'commit': 9, 'link_quality': 8, 'comment': 4, 'comment_chain': 4, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 15, 'chain_has_link_quality': 8, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, '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: {'verification_or_tests': 7, 'ambiguous_needs_more_evidence': 5, 'comment_has_related_commit_context': 3, 'human_feedback_general': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'api_integration_gap': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 10, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 6, '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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-491b0dae41ab9a0f", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 411036, "scanner": "foundry_dataset", "fingerprint": "9d2287ba90d67bd512b37fcbaa00a0332d32071028a831cc37897b43a62f4ddf", "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, "api_integration_gap": 1, "security_or_secrets": 1, "security_auth_secret": 3, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 5, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"claimed_resolved_unverified": 10, "not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 5, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 9, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 5, "comment_chain_links_commit": 15, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 33, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 9, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#210", "issue_number": "210", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 6}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-f015823d63d92496", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#210\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#210\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#210\nRepo: ronsse/trellis-ai\nIssue/PR number: 210\nGraph consistency label: supported_by_verification_signal\nNodes: 33\nEdges: 54\nNode types: {'link_quality': 9, 'commit': 7, 'comment': 5, 'comment_chain': 5, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 15, 'chain_has_link_quality': 9, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, '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_unverified': 5, 'security_auth_secret': 3, 'human_reported_issue_then_fix_attempt': 3, 'bug_fix': 3, 'verification_or_tests': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'data_schema_persistence': 1, 'security_or_secrets': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 10, 'claimed_resolved_with_verification_signal': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 6, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-8c61392d05d277e8", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 411035, "scanner": "foundry_dataset", "fingerprint": "0d4b065c753d2ee160defb00677fe4d6a131ec042bf266456260f70a8fedf961", "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": {"verification_or_tests": 5, "human_feedback_general": 1, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 4, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 8}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#200", "issue_number": "200", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-e392225009afb76f", "graph_gold_label": "weak_supervision_needs_review", "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: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#200\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#200\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#200\nRepo: ronsse/trellis-ai\nIssue/PR number: 200\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 4, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'data_schema_persistence': 1, 'human_feedback_general': 1, 'comment_has_related_commit_context': 1, 'unlinked_human_feedback': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 8}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-e6e2d17292a32415", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 411034, "scanner": "foundry_dataset", "fingerprint": "fd92301219f3e3742d2d44e18e84ec305deb707c533b2cc13386cf38fd6bd774", "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": {"api_integration_gap": 1, "verification_or_tests": 11, "human_feedback_general": 2, "data_schema_persistence": 1, "unlinked_human_feedback": 1, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 6, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 3, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "schema_ui_api_mismatch", "outcomes": {"ambiguous_needs_more_evidence": 12}, "polarity": "bad", "query_id": "schema_ui_api_mismatch", "severity": "high", "ci_labels": {}, "synthetic": false, "edge_count": 47, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 4, "thread_has_comment": 4, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 8, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 4, "comment_chain_links_commit": 13, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 4}, "node_count": 34, "node_types": {"repo": 1, "commit": 11, "thread": 1, "comment": 4, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 4, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#195", "issue_number": "195", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 5}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-017cc5e4a438c44d", "graph_gold_label": "weak_supervision_needs_review", "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: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#195\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#195\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#195\nRepo: ronsse/trellis-ai\nIssue/PR number: 195\nGraph consistency label: weak_supervision_needs_review\nNodes: 34\nEdges: 47\nNode types: {'commit': 11, 'link_quality': 8, 'comment': 4, 'comment_chain': 4, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 13, 'chain_has_link_quality': 8, 'thread_has_comment': 4, 'thread_has_comment_chain': 4, 'comment_has_chain': 4, 'issue_chain_has_comment_chain': 4, '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: {'verification_or_tests': 11, 'ambiguous_needs_more_evidence': 6, 'comment_has_related_commit_context': 3, 'human_feedback_general': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'data_schema_persistence': 1, 'unlinked_human_feedback': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 12}\nQuality tiers: {'weak_supervision': 5, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Create schema-to-API-to-UI consistency tasks with migrations and tests.\n- Teach models to verify persistence, route contracts, and UI state together.\nAssumption checks:\n- Do schema changes have matching API and UI handling?\n- Are migrations and tests present for the data path?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-e9feabc009c48b1e", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/schema_ui_api_mismatch", "training_usage": "assumption_check"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390892, "scanner": "foundry_dataset", "fingerprint": "e2950e1e4edc6d957906bc651bf30549290e075e3244924ee8de911f90ab4026", "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": "ronsse/trellis-ai#98", "human_labels": ["api_integration_gap"], "issue_number": "98", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-5b9f647481e41ffe", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#98\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#98\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a4a2470ecfa62770\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/98#issuecomment-4376615003\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/ronsse/trellis-ai/pull/98#issuecomment-4376615003\\nTitle: \\nBody:\\n### Labels\\n\\nThe following labels could not be found: `dependencies`, `python`. Please create them before Dependabot can add them to a pull request.\\n\\n\\nPlease fix the above issues or remove invalid values from `dependabot.yml`.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-8cbd165ee4c5f735\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-c53a526742332645", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390891, "scanner": "foundry_dataset", "fingerprint": "aaa530ab44b7a33774e8c40dc513d8e26a884abc3ac6da65a4a84f5b729892da", "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": "ronsse/trellis-ai#97", "human_labels": ["api_integration_gap"], "issue_number": "97", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-53a50725849d91a6", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#97\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#97\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-a649732c902f6c22\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/97#issuecomment-4376610608\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/ronsse/trellis-ai/pull/97#issuecomment-4376610608\\nTitle: \\nBody:\\n### Labels\\n\\nThe following labels could not be found: `dependencies`, `github-actions`. Please create them before Dependabot can add them to a pull request.\\n\\n\\nPlease fix the above issues or remove invalid values from `dependabot.yml`.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-c1f72f6b5321b7e8\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-8a44ec7b73472304", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390890, "scanner": "foundry_dataset", "fingerprint": "fb7ce9bac0fec0fc6cd4670d9b05f0a39438a37a3e2717659f68f164dd5e6934", "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": "ronsse/trellis-ai#27", "human_labels": ["mock_placeholder"], "issue_number": "27", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.627, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-2ec9f57e97399970", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#27\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#27\nRepo: ronsse/trellis-ai\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-a8ed6826b2f88aa3\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/27#issuecomment-4325075305\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/27#issuecomment-4325075305\\nTitle: \\nBody:\\nClosed without merging \u2014 superseded by the cherry-pick approach.\\n\\n**Why deferred:** `trellis admin migrate-graph` is a useful operational tool but has no current consumer. The implementation (~700 LOC code + 21 tests) is well-scoped and uses only the public `GraphStore` API (no backend-specific code), so re-extraction is straightforward when needed.\\n\\n**What's lost:** no cross-backend graph migration tool. If anyone wants to move data from SQLite \u2192 Neo4j or Postgres \u2192 Neo4j today, they'd write a one-off script.\\n\\n**Re-extraction:** the `src/trellis/migrate/` package is self-contained on this branch. When picked up, verify `GraphMigrator` still uses only public API (the post-#41 / post-#44 main has slightly different bulk semantics). See \\\"Deferred from the Neo4j hardening series\\\" in [TODO.md](https://github.com/ronsse/trellis-ai/blob/main/TODO.md).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-89349ba1576fd85c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\nBundle labels: {\"source_backed_fake_real_verification_bundle\": 1}\nCo-occurrence labels\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-36c7e2108facd079", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390889, "scanner": "foundry_dataset", "fingerprint": "08429acac23fd973af455fbd4f8ededb76ffcaac6e3b0eae7272099667ea8122", "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": "ronsse/trellis-ai#26", "human_labels": ["mock_placeholder"], "issue_number": "26", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-0a3e15f04d2a20b4", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 3, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#26\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#26\nRepo: ronsse/trellis-ai\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: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9eaf3ed6e3d510e0\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/26#issuecomment-4325074341\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/26#issuecomment-4325074341\\nTitle: \\nBody:\\nClosed without merging \u2014 superseded by the cherry-pick approach.\\n\\n**Why deferred:** the 3 blessed config shapes (local Neo4j+SQLite, cloud AuraDB+Postgres, Postgres-only) are operationally useful but not required for POC use. Two of the shapes assume Phase 1.1's `driver_config` block, which is also deferred.\\n\\n**What's lost:** TODO.md and other docs still reference `recommended-config.yaml` \u2014 those cross-references are 404 until landed. Will fix in a follow-up doc-cleanup pass if it becomes annoying.\\n\\n**Re-extraction:** when picked up, refresh against current main's config shape (the planes-and-substrates work landed since this PR was written). See \\\"Deferred from the Neo4j hardening series\\\" in [TODO.md](https://github.com/ronsse/trellis-ai/blob/main/TODO.md).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-94a3746eda4f3289\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-3f002897079c7b34", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390888, "scanner": "foundry_dataset", "fingerprint": "0a19db1a3a99e8d9fe47c58d76aa81b5344a6646b54a2fa06b695ca1d5a34d50", "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": "ronsse/trellis-ai#25", "human_labels": ["mock_placeholder"], "issue_number": "25", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-482c07b50d367480", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#25\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#25\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-9936e91695c8f6b1\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/25#issuecomment-4325073245\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/25#issuecomment-4325073245\\nTitle: \\nBody:\\nClosed without merging \u2014 superseded by the cherry-pick approach.\\n\\n**Why deferred:** doc-only PR (~330 lines across `neo4j-local.md` + `neo4j-auradb.md`). Operationally useful but not blocking POC use; current operators deploy by reading the source. Defer until an external operator asks. The plan doc on main already documents the design ([`plan-neo4j-hardening.md`](https://github.com/ronsse/trellis-ai/blob/main/docs/design/plan-neo4j-hardening.md)).\\n\\n**What's lost:** no Neo4j-specific deployment runbooks on main. The AuraDB-name-is-instance-id gotcha (caught during the live-test campaign) is documented in `.env.example` and `implementation-roadmap.md` instead.\\n\\n**Re-extraction:** content stays valid as-is on this branch. Re-apply when an external operator joins. See \\\"Deferred from the Neo4j hardening series\\\" in [TODO.md](https://github.com/ronsse/trellis-ai/blob/main/TODO.md).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-6033349b3fbe56c3\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\nBundle labels: {\"source_backed_fake_real_verificati\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-ed00dbb278ad4b1b", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390887, "scanner": "foundry_dataset", "fingerprint": "c620301232049a1b32a5f6e824d64c52a9a7be760bb34f3c7c4aaea07851a804", "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": "ronsse/trellis-ai#246", "human_labels": ["api_integration_gap", "source_or_other", "test_ci_gap"], "issue_number": "246", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-49d3888cf4a156c8", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 0, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#246\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#246\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 1\nLabels: {'test_ci_gap': 1, 'api_integration_gap': 1}\nPolarities: {'bad': 2}\nChanged file labels: {'source_or_other': 1}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-ca649e770096a78e\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"test_ci_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/246\",\n    \"text\": \"GitHub feedback: test_ci_gap\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/ronsse/trellis-ai/pull/246\\nTitle: chore(deps-dev): bump ruff from 0.15.16 to 0.15.17 in the python-minor-and-patch group\\nBody:\\nBumps the python-minor-and-patch group with 1 update: [ruff](https://github.com/astral-sh/ruff).\\n\\nUpdates `ruff` from 0.15.16 to 0.15.17\\n<details>\\n<summary>Release notes</summary>\\n<p><em>Sourced from <a href=\\\"https://github.com/astral-sh/ruff/releases\\\">ruff's releases</a>.</em></p>\\n<blockquote>\\n<h2>0.15.17</h2>\\n<h2>Release Notes</h2>\\n<p>Released on 2026-06-11.</p>\\n<h3>Preview features</h3>\\n<ul>\\n<li>Allow human-readable names in suppression comments (<a href=\\\"https://redirect.github.com/astral-sh/ruff/pull/25614\\\">#25614</a>)</li>\\n<li>Fix handling of <code>ignore</code> comments within a <code>disable</code>/<code>enable</code> pair (<a href=\\\"https://redirect.github.com/astral-sh/ruff/pull/25845\\\">#25845</a>)</li>\\n<li>Prioritize human-readable names in CLI output (<a href=\\\"https://redirect.github.com/astral-sh/ruff/pull/25869\\\">#25869</a>)</li>\\n<li>Respect diagnostic start and parent ranges and trailing comments in <co\"\n  },\n  {\n    \"id\": \"github-feedback-comment-9b8b7dd911fc4090\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/246#issuecomment-4705083607\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/ronsse/trellis-ai/pull/246#issuecomment-4705083607\\nTitle: \\nBody:\\n### Labels\\n\\nThe following labels could not be found: `dependencies`, `python`. Please create them before Dependabot can add them to a pull request.\\n\\n\\nPlease fix the above issues or remove invalid values\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-654fc9e1af184c0f", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390886, "scanner": "foundry_dataset", "fingerprint": "989b523900088e92f579c866cda786d39a8bc03c794d317b608b6ce992b8bb09", "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": "ronsse/trellis-ai#240", "human_labels": ["api_or_backend", "docs_or_claims", "mock_placeholder", "test_or_ci", "ui_or_frontend"], "issue_number": "240", "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": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-9dc8db62b0e754b3", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 34, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {"test_or_ci": 11, "api_or_backend": 2, "docs_or_claims": 18, "ui_or_frontend": 3}, "linked_commit_count": 1, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#240\nOutcome: ambiguous_needs_more_evidence\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#240\nRepo: ronsse/trellis-ai\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: 34\nLabels: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {'docs_or_claims': 18, 'api_or_backend': 2, 'ui_or_frontend': 3, 'test_or_ci': 11}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-32af96a07b068f72\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/240\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/240\\nTitle: docs: neutralize source-platform references\\nBody:\\nNeutralizes workplace-identifying strings across docs, TODO, and test fixtures; renames adr-egp-interop-bridge.md to adr-enterprise-graph-interop-bridge.md with all cross-references updated. Verified: zero residual hits, ruff clean, touched tests 135/135 green.\\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-181b4c82b1220221\",\n    \"filename\": \"TODO.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 13,\n    \"deletions\": 13,\n    \"changes\": 26,\n    \"blob_url\": \"https://github.com/ronsse/trellis-ai/blob/3a1261989f225c0d6f62444998196ff069b0a6e4/TODO.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-8119bb5c559156c3\",\n    \"filename\": \"docs/agent-guide/modeling-guide.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 6,\n    \"deletions\": 6,\n    \"changes\": 12,\n    \"blob_url\": \"https://github.com/ronsse/trellis-ai/blob/3a1261989f225c0d6f62444998196ff069b0a6e4/docs%2Fagent-guide%2Fmodeling-guide.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-3cbb2e47c04070cb\",\n    \"filename\": \"docs/agent-guide/operations.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 1,\n    \"deletions\": 1,\n    \"changes\": 2,\n    \"blob_url\": \"https://github.com/ronsse/trellis-ai/blob/3a1261989f225c0d6f62444998196ff069b0a6e4/docs%2Fagent-guide%2Foperations.md\"\n  },\n  {\n    \"id\": \"github-pr-file-file-10f931d8d786a16f\",\n    \"filename\": \"docs/agent-guide/tagging-for-retrieval.md\",\n    \"label\": \"docs_or_claims\",\n    \"status\": \"modified\",\n    \"additions\": 4,\n    \"deletions\": 4,\n    \"changes\": 8,\n    \"blob\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-8985242d44908331", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390885, "scanner": "foundry_dataset", "fingerprint": "67cddb22eadcc912245b5bf3b585e8a4877af537ae457461255c22dc58916c5c", "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": "ronsse/trellis-ai#23", "human_labels": ["mock_placeholder"], "issue_number": "23", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.67, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-c74db65cb3c85b3e", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#23\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#23\nRepo: ronsse/trellis-ai\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: {'mock_placeholder': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-fb111f2720d9f4f6\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/23#issuecomment-4325071851\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/23#issuecomment-4325071851\\nTitle: \\nBody:\\nClosed without merging \u2014 superseded by the cherry-pick approach. The branch + diff remain accessible if/when this is re-extracted.\\n\\n**Why deferred:** depends on Phase 1.1's driver cache (#21), which was also deferred. Without it, the connectivity-ping helper has no cached drivers to walk.\\n\\n**What's lost without this:** misconfigured Neo4j surfaces on the first request rather than at startup. Acceptable for POC use; meaningful when running behind a load balancer where startup health checks matter.\\n\\n**Re-extraction:** when picked up, this should land alongside Phase 1.1 (#21) since it shares the same `_neo4j_drivers` cache surface. See \\\"Deferred from the Neo4j hardening series\\\" in [TODO.md](https://github.com/ronsse/trellis-ai/blob/main/TODO.md).\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-7044c0edd971931c\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-1bf68d405da42812", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390884, "scanner": "foundry_dataset", "fingerprint": "eab82e31c7627fe04b08611a7ce92d8b245c56e993d17bffc39869c6dde06958", "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": "ronsse/trellis-ai#21", "human_labels": ["mock_placeholder"], "issue_number": "21", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.625, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-111696c6f121c872", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 4, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#21\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#21\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 1\nLinked commit count: 4\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-639c0cd321e10ccd\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/21#issuecomment-4325070559\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/21#issuecomment-4325070559\\nTitle: \\nBody:\\nClosed without merging \u2014 superseded by the cherry-pick approach. The branch + diff remain accessible if/when this is re-extracted.\\n\\n**Why deferred:** the hardening series (#21-#27) was written before main shipped `Neo4jSessionRunner` (#39), bulk methods (#34/#35/#37/#41), and the simplified bulk helpers (#44). Rebasing this PR against current main would mean ~2-3 hours of conflict resolution against a fundamentally different `neo4j/base.py` architecture. We landed the two items the eval harness actually needed (Phase 1.2 in #46, Phase 1.4 in #47) and deferred the rest.\\n\\n**What's lost without this:** see the \\\"Deferred from the Neo4j hardening series\\\" section in [TODO.md](https://github.com/ronsse/trellis-ai/blob/main/TODO.md). The most concrete cost is **no Neo4j connect timeout** \u2014 calls hang indefinitely on bad network instead of failing in 30s. Highest \\\"real\\\" cost of any deferred item.\\n\\n**Re-extraction:** when this is needed, the design lives on this branch (`neo4j/driver-lifecycle\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-312129204f81a60e\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact famili\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-eef2a3ed4a775039", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390883, "scanner": "foundry_dataset", "fingerprint": "44775f3b924d733412a57c091f78ed88fd2888c919eff52a7114e7dc9f98a808", "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": "ronsse/trellis-ai#208", "human_labels": ["mock_placeholder", "security_auth_secret"], "issue_number": "208", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.627, "repo_full_name": "ronsse/trellis-ai", "training_usage": "weak_supervision", "confidence_tier": "weak_supervision", "source_chain_id": "evidence-chain-issue_chain-cd41dd8f5a4e4a5c", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 8, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_weak_supervision", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#208\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_weak_supervision, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#208\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_and_fix_context\nOutcome: claimed_resolved_unverified\nComment count: 6\nLinked commit count: 8\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 5, 'mock_placeholder': 1}\nPolarities: {'bad': 6}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-8c65dec003d46513\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/208\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/208\\nTitle: Direct-write BI metadata smoke blocked by missing ArcadeDB secret and expired AWS SSO\\nBody:\\n## Finding\\n\\nPOC direct-write validation for the BI metadata curation phase is blocked by\\nmissing local ArcadeDB credentials and expired AWS SSO credentials.\\n\\n## Evidence\\n\\nLocal graph verify failed before any mutation attempt:\\n\\n- command: `consumer-kg admin verify --json`\\n- status: error at connect stage\\n- error type: `KeyError`\\n- missing key: `ARCADEDB_ROOT_PASSWORD`\\n\\nLocal secret checks:\\n\\n- `.env` currently exposes only `OPENAI_API_KEY`\\n- `/private/tmp/<password-file>` is absent\\n- `/private/tmp/<password-file>` is absent\\n\\nManaged secret lookup was attempted without printing secret values, but failed\\nbecause AWS SSO is expired:\\n\\n- `kubectl --context <dev-context> -n <namespace> get secret <secret-name> ...`\\n- `aws sts get-caller-identity`\\n- both failed due missing/expired AWS credentials\\n\\n## Impact\\n\\nReview-only BI metadata curation can continue, but the direct-write POC batch,\\npost-write `admin verify`, and idempotency/\"\n  },\n  {\n    \"id\": \"github-feedback-comment-ab543a5fa6aae8f3\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/208#issuecomment-4594553481\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/208#issuecomment-4594553481\\nTitle: \\nBody:\\nUpdate from 2026-06-01 stage-8 smoke: EC2 POC graph verification succeeded using the documented historical POC admin credential shape, so the local EC2 POC direct-write credential blocker is no longer active. EKS secr\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-f436da5c2712e4af", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "weak_supervision"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390882, "scanner": "foundry_dataset", "fingerprint": "6db0183ab53da34328ab2ab7e44513fbee88c5a0cd3c0b77eee7f63b3d239916", "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": "ronsse/trellis-ai#194", "human_labels": ["security_auth_secret"], "issue_number": "194", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-ae4f17afddcee6f0", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#194\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#194\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-c79d70d6a77d3086\",\n    \"kind\": \"issue_body\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/194\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/194\\nTitle: [security] Enforce data classification on retrieval and mutation paths\\nBody:\\n## Problem\\n`DataClassification` exists but is not populated or enforced. Retrieval, pack, and mutation paths can therefore return or mutate classified content without caller-aware policy checks.\\n\\n## Acceptance\\n- Classified content can be populated on graph/vector records or related metadata.\\n- Retrieval and pack paths can filter or deny classified content by caller scope.\\n- Mutation paths enforce caller permissions for classified content changes.\"\n  },\n  {\n    \"id\": \"github-feedback-comment-c2620ecab77c005f\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/issues/194#issuecomment-4617925180\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/issues/194#issuecomment-4617925180\\nTitle: \\nBody:\\n**Layer D \u2014 classification enforcement.** DataClassification gate in MutationExecutor + pre-filter in PackBuilder/retrieval; fail-closed treats unclassified as `internal`; opt-in via `TRELLIS_ENFORCE_CLASSIFICATION` for one release before becoming default. See **`docs/design/adr-rest-api-security-model.md`** \u00a7#194 (Status: Proposed). PR https://github.com/ronsse/trellis-ai/pull/237.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-62213c8626e429bb\", \"evidence-chain-comment_to_commit-6164ba6fa647508b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicop\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-2650a13614cd22ab", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390881, "scanner": "foundry_dataset", "fingerprint": "22edd32046e8abf2c6649e36622b641368b72adb68e65238559e7552256478d7", "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": "ronsse/trellis-ai#166", "human_labels": ["mock_placeholder"], "issue_number": "166", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.92, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-a4bb4a9e639aa83b", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#166\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#166\nRepo: ronsse/trellis-ai\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-94f05dbf11f8d0c7\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/166\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/166\\nTitle: docs(deployment): unit B6 \u2014 correct AuraDB cohabitation rule to reflect dim=3 scenario default\\nBody:\\n## Summary\\n\\nUnit B6 from `docs/design/plan-next-swarm-wave.md` \u00a75. Two small fixes from the TODO.md eval-framework-gaps section:\\n\\n**Fix 1 \u2014 pgvector dim alignment:** Verified no-op. `eval/scenarios/multi_backend_equivalence/scenario.py` already declares `DEFAULT_EMBEDDING_DIM = 3` (line 49) aligned with `tests/unit/stores/contracts/vector_store_contract.py`'s `DIMS = 3`. The PR #154 hygiene sweep already landed this. Spot-checked via string-extraction: `aligned=True`.\\n\\n**Fix 2 \u2014 AuraDB cohabitation rule docs:** The cohabitation section in `docs/deployment/neo4j-auradb.md` was already extensive (lines 194-306), but contained a stale claim that eval scenarios load embeddings at `dim=16`. Current reality: eval scenarios default to `dim=3`, only the **loader script CLI** (`scripts/load_eval_dataset_to_aura.py --embedding-dim`) defaults to `16`. Updated:\\n\\n- Split the third bullet so eval scenarios (dim=3, contract-\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-882a9c4a364e4b3b\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\"\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-6237ace64f53a91c", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390880, "scanner": "foundry_dataset", "fingerprint": "08f0c59c879cfae1db5777c3d7c5f83e17f66483be7f7987a32351af078ae95e", "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": "ronsse/trellis-ai#160", "human_labels": ["mock_placeholder"], "issue_number": "160", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-af415edeacd2e9f0", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#160\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#160\nRepo: ronsse/trellis-ai\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-0a4735a88418828a\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/160\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/160\\nTitle: docs(cleanup): A8 - C1.9 orphan-suspect decision frames (read-only)\\nBody:\\n## Summary\\n\\n- Adds `docs/design/audit-trellis-workers-orphan-decision-frames.md` \u2014 a structured decision-frame doc for the three C1.9 orphan-suspect modules surfaced by the 2026-05-14 audit (PR #143).\\n- Read-only analysis only; **no code or test changes**. Per the C1.6/C1.7 discipline, the delete-or-keep call belongs to a human, not the cleanup swarm.\\n- For each module, a frame answers four questions in the same order: (1) what does it do, (2) who was it built for (ADR/plan/commit anchors), (3) what would have to be true to use it (missing wiring), (4) what's lost by deleting. Each frame ends with a recommended-decision tag plus the driver question only the maintainer can answer.\\n\\n## Modules covered\\n\\n| Module | LOC | Recommended | Driver question |\\n|---|---:|---|---|\\n| `extract/query_pattern_observer.py` | 384 | `[KEEP \u2014 VALIDATE BEFORE DELETING]` | Has the Item 1 demonstration purpose been served? Does the eval scenario replace the nee\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-672ebcc97c428d20\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"doc\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-86d09d77ffdc96a5", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390879, "scanner": "foundry_dataset", "fingerprint": "b6ae2bdd77dde1b1d9dd2c818a639a46757c1d428666daf45b49259266c5cc47", "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": "ronsse/trellis-ai#157", "human_labels": ["mock_placeholder"], "issue_number": "157", "thread_label": "thread_has_human_issue_and_fix_context", "outcome_label": "claimed_resolved_unverified", "source_backed": true, "max_confidence": 0.82, "repo_full_name": "ronsse/trellis-ai", "training_usage": "gold_candidate", "confidence_tier": "high_confidence", "source_chain_id": "evidence-chain-issue_chain-823015ad3a46f82b", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "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": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_high_confidence", "high_risk_human_feedback_label"], "linked_ci_commit_count": 0, "verification_artifact_count": 1, "design_schema_api_artifact_count": 0}, "text": "Comment chain pattern product: bad_chains\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#157\nOutcome: claimed_resolved_unverified\nThread label: thread_has_human_issue_and_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_high_confidence, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#157\nRepo: ronsse/trellis-ai\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-f208163a5fde9946\",\n    \"kind\": \"pull_request_body\",\n    \"label\": \"mock_placeholder\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/157\",\n    \"text\": \"GitHub feedback: mock_placeholder\\nPolarity: bad\\nKind: pull_request_body\\nRepo: ronsse/trellis-ai\\nAuthor: ronsse (User)\\nURL: https://github.com/ronsse/trellis-ai/pull/157\\nTitle: docs(plan): next swarm wave \u2014 24 units across 5 waves\\nBody:\\nPlan for the next swarm wave following the 14-PR merge of program_convergence + C1 cleanup work.\\n\\n**Scope summary:**\\n- Closes every M-severity item the alignment audit surfaced (#143-#156)\\n- Sweeps ~15 L-severity hygiene items across TODO.md\\n- 3 architectural follow-ups: PackItem advisory provenance, Item 7 Cohort 2 scoping, real-LLM eval scenario\\n\\n**Wave structure:**\\n- Wave 1: 8 independent hygiene + test coverage units (parallel, ~45 min)\\n- Wave 2: 6 enrichment/classification + renderer units (parallel, ~60 min)\\n- Wave 3: 5 architectural foundations + scoping units (parallel, ~60 min)\\n- Wave 4: 4 capstone units (parallel, ~60 min)\\n- Wave 5: 1 real-LLM scenario implementation (~30 min)\\n\\n**Total:** 24 units, ~4-6 hours wall time with intra-wave parallelism.\\n\\nCloses M-severity items from PRs #143/#144/#147/#148/#149/#155 deferred-findings blocks + the alignment audit.\\n\\nPlan landed pre-execution so Wave 1 agents have it as a discoverable reference.\\n\\n\ud83e\udd16 \"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-d1b45ad2c2711bb2\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-b15484d3ce028461", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "gold_candidate"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390878, "scanner": "foundry_dataset", "fingerprint": "9ca0bd797038e38ea4a88151cfc84867b15fd8ae9d064ab49bd155d135a19976", "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": "ronsse/trellis-ai#106", "human_labels": ["api_integration_gap"], "issue_number": "106", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-fb178a9d2c4a6e4f", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#106\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#106\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 1\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'api_integration_gap': 1}\nPolarities: {'bad': 1}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-5a8701bdbcc060c9\",\n    \"kind\": \"issue_comment\",\n    \"label\": \"api_integration_gap\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/106#issuecomment-4418455569\",\n    \"text\": \"GitHub feedback: api_integration_gap\\nPolarity: bad\\nKind: issue_comment\\nRepo: ronsse/trellis-ai\\nAuthor: dependabot[bot] (Bot)\\nURL: https://github.com/ronsse/trellis-ai/pull/106#issuecomment-4418455569\\nTitle: \\nBody:\\n### Labels\\n\\nThe following labels could not be found: `dependencies`, `python`. Please create them before Dependabot can add them to a pull request.\\n\\n\\nPlease fix the above issues or remove invalid values from `dependabot.yml`.\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-99c97dbbba3e6531\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families: {\"ci\": 1, \"docs\": 7}\nHelicopter views: {\"graphs\": 2}\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/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-f5340b67e95a66aa", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_bad_chain", "level": "error", "message": {"text": "Foundry mined bad chains: ronsse/trellis-ai"}, "properties": {"repobilityId": 390877, "scanner": "foundry_dataset", "fingerprint": "82b22186fd5000c67cf1076b50065941129f281f061e11d5e69cf6ef9734a5ac", "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": "ronsse/trellis-ai#104", "human_labels": ["security_auth_secret"], "issue_number": "104", "thread_label": "thread_has_human_issue_without_fix_context", "outcome_label": "not_resolved_or_not_observed", "source_backed": true, "max_confidence": 0.0, "repo_full_name": "ronsse/trellis-ai", "training_usage": "negative_or_unresolved", "confidence_tier": "unresolved", "source_chain_id": "evidence-chain-issue_chain-7145d27105d63038", "helicopter_views": {"graphs": 2}, "artifact_families": {"ci": 1, "docs": 7}, "source_chain_kind": "issue_chain", "changed_file_count": 0, "source_graph_label": "source_backed_multi_signal_graph", "changed_file_labels": {}, "linked_commit_count": 0, "helicopter_view_count": 2, "source_artifact_count": 8, "classification_reasons": ["source_graph_has_real_artifacts", "source_graph_has_verification_artifacts", "repo_has_isolated_helicopter_views", "link_quality_unresolved", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#104\nOutcome: not_resolved_or_not_observed\nThread label: thread_has_human_issue_without_fix_context\nSource graph label: source_backed_multi_signal_graph\nReasons: source_graph_has_real_artifacts, source_graph_has_verification_artifacts, repo_has_isolated_helicopter_views, link_quality_unresolved, high_risk_human_feedback_label\nChain evidence:\nIssue/PR evidence chain: ronsse/trellis-ai#104\nRepo: ronsse/trellis-ai\nThread label: thread_has_human_issue_without_fix_context\nOutcome: not_resolved_or_not_observed\nComment count: 2\nLinked commit count: 0\nLinked CI commit count: 0\nLinked CI labels: {}\nChanged file count: 0\nLabels: {'security_auth_secret': 2}\nPolarities: {'bad': 2}\nChanged file labels: {}\nExamples:\n[\n  {\n    \"id\": \"github-feedback-comment-d8c1363849421edb\",\n    \"kind\": \"review_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/104#discussion_r3206239635\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: review_comment\\nRepo: ronsse/trellis-ai\\nAuthor: github-advanced-security[bot] (Bot)\\nURL: https://github.com/ronsse/trellis-ai/pull/104#discussion_r3206239635\\nTitle: \\nBody:\\n## CodeQL / Clear-text logging of sensitive information\\n\\nThis expression logs [sensitive data (password)](1) as clear text.\\n\\n[Show more details](https://github.com/ronsse/trellis-ai/security/code-scanning/4)\"\n  },\n  {\n    \"id\": \"github-feedback-comment-8ca57545d6f92e08\",\n    \"kind\": \"review_comment\",\n    \"label\": \"security_auth_secret\",\n    \"polarity\": \"bad\",\n    \"url\": \"https://github.com/ronsse/trellis-ai/pull/104#discussion_r3206239640\",\n    \"text\": \"GitHub feedback: security_auth_secret\\nPolarity: bad\\nKind: review_comment\\nRepo: ronsse/trellis-ai\\nAuthor: github-advanced-security[bot] (Bot)\\nURL: https://github.com/ronsse/trellis-ai/pull/104#discussion_r3206239640\\nTitle: \\nBody:\\n## CodeQL / Clear-text logging of sensitive information\\n\\nThis expression logs [sensitive data (password)](1) as clear text.\\n\\n[Show more details](https://github.com/ronsse/trellis-ai/security/code-scanning/5)\"\n  }\n]\nChanged files:\n[]\nLinked chain ids:\n[\"evidence-chain-comment_to_commit-e4c2794601ceebb3\", \"evidence-chain-comment_to_commit-ff995365ad045805\"]\nSource graph evidence:\nSource evidence repo graph summary\nRepo: ronsse/trellis-ai\nGraph label: source_backed_multi_signal_graph\nNodes: 14\nEdges: 22\nNode types: {\"cooccurrence_profile\": 1, \"github_repo_summary\": 1, \"helicopter_repo_view\": 2, \"repo\": 1, \"source_artifact\": 8, \"source_bundle\": 1}\nEdge types: {\"artifact_needs_claim_verification\": 7, \"artifact_supports_verification\": 1, \"repo_has_cooccurrence_profile\": 1, \"repo_has_github_evidence_summary\": 1, \"repo_has_graphs_helicopter_view\": 2, \"repo_has_source_artifact\": 8, \"repo_has_source_bundle\": 1, \"source_bundle_uses_cooccurrence_profile\": 1}\nArtifact families:\n[truncated by importer]", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "comment-chain-pattern-bad_chains-5bb90f569dee2a3f", "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": "ronsse/trellis-ai", "source_dataset": "comment_chain_patterns/bad_chains", "training_usage": "negative_or_unresolved"}}}, {"ruleId": "foundry_auth_guardrail_gap", "level": "error", "message": {"text": "Foundry mined security auth guardrail gaps: ronsse/trellis-ai"}, "properties": {"repobilityId": 414620, "scanner": "foundry_dataset", "fingerprint": "79203fc2b09266f9040b45fee95183a86c1eeb9b3113095cab628d0e5936d0be", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 1, "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": 13, "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": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 11, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#239", "issue_number": "239", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-c1ecd22e1c02c1b3", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#239\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#239\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#239\nRepo: ronsse/trellis-ai\nIssue/PR number: 239\nGraph consistency label: weak_supervision_needs_review\nNodes: 11\nEdges: 13\nNode types: {'link_quality': 3, 'commit': 2, 'thread': 1, 'repo': 1, 'comment': 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_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, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'bug_fix': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-7ab8a8d22f99b291", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414619, "scanner": "foundry_dataset", "fingerprint": "09f8477ab93d23d4fa1ef075feb591e617e71f76f6c9fbb26bf58027932c04a9", "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, "test_ci_gap": 1, "api_integration_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 1, "blueprint_human_gap_disagreement": 2, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 37, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#224", "issue_number": "224", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-0b5b907254612512", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#224\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#224\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#224\nRepo: ronsse/trellis-ai\nIssue/PR number: 224\nGraph consistency label: weak_supervision_needs_review\nNodes: 28\nEdges: 37\nNode types: {'commit': 8, 'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 8, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, '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: {'verification_or_tests': 5, 'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'test_ci_gap': 1, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'comment_has_related_commit_context': 1, 'ambiguous_needs_more_evidence': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'ambiguous_needs_more_evidence': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-dfaf8f1b3209d29d", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414618, "scanner": "foundry_dataset", "fingerprint": "327c7256868e68841ad52fb19fe59855e18c15364f0a99a8482cdacad35dbf64", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 4, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 3, "data_schema_persistence": 2, "mostly follows blueprint": 1, "claimed_resolved_unverified": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 3, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 2, "not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 39, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 7, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 10, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 28, "node_types": {"repo": 1, "commit": 8, "thread": 1, "comment": 3, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 7, "comment_chain": 3, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#220", "issue_number": "220", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-c6752b6b002e17ce", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#220\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#220\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#220\nRepo: ronsse/trellis-ai\nIssue/PR number: 220\nGraph consistency label: supported_by_verification_signal\nNodes: 28\nEdges: 39\nNode types: {'commit': 8, 'link_quality': 7, 'comment': 3, 'comment_chain': 3, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 10, 'chain_has_link_quality': 7, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'issue_chain_has_comment_chain': 3, '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: {'bug_fix': 4, 'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'data_schema_persistence': 2, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'claimed_resolved_unverified': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 6, 'claimed_resolved_unverified': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 4, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-123d22a9436dc68e", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414617, "scanner": "foundry_dataset", "fingerprint": "0dc827f9aa287f81c8532a6d28c0e8e348470332f5a6bb99bcd0f8617f27eae4", "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, "api_integration_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 23, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 18, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#214", "issue_number": "214", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-79d2350bb49db61c", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#214\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#214\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#214\nRepo: ronsse/trellis-ai\nIssue/PR number: 214\nGraph consistency label: weak_supervision_needs_review\nNodes: 18\nEdges: 23\nNode types: {'link_quality': 5, 'commit': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'chain_has_link_quality': 5, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 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, 'api_integration_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-826e5df1f006aa4e", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414616, "scanner": "foundry_dataset", "fingerprint": "f52efd779132bbc7857d94c20d2f26ff5fe7191a90ca20bae6bc7fc294c1b848", "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, "api_integration_gap": 1, "security_or_secrets": 1, "security_auth_secret": 3, "verification_or_tests": 3, "data_schema_persistence": 1, "mostly follows blueprint": 1, "claimed_resolved_unverified": 5, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "blueprint_human_gap_disagreement": 2, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 3, "thread_has_human_issue_and_fix_context": 2, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 10, "not_resolved_or_not_observed": 2, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 54, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 5, "thread_has_comment": 5, "alignment_uses_comment": 2, "alignment_uses_finding": 2, "chain_has_link_quality": 9, "comment_aligns_finding": 2, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 5, "comment_chain_links_commit": 15, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 5}, "node_count": 33, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 5, "alignment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 9, "comment_chain": 5, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#210", "issue_number": "210", "quality_tiers": {"unresolved": 1, "assumption_check": 2, "weak_supervision": 6}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-7fb56cc8d8d180fc", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#210\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#210\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#210\nRepo: ronsse/trellis-ai\nIssue/PR number: 210\nGraph consistency label: supported_by_verification_signal\nNodes: 33\nEdges: 54\nNode types: {'link_quality': 9, 'commit': 7, 'comment': 5, 'comment_chain': 5, 'alignment': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 15, 'chain_has_link_quality': 9, 'thread_has_comment': 5, 'thread_has_comment_chain': 5, 'comment_has_chain': 5, 'issue_chain_has_comment_chain': 5, '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_unverified': 5, 'security_auth_secret': 3, 'human_reported_issue_then_fix_attempt': 3, 'bug_fix': 3, 'verification_or_tests': 3, 'thread_has_human_issue_and_fix_context': 2, 'blueprint_human_gap_disagreement': 2, 'issue_or_pull_request_thread': 1, 'api_integration_gap': 1, 'data_schema_persistence': 1, 'security_or_secrets': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'mostly follows blueprint': 1}\nOutcomes: {'claimed_resolved_unverified': 10, 'claimed_resolved_with_verification_signal': 2, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 6, 'assumption_check': 2, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-91788408a1a62795", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414615, "scanner": "foundry_dataset", "fingerprint": "8715086f58927631de367d2a68d9f4cbbf403c5d84921bebca6a752c2f3a30c9", "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, "mock_placeholder": 1, "security_or_secrets": 1, "security_auth_secret": 5, "claimed_resolved_unverified": 6, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "human_reported_issue_no_linked_fix": 2, "human_reported_issue_then_fix_attempt": 4, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 12, "not_resolved_or_not_observed": 4}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 44, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 6, "thread_has_comment": 6, "chain_has_link_quality": 8, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 6, "comment_chain_links_commit": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 6}, "node_count": 28, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 6}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#208", "issue_number": "208", "quality_tiers": {"unresolved": 2, "weak_supervision": 6}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-ada2906924276da1", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#208\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#208\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#208\nRepo: ronsse/trellis-ai\nIssue/PR number: 208\nGraph consistency label: weak_supervision_needs_review\nNodes: 28\nEdges: 44\nNode types: {'link_quality': 8, 'comment': 6, 'comment_chain': 6, 'commit': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 8, 'chain_has_link_quality': 8, 'thread_has_comment': 6, 'thread_has_comment_chain': 6, 'comment_has_chain': 6, 'issue_chain_has_comment_chain': 6, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 6, 'security_auth_secret': 5, 'human_reported_issue_then_fix_attempt': 4, 'bug_fix': 3, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 12, 'not_resolved_or_not_observed': 4}\nQuality tiers: {'weak_supervision': 6, 'unresolved': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-08d04ee698d79fb5", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414614, "scanner": "foundry_dataset", "fingerprint": "bada9cbc485233721b34b2e979f7e61a28f14db641393130116a0e8b59167036", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"test_ci_gap": 1, "security_auth_secret": 1, "verification_or_tests": 5, "mostly follows blueprint": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 3, "blueprint_human_gap_disagreement": 1, "comment_has_related_commit_context": 1, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 25, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "alignment_uses_comment": 1, "alignment_uses_finding": 1, "chain_has_link_quality": 5, "comment_aligns_finding": 1, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 5, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 2, "alignment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 2, "blueprint_finding": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#207", "issue_number": "207", "quality_tiers": {"unresolved": 1, "assumption_check": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-d7fa39c6f7cf4205", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#207\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#207\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#207\nRepo: ronsse/trellis-ai\nIssue/PR number: 207\nGraph consistency label: weak_supervision_needs_review\nNodes: 20\nEdges: 25\nNode types: {'commit': 5, 'link_quality': 5, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1, 'alignment': 1, 'blueprint_finding': 1}\nEdge types: {'comment_chain_links_commit': 5, 'chain_has_link_quality': 5, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1, 'alignment_uses_comment': 1, 'alignment_uses_finding': 1, 'comment_aligns_finding': 1}\nLabels: {'verification_or_tests': 5, 'ambiguous_needs_more_evidence': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'test_ci_gap': 1, 'security_auth_secret': 1, 'comment_has_related_commit_context': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'blueprint_human_gap_disagreement': 1, 'mostly follows blueprint': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1, 'assumption_check': 1}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-a26dc2ca98ea1eb5", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414613, "scanner": "foundry_dataset", "fingerprint": "311ce585de0530735e9d770ce736ba6dc13d10fcdb025454b521a4b35e1e4861", "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, "deployment_env_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "verification_or_tests": 4, "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, "claimed_resolved_with_verification_signal": 1, "human_reported_issue_then_verified_fix_attempt": 1}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6, "claimed_resolved_with_verification_signal": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 19, "node_types": {"repo": 1, "commit": 7, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#205", "issue_number": "205", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-8107d227ed076279", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#205\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#205\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#205\nRepo: ronsse/trellis-ai\nIssue/PR number: 205\nGraph consistency label: supported_by_verification_signal\nNodes: 19\nEdges: 24\nNode types: {'commit': 7, 'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 8, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'verification_or_tests': 4, '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, 'deployment_env_gap': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'human_reported_issue_then_verified_fix_attempt': 1, 'claimed_resolved_with_verification_signal': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'claimed_resolved_with_verification_signal': 2}\nQuality tiers: {'weak_supervision': 4}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-f32083e8b9e21690", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414612, "scanner": "foundry_dataset", "fingerprint": "676bcb7a1c3801c8c45a50c47564c66b2f16544162e1db9992c9385adb1353ad", "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, "deployment_env_gap": 1, "security_or_secrets": 1, "security_auth_secret": 1, "human_feedback_general": 1, "unlinked_human_feedback": 1, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "ambiguous_needs_more_evidence": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2, "ambiguous_needs_more_evidence": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 24, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 3, "thread_has_comment": 3, "chain_has_link_quality": 5, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 3, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 3}, "node_count": 18, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 3, "fix_outcome": 1, "issue_chain": 1, "link_quality": 5, "comment_chain": 3}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#204", "issue_number": "204", "quality_tiers": {"unresolved": 2, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-a271d4ced23c9c8a", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#204\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#204\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#204\nRepo: ronsse/trellis-ai\nIssue/PR number: 204\nGraph consistency label: weak_supervision_needs_review\nNodes: 18\nEdges: 24\nNode types: {'link_quality': 5, 'comment': 3, 'comment_chain': 3, 'commit': 3, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 5, 'thread_has_comment': 3, 'thread_has_comment_chain': 3, 'comment_has_chain': 3, 'comment_chain_links_commit': 3, 'issue_chain_has_comment_chain': 3, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_auth_secret': 1, 'deployment_env_gap': 1, 'human_feedback_general': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1, 'unlinked_human_feedback': 1, 'ambiguous_needs_more_evidence': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2, 'ambiguous_needs_more_evidence': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-9de97cf059437387", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414611, "scanner": "foundry_dataset", "fingerprint": "882de7ceaf6b50c81212638ebbdedf1c6d98514cc655b819f13e95325f407b48", "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, "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": 15, "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": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#203", "issue_number": "203", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-905ceaf871cd627c", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#203\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#203\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#203\nRepo: ronsse/trellis-ai\nIssue/PR number: 203\nGraph consistency label: weak_supervision_needs_review\nNodes: 13\nEdges: 15\nNode types: {'commit': 4, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 4, '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, '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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-1fd38a28f6b1de36", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414610, "scanner": "foundry_dataset", "fingerprint": "3baf2aceb1ae9523042c2bcfb38b7fa37ed71660fef2d95e70dcf71fefcf6943", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"security_auth_secret": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 8}, "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": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#194", "issue_number": "194", "quality_tiers": {"unresolved": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-5fba2ebf1178ccfd", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: needs_more_evidence\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#194\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#194\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#194\nRepo: ronsse/trellis-ai\nIssue/PR number: 194\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'security_auth_secret': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 4}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-17b075a2adf07578", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414609, "scanner": "foundry_dataset", "fingerprint": "61d7a777025b4dca73f61a303089b5c7f91910458b3050e3c90aa7f014f4a70e", "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": 2, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 8}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 19, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 15, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#193", "issue_number": "193", "quality_tiers": {"weak_supervision": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-f86055b0bfcbc4f5", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#193\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#193\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#193\nRepo: ronsse/trellis-ai\nIssue/PR number: 193\nGraph consistency label: weak_supervision_needs_review\nNodes: 15\nEdges: 19\nNode types: {'link_quality': 4, 'commit': 3, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 4, 'security_auth_secret': 2, 'human_reported_issue_then_fix_attempt': 2, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 8}\nQuality tiers: {'weak_supervision': 4}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-7c9097b028fe5394", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414608, "scanner": "foundry_dataset", "fingerprint": "a0ccb85bb1b57aa7c209bf80ab688ab552704069776ae2c5e9301f437e9747c7", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 1, "security_or_secrets": 1, "security_auth_secret": 2, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 8}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 20, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 14, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#192", "issue_number": "192", "quality_tiers": {"high_confidence": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-80459d8241d4d77a", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#192\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#192\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#192\nRepo: ronsse/trellis-ai\nIssue/PR number: 192\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 20\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 4, 'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 4, 'security_auth_secret': 2, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'bug_fix': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 8}\nQuality tiers: {'high_confidence': 4}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-2ed89746676ade48", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414607, "scanner": "foundry_dataset", "fingerprint": "304a604d877ce4fd6d1176985820cdc36a7f82a62f750cbb3ed7cbb820c3b356", "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": 2, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 8}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 18, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 13, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#191", "issue_number": "191", "quality_tiers": {"high_confidence": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-58bbd7a648214c40", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#191\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#191\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#191\nRepo: ronsse/trellis-ai\nIssue/PR number: 191\nGraph consistency label: supported_by_high_confidence_link\nNodes: 13\nEdges: 18\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'comment_chain_links_commit': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 4, 'security_auth_secret': 2, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 8}\nQuality tiers: {'high_confidence': 4}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-952999b36e8e090b", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414606, "scanner": "foundry_dataset", "fingerprint": "d73f4ad56a3ede15a948f41eaef49c915e1c136704df17ad02c58a21aff776cc", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"bug_fix": 1, "security_or_secrets": 1, "security_auth_secret": 2, "claimed_resolved_unverified": 4, "issue_or_pull_request_thread": 1, "human_reported_issue_then_fix_attempt": 2, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 8}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 19, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 14, "node_types": {"repo": 1, "commit": 2, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#190", "issue_number": "190", "quality_tiers": {"high_confidence": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-62f582d8a07d23a5", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#190\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#190\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#190\nRepo: ronsse/trellis-ai\nIssue/PR number: 190\nGraph consistency label: supported_by_high_confidence_link\nNodes: 14\nEdges: 19\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'commit': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'comment_chain_links_commit': 3, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 4, 'security_auth_secret': 2, 'human_reported_issue_then_fix_attempt': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'bug_fix': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 8}\nQuality tiers: {'high_confidence': 4}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-6e1da2dad6bd708f", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414605, "scanner": "foundry_dataset", "fingerprint": "b05d7e3a4a89975fefa8ef5cd58713a535aae29accdfcd8568b6ca424d5a4afc", "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": 2, "claimed_resolved_unverified": 3, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 1, "human_reported_issue_no_linked_fix": 1, "human_reported_issue_then_fix_attempt": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"claimed_resolved_unverified": 6, "not_resolved_or_not_observed": 2}, "polarity": "bad", "query_id": "security_auth_guardrail_gaps", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 17, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "comment_chain_links_commit": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 13, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#189", "issue_number": "189", "quality_tiers": {"unresolved": 1, "weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-b4f7730b88c624f6", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#189\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#189\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#189\nRepo: ronsse/trellis-ai\nIssue/PR number: 189\nGraph consistency label: weak_supervision_needs_review\nNodes: 13\nEdges: 17\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'comment_chain_links_commit': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 3, 'security_auth_secret': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'human_reported_issue_then_fix_attempt': 1, 'security_or_secrets': 1, 'human_reported_issue_no_linked_fix': 1, 'not_resolved_or_not_observed': 1}\nOutcomes: {'claimed_resolved_unverified': 6, 'not_resolved_or_not_observed': 2}\nQuality tiers: {'weak_supervision': 3, 'unresolved': 1}\nCI labels: {}\nCurriculum targets:\n- Train auth boundary repair with tests, permission matrices, and secret-handling checks.\n- Keep risky auth changes separate from ordinary bug-fix examples.\nAssumption checks:\n- Are auth/permission paths covered by tests?\n- Are secrets, CORS, or access rules verified rather than summarized?", "source": "foundry_mined_dataset", "repo_url": "https://github.com/ronsse/trellis-ai", "source_id": "graph-query-motif_query-028da8aabe0e70da", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 414604, "scanner": "foundry_dataset", "fingerprint": "1186b6fea552f158d4e95231091f740549657a17b8f97d50636632da524e83f5", "category": "auth", "severity": "critical", "confidence": 0.78, "triageState": "open", "verdict": "needs_review", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Security/auth changes without enough guardrails", "intent": "Assumption-check security/auth examples requiring stronger tests or CI.", "labels": {"security_auth_secret": 2, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 4, "human_reported_issue_no_linked_fix": 2, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "security_auth_without_guardrails", "outcomes": {"not_resolved_or_not_observed": 8}, "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": 2, "thread_has_comment": 2, "chain_has_link_quality": 4, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 2, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 2}, "node_count": 12, "node_types": {"repo": 1, "thread": 1, "comment": 2, "fix_outcome": 1, "issue_chain": 1, "link_quality": 4, "comment_chain": 2}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#104", "issue_number": "104", "quality_tiers": {"unresolved": 4}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "assumption_check", "source_motif_id": "graph-pattern-motif-thread-022c6e2adda7c023", "graph_gold_label": "needs_more_evidence", "changed_file_labels": {}}, "text": "Graph query export: Security/auth changes without enough guardrails\nQuery id: security_auth_guardrail_gaps\nQuery type: motif_query\nIntent: Assumption-check security/auth examples requiring stronger tests or CI.\nMotif: security_auth_without_guardrails\nTraining usage: assumption_check\nGraph gold label: needs_more_evidence\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#104\nEvidence:\nGraph motif: Security/auth change without enough guardrails\nMotif id: security_auth_without_guardrails\nPolarity: bad\nTraining usage: assumption_check\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#104\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#104\nRepo: ronsse/trellis-ai\nIssue/PR number: 104\nGraph consistency label: needs_more_evidence\nNodes: 12\nEdges: 16\nNode types: {'link_quality': 4, 'comment': 2, 'comment_chain': 2, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 4, 'thread_has_comment': 2, 'thread_has_comment_chain': 2, 'comment_has_chain': 2, 'issue_chain_has_comment_chain': 2, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 4, 'security_auth_secret': 2, 'human_reported_issue_no_linked_fix': 2, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1}\nOutcomes: {'not_resolved_or_not_observed': 8}\nQuality tiers: {'unresolved': 4}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-4d04164e16252603", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408091, "scanner": "foundry_dataset", "fingerprint": "1db3dbd718297203a32b5e37444417bc7ca8d4ac7bda5319454ba59a6ed98595", "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": 5, "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": "ronsse/trellis-ai#27", "issue_number": "27", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-cdc775ab82ac9d78", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#27\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#27\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#27\nRepo: ronsse/trellis-ai\nIssue/PR number: 27\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': 5, '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}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-8d776cf1e5382e46", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408090, "scanner": "foundry_dataset", "fingerprint": "ad29b6f50bb1e2ddec0a583ca8a327e84ea4d53a63eb738e9f5fd093a7ea23f1", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "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": 14, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "comment_chain_links_commit": 3, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 12, "node_types": {"repo": 1, "commit": 3, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#26", "issue_number": "26", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-deeaee9e2d313e5a", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#26\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#26\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#26\nRepo: ronsse/trellis-ai\nIssue/PR number: 26\nGraph consistency label: weak_supervision_needs_review\nNodes: 12\nEdges: 14\nNode types: {'commit': 3, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 3, 'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'bug_fix': 3, '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}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-8cc15928d8931585", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408089, "scanner": "foundry_dataset", "fingerprint": "59fd4cbe121b006f9a732f4fd10c88eaf3bdc7b253f130e13baa460dbd921f45", "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": {"mock_placeholder": 1, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 3, "human_reported_issue_no_linked_fix": 1, "thread_has_human_issue_without_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"not_resolved_or_not_observed": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 11, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 1, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 9, "node_types": {"repo": 1, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#25", "issue_number": "25", "quality_tiers": {"unresolved": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a0007bbc8e824aab", "graph_gold_label": "needs_more_evidence", "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: needs_more_evidence\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#25\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#25\nGraph gold label: needs_more_evidence\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#25\nRepo: ronsse/trellis-ai\nIssue/PR number: 25\nGraph consistency label: needs_more_evidence\nNodes: 9\nEdges: 11\nNode types: {'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'chain_has_link_quality': 3, 'repo_has_thread': 1, 'thread_has_comment': 1, 'thread_has_comment_chain': 1, 'comment_has_chain': 1, 'thread_has_issue_chain': 1, 'issue_chain_has_comment_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'not_resolved_or_not_observed': 3, 'thread_has_human_issue_without_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_no_linked_fix': 1}\nOutcomes: {'not_resolved_or_not_observed': 6}\nQuality tiers: {'unresolved': 3}\nCI labels: {}\nCurriculum targets:\n- Train 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-30cc30e02807b7a3", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408088, "scanner": "foundry_dataset", "fingerprint": "98a2b7692107e8f0d359ed21c855705b907c18d759ae184af7ac90e3b1903dbf", "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": {"test_or_ci": 11, "api_or_backend": 2, "docs_or_claims": 18, "ui_or_frontend": 3, "mock_placeholder": 1, "verification_or_tests": 1, "issue_or_pull_request_thread": 1, "ambiguous_needs_more_evidence": 3, "comment_has_related_commit_context": 1, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"ambiguous_needs_more_evidence": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 70, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 34, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 12, "thread_has_comment_chain": 1, "comment_chain_links_commit": 1, "comment_chain_touches_file": 12, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 44, "node_types": {"repo": 1, "commit": 1, "thread": 1, "comment": 1, "pr_file": 34, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#240", "issue_number": "240", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-c5fd3ebdc738b0b2", "graph_gold_label": "supported_by_high_confidence_link", "changed_file_labels": {"test_or_ci": 44, "api_or_backend": 8, "docs_or_claims": 72, "ui_or_frontend": 12}}, "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#240\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#240\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#240\nRepo: ronsse/trellis-ai\nIssue/PR number: 240\nGraph consistency label: supported_by_high_confidence_link\nNodes: 44\nEdges: 70\nNode types: {'pr_file': 34, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'commit': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 34, 'comment_chain_touches_file': 12, 'issue_chain_touches_file': 12, '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: {'docs_or_claims': 18, 'test_or_ci': 11, 'ui_or_frontend': 3, 'ambiguous_needs_more_evidence': 3, 'api_or_backend': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'comment_has_related_commit_context': 1, 'verification_or_tests': 1}\nOutcomes: {'ambiguous_needs_more_evidence': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-ba11d985159550f9", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408087, "scanner": "foundry_dataset", "fingerprint": "bf55792d4cd42d85deffc258278b98388510d5b08b747dc85deb4bcf6ee737c4", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 1, "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": 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": "ronsse/trellis-ai#23", "issue_number": "23", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-52715f59b0c7dfad", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#23\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#23\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#23\nRepo: ronsse/trellis-ai\nIssue/PR number: 23\nGraph consistency label: weak_supervision_needs_review\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, 'mock_placeholder': 1, 'human_reported_issue_then_fix_attempt': 1, 'bug_fix': 1}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-a232cd2bd2d82bfb", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408086, "scanner": "foundry_dataset", "fingerprint": "c6963e0549f26b90b8d58d423c3f5aec85dbbf9ab071f24ddc9a3a8c974a9750", "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, "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": 15, "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": 4, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 13, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 1, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#21", "issue_number": "21", "quality_tiers": {"weak_supervision": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b19655af3935a2ad", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#21\nEvidence:\nGraph motif: Mock, sample, placeholder, or self-attested behavior treated as real\nMotif id: mock_as_real_or_placeholder\nPolarity: bad\nTraining usage: hard_negative\nSeverity: critical\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#21\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#21\nRepo: ronsse/trellis-ai\nIssue/PR number: 21\nGraph consistency label: weak_supervision_needs_review\nNodes: 13\nEdges: 15\nNode types: {'commit': 4, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 4, '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}\nOutcomes: {'claimed_resolved_unverified': 6}\nQuality tiers: {'weak_supervision': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-e88816244ea36c32", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408085, "scanner": "foundry_dataset", "fingerprint": "67895739ed510786fefd27679c5f7de11b87f6222335218d5edfc5e4522e6ef5", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "mock_placeholder": 1, "security_or_secrets": 1, "security_auth_secret": 5, "claimed_resolved_unverified": 6, "issue_or_pull_request_thread": 1, "not_resolved_or_not_observed": 2, "human_reported_issue_no_linked_fix": 2, "human_reported_issue_then_fix_attempt": 4, "thread_has_human_issue_and_fix_context": 2}, "source": "graph_query_export", "motif_id": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_unverified": 12, "not_resolved_or_not_observed": 4}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 44, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 6, "thread_has_comment": 6, "chain_has_link_quality": 8, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "thread_has_comment_chain": 6, "comment_chain_links_commit": 8, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 6}, "node_count": 28, "node_types": {"repo": 1, "commit": 4, "thread": 1, "comment": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 8, "comment_chain": 6}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#208", "issue_number": "208", "quality_tiers": {"unresolved": 2, "weak_supervision": 6}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-9c9d327c0ff6d909", "graph_gold_label": "weak_supervision_needs_review", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: weak_supervision_needs_review\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#208\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#208\nGraph gold label: weak_supervision_needs_review\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#208\nRepo: ronsse/trellis-ai\nIssue/PR number: 208\nGraph consistency label: weak_supervision_needs_review\nNodes: 28\nEdges: 44\nNode types: {'link_quality': 8, 'comment': 6, 'comment_chain': 6, 'commit': 4, 'thread': 1, 'repo': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'comment_chain_links_commit': 8, 'chain_has_link_quality': 8, 'thread_has_comment': 6, 'thread_has_comment_chain': 6, 'comment_has_chain': 6, 'issue_chain_has_comment_chain': 6, 'repo_has_thread': 1, 'thread_has_issue_chain': 1, 'thread_has_fix_outcome': 1, 'issue_chain_has_fix_outcome': 1}\nLabels: {'claimed_resolved_unverified': 6, 'security_auth_secret': 5, 'human_reported_issue_then_fix_attempt': 4, 'bug_fix': 3, 'human_reported_issue_no_linked_fix': 2, 'not_resolved_or_not_observed': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'security_or_secrets': 1}\nOutcomes: {'claimed_resolved_unverified': 12, 'not_resolved_or_not_observed': 4}\nQuality tiers: {'weak_supervision': 6, 'unresolved': 2}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-bf30d35a91a179e2", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408084, "scanner": "foundry_dataset", "fingerprint": "e3ae8cc398f9eeb8503edf6f275057ee33ebc1ae613da4a96affb8e22925f915", "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, "test_or_ci": 2, "docs_or_claims": 2, "ui_or_frontend": 2, "mock_placeholder": 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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 6, "chain_has_link_quality": 3, "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": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#183", "issue_number": "183", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-bfeaaba7e8fb4d6c", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "docs_or_claims": 8, "ui_or_frontend": 8}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#183\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#183\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#183\nRepo: ronsse/trellis-ai\nIssue/PR number: 183\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 34\nNode types: {'pr_file': 6, 'commit': 5, 'link_quality': 3, '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': 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_with_verification_signal': 3, 'docs_or_claims': 2, 'ui_or_frontend': 2, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 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}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-fd5032214d50d447", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408083, "scanner": "foundry_dataset", "fingerprint": "47683ac528cb7bb5066c4140428e9999e35f1da2ebd0949e25fdd7b1f11b0ff6", "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, "test_or_ci": 1, "docs_or_claims": 1, "ui_or_frontend": 1, "source_or_other": 3, "mock_placeholder": 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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 34, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 6, "chain_has_link_quality": 3, "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": 20, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 6, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#179", "issue_number": "179", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-53115e23f374d5ff", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "docs_or_claims": 4, "ui_or_frontend": 4, "source_or_other": 12}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#179\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#179\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#179\nRepo: ronsse/trellis-ai\nIssue/PR number: 179\nGraph consistency label: supported_by_verification_signal\nNodes: 20\nEdges: 34\nNode types: {'pr_file': 6, 'commit': 5, 'link_quality': 3, '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': 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, 'source_or_other': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'docs_or_claims': 1, 'ui_or_frontend': 1, 'test_or_ci': 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}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-69cabf847a2c3b56", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408082, "scanner": "foundry_dataset", "fingerprint": "6465790b6b1cd41f50c6889f1f0da080107b3a0ab7d785d21becc04915ab8ba3", "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, "test_or_ci": 1, "docs_or_claims": 5, "ui_or_frontend": 3, "mock_placeholder": 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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 43, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 9, "chain_has_link_quality": 3, "thread_has_fix_outcome": 1, "thread_has_issue_chain": 1, "issue_chain_touches_file": 9, "thread_has_comment_chain": 1, "comment_chain_links_commit": 5, "comment_chain_touches_file": 9, "issue_chain_has_fix_outcome": 1, "issue_chain_has_comment_chain": 1}, "node_count": 23, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 9, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#178", "issue_number": "178", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b80ba3d0d7f5de3e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 4, "docs_or_claims": 20, "ui_or_frontend": 12}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#178\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#178\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#178\nRepo: ronsse/trellis-ai\nIssue/PR number: 178\nGraph consistency label: supported_by_verification_signal\nNodes: 23\nEdges: 43\nNode types: {'pr_file': 9, 'commit': 5, 'link_quality': 3, 'thread': 1, 'repo': 1, 'comment': 1, 'comment_chain': 1, 'issue_chain': 1, 'fix_outcome': 1}\nEdge types: {'thread_touches_file': 9, 'comment_chain_touches_file': 9, 'issue_chain_touches_file': 9, '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: {'docs_or_claims': 5, 'bug_fix': 4, 'ui_or_frontend': 3, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'test_or_ci': 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}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-2f1c0a956ce003c6", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408081, "scanner": "foundry_dataset", "fingerprint": "a69ebebde6b2050cd2bc047873caee91f55684bedb6f9f9f86564bffb1c91a6b", "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, "test_or_ci": 2, "docs_or_claims": 1, "source_or_other": 2, "mock_placeholder": 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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 6}, "polarity": "bad", "query_id": "mock_as_real_or_placeholder", "severity": "critical", "ci_labels": {}, "synthetic": false, "edge_count": 31, "edge_types": {"repo_has_thread": 1, "comment_has_chain": 1, "thread_has_comment": 1, "thread_touches_file": 5, "chain_has_link_quality": 3, "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": 19, "node_types": {"repo": 1, "commit": 5, "thread": 1, "comment": 1, "pr_file": 5, "fix_outcome": 1, "issue_chain": 1, "link_quality": 3, "comment_chain": 1}, "query_type": "motif_query", "thread_key": "ronsse/trellis-ai#177", "issue_number": "177", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-a059be1382e0d0ba", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {"test_or_ci": 8, "docs_or_claims": 4, "source_or_other": 8}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#177\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#177\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#177\nRepo: ronsse/trellis-ai\nIssue/PR number: 177\nGraph consistency label: supported_by_verification_signal\nNodes: 19\nEdges: 31\nNode types: {'pr_file': 5, 'commit': 5, 'link_quality': 3, '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, 'issue_chain_touches_file': 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_with_verification_signal': 3, 'source_or_other': 2, 'test_or_ci': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'docs_or_claims': 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}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-e11bbbd13038e627", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408080, "scanner": "foundry_dataset", "fingerprint": "9ae4eace47e19c8abe899809a5db80e403b49fa3ea9dc65b734d64bfb2a38aa3", "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, "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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#175", "issue_number": "175", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7d09f6a94a6ef268", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#175\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#175\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#175\nRepo: ronsse/trellis-ai\nIssue/PR number: 175\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': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 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}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-a02f3c80c27aa64b", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408079, "scanner": "foundry_dataset", "fingerprint": "9083a097acdf0c16dd009cd94e87b7617c8efdf77f764034e87a2e9354cce113", "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, "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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#173", "issue_number": "173", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-b36af27556eb4346", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#173\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#173\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#173\nRepo: ronsse/trellis-ai\nIssue/PR number: 173\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': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 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}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-e943b878bc7d9b19", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408078, "scanner": "foundry_dataset", "fingerprint": "46e99948faffd94891927fb6d097cbd7c439472f77584d32e1c7886a120b5c41", "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, "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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#172", "issue_number": "172", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7c91594a0502cc7e", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#172\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#172\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#172\nRepo: ronsse/trellis-ai\nIssue/PR number: 172\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': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 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}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-228dba2615176b5f", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408077, "scanner": "foundry_dataset", "fingerprint": "6704ae933f36f2cb169a2b4dfd6a5e0a18ecfb7320cc2a05868d1b4793a7b1f4", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "mock_placeholder": 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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#170", "issue_number": "170", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-d0ab3bba9eab0713", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#170\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#170\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#170\nRepo: ronsse/trellis-ai\nIssue/PR number: 170\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, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-8f6defa2a1a703bc", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408076, "scanner": "foundry_dataset", "fingerprint": "01ced07786f163018e95a2f17c5117a6b81c8864751a43c88fa13b5d59fa333a", "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, "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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#169", "issue_number": "169", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-7607dccca42d229c", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#169\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#169\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#169\nRepo: ronsse/trellis-ai\nIssue/PR number: 169\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': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 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}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-f86fb6a42a236a46", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408075, "scanner": "foundry_dataset", "fingerprint": "cc3d5d398314407dda76604c6f0cdcd61aecff778536d5ebe73571046836248f", "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": 5, "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": "ronsse/trellis-ai#166", "issue_number": "166", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6a26e6cbaf6f4380", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#166\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#166\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#166\nRepo: ronsse/trellis-ai\nIssue/PR number: 166\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': 5, '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}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-a16a136606261c4a", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408074, "scanner": "foundry_dataset", "fingerprint": "393de11487133acdb380498d4a90902dc3b624f897f6c445f82c62fb0ead3450", "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, "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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#165", "issue_number": "165", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-907a135fc70ea89d", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#165\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#165\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#165\nRepo: ronsse/trellis-ai\nIssue/PR number: 165\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': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 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}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-9fac19343f806f62", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408073, "scanner": "foundry_dataset", "fingerprint": "e54a005e008f2f028944a323df9c22609fad972ff2243cdb1f3d60d9e0c62765", "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, "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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#164", "issue_number": "164", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e07f1447a3e4bf76", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#164\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#164\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#164\nRepo: ronsse/trellis-ai\nIssue/PR number: 164\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': 4, 'claimed_resolved_with_verification_signal': 3, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 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}\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-b07a6aced0f940bb", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408072, "scanner": "foundry_dataset", "fingerprint": "ab5af75a0144b09d42e3038facf31d069a448caa097258ef50405e7d1a549c5b", "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": "ronsse/trellis-ai#160", "issue_number": "160", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-39aa5f994f059898", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#160\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#160\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#160\nRepo: ronsse/trellis-ai\nIssue/PR number: 160\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-a6002cb90541c234", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408071, "scanner": "foundry_dataset", "fingerprint": "2d54128a8681dbd4edd8dc01fab6fa5e739c76fe2612114a98444ab306597f2f", "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": "ronsse/trellis-ai#157", "issue_number": "157", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-8d72224e331fccac", "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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#157\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#157\nGraph gold label: supported_by_high_confidence_link\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#157\nRepo: ronsse/trellis-ai\nIssue/PR number: 157\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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-e76fe0468b471ad2", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408070, "scanner": "foundry_dataset", "fingerprint": "2ba801ba642fb3db88b28f325ebe964fdcd70b3b6bdc9d127800591fe5a55717", "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": 2, "mock_placeholder": 1, "verification_or_tests": 3, "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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#149", "issue_number": "149", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-48613144de5ba8bf", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#149\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#149\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#149\nRepo: ronsse/trellis-ai\nIssue/PR number: 149\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: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-75af0d0a0e1b50c9", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408069, "scanner": "foundry_dataset", "fingerprint": "6084e6d670973454f3ed11d367846f59058c861e7dc85fdce58636517a156dde", "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": 2, "mock_placeholder": 1, "verification_or_tests": 3, "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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#148", "issue_number": "148", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-6ea622b8ffc2eaa4", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#148\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#148\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#148\nRepo: ronsse/trellis-ai\nIssue/PR number: 148\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: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-db0b1488e8a65132", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408068, "scanner": "foundry_dataset", "fingerprint": "f9c3f3d91960615eba3e019916ee0268c825b7716e1de37e507c38f460902f2f", "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": 2, "mock_placeholder": 1, "verification_or_tests": 3, "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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#147", "issue_number": "147", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-1c4a762bc28630b7", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#147\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#147\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#147\nRepo: ronsse/trellis-ai\nIssue/PR number: 147\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: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-0afac057bf0e5859", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408067, "scanner": "foundry_dataset", "fingerprint": "95dde154c82dd151f639284b36199a5177bef7f69f038dc437fde04df14ff7b0", "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": 2, "mock_placeholder": 1, "verification_or_tests": 3, "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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#146", "issue_number": "146", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-316c58252f190a8a", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#146\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#146\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#146\nRepo: ronsse/trellis-ai\nIssue/PR number: 146\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: {'verification_or_tests': 3, 'claimed_resolved_with_verification_signal': 3, 'bug_fix': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-fe9d6a4a86a29bd5", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408066, "scanner": "foundry_dataset", "fingerprint": "52cd2c9bb667e60953af2ee2736e269473f35437ca07503993fc29e17de37eaa", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "mock_placeholder": 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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#145", "issue_number": "145", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-4159f6bf94dc259b", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#145\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#145\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#145\nRepo: ronsse/trellis-ai\nIssue/PR number: 145\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, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-48b6b7f82c9835d7", "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": "ronsse/trellis-ai", "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: ronsse/trellis-ai"}, "properties": {"repobilityId": 408065, "scanner": "foundry_dataset", "fingerprint": "5824791e55a8aeba31fbbed5ff708438bfacf9b5a542393f0d7e278fcdba5727", "category": "practices", "severity": "critical", "confidence": 0.82, "triageState": "open", "verdict": "confirmed", "isResolved": false, "reason": "Imported from mined Foundry/Fable5 evidence with real GitHub/source provenance. Review source_id before acting.", "evidence": {"meta": {"kind": "graph_query_record", "title": "Mock, sample, placeholder, or self-attested behavior treated as real", "intent": "Hard negatives for fake completeness and missing real data paths.", "labels": {"bug_fix": 3, "mock_placeholder": 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": "mock_as_real_or_placeholder", "outcomes": {"claimed_resolved_with_verification_signal": 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": "ronsse/trellis-ai#144", "issue_number": "144", "quality_tiers": {"high_confidence": 3}, "repo_full_name": "ronsse/trellis-ai", "training_usage": "hard_negative", "source_motif_id": "graph-pattern-motif-thread-e919e180763a4449", "graph_gold_label": "supported_by_verification_signal", "changed_file_labels": {}}, "text": "Graph query export: Mock, sample, placeholder, or self-attested behavior treated as real\nQuery id: mock_as_real_or_placeholder\nQuery type: motif_query\nIntent: Hard negatives for fake completeness and missing real data paths.\nMotif: mock_as_real_or_placeholder\nTraining usage: hard_negative\nGraph gold label: supported_by_verification_signal\nRepo: ronsse/trellis-ai\nThread: ronsse/trellis-ai#144\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: ronsse/trellis-ai\nThread: ronsse/trellis-ai#144\nGraph gold label: supported_by_verification_signal\nThread graph evidence:\nGitHub issue/PR evidence subgraph\nThread: ronsse/trellis-ai#144\nRepo: ronsse/trellis-ai\nIssue/PR number: 144\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, 'verification_or_tests': 2, 'thread_has_human_issue_and_fix_context': 2, 'issue_or_pull_request_thread': 1, 'mock_placeholder': 1, 'human_reported_issue_then_verified_fix_attempt': 1}\nOutcomes: {'claimed_resolved_with_verification_signal': 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/ronsse/trellis-ai", "source_id": "graph-query-motif_query-ae69b5375c86df82", "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": "ronsse/trellis-ai", "source_dataset": "graph_queries/mock_as_real_or_placeholder", "training_usage": "hard_negative"}}}, {"ruleId": "scanner-815a34ecad17a7b2", "level": "note", "message": {"text": "Possibly dead Python function: visit_ExceptHandler"}, "properties": {"repobilityId": "0a02b2323610b180", "scanner": "scanner-primary", "fingerprint": "815a34ecad17a7b2", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "scripts/audit_silent_fallbacks.py:155"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-77d11a22b68b72c8", "level": "note", "message": {"text": "Possibly dead Python function: embed_query"}, "properties": {"repobilityId": "acc8e0dd5efae9cc", "scanner": "scanner-primary", "fingerprint": "77d11a22b68b72c8", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/_telemetry.py:68"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-de50ead9e7425bce", "level": "note", "message": {"text": "Possibly dead Python function: test_observations_surface_in_pack_sqlite"}, "properties": {"repobilityId": "f85976b2d9becbea", "scanner": "scanner-primary", "fingerprint": "de50ead9e7425bce", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/observation_retrieval.py:299"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-bc3190121a6867f3", "level": "note", "message": {"text": "Possibly dead Python function: test_freshness_orders_pack_sqlite"}, "properties": {"repobilityId": "1fe9d2e3960da453", "scanner": "scanner-primary", "fingerprint": "bc3190121a6867f3", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/observation_retrieval.py:317"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-38e763c53e98119e", "level": "note", "message": {"text": "Possibly dead Python function: test_confidence_threshold_filters_sqlite"}, "properties": {"repobilityId": "ac98d0b99f1c49f7", "scanner": "scanner-primary", "fingerprint": "38e763c53e98119e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/observation_retrieval.py:329"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e865156d39de4390", "level": "note", "message": {"text": "Possibly dead Python function: test_cross_backend_equivalence"}, "properties": {"repobilityId": "eb7b2165b9068db3", "scanner": "scanner-primary", "fingerprint": "e865156d39de4390", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/observation_retrieval.py:341"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d0aa0ab5dc260772", "level": "note", "message": {"text": "Possibly dead Python function: test_recommendation_changes_under_threshold_swap"}, "properties": {"repobilityId": "7c0248908d5e3a3b", "scanner": "scanner-primary", "fingerprint": "d0aa0ab5dc260772", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/parameter_registry_passthrough.py:201"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-da34350395b4afc0", "level": "note", "message": {"text": "Possibly dead Python function: test_recommendation_is_stable_under_repeated_run"}, "properties": {"repobilityId": "d5105460fda62cb4", "scanner": "scanner-primary", "fingerprint": "da34350395b4afc0", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/parameter_registry_passthrough.py:245"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8c4b1ec8474de2b4", "level": "note", "message": {"text": "Possibly dead Python function: test_meta_activity_present_in_graph_sqlite"}, "properties": {"repobilityId": "3ea3474157fbc88d", "scanner": "scanner-primary", "fingerprint": "8c4b1ec8474de2b4", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/meta_trace_round_trip.py:248"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-a4e05e7d2abfdf73", "level": "note", "message": {"text": "Possibly dead Python function: test_default_filter_excludes_meta_sqlite"}, "properties": {"repobilityId": "5aa532ea2fe703bb", "scanner": "scanner-primary", "fingerprint": "a4e05e7d2abfdf73", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/meta_trace_round_trip.py:265"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-66b0cb0775e2976e", "level": "note", "message": {"text": "Possibly dead Python function: test_opt_in_includes_meta_sqlite"}, "properties": {"repobilityId": "6aac96b39a51b786", "scanner": "scanner-primary", "fingerprint": "66b0cb0775e2976e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/meta_trace_round_trip.py:282"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-93cdb71a0d75d387", "level": "note", "message": {"text": "Possibly dead Python function: test_pack_assembled_event_records_meta_filtered_count_sqlite"}, "properties": {"repobilityId": "7be8ced86dd82bfb", "scanner": "scanner-primary", "fingerprint": "93cdb71a0d75d387", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/meta_trace_round_trip.py:292"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-5606eb4b409053fb", "level": "note", "message": {"text": "Possibly dead Python function: test_cross_backend_equivalence"}, "properties": {"repobilityId": "eb7b2165b9068db3", "scanner": "scanner-primary", "fingerprint": "5606eb4b409053fb", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/meta_trace_round_trip.py:318"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-8e4e411275d0a7aa", "level": "note", "message": {"text": "Possibly dead Python function: test_first_run_returns_one_proposal_sqlite"}, "properties": {"repobilityId": "46247bdf0059b962", "scanner": "scanner-primary", "fingerprint": "8e4e411275d0a7aa", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/proposal_generation.py:253"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-b19413034a0f2078", "level": "note", "message": {"text": "Possibly dead Python function: test_first_run_emits_exactly_one_proposal_drafted_sqlite"}, "properties": {"repobilityId": "bd8a45ab91ee2813", "scanner": "scanner-primary", "fingerprint": "b19413034a0f2078", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/proposal_generation.py:271"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-400dce796dd96163", "level": "note", "message": {"text": "Possibly dead Python function: test_rerun_emits_zero_new_drafted_sqlite"}, "properties": {"repobilityId": "e2bacec94a70eef3", "scanner": "scanner-primary", "fingerprint": "400dce796dd96163", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/proposal_generation.py:280"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-ec904fe1eefcdf87", "level": "note", "message": {"text": "Possibly dead Python function: test_cli_list_proposals_surfaces_the_proposal_sqlite"}, "properties": {"repobilityId": "bc31c9c295fc41d6", "scanner": "scanner-primary", "fingerprint": "ec904fe1eefcdf87", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/proposal_generation.py:354"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a8837eca2ddc6ca", "level": "note", "message": {"text": "Possibly dead Python function: test_cli_show_proposal_returns_markdown_sqlite"}, "properties": {"repobilityId": "ca052de82c303cf3", "scanner": "scanner-primary", "fingerprint": "1a8837eca2ddc6ca", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/proposal_generation.py:371"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-1a988ceac4571eca", "level": "note", "message": {"text": "Possibly dead Python function: test_cross_backend_equivalence"}, "properties": {"repobilityId": "eb7b2165b9068db3", "scanner": "scanner-primary", "fingerprint": "1a988ceac4571eca", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/proposal_generation.py:398"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-68ac739f0cc29662", "level": "note", "message": {"text": "Possibly dead Python function: embed_query"}, "properties": {"repobilityId": "acc8e0dd5efae9cc", "scanner": "scanner-primary", "fingerprint": "68ac739f0cc29662", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/program_convergence_real_llm/scenario.py:346"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-61556a8fde7a5a2e", "level": "note", "message": {"text": "Possibly dead Python function: hook"}, "properties": {"repobilityId": "0fda80138dc2ef67", "scanner": "scanner-primary", "fingerprint": "61556a8fde7a5a2e", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/program_convergence_real_llm/scenario.py:386"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-935720a567086ae1", "level": "note", "message": {"text": "Possibly dead Python function: embed_query"}, "properties": {"repobilityId": "acc8e0dd5efae9cc", "scanner": "scanner-primary", "fingerprint": "935720a567086ae1", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/scenarios/agent_loop_convergence_real_llm/scenario.py:417"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-2a2949f66f6f3491", "level": "note", "message": {"text": "Possibly dead Python function: authenticate_optional"}, "properties": {"repobilityId": "b2dbb336e4dc1a42", "scanner": "scanner-primary", "fingerprint": "2a2949f66f6f3491", "layer": "software", "severity": "low", "confidence": 1.0, "tags": ["dead-code"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/auth.py:205"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-e08464fb478bd044", "level": "warning", "message": {"text": "Privileged port 14 in use"}, "properties": {"repobilityId": "2dbd4b719a1412ff", "scanner": "scanner-primary", "fingerprint": "e08464fb478bd044", "layer": "network", "severity": "medium", "confidence": 1.0, "tags": ["security", "ports"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "docs/api/v1.yaml"}, "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": "3cd2e316298de39e", "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": 13}}}]}, {"ruleId": "scanner-de3c1f217d72a063", "level": "note", "message": {"text": "Docker base image is tag-pinned but not digest-pinned: python:3.12-slim"}, "properties": {"repobilityId": "c3257225d849e4da", "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": 35}}}]}, {"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-43368fca5ab1c50b", "level": "error", "message": {"text": "Possible secret in eval/arcadedb_spike.py"}, "properties": {"repobilityId": "633a1253b765fa15", "scanner": "scanner-primary", "fingerprint": "43368fca5ab1c50b", "layer": "security", "severity": "critical", "confidence": 1.0, "tags": ["secrets"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "eval/arcadedb_spike.py"}, "region": {"startLine": 56}}}]}, {"ruleId": "scanner-ff7ebb4a851a85b4", "level": "warning", "message": {"text": "Insecure pattern 'direct_innerhtml_assignment' in src/trellis_api/static/index.html:1405"}, "properties": {"repobilityId": "34c2b31410eafcdb", "scanner": "scanner-primary", "fingerprint": "ff7ebb4a851a85b4", "layer": "security", "severity": "medium", "confidence": 1.0, "tags": ["owasp", "direct_innerhtml_assignment"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/static/index.html"}, "region": {"startLine": 1405}}}]}, {"ruleId": "scanner-de53ac274e5b4ecf", "level": "note", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "69dd0abad9dba1dc", "scanner": "scanner-primary", "fingerprint": "de53ac274e5b4ecf", "layer": "cicd", "severity": "low", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude.yml"}, "region": {"startLine": 29}}}]}, {"ruleId": "scanner-de53ac274e5b4ecf", "level": "warning", "message": {"text": "GitHub Action is tag-pinned rather than SHA-pinned"}, "properties": {"repobilityId": "8ead6a2c2bfe167b", "scanner": "scanner-primary", "fingerprint": "de53ac274e5b4ecf", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "pinned-dependencies"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude.yml"}, "region": {"startLine": 35}}}]}, {"ruleId": "scanner-37716d9c0a33ad5c", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "abfb5752158cf655", "scanner": "scanner-primary", "fingerprint": "37716d9c0a33ad5c", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/claude.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-7ffa33751be3d771", "level": "warning", "message": {"text": "GitHub Actions workflow grants broad write permissions"}, "properties": {"repobilityId": "491a3ad29cbaf189", "scanner": "scanner-primary", "fingerprint": "7ffa33751be3d771", "layer": "cicd", "severity": "medium", "confidence": 1.0, "tags": ["supply-chain", "github-actions", "least-privilege"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".github/workflows/publish.yml"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-d14f4c342e57cdfc", "level": "note", "message": {"text": "Very large file: tests/unit/retrieve/test_pack_builder.py (1665 lines)"}, "properties": {"repobilityId": "f635d90638d295af", "scanner": "scanner-primary", "fingerprint": "d14f4c342e57cdfc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-1ce3085639ae3921", "level": "note", "message": {"text": "Very large file: tests/unit/retrieve/test_effectiveness.py (1480 lines)"}, "properties": {"repobilityId": "2e50cc31f7b84a94", "scanner": "scanner-primary", "fingerprint": "1ce3085639ae3921", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-234fde88c52754cc", "level": "note", "message": {"text": "Very large file: eval/scenarios/program_convergence/scenario.py (1380 lines)"}, "properties": {"repobilityId": "ee3acebcb36190b7", "scanner": "scanner-primary", "fingerprint": "234fde88c52754cc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-ccff298d9db3ab2e", "level": "note", "message": {"text": "Very large file: src/trellis_cli/demo.py (1432 lines)"}, "properties": {"repobilityId": "c0d20de075f34d43", "scanner": "scanner-primary", "fingerprint": "ccff298d9db3ab2e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-bdcacbe96f7c9a57", "level": "note", "message": {"text": "Very large file: src/trellis_cli/admin.py (2190 lines)"}, "properties": {"repobilityId": "610ed2e86ecaf2a6", "scanner": "scanner-primary", "fingerprint": "bdcacbe96f7c9a57", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-2c6984b3a3be7dfb", "level": "note", "message": {"text": "Very large file: src/trellis_cli/analyze.py (1759 lines)"}, "properties": {"repobilityId": "b50ed709bc5be2c8", "scanner": "scanner-primary", "fingerprint": "2c6984b3a3be7dfb", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-5f8cf372f988733d", "level": "note", "message": {"text": "Very large file: src/trellis/stores/registry.py (2115 lines)"}, "properties": {"repobilityId": "a221ec40898dded2", "scanner": "scanner-primary", "fingerprint": "5f8cf372f988733d", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-e329f92eed3ad009", "level": "note", "message": {"text": "Very large file: src/trellis/stores/postgres/graph.py (1498 lines)"}, "properties": {"repobilityId": "35551c418958897c", "scanner": "scanner-primary", "fingerprint": "e329f92eed3ad009", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-4064329ef59f9869", "level": "note", "message": {"text": "Very large file: src/trellis/stores/sqlite/graph.py (1542 lines)"}, "properties": {"repobilityId": "c2e52824f1885e26", "scanner": "scanner-primary", "fingerprint": "4064329ef59f9869", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-63e453ac71b754d9", "level": "note", "message": {"text": "Very large file: src/trellis/stores/bolt_opencypher/graph.py (1493 lines)"}, "properties": {"repobilityId": "cb099cba823e3ac8", "scanner": "scanner-primary", "fingerprint": "63e453ac71b754d9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-66bc9b8302e2f0d8", "level": "note", "message": {"text": "Very large file: src/trellis/mcp/server.py (1846 lines)"}, "properties": {"repobilityId": "2c81cbfc64c27969", "scanner": "scanner-primary", "fingerprint": "66bc9b8302e2f0d8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-170bd9cee6a5c4ab", "level": "note", "message": {"text": "Very large file: src/trellis/retrieve/pack_builder.py (1398 lines)"}, "properties": {"repobilityId": "fa667a78373afcbb", "scanner": "scanner-primary", "fingerprint": "170bd9cee6a5c4ab", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["complexity"]}}, {"ruleId": "scanner-3ab5d313dda8e5f9", "level": "note", "message": {"text": "Debug logging residue appears in source files"}, "properties": {"repobilityId": "72d2d9b0698354ce", "scanner": "scanner-primary", "fingerprint": "3ab5d313dda8e5f9", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["debug", "cleanup", "repo-hardening", "generated-repo-pattern"]}}, {"ruleId": "scanner-72b2a6250083a784", "level": "warning", "message": {"text": "Placeholder or mock-heavy implementation detected"}, "properties": {"repobilityId": "6c29f135a1b833e4", "scanner": "scanner-primary", "fingerprint": "72b2a6250083a784", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "incomplete", "generated-repo-pattern"]}}, {"ruleId": "scanner-2d0c7b7ab8f8aacf", "level": "warning", "message": {"text": "Critical user flow still appears backed by mock or placeholder data"}, "properties": {"repobilityId": "caa3143f4dbd4050", "scanner": "scanner-primary", "fingerprint": "2d0c7b7ab8f8aacf", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["placeholder", "mock-data", "critical-flow", "generated-repo-pattern"]}}, {"ruleId": "scanner-ea8f3013f588db25", "level": "note", "message": {"text": "Shallow git history limits provenance confidence"}, "properties": {"repobilityId": "dbb5704c2d661208", "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": "50755e617c1a9490", "scanner": "scanner-primary", "fingerprint": "8424db9c75e04ba4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["provenance", "git-history", "generated-repo-pattern"]}}, {"ruleId": "scanner-122f91b7f2906dc4", "level": "warning", "message": {"text": "Agent authority lacks a verifier contract: .claude/settings.json"}, "properties": {"repobilityId": "a2967269048b6a9d", "scanner": "scanner-primary", "fingerprint": "122f91b7f2906dc4", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["agent-instructions", "verification", "claude_instruction"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": ".claude/settings.json"}, "region": {"startLine": 1}}}]}, {"ruleId": "scanner-36f2234f14555b4f", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/conftest.py:49"}, "properties": {"repobilityId": "ee73bccd7b5c31e2", "scanner": "scanner-primary", "fingerprint": "36f2234f14555b4f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b6edc44e4b3b82a0", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/integration/conftest.py:35"}, "properties": {"repobilityId": "f07aaa50236993ae", "scanner": "scanner-primary", "fingerprint": "b6edc44e4b3b82a0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9b936d744ebe3685", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/integration/_live_server.py:44"}, "properties": {"repobilityId": "9636913875a510f2", "scanner": "scanner-primary", "fingerprint": "9b936d744ebe3685", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-51b1c582efb9910d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/integration/obsidian/test_vault.py:199"}, "properties": {"repobilityId": "84c6e383e17f991f", "scanner": "scanner-primary", "fingerprint": "51b1c582efb9910d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-591d798f3774da40", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/integration/api/test_smoke_parity.py:143"}, "properties": {"repobilityId": "e2aa4f6b0df3da1e", "scanner": "scanner-primary", "fingerprint": "591d798f3774da40", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce33f99b9b7c797d", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/integration/cli/conftest.py:65"}, "properties": {"repobilityId": "f3d037c1bceea103", "scanner": "scanner-primary", "fingerprint": "ce33f99b9b7c797d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c86171581f363891", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/integration/loops/test_noise_demote_loop.py:62"}, "properties": {"repobilityId": "d860c2dfbfac8879", "scanner": "scanner-primary", "fingerprint": "c86171581f363891", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c9d33460433a127", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/integration/loops/test_advisory_loop.py:42"}, "properties": {"repobilityId": "2a0a7bc78d70dd67", "scanner": "scanner-primary", "fingerprint": "0c9d33460433a127", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6ecde6128a7e5fcc", "level": "note", "message": {"text": "Legacy-named symbol `orders_v1` in tests/unit/stores/test_temporal_graph.py:322"}, "properties": {"repobilityId": "038fcfe0b2c3c7f3", "scanner": "scanner-primary", "fingerprint": "6ecde6128a7e5fcc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-39947f0a70d98e85", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/unit/stores/test_neo4j_connectivity_live.py:83"}, "properties": {"repobilityId": "d5799b7df3372f41", "scanner": "scanner-primary", "fingerprint": "39947f0a70d98e85", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0741ffcfcdc01bd0", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in tests/unit/stores/test_advisory_store.py:123"}, "properties": {"repobilityId": "b8b7bc623218c98f", "scanner": "scanner-primary", "fingerprint": "0741ffcfcdc01bd0", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-cb0cd78c461b99c5", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/stores/test_neo4j_base.py:107"}, "properties": {"repobilityId": "baaa4ef51d0d1b9c", "scanner": "scanner-primary", "fingerprint": "cb0cd78c461b99c5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-019118e18d162fef", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/stores/test_registry_fingerprint.py:191"}, "properties": {"repobilityId": "b4611dde3bfb67f0", "scanner": "scanner-primary", "fingerprint": "019118e18d162fef", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-09e3c3fdb24c0557", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/stores/test_registry_validation.py:52"}, "properties": {"repobilityId": "243baf8bcd7a17b8", "scanner": "scanner-primary", "fingerprint": "09e3c3fdb24c0557", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e80b444c447218e3", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/stores/test_document_ids.py:20"}, "properties": {"repobilityId": "9ba4288f974a201d", "scanner": "scanner-primary", "fingerprint": "e80b444c447218e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29eb333ef8c1f5f6", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in tests/unit/stores/contracts/test_s3_blob_contract.py:17"}, "properties": {"repobilityId": "016b40dbfc34d0a6", "scanner": "scanner-primary", "fingerprint": "29eb333ef8c1f5f6", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-069b1a1aa425daec", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/stores/contracts/graph_store_contract.py:562"}, "properties": {"repobilityId": "05242a6558b455a0", "scanner": "scanner-primary", "fingerprint": "069b1a1aa425daec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5df023a4fd849697", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in tests/unit/stores/contracts/trace_store_contract.py:137"}, "properties": {"repobilityId": "bdd4d573bf7e6ed1", "scanner": "scanner-primary", "fingerprint": "5df023a4fd849697", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-1675dabc160e2378", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/api/test_middleware.py:44"}, "properties": {"repobilityId": "58340f3b070db51a", "scanner": "scanner-primary", "fingerprint": "1675dabc160e2378", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-29592efa0eee6834", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/unit/api/test_logging.py:124"}, "properties": {"repobilityId": "3dd9bd85e17bcf9f", "scanner": "scanner-primary", "fingerprint": "29592efa0eee6834", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c9d4b72a05717089", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/mcp/test_server.py:646"}, "properties": {"repobilityId": "04945022d1c68a6f", "scanner": "scanner-primary", "fingerprint": "c9d4b72a05717089", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7c56d7078614d55a", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/unit/learning/test_pack_observations.py:246"}, "properties": {"repobilityId": "7f01415c706e22a6", "scanner": "scanner-primary", "fingerprint": "7c56d7078614d55a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d9f63be8947837e2", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/unit/learning/test_schema_evolution.py:521"}, "properties": {"repobilityId": "24366a51f7d90b02", "scanner": "scanner-primary", "fingerprint": "d9f63be8947837e2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-92589694806e4237", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/unit/classify/test_refresh.py:204"}, "properties": {"repobilityId": "969b0f4f5f6b0fc7", "scanner": "scanner-primary", "fingerprint": "92589694806e4237", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c2fecda9d31e6ae9", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/unit/cli/conftest.py:21"}, "properties": {"repobilityId": "612cfc2529f97487", "scanner": "scanner-primary", "fingerprint": "c2fecda9d31e6ae9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0e7fad7121198995", "level": "none", "message": {"text": "Commented-code block (7 lines) in tests/unit/cli/test_admin.py:189"}, "properties": {"repobilityId": "90392ca47b6f5388", "scanner": "scanner-primary", "fingerprint": "0e7fad7121198995", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fceca51c4293d5da", "level": "note", "message": {"text": "Legacy-named symbol `test_since_filter_excludes_old` in tests/unit/cli/test_extract_traces.py:121"}, "properties": {"repobilityId": "f56ec3bb33a86d84", "scanner": "scanner-primary", "fingerprint": "fceca51c4293d5da", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-63378eea562cd615", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in tests/unit/retrieve/test_pack_builder.py:227"}, "properties": {"repobilityId": "41407fdbaddba6c4", "scanner": "scanner-primary", "fingerprint": "63378eea562cd615", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-28888d16f6479871", "level": "none", "message": {"text": "Commented-code block (10 lines) in tests/unit/retrieve/test_effectiveness.py:998"}, "properties": {"repobilityId": "eafff0804f099f8b", "scanner": "scanner-primary", "fingerprint": "28888d16f6479871", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2ef5c68bf1974cdc", "level": "note", "message": {"text": "Legacy-named symbol `obs_old` in tests/unit/retrieve/test_observation_strategy.py:251"}, "properties": {"repobilityId": "929aa23a22e8c0d3", "scanner": "scanner-primary", "fingerprint": "2ef5c68bf1974cdc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c346e917c14c9c60", "level": "none", "message": {"text": "Commented-code block (6 lines) in tests/unit/workers/enrichment/test_service.py:557"}, "properties": {"repobilityId": "0b7eeba2f0cfe213", "scanner": "scanner-primary", "fingerprint": "c346e917c14c9c60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-261dd268436093e1", "level": "note", "message": {"text": "Legacy-named symbol `deploy_staging_v2` in tests/unit/extract/test_trace.py:86"}, "properties": {"repobilityId": "5110b5368a0d841c", "scanner": "scanner-primary", "fingerprint": "261dd268436093e1", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8f7427a0a55996c0", "level": "none", "message": {"text": "Commented-code block (8 lines) in tests/unit/eval/test_github_corpus_semantic_seeds.py:215"}, "properties": {"repobilityId": "61023cdf2b89cd90", "scanner": "scanner-primary", "fingerprint": "8f7427a0a55996c0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a67548df76658b0", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/eval/test_agent_loop_convergence.py:332"}, "properties": {"repobilityId": "2aeea5eebc65ec8c", "scanner": "scanner-primary", "fingerprint": "9a67548df76658b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-77959653822c1fe4", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/eval/test_program_convergence.py:371"}, "properties": {"repobilityId": "512f95e1b6cf573b", "scanner": "scanner-primary", "fingerprint": "77959653822c1fe4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-55ce450e2abb5cb3", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/schemas/test_well_known.py:402"}, "properties": {"repobilityId": "41b4af0c8c8c8612", "scanner": "scanner-primary", "fingerprint": "55ce450e2abb5cb3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bec0bad84e62ab03", "level": "none", "message": {"text": "Commented-code block (5 lines) in tests/unit/schemas/test_entity_type_validator.py:104"}, "properties": {"repobilityId": "7e3bf8859ca93840", "scanner": "scanner-primary", "fingerprint": "bec0bad84e62ab03", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-46d0e8074ba08266", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in tests/unit/mutate/test_property_invariants.py:199"}, "properties": {"repobilityId": "de782d3f0bb1c9a6", "scanner": "scanner-primary", "fingerprint": "46d0e8074ba08266", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-3252f8ab2c2156a1", "level": "warning", "message": {"text": "Network/subprocess call without timeout or try/except \u2014 scripts/claude_postedit_lint.py:50"}, "properties": {"repobilityId": "9d5e5460c3f6299d", "scanner": "scanner-primary", "fingerprint": "3252f8ab2c2156a1", "layer": "quality", "severity": "medium", "confidence": 1.0, "tags": ["integrity", "fragile-runtime", "robustness"]}}, {"ruleId": "scanner-58a74afe547c33ec", "level": "note", "message": {"text": "Legacy-named symbol `props_v1` in eval/arcadedb_spike.py:249"}, "properties": {"repobilityId": "c96055c0d24ec4f6", "scanner": "scanner-primary", "fingerprint": "58a74afe547c33ec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-d4f4b57d84a05f5a", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in eval/corpora/dbt_loader.py:216"}, "properties": {"repobilityId": "0075887ca04fa29e", "scanner": "scanner-primary", "fingerprint": "d4f4b57d84a05f5a", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-c62570fbb7ad01b0", "level": "none", "message": {"text": "Commented-code block (7 lines) in eval/corpora/dbt_loader.py:102"}, "properties": {"repobilityId": "6799619c9cc19648", "scanner": "scanner-primary", "fingerprint": "c62570fbb7ad01b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-574912edb0bc6579", "level": "none", "message": {"text": "Commented-code block (9 lines) in eval/generators/trace_generator.py:197"}, "properties": {"repobilityId": "36b61aee448d5986", "scanner": "scanner-primary", "fingerprint": "574912edb0bc6579", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-047aebd8df130ac3", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in eval/scenarios/_strategies.py:67"}, "properties": {"repobilityId": "a00e27839200e5a1", "scanner": "scanner-primary", "fingerprint": "047aebd8df130ac3", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8a28988b45331838", "level": "none", "message": {"text": "Commented-code block (9 lines) in eval/scenarios/observation_retrieval.py:57"}, "properties": {"repobilityId": "3c698967d1f3714c", "scanner": "scanner-primary", "fingerprint": "8a28988b45331838", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-374d0048f6c3409c", "level": "none", "message": {"text": "Commented-code block (8 lines) in eval/scenarios/parameter_registry_passthrough.py:54"}, "properties": {"repobilityId": "2db3112be699635d", "scanner": "scanner-primary", "fingerprint": "374d0048f6c3409c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef777f77c5b9dbe0", "level": "none", "message": {"text": "Commented-code block (9 lines) in eval/scenarios/meta_trace_round_trip.py:55"}, "properties": {"repobilityId": "5d481e4994cde9c2", "scanner": "scanner-primary", "fingerprint": "ef777f77c5b9dbe0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1fe4dddce1f1dc14", "level": "none", "message": {"text": "Commented-code block (11 lines) in eval/scenarios/proposal_generation.py:58"}, "properties": {"repobilityId": "f95bbddd2638a604", "scanner": "scanner-primary", "fingerprint": "1fe4dddce1f1dc14", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-32f5d97075e0c565", "level": "none", "message": {"text": "Commented-code block (9 lines) in eval/scenarios/program_regression_suite/scenario.py:580"}, "properties": {"repobilityId": "a14f07cf4f4524d8", "scanner": "scanner-primary", "fingerprint": "32f5d97075e0c565", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cac880d6eca256c7", "level": "none", "message": {"text": "Commented-code block (5 lines) in eval/scenarios/program_convergence_real_llm/scenario.py:574"}, "properties": {"repobilityId": "8aa0d8bac3e07554", "scanner": "scanner-primary", "fingerprint": "cac880d6eca256c7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7ca89419cf66aab2", "level": "none", "message": {"text": "Commented-code block (6 lines) in eval/scenarios/multi_backend_equivalence/scenario.py:33"}, "properties": {"repobilityId": "cb08e83c30450e25", "scanner": "scanner-primary", "fingerprint": "7ca89419cf66aab2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9158a2f7187839d1", "level": "none", "message": {"text": "Commented-code block (6 lines) in eval/scenarios/github_corpus_convergence/scenario.py:226"}, "properties": {"repobilityId": "1ab4e58904ca6c2d", "scanner": "scanner-primary", "fingerprint": "9158a2f7187839d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2642335067d13afc", "level": "none", "message": {"text": "Commented-code block (7 lines) in eval/scenarios/agent_loop_convergence_degraded/scenario.py:118"}, "properties": {"repobilityId": "d2c055121c3cb173", "scanner": "scanner-primary", "fingerprint": "2642335067d13afc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-8ee980a74b901cff", "level": "none", "message": {"text": "Commented-code block (5 lines) in eval/scenarios/populated_graph_performance/scenario.py:174"}, "properties": {"repobilityId": "d91840fe996aebaf", "scanner": "scanner-primary", "fingerprint": "8ee980a74b901cff", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9698c6aeb619ef83", "level": "none", "message": {"text": "Commented-code block (6 lines) in eval/scenarios/program_convergence/scenario.py:126"}, "properties": {"repobilityId": "8fc4ed5265505437", "scanner": "scanner-primary", "fingerprint": "9698c6aeb619ef83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-4e9e65cb7d99b908", "level": "none", "message": {"text": "Commented-code block (6 lines) in eval/scenarios/multi_backend_feedback/scenario.py:105"}, "properties": {"repobilityId": "fd52d96d1a7ef27d", "scanner": "scanner-primary", "fingerprint": "4e9e65cb7d99b908", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c72b307b6178969", "level": "none", "message": {"text": "Commented-code block (7 lines) in eval/scenarios/agent_loop_convergence/scenario.py:97"}, "properties": {"repobilityId": "9e194dbcbf668aa5", "scanner": "scanner-primary", "fingerprint": "2c72b307b6178969", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c68a984a06196ce4", "level": "none", "message": {"text": "Commented-code block (7 lines) in examples/docker-demo/sample_query_agent.py:119"}, "properties": {"repobilityId": "9ff867e1307a6c96", "scanner": "scanner-primary", "fingerprint": "c68a984a06196ce4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e4732797b3119a1e", "level": "none", "message": {"text": "Commented-code block (5 lines) in examples/client_starter/run_demo.py:100"}, "properties": {"repobilityId": "3900771801c7178f", "scanner": "scanner-primary", "fingerprint": "e4732797b3119a1e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-fee8dd2048f711d8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis_api/app.py:126"}, "properties": {"repobilityId": "446f8ac1a51ce216", "scanner": "scanner-primary", "fingerprint": "fee8dd2048f711d8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-335c7132601e61e3", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/trellis_api/logging.py:69"}, "properties": {"repobilityId": "9dff890b9526264f", "scanner": "scanner-primary", "fingerprint": "335c7132601e61e3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b11a6bb73f583601", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis_api/routes/admin.py:250"}, "properties": {"repobilityId": "4a2c1bc4e5b9ea29", "scanner": "scanner-primary", "fingerprint": "b11a6bb73f583601", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c618a7ff815c50e8", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis_api/routes/extract.py:82"}, "properties": {"repobilityId": "ca513a637eb6ad19", "scanner": "scanner-primary", "fingerprint": "c618a7ff815c50e8", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec380e63ad7d7eac", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis_api/routes/ingest.py:276"}, "properties": {"repobilityId": "98473f29f055dae2", "scanner": "scanner-primary", "fingerprint": "ec380e63ad7d7eac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c3cfd545f9e4a43", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis_api/routes/curate.py:168"}, "properties": {"repobilityId": "faee9ccbdaa9f95f", "scanner": "scanner-primary", "fingerprint": "2c3cfd545f9e4a43", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-78b86c308bb90c75", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis_cli/demo.py:1339"}, "properties": {"repobilityId": "489d2c3c8585caa2", "scanner": "scanner-primary", "fingerprint": "78b86c308bb90c75", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cd8346a1a8f723af", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis_cli/admin_proposals.py:440"}, "properties": {"repobilityId": "43fbb5962863ee5c", "scanner": "scanner-primary", "fingerprint": "cd8346a1a8f723af", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0964a4a3dcb398fb", "level": "none", "message": {"text": "Commented-code block (12 lines) in src/trellis_cli/admin.py:50"}, "properties": {"repobilityId": "8d5f4eaa9ef155e0", "scanner": "scanner-primary", "fingerprint": "0964a4a3dcb398fb", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-00b9900d93796cb7", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis_cli/analyze.py:78"}, "properties": {"repobilityId": "563a72b702a6cfa1", "scanner": "scanner-primary", "fingerprint": "00b9900d93796cb7", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5ddd830a0cb1232c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis_cli/extract_refresh.py:78"}, "properties": {"repobilityId": "106fdf208f0b9689", "scanner": "scanner-primary", "fingerprint": "5ddd830a0cb1232c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d27d0f70c92c549f", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis_cli/admin_migrate_provenance.py:259"}, "properties": {"repobilityId": "690380da3e20d159", "scanner": "scanner-primary", "fingerprint": "d27d0f70c92c549f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-758f3648811f12fe", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis_cli/main.py:36"}, "properties": {"repobilityId": "6605fb763c9864b5", "scanner": "scanner-primary", "fingerprint": "758f3648811f12fe", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62b8c3923730c8de", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis_sdk/async_client.py:167"}, "properties": {"repobilityId": "30177099a2ec03ec", "scanner": "scanner-primary", "fingerprint": "62b8c3923730c8de", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-93d35056c0db424c", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis_wire/dtos.py:246"}, "properties": {"repobilityId": "a2824eefbdbc28ea", "scanner": "scanner-primary", "fingerprint": "93d35056c0db424c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-24b80d8f791d0a83", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/trellis_workers/enrichment/service.py:135"}, "properties": {"repobilityId": "f39c53bd06bf6c58", "scanner": "scanner-primary", "fingerprint": "24b80d8f791d0a83", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ec83c66820d55837", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis_workers/extract/query_pattern_observer.py:298"}, "properties": {"repobilityId": "e67cb159b9bd0acf", "scanner": "scanner-primary", "fingerprint": "ec83c66820d55837", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-688558ad1cff793a", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis_workers/extract/openlineage.py:147"}, "properties": {"repobilityId": "fa9e7581fa3f4ce4", "scanner": "scanner-primary", "fingerprint": "688558ad1cff793a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2fd75d9f8e11dccf", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis_workers/extract/dbt_manifest.py:101"}, "properties": {"repobilityId": "36b0c73af360480e", "scanner": "scanner-primary", "fingerprint": "2fd75d9f8e11dccf", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ce7de1d13fd063a6", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis_workers/code_authoring/clustering.py:133"}, "properties": {"repobilityId": "76db7c20c6c81d1b", "scanner": "scanner-primary", "fingerprint": "ce7de1d13fd063a6", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-5730c2636b72ee52", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis_workers/code_authoring/generator.py:185"}, "properties": {"repobilityId": "cb7b91d39e14c8bc", "scanner": "scanner-primary", "fingerprint": "5730c2636b72ee52", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ee2a8e4ed06900b0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/api_version.py:47"}, "properties": {"repobilityId": "77f4c8a66b0d0116", "scanner": "scanner-primary", "fingerprint": "ee2a8e4ed06900b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-e7efe6febbe887ec", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in src/trellis/stores/advisory_store.py:110"}, "properties": {"repobilityId": "db80758bef107f89", "scanner": "scanner-primary", "fingerprint": "e7efe6febbe887ec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-31591f4ada6a4063", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/trellis/stores/registry.py:65"}, "properties": {"repobilityId": "214950856c0cca68", "scanner": "scanner-primary", "fingerprint": "31591f4ada6a4063", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6fda4c370b1453d9", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/trellis/stores/base/graph_query.py:67"}, "properties": {"repobilityId": "1958302ec485dd96", "scanner": "scanner-primary", "fingerprint": "6fda4c370b1453d9", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-39d256e8f9e5ea5f", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/trellis/stores/arcadedb/vector.py:198"}, "properties": {"repobilityId": "b8de60142b2e0416", "scanner": "scanner-primary", "fingerprint": "39d256e8f9e5ea5f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-05665e9537d7e5ab", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/stores/arcadedb/graph.py:72"}, "properties": {"repobilityId": "725848010e754729", "scanner": "scanner-primary", "fingerprint": "05665e9537d7e5ab", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bc81bde378063bd4", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/trellis/stores/pgvector/store.py:95"}, "properties": {"repobilityId": "2a62062ebb215848", "scanner": "scanner-primary", "fingerprint": "bc81bde378063bd4", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7e589428f0c3d83f", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis/stores/postgres/document.py:173"}, "properties": {"repobilityId": "69bb6e4d38fb68ed", "scanner": "scanner-primary", "fingerprint": "7e589428f0c3d83f", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-6b87c7196ae610ac", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/stores/postgres/graph.py:103"}, "properties": {"repobilityId": "1123dd1d07dce4d5", "scanner": "scanner-primary", "fingerprint": "6b87c7196ae610ac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d90b2d6f135f0c0c", "level": "none", "message": {"text": "Commented-code block (8 lines) in src/trellis/stores/neo4j/vector.py:88"}, "properties": {"repobilityId": "ff9a1d127f815632", "scanner": "scanner-primary", "fingerprint": "d90b2d6f135f0c0c", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-7904cead7cd83fba", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/stores/neo4j/graph.py:54"}, "properties": {"repobilityId": "acee8b1d71853abb", "scanner": "scanner-primary", "fingerprint": "7904cead7cd83fba", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-2c41b4215683dc1c", "level": "note", "message": {"text": "Legacy-named symbol `list_objects_v2` in src/trellis/stores/s3/blob.py:139"}, "properties": {"repobilityId": "3c4f5945f707f84a", "scanner": "scanner-primary", "fingerprint": "2c41b4215683dc1c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-9ab614867346e7b2", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/trellis/stores/sqlite/vector.py:84"}, "properties": {"repobilityId": "16eb404583399037", "scanner": "scanner-primary", "fingerprint": "9ab614867346e7b2", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0353ead49d704194", "level": "note", "message": {"text": "Legacy-named symbol `_migrate_to_v2` in src/trellis/stores/sqlite/graph.py:68"}, "properties": {"repobilityId": "9e5565ea5f1332fb", "scanner": "scanner-primary", "fingerprint": "0353ead49d704194", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-362fec9e922c9122", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/stores/sqlite/graph.py:83"}, "properties": {"repobilityId": "71a89384b5fd2f2b", "scanner": "scanner-primary", "fingerprint": "362fec9e922c9122", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ef847043ace9445b", "level": "none", "message": {"text": "Commented-code block (10 lines) in src/trellis/stores/sqlite/base.py:188"}, "properties": {"repobilityId": "14a968cc638c2843", "scanner": "scanner-primary", "fingerprint": "ef847043ace9445b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3ae7479b4b5c7a49", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis/stores/sqlite/event_log.py:132"}, "properties": {"repobilityId": "3cbad134bb93b7bf", "scanner": "scanner-primary", "fingerprint": "3ae7479b4b5c7a49", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb410b590423a7ec", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/trellis/stores/bolt_opencypher/graph.py:85"}, "properties": {"repobilityId": "642cd3a5a509bacf", "scanner": "scanner-primary", "fingerprint": "bb410b590423a7ec", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-68a5978f2bab684b", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/mcp/server.py:162"}, "properties": {"repobilityId": "cf9c8a85abf11a29", "scanner": "scanner-primary", "fingerprint": "68a5978f2bab684b", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-086d42ff634dc287", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/trellis/learning/scoring.py:42"}, "properties": {"repobilityId": "51643acf0d5a25df", "scanner": "scanner-primary", "fingerprint": "086d42ff634dc287", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c375b2737d2eaad1", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/learning/schema_evolution.py:467"}, "properties": {"repobilityId": "a1c4d43eebbd77ba", "scanner": "scanner-primary", "fingerprint": "c375b2737d2eaad1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-1c2192a82df15950", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis/learning/tuners/auto_promote.py:85"}, "properties": {"repobilityId": "b0c30894196a57ba", "scanner": "scanner-primary", "fingerprint": "1c2192a82df15950", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9735c3338471d9aa", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in src/trellis/classify/refresh.py:134"}, "properties": {"repobilityId": "34a651a7bd6ccca3", "scanner": "scanner-primary", "fingerprint": "9735c3338471d9aa", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-f8adabd2dc493bac", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/classify/refresh.py:123"}, "properties": {"repobilityId": "4cfd27f2a214935a", "scanner": "scanner-primary", "fingerprint": "f8adabd2dc493bac", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-df9af7732eed6f21", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/meta/recorder.py:265"}, "properties": {"repobilityId": "8dca703d62404bfe", "scanner": "scanner-primary", "fingerprint": "df9af7732eed6f21", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-bb5b302433d9fed7", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in src/trellis/retrieve/effectiveness.py:814"}, "properties": {"repobilityId": "7a1f020f93625e2d", "scanner": "scanner-primary", "fingerprint": "bb5b302433d9fed7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-bc431e14f7d3a0dc", "level": "none", "message": {"text": "Commented-code block (7 lines) in src/trellis/retrieve/effectiveness.py:54"}, "properties": {"repobilityId": "94f65b6f879e827d", "scanner": "scanner-primary", "fingerprint": "bc431e14f7d3a0dc", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-87323e757577a889", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/retrieve/strategies.py:515"}, "properties": {"repobilityId": "4137156b9d78ea23", "scanner": "scanner-primary", "fingerprint": "87323e757577a889", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cc978f3cd9f5b3b0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/retrieve/semantic_seeds.py:147"}, "properties": {"repobilityId": "cc702969b34ad0df", "scanner": "scanner-primary", "fingerprint": "cc978f3cd9f5b3b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b2735779b31cae0e", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in src/trellis/retrieve/pack_builder.py:664"}, "properties": {"repobilityId": "762fbb111951321e", "scanner": "scanner-primary", "fingerprint": "b2735779b31cae0e", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-df427ac57d943c7e", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/retrieve/pack_builder.py:322"}, "properties": {"repobilityId": "f76bfc1dc24b0a75", "scanner": "scanner-primary", "fingerprint": "df427ac57d943c7e", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c08e60ed8a1b4968", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/retrieve/tier_mapping.py:47"}, "properties": {"repobilityId": "fcce20896ee59254", "scanner": "scanner-primary", "fingerprint": "c08e60ed8a1b4968", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-b3f9777a6aa3def5", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis/retrieve/evaluate.py:627"}, "properties": {"repobilityId": "4bc17411c2402dfd", "scanner": "scanner-primary", "fingerprint": "b3f9777a6aa3def5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-0c0866e77a5c8eec", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in src/trellis/retrieve/rerankers/rrf.py:102"}, "properties": {"repobilityId": "194e71cc271d9a56", "scanner": "scanner-primary", "fingerprint": "0c0866e77a5c8eec", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-56b82ef25f49fb71", "level": "note", "message": {"text": "Legacy-named symbol `model_copy` in src/trellis/retrieve/rerankers/mmr.py:149"}, "properties": {"repobilityId": "3c60d875344ef40f", "scanner": "scanner-primary", "fingerprint": "56b82ef25f49fb71", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "legacy-marker", "dead-code"]}}, {"ruleId": "scanner-8ba2d1d26ee0174a", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/wire/translate.py:51"}, "properties": {"repobilityId": "baec8ff84725531d", "scanner": "scanner-primary", "fingerprint": "8ba2d1d26ee0174a", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-ed01062fd5d560d1", "level": "none", "message": {"text": "Commented-code block (11 lines) in src/trellis/extract/dispatcher.py:110"}, "properties": {"repobilityId": "8fa01abd74a4ee64", "scanner": "scanner-primary", "fingerprint": "ed01062fd5d560d1", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9b4c84535e3993d", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/extract/json_rules.py:195"}, "properties": {"repobilityId": "9301305af0e7df39", "scanner": "scanner-primary", "fingerprint": "a9b4c84535e3993d", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c953b22ea3107d02", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/extract/llm.py:153"}, "properties": {"repobilityId": "0521c805863cd277", "scanner": "scanner-primary", "fingerprint": "c953b22ea3107d02", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-62c6e336631d86bd", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/extract/trace_ingest_hook.py:119"}, "properties": {"repobilityId": "58412934157a107f", "scanner": "scanner-primary", "fingerprint": "62c6e336631d86bd", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-3350c0bcc0728ca3", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/trellis/extract/trace.py:436"}, "properties": {"repobilityId": "7809e1af01aefd56", "scanner": "scanner-primary", "fingerprint": "3350c0bcc0728ca3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-9a3ca223241543b0", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/migrate/graph_migrator.py:486"}, "properties": {"repobilityId": "bb729b98e0b883e7", "scanner": "scanner-primary", "fingerprint": "9a3ca223241543b0", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cbdd8f214b75cc60", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/schemas/well_known.py:53"}, "properties": {"repobilityId": "5ced011d4129af77", "scanner": "scanner-primary", "fingerprint": "cbdd8f214b75cc60", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c205578dc15943a5", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis/mutate/commands.py:148"}, "properties": {"repobilityId": "f268515b5c547deb", "scanner": "scanner-primary", "fingerprint": "c205578dc15943a5", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-d5eac6ea6f7958aa", "level": "none", "message": {"text": "Commented-code block (9 lines) in src/trellis/mutate/executor.py:31"}, "properties": {"repobilityId": "0662027f5cdb197e", "scanner": "scanner-primary", "fingerprint": "d5eac6ea6f7958aa", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-cebba9705485c2a3", "level": "none", "message": {"text": "Commented-code block (6 lines) in src/trellis/mutate/handlers.py:402"}, "properties": {"repobilityId": "71bf696ad8853e13", "scanner": "scanner-primary", "fingerprint": "cebba9705485c2a3", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-c36bd9c6e2fd1475", "level": "none", "message": {"text": "Commented-code block (5 lines) in src/trellis/plugins/diagnostic.py:35"}, "properties": {"repobilityId": "878eafd9a4839f81", "scanner": "scanner-primary", "fingerprint": "c36bd9c6e2fd1475", "layer": "quality", "severity": "info", "confidence": 1.0, "tags": ["integrity", "commented-code", "dead-code"]}}, {"ruleId": "scanner-a9836457f7ec50c4", "level": "note", "message": {"text": "23 env vars used in code but missing from .env.example"}, "properties": {"repobilityId": "71ec3608d30f8bcd", "scanner": "scanner-primary", "fingerprint": "a9836457f7ec50c4", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "config-drift"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "cdaa3dbf23d22078", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "ea2ca7502039e9d2", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-76a2f6818267a9a8", "level": "note", "message": {"text": "Near-duplicate function bodies in 8 places"}, "properties": {"repobilityId": "f3324c8e8039a146", "scanner": "scanner-primary", "fingerprint": "76a2f6818267a9a8", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-0027e313ade46c8f", "level": "note", "message": {"text": "Near-duplicate function bodies in 7 places"}, "properties": {"repobilityId": "d19802388c24a6ba", "scanner": "scanner-primary", "fingerprint": "0027e313ade46c8f", "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": "57980988ddd98dd6", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-380b7cb95b387b9c", "level": "note", "message": {"text": "Near-duplicate function bodies in 11 places"}, "properties": {"repobilityId": "bbb03cbfeb4d025e", "scanner": "scanner-primary", "fingerprint": "380b7cb95b387b9c", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-02525d39071dd2c7", "level": "note", "message": {"text": "Near-duplicate function bodies in 5 places"}, "properties": {"repobilityId": "1d61fb0d6224e91b", "scanner": "scanner-primary", "fingerprint": "02525d39071dd2c7", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "1aa0e01c9739a2dc", "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": "ce5b27f27b507164", "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": "ada8e9af59d772cc", "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": "33c7256a48e7f4ff", "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": "ec6e84c95c7694d0", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "85241d3c03557db0", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "6de20e1dc9b1c809", "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": "aedb39a53de840dd", "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": "5f1ea0c330b28b9b", "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": "f378b82a1a3de3f7", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-be46ea126aa5d8dc", "level": "note", "message": {"text": "Near-duplicate function bodies in 3 places"}, "properties": {"repobilityId": "9a8add524f151911", "scanner": "scanner-primary", "fingerprint": "be46ea126aa5d8dc", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-2c04133e54348533", "level": "note", "message": {"text": "Near-duplicate function bodies in 2 places"}, "properties": {"repobilityId": "dcbd65330e467c3a", "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": "e577ccba52cbbb3c", "scanner": "scanner-primary", "fingerprint": "2c04133e54348533", "layer": "quality", "severity": "low", "confidence": 1.0, "tags": ["integrity", "duplicate", "dry"]}}, {"ruleId": "scanner-e9893289e0a458e0", "level": "error", "message": {"text": "FastAPI POST `assemble_pack` without auth dependency \u2014 src/trellis_api/routes/retrieve.py:37"}, "properties": {"repobilityId": "0391c37d1a35ef29", "scanner": "scanner-primary", "fingerprint": "e9893289e0a458e0", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/retrieve.py"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-378f12ecf3f7361b", "level": "error", "message": {"text": "FastAPI POST `execute_batch` without auth dependency \u2014 src/trellis_api/routes/mutations.py:25"}, "properties": {"repobilityId": "60739ccd0d4217d3", "scanner": "scanner-primary", "fingerprint": "378f12ecf3f7361b", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/mutations.py"}, "region": {"startLine": 25}}}]}, {"ruleId": "scanner-a5a3de3b519e8af8", "level": "error", "message": {"text": "FastAPI POST `apply_noise_tags` without auth dependency \u2014 src/trellis_api/routes/admin.py:106"}, "properties": {"repobilityId": "50b7614c9e5defff", "scanner": "scanner-primary", "fingerprint": "a5a3de3b519e8af8", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/admin.py"}, "region": {"startLine": 106}}}]}, {"ruleId": "scanner-71f36756769def69", "level": "error", "message": {"text": "FastAPI POST `generate_advisories` without auth dependency \u2014 src/trellis_api/routes/admin.py:194"}, "properties": {"repobilityId": "e91b4fcab54ea574", "scanner": "scanner-primary", "fingerprint": "71f36756769def69", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/admin.py"}, "region": {"startLine": 194}}}]}, {"ruleId": "scanner-0282740e9c49411c", "level": "error", "message": {"text": "FastAPI POST `reset_vectors` without auth dependency \u2014 src/trellis_api/routes/admin.py:241"}, "properties": {"repobilityId": "6cc9ea23d6aec7ed", "scanner": "scanner-primary", "fingerprint": "0282740e9c49411c", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/admin.py"}, "region": {"startLine": 241}}}]}, {"ruleId": "scanner-723ba6869ade0b29", "level": "error", "message": {"text": "FastAPI POST `submit_drafts` without auth dependency \u2014 src/trellis_api/routes/extract.py:48"}, "properties": {"repobilityId": "e713d3e672dc9dc2", "scanner": "scanner-primary", "fingerprint": "723ba6869ade0b29", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/extract.py"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-389963dd1404d312", "level": "error", "message": {"text": "FastAPI POST `ingest_trace` without auth dependency \u2014 src/trellis_api/routes/ingest.py:37"}, "properties": {"repobilityId": "79e966b59088948e", "scanner": "scanner-primary", "fingerprint": "389963dd1404d312", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/ingest.py"}, "region": {"startLine": 37}}}]}, {"ruleId": "scanner-c89ba29c04c7612a", "level": "error", "message": {"text": "FastAPI POST `ingest_evidence` without auth dependency \u2014 src/trellis_api/routes/ingest.py:69"}, "properties": {"repobilityId": "24f0f1d47a759ff2", "scanner": "scanner-primary", "fingerprint": "c89ba29c04c7612a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/ingest.py"}, "region": {"startLine": 69}}}]}, {"ruleId": "scanner-ce007997cd477c2a", "level": "error", "message": {"text": "FastAPI POST `upsert_vectors` without auth dependency \u2014 src/trellis_api/routes/ingest.py:93"}, "properties": {"repobilityId": "e6d98b050d6172bb", "scanner": "scanner-primary", "fingerprint": "ce007997cd477c2a", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/ingest.py"}, "region": {"startLine": 93}}}]}, {"ruleId": "scanner-8f2610a2f0e82280", "level": "error", "message": {"text": "FastAPI POST `ingest_bulk` without auth dependency \u2014 src/trellis_api/routes/ingest.py:190"}, "properties": {"repobilityId": "586dcf95224ff6f1", "scanner": "scanner-primary", "fingerprint": "8f2610a2f0e82280", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/ingest.py"}, "region": {"startLine": 190}}}]}, {"ruleId": "scanner-855c94a99a673740", "level": "error", "message": {"text": "FastAPI POST `promote` without auth dependency \u2014 src/trellis_api/routes/curate.py:48"}, "properties": {"repobilityId": "3ced503bf6713688", "scanner": "scanner-primary", "fingerprint": "855c94a99a673740", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/curate.py"}, "region": {"startLine": 48}}}]}, {"ruleId": "scanner-62ade65ee4acd478", "level": "error", "message": {"text": "FastAPI POST `create_link` without auth dependency \u2014 src/trellis_api/routes/curate.py:65"}, "properties": {"repobilityId": "c0d539dec8654562", "scanner": "scanner-primary", "fingerprint": "62ade65ee4acd478", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/curate.py"}, "region": {"startLine": 65}}}]}, {"ruleId": "scanner-e78a1846ec6a74cc", "level": "error", "message": {"text": "FastAPI POST `create_entity` without auth dependency \u2014 src/trellis_api/routes/curate.py:89"}, "properties": {"repobilityId": "c9dc7192107e8625", "scanner": "scanner-primary", "fingerprint": "e78a1846ec6a74cc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/curate.py"}, "region": {"startLine": 89}}}]}, {"ruleId": "scanner-2db4c3571c3f0cbf", "level": "error", "message": {"text": "FastAPI POST `create_document` without auth dependency \u2014 src/trellis_api/routes/curate.py:114"}, "properties": {"repobilityId": "1fabcee3f81f8c3d", "scanner": "scanner-primary", "fingerprint": "2db4c3571c3f0cbf", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/curate.py"}, "region": {"startLine": 114}}}]}, {"ruleId": "scanner-0058f5bede7f35fc", "level": "error", "message": {"text": "FastAPI POST `record_feedback` without auth dependency \u2014 src/trellis_api/routes/curate.py:132"}, "properties": {"repobilityId": "272d2691f4c45d00", "scanner": "scanner-primary", "fingerprint": "0058f5bede7f35fc", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/curate.py"}, "region": {"startLine": 132}}}]}, {"ruleId": "scanner-660ee321be8e62d2", "level": "error", "message": {"text": "FastAPI POST `pack_feedback` without auth dependency \u2014 src/trellis_api/routes/curate.py:149"}, "properties": {"repobilityId": "0c59d1fe7b91f0b4", "scanner": "scanner-primary", "fingerprint": "660ee321be8e62d2", "layer": "security", "severity": "high", "confidence": 1.0, "tags": ["auth", "owasp", "auth.fastapi.unauth_mutation"]}, "locations": [{"physicalLocation": {"artifactLocation": {"uri": "src/trellis_api/routes/curate.py"}, "region": {"startLine": 149}}}]}, {"ruleId": "scanner-5baa8971ebe192a1", "level": "note", "message": {"text": "Unused endpoint: GET /"}, "properties": {"repobilityId": "98b3489abaffaac9", "scanner": "scanner-primary", "fingerprint": "5baa8971ebe192a1", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fc7df1405056142f", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/observations"}, "properties": {"repobilityId": "8848f3205fc6df86", "scanner": "scanner-primary", "fingerprint": "fc7df1405056142f", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-18cd433464f94803", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/observations"}, "properties": {"repobilityId": "7f871cc7db415c33", "scanner": "scanner-primary", "fingerprint": "18cd433464f94803", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-05f2475822c70f8e", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/measurements"}, "properties": {"repobilityId": "2c64f0fa6336f254", "scanner": "scanner-primary", "fingerprint": "05f2475822c70f8e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-907a26bc871236ed", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/measurements"}, "properties": {"repobilityId": "eaffdcbae581c48a", "scanner": "scanner-primary", "fingerprint": "907a26bc871236ed", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-d16e4fa529c520e9", "level": "note", "message": {"text": "Unused endpoint: GET /search"}, "properties": {"repobilityId": "034d30382ef5db3f", "scanner": "scanner-primary", "fingerprint": "d16e4fa529c520e9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bfe5abc2b344e71d", "level": "note", "message": {"text": "Unused endpoint: POST /packs"}, "properties": {"repobilityId": "b4afa3c3c99f1af1", "scanner": "scanner-primary", "fingerprint": "bfe5abc2b344e71d", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-db4da5252c3b1530", "level": "note", "message": {"text": "Unused endpoint: GET /graph/search"}, "properties": {"repobilityId": "3b6776087ce20890", "scanner": "scanner-primary", "fingerprint": "db4da5252c3b1530", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ab7d28e07bbf2563", "level": "note", "message": {"text": "Unused endpoint: GET /entities/{entity_id:path}"}, "properties": {"repobilityId": "7d108ec19f4ea255", "scanner": "scanner-primary", "fingerprint": "ab7d28e07bbf2563", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-79fd2bada5dc0dad", "level": "note", "message": {"text": "Unused endpoint: GET /traces"}, "properties": {"repobilityId": "a1e28d6f6d57c2cd", "scanner": "scanner-primary", "fingerprint": "79fd2bada5dc0dad", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-738e1dde0b120271", "level": "note", "message": {"text": "Unused endpoint: GET /traces/{trace_id}"}, "properties": {"repobilityId": "74663cfd6bd0b76a", "scanner": "scanner-primary", "fingerprint": "738e1dde0b120271", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-e71c0ea268950c07", "level": "note", "message": {"text": "Unused endpoint: GET /precedents"}, "properties": {"repobilityId": "a842d964409556f5", "scanner": "scanner-primary", "fingerprint": "e71c0ea268950c07", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-cc4cab40bc5ed255", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/commands/batch"}, "properties": {"repobilityId": "34dcc8b622a067ca", "scanner": "scanner-primary", "fingerprint": "cc4cab40bc5ed255", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a436691337284d03", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/health"}, "properties": {"repobilityId": "ee5c4e574ea8c3ac", "scanner": "scanner-primary", "fingerprint": "a436691337284d03", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-bb8f4dc8775119f0", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/stats"}, "properties": {"repobilityId": "2c93184c40983394", "scanner": "scanner-primary", "fingerprint": "bb8f4dc8775119f0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7f38fdf554af21c7", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/effectiveness"}, "properties": {"repobilityId": "0a8237aa13e0137c", "scanner": "scanner-primary", "fingerprint": "7f38fdf554af21c7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3f8a9e7790c5703e", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/effectiveness/apply-noise-tags"}, "properties": {"repobilityId": "e5e30d8ee6bc290c", "scanner": "scanner-primary", "fingerprint": "3f8a9e7790c5703e", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-147dbfff8e806c24", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/metrics/timeseries"}, "properties": {"repobilityId": "54b59ddf60ec2b6d", "scanner": "scanner-primary", "fingerprint": "147dbfff8e806c24", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-182ea186955705c2", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/advisories/generate"}, "properties": {"repobilityId": "b2bf65631379b03b", "scanner": "scanner-primary", "fingerprint": "182ea186955705c2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-a484bd41ccc718e8", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/advisories"}, "properties": {"repobilityId": "7fd14af10e80cc74", "scanner": "scanner-primary", "fingerprint": "a484bd41ccc718e8", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-34c32e4149b948bf", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/vectors/reset"}, "properties": {"repobilityId": "20d82b3339d952ea", "scanner": "scanner-primary", "fingerprint": "34c32e4149b948bf", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f077fa0531163c71", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/proposals"}, "properties": {"repobilityId": "a8e9e4fee4555758", "scanner": "scanner-primary", "fingerprint": "f077fa0531163c71", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-186eca1bb98eb809", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/proposals/{proposal_id}/preview"}, "properties": {"repobilityId": "9a24f7ebf403a85f", "scanner": "scanner-primary", "fingerprint": "186eca1bb98eb809", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-ec8231018032030c", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/proposals/{proposal_id}/promote"}, "properties": {"repobilityId": "682eb602fe584bd2", "scanner": "scanner-primary", "fingerprint": "ec8231018032030c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-86621fdb169dbf20", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/proposals/{proposal_id}/reject"}, "properties": {"repobilityId": "9de70991f98fb620", "scanner": "scanner-primary", "fingerprint": "86621fdb169dbf20", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3a0ffbb2419110c7", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/learning/candidates"}, "properties": {"repobilityId": "c02465c7307fbdc3", "scanner": "scanner-primary", "fingerprint": "3a0ffbb2419110c7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9059b5b4fe574d01", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/learning/promotions"}, "properties": {"repobilityId": "2181fee704fcde22", "scanner": "scanner-primary", "fingerprint": "9059b5b4fe574d01", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-1b72e88dd2b1a256", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/schema-evolution/candidates"}, "properties": {"repobilityId": "241e98c38f6b7512", "scanner": "scanner-primary", "fingerprint": "1b72e88dd2b1a256", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-fdc2f6bf0ba2d42c", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/schema-evolution/{candidate_id}/draft-adr"}, "properties": {"repobilityId": "6945f16027a00ee9", "scanner": "scanner-primary", "fingerprint": "fdc2f6bf0ba2d42c", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-54233e9688a60f1b", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/code-proposals"}, "properties": {"repobilityId": "f45ba3e2b949ac72", "scanner": "scanner-primary", "fingerprint": "54233e9688a60f1b", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-11d6633e2c21a5f5", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/extract/drafts"}, "properties": {"repobilityId": "cdf929e0ec86c554", "scanner": "scanner-primary", "fingerprint": "11d6633e2c21a5f5", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-0af5cc96de4dc9e0", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/traces"}, "properties": {"repobilityId": "3ef818bb7ab97b33", "scanner": "scanner-primary", "fingerprint": "0af5cc96de4dc9e0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-9b3d48106a0ea232", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/evidence"}, "properties": {"repobilityId": "c85e43d94075d41f", "scanner": "scanner-primary", "fingerprint": "9b3d48106a0ea232", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-962781d1e68b34ef", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/vectors"}, "properties": {"repobilityId": "2cbafe92de3a3183", "scanner": "scanner-primary", "fingerprint": "962781d1e68b34ef", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-63539d9750d09aa9", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/ingest/bulk"}, "properties": {"repobilityId": "80976f4fe476ec11", "scanner": "scanner-primary", "fingerprint": "63539d9750d09aa9", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-8f4fbd0158573f85", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/policies"}, "properties": {"repobilityId": "124ccab73e8bdb4a", "scanner": "scanner-primary", "fingerprint": "8f4fbd0158573f85", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7ccc18487af46cb3", "level": "note", "message": {"text": "Unused endpoint: GET /api/v1/policies/{policy_id}"}, "properties": {"repobilityId": "23279548393e933d", "scanner": "scanner-primary", "fingerprint": "7ccc18487af46cb3", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-3005014b5ed3b1d6", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/policies"}, "properties": {"repobilityId": "a9f7c6b9192bf858", "scanner": "scanner-primary", "fingerprint": "3005014b5ed3b1d6", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-f4c37fa4ab7999ad", "level": "note", "message": {"text": "Unused endpoint: DELETE /api/v1/policies/{policy_id}"}, "properties": {"repobilityId": "22b2ee9dbd81aeb5", "scanner": "scanner-primary", "fingerprint": "f4c37fa4ab7999ad", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-6c2507f3182299a0", "level": "note", "message": {"text": "Unused endpoint: GET /api/version"}, "properties": {"repobilityId": "8bfbb363a23f5e5f", "scanner": "scanner-primary", "fingerprint": "6c2507f3182299a0", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-668efecdbe036af2", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/precedents"}, "properties": {"repobilityId": "3a9f1658437830a3", "scanner": "scanner-primary", "fingerprint": "668efecdbe036af2", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-aa4de707b9e82f12", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/links"}, "properties": {"repobilityId": "0b896aa610f6c17d", "scanner": "scanner-primary", "fingerprint": "aa4de707b9e82f12", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-7159d09b385fa3a7", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/entities"}, "properties": {"repobilityId": "3890313de53d2163", "scanner": "scanner-primary", "fingerprint": "7159d09b385fa3a7", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-63f13079ec09aa96", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/documents"}, "properties": {"repobilityId": "b06ad96470b3cc78", "scanner": "scanner-primary", "fingerprint": "63f13079ec09aa96", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-2548c4fa2e554616", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/feedback"}, "properties": {"repobilityId": "ee235940b7bb292d", "scanner": "scanner-primary", "fingerprint": "2548c4fa2e554616", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}, {"ruleId": "scanner-446600e704d15879", "level": "note", "message": {"text": "Unused endpoint: POST /api/v1/packs/{pack_id}/feedback"}, "properties": {"repobilityId": "9e6538c582d198a6", "scanner": "scanner-primary", "fingerprint": "446600e704d15879", "layer": "api", "severity": "low", "confidence": 1.0, "tags": ["wiring", "unused-endpoint"]}}]}]}